|  |  |  | @ -1,6 +1,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | package com.glxp.api.controller.inout; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.collection.CollUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.date.DateUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import cn.hutool.core.util.StrUtil; | 
			
		
	
		
			
				
					|  |  |  |  | import com.alibaba.fastjson.JSON; | 
			
		
	
		
			
				
					|  |  |  |  | import com.github.pagehelper.PageInfo; | 
			
		
	
	
		
			
				
					|  |  |  | @ -15,15 +16,20 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.inout.IoOrderDetailBizEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.inout.IoOrderEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.system.CompanyEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.system.SystemPDFTemplateEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.CptTraceRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.FilterOrderDetailResultRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.FilterOrderRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.InspectionPDFTemplateRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.inout.CptTraceOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.inout.CptTraceResultResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.inout.IoOrderDetailResultResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.auth.CustomerService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.basic.IBasicBussinessTypeService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.inout.*; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.system.CompanyService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.system.SystemPDFModuleService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.service.system.SystemPDFTemplateService; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.util.JasperUtils; | 
			
		
	
	
		
			
				
					|  |  |  | @ -98,8 +104,8 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.success(""); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         orderDetailResultRequest.setActions(actions); | 
			
		
	
		
			
				
					|  |  |  |  |         AuthAdmin authAdmin= customerService.getUserBean(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())){ | 
			
		
	
		
			
				
					|  |  |  |  |         AuthAdmin authAdmin = customerService.getUserBean(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) { | 
			
		
	
		
			
				
					|  |  |  |  |             orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest); | 
			
		
	
	
		
			
				
					|  |  |  | @ -196,8 +202,8 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @AuthRuleAnnotation("") | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse filterOrderPrint(@RequestBody  FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList=new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); | 
			
		
	
		
			
				
					|  |  |  |  |         //打印单号标签
 | 
			
		
	
		
			
				
					|  |  |  |  |         Map<String, Object> data = new HashMap<>(1); | 
			
		
	
	
		
			
				
					|  |  |  | @ -205,9 +211,9 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //按选入打印
 | 
			
		
	
		
			
				
					|  |  |  |  |         if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |         }else{ | 
			
		
	
		
			
				
					|  |  |  |  |         if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |         } else { | 
			
		
	
		
			
				
					|  |  |  |  |             //按查询打印
 | 
			
		
	
		
			
				
					|  |  |  |  |             FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); | 
			
		
	
		
			
				
					|  |  |  |  |             filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -227,7 +233,7 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         int i=1; | 
			
		
	
		
			
				
					|  |  |  |  |         int i = 1; | 
			
		
	
		
			
				
					|  |  |  |  |         for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { | 
			
		
	
		
			
				
					|  |  |  |  |             //组装数据
 | 
			
		
	
		
			
				
					|  |  |  |  |             Map<String, Object> ioOrderDetailResultData = new HashMap<>(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -244,7 +250,7 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); | 
			
		
	
		
			
				
					|  |  |  |  |             ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); | 
			
		
	
	
		
			
				
					|  |  |  | @ -257,10 +263,58 @@ public class IoOrderDetailResultController extends BaseController { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         data.put("data", list); | 
			
		
	
		
			
				
					|  |  |  |  |         String param = JSON.toJSONString(data); | 
			
		
	
		
			
				
					|  |  |  |  |         JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); | 
			
		
	
		
			
				
					|  |  |  |  |         JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     CompanyService companyService; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * 提供UDI协调调用单据明细 | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |  |     @PostMapping("/udiCpt/inout/trace/search") | 
			
		
	
		
			
				
					|  |  |  |  |     public BaseResponse cptTraceOrder(@RequestBody CptTraceRequest cptTraceRequest) { | 
			
		
	
		
			
				
					|  |  |  |  |         if (StrUtil.isEmpty(cptTraceRequest.getBatchNo()) || CollUtil.isEmpty(cptTraceRequest.getDiList())) { | 
			
		
	
		
			
				
					|  |  |  |  |             return ResultVOUtils.error(500, "参数有误!"); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         CompanyEntity authCompany = companyService.findCompany(); | 
			
		
	
		
			
				
					|  |  |  |  |         List<CptTraceOrderResponse> cptTraceOrderResponses = orderDetailResultService.cptTrace(cptTraceRequest); | 
			
		
	
		
			
				
					|  |  |  |  |         List<CptTraceResultResponse> cptTraceResultResponses = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         if (CollUtil.isNotEmpty(cptTraceOrderResponses)) { | 
			
		
	
		
			
				
					|  |  |  |  |             for (CptTraceOrderResponse cptTraceOrderResponse : cptTraceOrderResponses) { | 
			
		
	
		
			
				
					|  |  |  |  |                 CptTraceResultResponse cptTraceResultResponse = new CptTraceResultResponse(); | 
			
		
	
		
			
				
					|  |  |  |  |                 cptTraceResultResponse.setBillNo(cptTraceOrderResponse.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                 cptTraceResultResponse.setBillDate(DateUtil.formatDate(cptTraceOrderResponse.getCreateTime())); | 
			
		
	
		
			
				
					|  |  |  |  |                 cptTraceResultResponse.setBillType(cptTraceOrderResponse.getBillType()); | 
			
		
	
		
			
				
					|  |  |  |  |                 if (cptTraceOrderResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { | 
			
		
	
		
			
				
					|  |  |  |  |                     if (StrUtil.isNotEmpty(cptTraceOrderResponse.getFromInvCode())) | 
			
		
	
		
			
				
					|  |  |  |  |                         continue; | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setInOutType(2); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setFromCorp(authCompany.getName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setFromCorpCreditNum(authCompany.getCreditCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                     //往来单位为病人
 | 
			
		
	
		
			
				
					|  |  |  |  |                     if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) { | 
			
		
	
		
			
				
					|  |  |  |  |                         cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     } else { | 
			
		
	
		
			
				
					|  |  |  |  |                         cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName()); | 
			
		
	
		
			
				
					|  |  |  |  |                         cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setInOutType(1); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setFromCorp(cptTraceOrderResponse.getFromCorpName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setFromCorpCreditNum(cptTraceOrderResponse.getCreditNo()); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setToCorp(authCompany.getName()); | 
			
		
	
		
			
				
					|  |  |  |  |                     cptTraceResultResponse.setToCorpCreditNum(authCompany.getCreditCode()); | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 cptTraceResultResponses.add(cptTraceResultResponse); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         return ResultVOUtils.success(cptTraceResultResponses); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | 
 |