diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index bf065c058..f5b2c12e8 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -233,5 +233,10 @@ public class ConstantStatus { public static final int CERT_MANUFACTURER = 2; //生产企业 public static final int CERT_PRODUCT = 3; //产品品种 + //打印状态 + public static final int PRINT_UNPRINTED = 0; //未打印 + public static final int PRINT_SUCCESS = 1; //已打印 + + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicInCodeController.java b/src/main/java/com/glxp/api/controller/basic/BasicInCodeController.java new file mode 100644 index 000000000..4bab7c428 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicInCodeController.java @@ -0,0 +1,83 @@ +package com.glxp.api.controller.basic; + + + +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.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.req.inout.FilterOrderDetailBizRequest; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inv.invInnerOrderprintReques; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.IoOrderDetailBizResponse; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.service.inout.IoOrderDetailBizService; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.inv.InvInnerOrderPrintService; +import lombok.extern.slf4j.Slf4j; +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 java.util.List; + +@Slf4j +@RestController +public class BasicInCodeController { + + @Resource + IoOrderService ioOrderService; + + @Resource + IoOrderDetailBizService ioOrderDetailBizService; + + @Resource + InvInnerOrderPrintService invInnerOrderPrintService; + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/stock/order/filter") + public BaseResponse filterOrder(FilterOrderRequest filterOrderRequest) { + + + List ioOrderEntityList=ioOrderService.filterList(filterOrderRequest); + + PageInfo pageInfo = new PageInfo<>(ioOrderEntityList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(ioOrderEntityList); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/stock/order/detail/filter") + public BaseResponse filterStockOrderDetail(FilterOrderDetailBizRequest filterOrderDetailBizRequest) { + + List ioOrderDetailBizResponseList=ioOrderDetailBizService.filterList(filterOrderDetailBizRequest); + + PageInfo pageInfo = new PageInfo<>(ioOrderDetailBizResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(ioOrderDetailBizResponseList); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/stock/order/addOrderPrint") + public BaseResponse addOrderPrint(@RequestBody invInnerOrderprintReques invInnerOrderprintReques){ + + if(invInnerOrderprintReques.getOrderIdFk()!=null){ + invInnerOrderPrintService.addInCodeList(invInnerOrderprintReques.getOrderIdFk(),invInnerOrderprintReques.isChack()); + }else{ + return ResultVOUtils.error(999,"参数错误!"); + } + return ResultVOUtils.success(); + + } +} diff --git a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java index 9cee77e61..fbdabc035 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java @@ -61,11 +61,7 @@ public class InvInnerOrderPrintController { - /** - * 查询盘点单据详情 - * - * @return - */ + @GetMapping("/udiwms/innerOrderPrint/filter") public BaseResponse filterList(FilterinnerOrderprintRequest filterinnerOrderprintRequest) { List list = invInnerOrderPrintService.filterOrderPrintList(filterinnerOrderprintRequest); diff --git a/src/main/java/com/glxp/api/entity/inv/InvInnerOrderPrintEntity.java b/src/main/java/com/glxp/api/entity/inv/InvInnerOrderPrintEntity.java index aa854b1f2..5ded79a3f 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvInnerOrderPrintEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvInnerOrderPrintEntity.java @@ -69,6 +69,10 @@ public class InvInnerOrderPrintEntity { @TableField(value = "expireDate") private String expireDate; + @TableField(value = "type") + private Integer type; + + public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/req/basic/BasicStockOrderPrintRequest.java b/src/main/java/com/glxp/api/req/basic/BasicStockOrderPrintRequest.java new file mode 100644 index 000000000..939932303 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/BasicStockOrderPrintRequest.java @@ -0,0 +1,52 @@ +package com.glxp.api.req.basic; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class BasicStockOrderPrintRequest extends ListPageRequest { + + private String id; + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billAction; + private String billFlag; + private String thirdSysFk; + private String status; + private String statusInfo; + private String type; + private String sourceType; + private String printStatus; + private String unitIdFk; + private String customerId; + private String startTime; //起始日期 + private String endTime; //结束日期 + private String thirdOrderFk; + private String orderIdFk; + private BigDecimal totalPrice; + private String locStorageCode; + private String invWarehouseCode; + private Integer createUser; + private Integer reviewUser; + private Integer userId; + private Integer unionUser; + private String entrustUser; + private boolean entrustEnd; + private String localAction; + + private String orderId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String endDate; + + private Boolean filterNoSelect; +} diff --git a/src/main/java/com/glxp/api/req/inv/invInnerOrderprintReques.java b/src/main/java/com/glxp/api/req/inv/invInnerOrderprintReques.java index 451c1fa0d..7cfb9bbd5 100644 --- a/src/main/java/com/glxp/api/req/inv/invInnerOrderprintReques.java +++ b/src/main/java/com/glxp/api/req/inv/invInnerOrderprintReques.java @@ -7,4 +7,5 @@ import lombok.Data; @Data public class invInnerOrderprintReques{ private String orderIdFk; + private boolean chack; } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 50c45bb27..89ffcd690 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -209,6 +209,8 @@ public class IoOrderResponse { //是否可以补单 private boolean enableSupplementOrder; + private String customerName; + public String getFromName() { 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 2efa89797..949cd4d95 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -13,6 +13,8 @@ public interface IoOrderDetailBizService { List findByOrderId(String orderId); + List findByOrderIdAndNameCode(String orderId,boolean chack); + int insert(IoOrderDetailBizEntity orderDetailBizEntity); int update(IoOrderDetailBizEntity orderDetailBizEntity); 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 378b5d416..fde24bd94 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 @@ -33,6 +33,20 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { return ioOrderDetailBizDao.selectList(new QueryWrapper().eq("orderIdFk", orderId)); } + @Override + public List findByOrderIdAndNameCode(String orderId, boolean chack) { + QueryWrapper ew=new QueryWrapper<>(); + if(StrUtil.isNotEmpty(orderId)){ + ew.eq("orderIdFk",orderId); + } + if(chack){ + ew.isNull("nameCode"); + } + List ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew); + return ioOrderDetailBizEntityList; + } + + @Override public int insert(IoOrderDetailBizEntity orderDetailBizEntity) { orderDetailBizEntity.setId(null); diff --git a/src/main/java/com/glxp/api/service/inv/InvInnerOrderPrintService.java b/src/main/java/com/glxp/api/service/inv/InvInnerOrderPrintService.java index 497d0c8f7..46b7200cf 100644 --- a/src/main/java/com/glxp/api/service/inv/InvInnerOrderPrintService.java +++ b/src/main/java/com/glxp/api/service/inv/InvInnerOrderPrintService.java @@ -16,6 +16,8 @@ public interface InvInnerOrderPrintService { Boolean addOrderList(String orderIdFk); + Boolean addInCodeList(String orderIdFk,boolean check); + InvInnerOrderPrintEntity selectById(String id); List filterJoinInnerPrint(FilterinnerOrderprintRequest filterinnerOrderprintRequest); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java index 837c68aae..3f9c68c17 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvInnerOrderPrintServiceImpl.java @@ -3,9 +3,11 @@ package com.glxp.api.service.inv.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.inv.InvInnerOrderPrintDao; import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inv.InnerOrderDetailEntity; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; @@ -20,6 +22,7 @@ import com.glxp.api.res.inv.innerOrderPrintRequest; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inv.InnerOrderDetailService; import com.glxp.api.service.inv.InvInnerOrderPdfTempService; import com.glxp.api.service.inv.InvInnerOrderPrintService; @@ -65,9 +68,11 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService @Resource private InvInnerOrderPdfTempService innerOrderPdfTempService; @Resource - SystemPDFModuleService systemPDFModuleService; + SystemPDFModuleService systemPDFModuleService; @Resource SystemPDFTemplateService systemPDFTemplateService; + @Resource + IoOrderDetailBizService ioOrderDetailBizService; @Override public List filterOrderPrintList(FilterinnerOrderprintRequest filterinnerOrderprintRequest) { @@ -83,14 +88,14 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService @Override public Boolean addOrderList(String orderIdFk) { //先删除数据 - QueryWrapper ew=new QueryWrapper<>(); - ew.eq("orderIdFk",orderIdFk); + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderIdFk", orderIdFk); invInnerOrderPrintDao.delete(ew); - List innerOrderDetailEntityList=innerOrderDetailService.selectOrderList(orderIdFk); + List innerOrderDetailEntityList = innerOrderDetailService.selectOrderList(orderIdFk); - for(InnerOrderDetailEntity obj:innerOrderDetailEntityList){ - InvInnerOrderPrintEntity innerOrderPrintEntity=new InvInnerOrderPrintEntity(); + for (InnerOrderDetailEntity obj : innerOrderDetailEntityList) { + InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); innerOrderPrintEntity.setOrderIdFk(obj.getOrderIdFk()); innerOrderPrintEntity.setProductId(obj.getProductId()); innerOrderPrintEntity.setExpireDate(obj.getExpireDate()); @@ -99,19 +104,21 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService innerOrderPrintEntity.setCount(obj.getCount()); innerOrderPrintEntity.setBatchNo(obj.getBatchNo()); innerOrderPrintEntity.setCreateTime(new Date()); + innerOrderPrintEntity.setType(1); innerOrderPrintEntity.setUpdateTime(new Date()); - innerOrderPrintEntity.setStatus(0); - innerOrderPrintEntity.setCreateUser(customerService.getUserId()+""); - innerOrderPrintEntity.setUpdateUser(customerService.getUserId()+""); - FilterUdiRelRequest filterUdiRelRequest=new FilterUdiRelRequest(); + innerOrderPrintEntity.setStatus(ConstantStatus.PRINT_UNPRINTED); + innerOrderPrintEntity.setCreateUser(customerService.getUserId() + ""); + innerOrderPrintEntity.setUpdateUser(customerService.getUserId() + ""); + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); filterUdiRelRequest.setId(Long.valueOf(obj.getProductId())); //查询耗材字典信息 - UdiRelevanceResponse filterUdiRelevance=udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest).get(0); + UdiRelevanceResponse filterUdiRelevance = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest).get(0); //查询产品信息 - UdiProductEntity udiProductEntity=udiProductService.findByNameCode(filterUdiRelevance.getNameCode()); + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(filterUdiRelevance.getNameCode()); String udiCode = "#" + udiProductEntity.getNameCode() + "#" + udiProductEntity.getProduceDate() + "#" + udiProductEntity.getExpireDate() + "#" + udiProductEntity.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode(); + udiCode = udiCode.replaceAll("#null",""); innerOrderPrintEntity.setUdiCode(udiCode); invInnerOrderPrintDao.insert(innerOrderPrintEntity); } @@ -128,7 +135,7 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService if (filterinnerOrderprintRequest == null) { return Collections.emptyList(); } - if(filterinnerOrderprintRequest.getPage()!=null){ + if (filterinnerOrderprintRequest.getPage() != null) { int offset = (filterinnerOrderprintRequest.getPage() - 1) * filterinnerOrderprintRequest.getLimit(); PageHelper.offsetPage(offset, filterinnerOrderprintRequest.getLimit()); } @@ -214,8 +221,8 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService innerOrderPdfTempService.insertStockPrintTempList(stockPrintTempEntities); for (innerOrderPrintRequest innerOrderPrintRequest : mStockPrintEntities) { - InvInnerOrderPrintEntity innerOrderPrintEntity=new InvInnerOrderPrintEntity(); - innerOrderPrintEntity.setStatus(1); + InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); + innerOrderPrintEntity.setStatus(ConstantStatus.PRINT_SUCCESS); innerOrderPrintEntity.setId(innerOrderPrintRequest.getId()); invInnerOrderPrintService.updateOrder(innerOrderPrintEntity); } @@ -225,7 +232,7 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(stockPrintTempEntities); - return pageSimpleResponse; + return pageSimpleResponse; } public PdfPrintCountEntity getCount(List countList, innerOrderPrintRequest innerOrderPrintRequest) { @@ -236,4 +243,48 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService } return null; } -} + + + //-----------------------------------------------------------业务单据打印-----------------------------// + @Override + public Boolean addInCodeList(String orderIdFk,boolean check) { + //先删除数据 + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("orderIdFk", orderIdFk); + invInnerOrderPrintDao.delete(ew); + + List ioOrderDetailBizEntityList = ioOrderDetailBizService.findByOrderIdAndNameCode(orderIdFk,check); + + for (IoOrderDetailBizEntity obj : ioOrderDetailBizEntityList) { + InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); + innerOrderPrintEntity.setOrderIdFk(obj.getOrderIdFk()); + innerOrderPrintEntity.setProductId(obj.getBindRlFk()+""); + innerOrderPrintEntity.setExpireDate(obj.getExpireDate()); + innerOrderPrintEntity.setProductDate(obj.getProductDate()); + innerOrderPrintEntity.setProductName(obj.getCoName()); + innerOrderPrintEntity.setCount(obj.getCount()); + innerOrderPrintEntity.setBatchNo(obj.getBatchNo()); + innerOrderPrintEntity.setCreateTime(new Date()); + innerOrderPrintEntity.setType(2); + innerOrderPrintEntity.setUpdateTime(new Date()); + innerOrderPrintEntity.setStatus(ConstantStatus.PRINT_UNPRINTED); + innerOrderPrintEntity.setCreateUser(customerService.getUserId() + ""); + innerOrderPrintEntity.setUpdateUser(customerService.getUserId() + ""); + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setId(Long.valueOf(obj.getBindRlFk())); + //查询耗材字典信息 + UdiRelevanceResponse filterUdiRelevance = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest).get(0); + //查询产品信息 + UdiProductEntity udiProductEntity = udiProductService.findByNameCode(filterUdiRelevance.getNameCode()); + + String udiCode = "#" + udiProductEntity.getNameCode() + "#" + udiProductEntity.getProduceDate() + "#" + udiProductEntity.getExpireDate() + + "#" + udiProductEntity.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode(); + udiCode = udiCode.replaceAll("#null",""); + innerOrderPrintEntity.setUdiCode(udiCode); + invInnerOrderPrintDao.insert(innerOrderPrintEntity); + } + return true; + } + + +} \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 4f9a5257e..7dd62180b 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -11,7 +11,8 @@ (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, - (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName + (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, + (select name from basic_corp bc where bc.erpId = io.customerId) customerName from io_order as io