diff --git a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java new file mode 100644 index 000000000..18d3df725 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java @@ -0,0 +1,199 @@ +package com.glxp.api.controller.basic; + +import com.alibaba.fastjson.JSON; +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.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.inout.IoCodeEntity; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.purchase.SupCertEntity; +import com.glxp.api.entity.purchase.SupManufacturerEntity; +import com.glxp.api.entity.purchase.SupProductEntity; +import com.glxp.api.entity.system.SystemPDFModuleEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity; +import com.glxp.api.req.basic.FilterOrderPrintRequest; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inout.InspectionPDFTemplateRequest; +import com.glxp.api.req.purchase.FilterSupManufacturerRequest; +import com.glxp.api.req.purchase.purPlanPrintRequest; +import com.glxp.api.req.system.FilterPdfTemplateRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse; +import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.inout.IoCodeService; +import com.glxp.api.service.inout.IoOrderDetailBizService; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateRelevanceService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; +import lombok.extern.slf4j.Slf4j; +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.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@RestController +public class BasicOrderPrintController { + + @Resource + SystemPDFTemplateRelevanceService systemPDFTemplateRelevanceService; + @Resource + SystemPDFModuleService systemPDFModuleService; + @Resource + SystemPDFTemplateService systemPDFTemplateService; + @Resource + IoOrderDetailBizService ioOrderDetailBizService; + @Resource + IoOrderService ioOrderService; + @Resource + UdiProductService udiProductService; + @Resource + IBasicBussinessTypeService basicBussinessTypeService; + @Resource + IoCodeService ioCodeService; + + //校验模板是否正确 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/inspection/order/file") + public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest){ + + + SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntityt=systemPDFTemplateRelevanceService.selectModuleldAndAction(filterOrderPrintRequest.getModuleId(),filterOrderPrintRequest.getAction()); + if(systemPDFTemplateRelevanceEntityt!=null){ + SystemPDFTemplateEntity systemPDFTemplateEntity=systemPDFTemplateService.selectById(systemPDFTemplateRelevanceEntityt.getTemplateId()+""); + if (systemPDFTemplateEntity==null){ + return ResultVOUtils.error(999,"所属模板错误!"); + }else{ + return ResultVOUtils.success(systemPDFTemplateEntity.getId()); + } + }else{ + return ResultVOUtils.error(999,"所属模板错误!"); + } + + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/order/file") + public void printSupCertProduction(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderPrintRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + //查询打印格式 + BasicBussinessTypeEntity basicBussinessTypeEntity=basicBussinessTypeService.findByAction(filterOrderPrintRequest.getAction()); + //根据批次号打印 + if(basicBussinessTypeEntity.getOrderVisibleType()==0){ + //查询单据表 + FilterOrderRequest filterOrderRequest=new FilterOrderRequest(); + filterOrderRequest.setBillNo(filterOrderPrintRequest.getOrderIdFk()); + IoOrderResponse ioOrderResponse= ioOrderService.filterList(filterOrderRequest).get(0); + //查询业务单详情 + List ioOrderDetailBizEntityList=ioOrderDetailBizService.findByOrderId(filterOrderPrintRequest.getOrderIdFk()); + int i = 1; + if (ioOrderDetailBizEntityList != null && ioOrderDetailBizEntityList.size() > 0) { + for (IoOrderDetailBizEntity obj : ioOrderDetailBizEntityList) { + //查询产品表 + UdiProductEntity udiProductEntity=udiProductService.findByUuid(obj.getUuidFk()); + //组装数据 + Map bizData = new HashMap<>(); + bizData.put("index", i); + bizData.put("corpName", ioOrderResponse.getFromName() == null ? ' ' : ioOrderResponse.getFromName()); + bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName()); + bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo()); + bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime())); + bizData.put("remark1", obj.getRemark1() == null ? ' ' : obj.getRemark1()); + bizData.put("remark2", obj.getRemark2() == null ? ' ' : obj.getRemark2()); +// bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms()); + bizData.put("spmc", obj.getCoName() == null ? ' ' : obj.getCoName()); + bizData.put("spec", obj.getSpec() == null ? ' ' : obj.getSpec()); + bizData.put("count", obj.getCount()); + bizData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname()); + bizData.put("price", obj.getPrice() == null ? '0' : obj.getPrice()); + bizData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo()); +// bizData.put("serialNo", udiProductEntity.getSerialNo() == null ? ' ' : udiProductEntity.getSerialNo()); + bizData.put("productDate",obj.getProductDate()); + bizData.put("expireDate", obj.getExpireDate()); + bizData.put("manufactor", obj.getManufacturer()); +// bizData.put("zczbhhzbapzbh",udiProductEntity.getZczbhhzbapzbh() == null ? ' ' : udiProductEntity.getZczbhhzbapzbh()); +// bizData.put("ylqxzcrbarmc", udiProductEntity.getYlqxzcrbarmc() == null ? ' ' : udiProductEntity.getYlqxzcrbarmc()); + list.add(bizData); + i++; + } + } + }else{ + //查询单据表 + FilterOrderRequest filterOrderRequest=new FilterOrderRequest(); + filterOrderRequest.setBillNo(filterOrderPrintRequest.getOrderIdFk()); + IoOrderResponse ioOrderResponse= ioOrderService.filterList(filterOrderRequest).get(0); + //查询扫码单详情 + List ioCodeEntityList=ioCodeService.findByOrderId(filterOrderPrintRequest.getOrderIdFk()); + //查询业务单据表 + List ioOrderDetailBizEntityList=ioOrderDetailBizService.findByOrderId(filterOrderPrintRequest.getOrderIdFk()); + int i = 1; + if (ioCodeEntityList != null && ioCodeEntityList.size() > 0) { + IoOrderDetailBizEntity ioOrderDetailBizEntity=new IoOrderDetailBizEntity(); + for (IoCodeEntity obj : ioCodeEntityList) { + //查询业务表 + for(IoOrderDetailBizEntity ioObj:ioOrderDetailBizEntityList){ + if(ioObj.getBatchNo().equals(obj.getBatchNo()) && ioObj.getBindRlFk().equals(obj.getRelId())){ + ioOrderDetailBizEntity=ioObj; + break; + } + } + //组装数据 + Map bizData = new HashMap<>(); + bizData.put("index", i); + bizData.put("corpName", ioOrderResponse.getFromName() == null ? ' ' : ioOrderResponse.getFromName()); + bizData.put("locInv", ioOrderResponse.getInvName() == null ? ' ' : ioOrderResponse.getInvName()); + bizData.put("billNo", ioOrderResponse.getBillNo() == null ? ' ' : ioOrderResponse.getBillNo()); + bizData.put("billdate", formatter.format(ioOrderResponse.getCreateTime())); + bizData.put("remark1", ioOrderDetailBizEntity.getRemark1() == null ? ' ' : ioOrderDetailBizEntity.getRemark1()); + bizData.put("remark2", ioOrderDetailBizEntity.getRemark2() == null ? ' ' : ioOrderDetailBizEntity.getRemark2()); +// bizData.put("productName", udiProductEntity.getCpms() == null ? ' ' : udiProductEntity.getCpms()); + bizData.put("spmc", ioOrderDetailBizEntity.getCoName() == null ? ' ' : ioOrderDetailBizEntity.getCoName()); + bizData.put("spec", ioOrderDetailBizEntity.getSpec() == null ? ' ' : ioOrderDetailBizEntity.getSpec()); + bizData.put("count", ioOrderDetailBizEntity.getCount()); + bizData.put("measname", ioOrderDetailBizEntity.getMeasname() == null ? ' ' : ioOrderDetailBizEntity.getMeasname()); + bizData.put("price", ioOrderDetailBizEntity.getPrice() == null ? '0' : ioOrderDetailBizEntity.getPrice()); + bizData.put("batchNo", ioOrderDetailBizEntity.getBatchNo() == null ? ' ' : ioOrderDetailBizEntity.getBatchNo()); + bizData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo()); + bizData.put("productDate",ioOrderDetailBizEntity.getProductDate()); + bizData.put("expireDate", ioOrderDetailBizEntity.getExpireDate()); + bizData.put("manufactor", ioOrderDetailBizEntity.getManufacturer()); +// bizData.put("zczbhhzbapzbh",udiProductEntity.getZczbhhzbapzbh() == null ? ' ' : udiProductEntity.getZczbhhzbapzbh()); +// bizData.put("ylqxzcrbarmc", udiProductEntity.getYlqxzcrbarmc() == null ? ' ' : udiProductEntity.getYlqxzcrbarmc()); + list.add(bizData); + i++; + } + } + } + + + + + data.put("data", list); + String param = JSON.toJSONString(data); + JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + } + +} diff --git a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java index 736511ea4..1f7c16a46 100644 --- a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java @@ -4,6 +4,7 @@ import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity; import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest; import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -57,4 +58,6 @@ public interface SystemPDFTemplateRelevanceDao { boolean deleteById(Integer id); boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); + + SystemPDFTemplateRelevanceEntity selectModuleldAndAction(@Param("moduleId") Integer moduleId,@Param("localAction") String localAction); } diff --git a/src/main/java/com/glxp/api/req/basic/FilterOrderPrintRequest.java b/src/main/java/com/glxp/api/req/basic/FilterOrderPrintRequest.java new file mode 100644 index 000000000..52db1b795 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterOrderPrintRequest.java @@ -0,0 +1,18 @@ +package com.glxp.api.req.basic; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +/** + * 单据流转设置接口查询参数 + */ +@Data +public class FilterOrderPrintRequest { + + private Integer moduleId; + private String action; + private Integer type; + private String templateId; + private String orderIdFk; + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 949cd4d95..5430db0d0 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -31,6 +31,7 @@ public interface IoOrderDetailBizService { List filterList(FilterOrderDetailBizRequest orderDetailBizRequest); + IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo,String bindRlFk); List checkOrderList(String orderId); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index fde24bd94..a471ad12e 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -97,6 +97,19 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { return ioOrderDetailBizDao.filterList(orderDetailBizRequest); } + @Override + public IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk) { + QueryWrapper ew=new QueryWrapper<>(); + if (StrUtil.isNotEmpty(batchNo)) { + ew.eq("batchNo",batchNo); + } + if (StrUtil.isNotEmpty(bindRlFk)) { + ew.eq("bindRlFk",bindRlFk); + } + IoOrderDetailBizEntity ioOrderDetailBizEntity=ioOrderDetailBizDao.selectOne(ew); + return ioOrderDetailBizEntity; + } + @Resource IoOrderDetailCodeService orderDetailCodeService; diff --git a/src/main/java/com/glxp/api/service/system/SystemPDFTemplateRelevanceService.java b/src/main/java/com/glxp/api/service/system/SystemPDFTemplateRelevanceService.java index 39136c150..7d78dabad 100644 --- a/src/main/java/com/glxp/api/service/system/SystemPDFTemplateRelevanceService.java +++ b/src/main/java/com/glxp/api/service/system/SystemPDFTemplateRelevanceService.java @@ -17,6 +17,8 @@ public interface SystemPDFTemplateRelevanceService { List listByTemplateId(int templateId); + SystemPDFTemplateRelevanceEntity selectModuleldAndAction(Integer moduleId,String localAction); + int insertSystemPDFTemplateRelevanceAll(List systemPDFTemplateRelevanceEntityList); boolean insert(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); diff --git a/src/main/java/com/glxp/api/service/system/impl/SystemPDFTemplateRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/system/impl/SystemPDFTemplateRelevanceServiceImpl.java index e0170b386..0edb55814 100644 --- a/src/main/java/com/glxp/api/service/system/impl/SystemPDFTemplateRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/system/impl/SystemPDFTemplateRelevanceServiceImpl.java @@ -64,6 +64,11 @@ public class SystemPDFTemplateRelevanceServiceImpl implements SystemPDFTemplateR return systemPDFTemplateRelevanceDao.listByTemplateId(templateId); } + @Override + public SystemPDFTemplateRelevanceEntity selectModuleldAndAction(Integer moduleId, String localAction) { + return systemPDFTemplateRelevanceDao.selectModuleldAndAction(moduleId,localAction); + } + /** * 批量插入 * diff --git a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml index 294f26cbc..c27c54cbe 100644 --- a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml @@ -115,4 +115,17 @@ from sys_pdf_template_relevance where id = #{id} + +