package com.glxp.api.controller.inout; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantType; import com.glxp.api.controller.BaseController; import com.glxp.api.dao.dev.DeviceInfoMapper; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.system.CompanyEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.req.dev.DeviceInfoDetailQuery; import com.glxp.api.req.inout.*; import com.glxp.api.res.inout.*; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoOrderInvoiceService; 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.service.thrsys.ThrProductsService; import com.glxp.api.util.BeanCopyUtils; import com.glxp.api.util.JasperUtils; import com.glxp.api.util.MsDateUtil; import com.glxp.api.vo.dev.DeviceInfoVo; import lombok.extern.slf4j.Slf4j; import net.sf.jasperreports.engine.JRException; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.RoundingMode; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.*; /** * 单据扫码明细查询接口 */ @RestController @Slf4j public class IoOrderDetailResultController extends BaseController { @Resource IoOrderService orderService; @Resource private IoOrderDetailResultService orderDetailResultService; @Resource IBasicBussinessTypeService basicBussinessTypeService; @Resource IoCodeService codeService; @Resource CustomerService customerService; @Resource private SystemPDFTemplateService systemPDFTemplateService; @Resource private SystemPDFModuleService systemPDFModuleService; @Value("${file_path}") private String filePath; @Resource private ThrProductsService thrProductsService; @Resource private IoOrderInvoiceService ioOrderInvoiceService; @Resource DeviceInfoMapper deviceInfoMapper; /** * 查询单据扫码明细列表 * * @param orderDetailResultRequest * @return */ @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/resultDetail/filterList") public BaseResponse filterList(FilterOrderDetailResultRequest orderDetailResultRequest) { List list = orderDetailResultService.filterList(orderDetailResultRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } @Resource InvWarehouseService invWarehouseService; /** * 查询单据扫码明细列表 * * @param orderDetailResultRequest * @return */ @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/resultDetail/filterOrderList") public BaseResponse filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest) { PageInfo pageInfo = new PageInfo<>(getOrderResult(orderDetailResultRequest)); return ResultVOUtils.page(pageInfo); } public List getOrderResult(FilterOrderDetailResultRequest orderDetailResultRequest) { if (CollUtil.isNotEmpty(orderDetailResultRequest.getList())) { return orderDetailResultRequest.getList(); } FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); filterOrderRequest.setVueType(orderDetailResultRequest.getActionType()); List actions = orderService.setActions(filterOrderRequest); if (CollUtil.isEmpty(actions)) { return Collections.emptyList(); } orderDetailResultRequest.setActions(actions); AuthAdmin authAdmin = customerService.getUserBean(); if (orderDetailResultRequest.getActionType().equals(Constant.ORDER_ACTION_PRE_DETAIL)) { InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv(); orderDetailResultRequest.setInvCode(invWarehouseEntity.getCode()); } else if (orderDetailResultRequest.getActionType().equals(Constant.ORDER_ACTION_PREIN_DETAIL)) { InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv(); orderDetailResultRequest.setInvCode(invWarehouseEntity.getCode()); } else if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) { orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); } List list = orderDetailResultService.filterOrderList(orderDetailResultRequest); for (IoOrderDetailResultResponse orderDetailResultResponse : list) { if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount()); orderDetailResultResponse.setInCount(0); } else { orderDetailResultResponse.setOutCount(0); orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount()); } String fromName = orderDetailResultResponse.getFromName(); orderDetailResultResponse.setFromName(fromName); } return list; } @GetMapping("/udiwms/inout/resultDetail/exportExcel") public void exportTemplate(FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException { // 模拟数据库获取数据 List list = getOrderResult(orderDetailResultRequest); List orderDetailVos = BeanUtil.copyToList(list, IoOrderDetailVo.class); response.setCharacterEncoding(StandardCharsets.UTF_8.name()); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("出入库明细" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name())); EasyExcel.write(response.getOutputStream(), IoOrderDetailVo.class).sheet().doWrite(orderDetailVos); } @PostMapping("/udiwms/inout/resultDetail/selectExportExcel") public void selectExportExcel(@RequestBody FilterOrderDetailResultRequest orderDetailResultRequest, HttpServletResponse response) throws IOException { // 模拟数据库获取数据 List list = getOrderResult(orderDetailResultRequest); List orderDetailVos = BeanUtil.copyToList(list, IoOrderDetailVo.class); response.setCharacterEncoding(StandardCharsets.UTF_8.name()); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("出入库明细" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name())); EasyExcel.write(response.getOutputStream(), IoOrderDetailVo.class).sheet().doWrite(orderDetailVos); } /** * pda下载业务单据详情复核 */ @AuthRuleAnnotation("") @GetMapping(value = "/warehouse/inout/order/detail") public BaseResponse orderDetail(FilterOrderDetailResultRequest filterErpOrderRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (StrUtil.isEmpty(filterErpOrderRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空!"); } IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); filterErpOrderRequest.setPage(null); filterErpOrderRequest.setLimit(null); List list = orderDetailResultService.filterList(filterErpOrderRequest); return ResultVOUtils.success(list); } @Resource IoOrderDetailBizService orderDetailBizService; @Resource IoOrderDetailCodeService orderDetailCodeService; @Resource IoCheckInoutService checkInoutService; @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/wditCheck/filterList") public BaseResponse waitCheckList(FilterOrderDetailResultRequest orderDetailResultRequest) { List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk()); List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderDetailResultRequest.getOrderIdFk()); return ResultVOUtils.success(checkInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities)); } @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/waitAllocate/filterList") public BaseResponse waitAllocate(FilterOrderDetailResultRequest orderDetailResultRequest) { IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailResultRequest.getOrderIdFk()); List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk()); checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity); return ResultVOUtils.success(orderDetailBizEntities); } //校验模板是否正确 @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/template/order/result/file") public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { //查询模板文件是否存在 SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId()); if (null == sysPdfTemplateRelevanceStatemenEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); } SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); if (null == systemPDFTemplateEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); } return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); } //校验模板是否正确--标签 @AuthRuleAnnotation("") @PostMapping("/udiwms/pdf/templateLabel/order/result/file") public BaseResponse inspectionStockOrderPDFFromTemplateLabelFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { //查询模板文件是否存在 SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(inspectionPDFTemplateRequest.getId()); if (null == sysPdfTemplateRelevanceLabelEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); } SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId())); if (null == systemPDFTemplateEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); } return ResultVOUtils.success(sysPdfTemplateRelevanceLabelEntity.getTemplateId()); } /** * 出入库明细打印 * * @param filterOrderDetailResultRequest * @return */ @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { List ioOrderDetailResultResponseList = new ArrayList<>(); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); //打印单号标签 Map data = new HashMap<>(1); List list = new ArrayList<>(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 //按选入打印 if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) { ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList(); } else { //按查询打印 FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); List actions = orderService.setActions(filterOrderRequest); if (CollUtil.isEmpty(actions)) { return ResultVOUtils.success(""); } filterOrderDetailResultRequest.setActions(actions); AuthAdmin authAdmin = customerService.getUserBean(); if (StrUtil.isBlank(filterOrderDetailResultRequest.getInvCode())) { filterOrderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); } ioOrderDetailResultResponseList = orderDetailResultService.filterOrderList(filterOrderDetailResultRequest); for (IoOrderDetailResultResponse orderDetailResultResponse : ioOrderDetailResultResponseList) { if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount()); orderDetailResultResponse.setInCount(0); } else { orderDetailResultResponse.setOutCount(0); orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount()); } } } List updatePrints = new ArrayList<>(); int i = 1; for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { //查询第三方产品产品类别 ThrProductsEntity thrProductsEntity = thrProductsService.filterThrProductsByMainId(ioOrderDetailResultResponse.getBindRlFk() + ""); //查询发票信息 String dateStr = ""; List encodeList = new ArrayList<>(); IoOrderInvoiceRequest ioOrderInvoiceRequest = new IoOrderInvoiceRequest(); ioOrderInvoiceRequest.setBindRlFk(ioOrderDetailResultResponse.getBindRlFk() + ""); ioOrderInvoiceRequest.setOrderIdFk(ioOrderDetailResultResponse.getOrderIdFk()); ioOrderInvoiceRequest.setBatchNo(ioOrderDetailResultResponse.getBatchNo()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceRequest); for (IoOrderInvoiceEntity ioOrderInvoiceEntity : ioOrderInvoiceEntityList) { encodeList.add(ioOrderInvoiceEntity.getInvoiceEncode()); } String encode = String.join(",", encodeList); if (CollectionUtils.isNotEmpty(ioOrderInvoiceEntityList)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateStr = sdf.format(ioOrderInvoiceEntityList.get(0).getCreateTime()); } //组装数据 Map ioOrderDetailResultData = new HashMap<>(); ioOrderDetailResultData.put("index", String.valueOf(i)); ioOrderDetailResultData.put("nameCode", ioOrderDetailResultResponse.getNameCode() == null ? ' ' : ioOrderDetailResultResponse.getNameCode()); ioOrderDetailResultData.put("batchNo", ioOrderDetailResultResponse.getBatchNo() == null ? ' ' : ioOrderDetailResultResponse.getBatchNo()); ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate()); ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate()); ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName()); ioOrderDetailResultData.put("corpName", ioOrderDetailResultResponse.getCorpName()== null ? ' ' : ioOrderDetailResultResponse.getCorpName()); ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode()); ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc()); ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer()); ioOrderDetailResultData.put("measname", ioOrderDetailResultResponse.getMeasname() == null ? ' ' : ioOrderDetailResultResponse.getMeasname()); ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec()); ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? null : ioOrderDetailResultResponse.getPrice()); ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount()); ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); ioOrderDetailResultData.put("billTypeName", ioOrderDetailResultResponse.getBillTypeName() == null ? ' ' : ioOrderDetailResultResponse.getBillTypeName()); ioOrderDetailResultData.put("mainAction", ioOrderDetailResultResponse.getMainAction() == null ? ' ' : ioOrderDetailResultResponse.getMainAction()); ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime())); ioOrderDetailResultData.put("confirmTime", ioOrderDetailResultResponse.getConfirmTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getConfirmTime())); ioOrderDetailResultData.put("locInvName", filterOrderDetailResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailResultRequest.getLocInvName()); ioOrderDetailResultData.put("startAduditTime", filterOrderDetailResultRequest.getStartAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getStartAduditTime()); ioOrderDetailResultData.put("endAduditTime", filterOrderDetailResultRequest.getEndAduditTime()== null ? ' ' : filterOrderDetailResultRequest.getEndAduditTime()); ioOrderDetailResultData.put("confirmStarTime", filterOrderDetailResultRequest.getConfirmStarTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmStarTime()); ioOrderDetailResultData.put("confirmEndTime", filterOrderDetailResultRequest.getConfirmEndTime()== null ? ' ' : filterOrderDetailResultRequest.getConfirmEndTime()); ioOrderDetailResultData.put("employeeName", filterOrderDetailResultRequest.getEmployeeName()== null ? ' ' : filterOrderDetailResultRequest.getEmployeeName()); ioOrderDetailResultData.put("fromInvName", ioOrderDetailResultResponse.getFromInvName()== null ? ' ' : ioOrderDetailResultResponse.getFromInvName()); if (thrProductsEntity != null) { ioOrderDetailResultData.put("cplb", thrProductsEntity.getCplb() == null ? ' ' : thrProductsEntity.getCplb()); } ioOrderDetailResultData.put("invoiceEncode", encode); ioOrderDetailResultData.put("createTime", dateStr); list.add(ioOrderDetailResultData); i++; //更新打印状态 IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); orderDetailResultEntity.setId(ioOrderDetailResultResponse.getId()); orderDetailResultEntity.setInoutPrintStatus(1); orderDetailResultService.update(orderDetailResultEntity); } data.put("data", list); String param = JSON.toJSONString(data); JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); return ResultVOUtils.success(); } /** * 科室设备明细打印 * * @param detailQuery * @return */ @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/resultDetail/filterDevPrint") public BaseResponse filterDevPrint(@RequestBody DeviceInfoDetailQuery detailQuery, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { List resList = new ArrayList<>(); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(detailQuery.getTemplateId()); //打印单号标签 Map data = new HashMap<>(1); List list = new ArrayList<>(); //按选入打印 if (detailQuery.getList() != null && detailQuery.getList().size() > 0) { resList = detailQuery.getList(); } else { resList =deviceInfoMapper.detail(detailQuery); } int i = 1; for (DeviceInfoVo item : resList) { //组装数据 Map deviceInfoData = new HashMap<>(); deviceInfoData.put("index", String.valueOf(i)); deviceInfoData.put("deviceCode", item.getDeviceCode() == null ? ' ' : item.getDeviceCode()); deviceInfoData.put("deptName", item.getDeptName() == null ? ' ' : item.getDeptName()); // deviceInfoData.put("statusName", item.getStatusName() == null ? ' ' : item.getStatusName()); // deviceInfoData.put("udi", item.getUdi() == null ? ' ' : item.getUdi()); // deviceInfoData.put("nameCode", item.getNameCode() == null ? ' ' : item.getNameCode()); deviceInfoData.put("productName", item.getProductName() == null ? ' ' : item.getProductName()); deviceInfoData.put("ggxh", item.getGgxh() == null ? ' ' : item.getGgxh()); deviceInfoData.put("assetValue", item.getAssetValue() == null ? "0.00" : String.valueOf(item.getAssetValue().setScale(2, RoundingMode.HALF_UP))); // deviceInfoData.put("batchNo", item.getBatchNo() == null ? ' ' : item.getBatchNo()); // deviceInfoData.put("serialNo", item.getSerialNo() == null ? ' ' : item.getSerialNo()); // deviceInfoData.put("productionDate", item.getProductionDate() == null ? ' ' : item.getProductionDate()); // deviceInfoData.put("expireDate", item.getExpireDate() == null ? ' ' : item.getExpireDate()); // deviceInfoData.put("manufactory", item.getManufactory() == null ? ' ' : item.getManufactory()); // deviceInfoData.put("measname", item.getMeasname() == null ? ' ' : item.getMeasname()); // deviceInfoData.put("zczbhhzbapzbh", item.getZczbhhzbapzbh() == null ? ' ' : item.getZczbhhzbapzbh()); // deviceInfoData.put("supName", item.getSupName() == null ? ' ' : item.getSupName()); // deviceInfoData.put("changeCount", item.getChangeCount() == null ? '0' : item.getChangeCount()); // deviceInfoData.put("repairApplyCount", item.getRepairApplyCount() == null ? '0' : item.getRepairApplyCount()); // deviceInfoData.put("repairCount", item.getRepairCount() == null ? '0' : item.getRepairCount()); // deviceInfoData.put("checkCount", item.getCheckCount() == null ? '0' : item.getCheckCount()); list.add(deviceInfoData); i++; } data.put("data", list); String param = JSON.toJSONString(data); 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 cptTraceOrderResponses = orderDetailResultService.cptTrace(cptTraceRequest); List cptTraceResultResponses = new ArrayList<>(); if (CollUtil.isNotEmpty(cptTraceOrderResponses)) { for (CptTraceOrderResponse cptTraceOrderResponse : cptTraceOrderResponses) { CptTraceResultResponse cptTraceResultResponse = new CptTraceResultResponse(); cptTraceResultResponse.setBillNo(cptTraceOrderResponse.getBillNo()); cptTraceResultResponse.setBillDate(MsDateUtil.formatDate(cptTraceOrderResponse.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); 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()); cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName()); cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo()); // //往来单位为病人 // if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) { // cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName()); // } else { // // } } 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); } /** * 查询出入库单明细 */ @GetMapping("/udiwms/inout/external/orderDetail/filter") public BaseResponse externalOrderFilter(FilterOrderDetailResultRequest orderDetailResultRequest) { List list = orderDetailResultService.exFilterOrderDetail(orderDetailResultRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } }