From dd2f232f964a1e0a586b3169af49e5c2932c7ab8 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Wed, 26 Mar 2025 09:06:23 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat=20=E5=88=9B=E5=BB=BA=E5=88=B0=E5=BA=93?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/MaterialReceiveRequest.java | 12 +++++-- .../cim/idm/constants/ReceiveTypeEnums.java | 35 +++++++++++++++++++ .../idm/controller/DeliveryController.java | 32 +++++++++++++++++ .../java/com/cim/idm/dao/DeliveryDao.java | 26 ++++++++++++++ .../java/com/cim/idm/model/DeliveryDto.java | 18 ++++++++++ .../com/cim/idm/service/IDeliveryService.java | 12 +++++++ .../idm/service/Impl/DeliveryServiceImpl.java | 35 +++++++++++++++++++ .../resources/com/cim/idm/dao/DeliveryDao.xml | 18 ++++++++++ 8 files changed, 186 insertions(+), 2 deletions(-) create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/constants/ReceiveTypeEnums.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java create mode 100644 zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml diff --git a/zi-wms-data/src/main/java/com/cim/idm/wmspackage/invoice/management/data/MaterialReceiveRequest.java b/zi-wms-data/src/main/java/com/cim/idm/wmspackage/invoice/management/data/MaterialReceiveRequest.java index 6592855..89b74dd 100644 --- a/zi-wms-data/src/main/java/com/cim/idm/wmspackage/invoice/management/data/MaterialReceiveRequest.java +++ b/zi-wms-data/src/main/java/com/cim/idm/wmspackage/invoice/management/data/MaterialReceiveRequest.java @@ -28,7 +28,8 @@ public class MaterialReceiveRequest extends FieldAccessor implements DataInfo getPurchase() { + List str = new ArrayList<>(); + str.add(Z001.getCode()); + str.add(Z002.getCode()); + str.add(Z003.getCode()); + str.add(Z004.getCode()); + return str; + } +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java new file mode 100644 index 0000000..4fc0e26 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -0,0 +1,32 @@ +package com.cim.idm.controller; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.cim.idm.model.DeliveryDto; +import com.cim.idm.service.IDeliveryService; +import com.cim.idm.utils.AjaxResult; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("/delivery") +@EnableAutoConfiguration +public class DeliveryController { + + @Resource + private IDeliveryService deliveryService; + + /** + * 创建入库单 + */ + @PostMapping(value = "/create") + public AjaxResult createDelivery(@RequestBody JSONObject in) { + DeliveryDto dto = JSON.toJavaObject(in, DeliveryDto.class); + return AjaxResult.me().setSuccess(true).setMessage(deliveryService.createDelivery(dto)); + } +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java new file mode 100644 index 0000000..d69bde2 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java @@ -0,0 +1,26 @@ +package com.cim.idm.dao; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@Mapper +public interface DeliveryDao { + + /** + * 新增到货单 + */ + int createDelivery(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName, + @Param("receiveRequestType") String receiveRequestType ); + + /** + * 绑定采购订单 的 到货单 + */ + int bindDelivery(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName, + @Param("nameList") List nameList); +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java new file mode 100644 index 0000000..2defff3 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java @@ -0,0 +1,18 @@ +package com.cim.idm.model; + +import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey; +import lombok.Data; + +import java.util.List; + +@Data +public class DeliveryDto { + // siteName + private String siteName; + + // 单号名称 + private String receiveRequestName; + + // 数据 + private List dataList; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java new file mode 100644 index 0000000..68fcd59 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java @@ -0,0 +1,12 @@ +package com.cim.idm.service; + +import com.cim.idm.model.DeliveryDto; + +public interface IDeliveryService { + /** + * 新增到货单 + * @param dto 请求 + * @return 到货单 + */ + String createDelivery(DeliveryDto dto); +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java new file mode 100644 index 0000000..bbfa6c6 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java @@ -0,0 +1,35 @@ +package com.cim.idm.service.Impl; + +import com.cim.idm.constants.ReceiveTypeEnums; +import com.cim.idm.dao.DeliveryDao; +import com.cim.idm.model.DeliveryDto; +import com.cim.idm.service.IDeliveryService; +import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class DeliveryServiceImpl implements IDeliveryService { + + @Resource + private DeliveryDao deliveryDao; + + @Override + @Transactional + public String createDelivery(DeliveryDto dto) { + // 添加到库单 + if (deliveryDao.createDelivery(dto.getSiteName(), + dto.getReceiveRequestName(), ReceiveTypeEnums.DK.getCode()) <= 0) { + return "添加到库单失败"; + } + // 更新采购单到库单字段 + List collect = dto.getDataList().stream() + .map(MaterialReceiveRequestKey::getReceiveRequestName).collect(Collectors.toList()); + deliveryDao.bindDelivery(dto.getSiteName(), dto.getReceiveRequestName(), collect); + return "更新成功"; + } +} diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml new file mode 100644 index 0000000..0a5c9f6 --- /dev/null +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -0,0 +1,18 @@ + + + + + + INSERT INTO MATERIALRECEIVEREQUEST(SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE) + VALUES (#{siteName}, #{receiveRequestName}, #{receiveRequestType}) + + + + UPDATE MATERIALRECEIVEREQUEST SET DELIVERYNAME = #{receiveRequestName} + WHERE SITENAME = #{siteName} + AND RECEIVEREQUESTNAME IN + + #{name} + + + \ No newline at end of file From 31f22c19a2df48dc7eb9872da265b076b142a568 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Wed, 26 Mar 2025 10:32:09 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat=20=E5=8F=98=E6=9B=B4=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++++++ zi-wms-boot/src/main/resources/application.yml | 6 +++++- .../com/cim/idm/controller/DeliveryController.java | 9 +++++++++ .../src/main/java/com/cim/idm/dao/DeliveryDao.java | 10 ++++++++++ .../src/main/java/com/cim/idm/model/PageDto.java | 11 +++++++++++ .../main/java/com/cim/idm/model/PurchaseDto.java | 12 ++++++++++++ .../java/com/cim/idm/service/IDeliveryService.java | 10 ++++++++++ .../cim/idm/service/Impl/DeliveryServiceImpl.java | 13 +++++++++++++ .../main/resources/com/cim/idm/dao/DeliveryDao.xml | 12 ++++++++++++ 9 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java create mode 100644 zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java diff --git a/pom.xml b/pom.xml index 68cfee9..1ee5390 100644 --- a/pom.xml +++ b/pom.xml @@ -43,6 +43,13 @@ 2.3.1 + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.7 + + com.alibaba easyexcel diff --git a/zi-wms-boot/src/main/resources/application.yml b/zi-wms-boot/src/main/resources/application.yml index b28bc9d..9889567 100644 --- a/zi-wms-boot/src/main/resources/application.yml +++ b/zi-wms-boot/src/main/resources/application.yml @@ -118,4 +118,8 @@ com: - GetAreaList - UserLogin - UserLogout - \ No newline at end of file +# application.yml +pagehelper: + helperDialect: oracle + reasonable: true + supportMethodsArguments: true diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java index 4fc0e26..55a23ee 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -3,6 +3,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cim.idm.model.DeliveryDto; +import com.cim.idm.model.PageDto; import com.cim.idm.service.IDeliveryService; import com.cim.idm.utils.AjaxResult; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -29,4 +30,12 @@ public class DeliveryController { DeliveryDto dto = JSON.toJavaObject(in, DeliveryDto.class); return AjaxResult.me().setSuccess(true).setMessage(deliveryService.createDelivery(dto)); } + + /** + * 获取采购单 + */ + @PostMapping(value = "/getPurchase") + public AjaxResult getPurchase(@RequestBody PageDto in) { + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getPurchase(in)); + } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java index d69bde2..b005b09 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java @@ -1,5 +1,7 @@ package com.cim.idm.dao; +import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.PurchaseDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; @@ -23,4 +25,12 @@ public interface DeliveryDao { int bindDelivery(@Param("siteName") String siteName, @Param("receiveRequestName") String receiveRequestName, @Param("nameList") List nameList); + + /** + * 获取采购订单 + * @param dto 请求 + * @return 采购订单 + */ + List getPurchase(@Param("dto") PurchaseDto dto, + @Param("typeList") List typeList); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java new file mode 100644 index 0000000..c5570d2 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java @@ -0,0 +1,11 @@ +package com.cim.idm.model; + +import lombok.Data; +import com.alibaba.fastjson.JSONObject; + +@Data +public class PageDto { + private Integer pageNum; + private Integer pageSize; + private JSONObject params; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java new file mode 100644 index 0000000..521d9de --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java @@ -0,0 +1,12 @@ +package com.cim.idm.model; + +import lombok.Data; + +@Data +public class PurchaseDto { + // siteName + private String siteName; + + // 单号名称 + private String receiveRequestName; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java index 68fcd59..0184213 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java @@ -1,6 +1,9 @@ package com.cim.idm.service; import com.cim.idm.model.DeliveryDto; +import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.PageDto; +import com.github.pagehelper.PageInfo; public interface IDeliveryService { /** @@ -9,4 +12,11 @@ public interface IDeliveryService { * @return 到货单 */ String createDelivery(DeliveryDto dto); + + /** + * 获取采购订单 + * @param dto 请求 + * @return 采购订单 + */ + PageInfo getPurchase(PageDto dto); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java index bbfa6c6..c9a6235 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java @@ -1,10 +1,16 @@ package com.cim.idm.service.Impl; +import com.alibaba.fastjson.JSON; import com.cim.idm.constants.ReceiveTypeEnums; import com.cim.idm.dao.DeliveryDao; import com.cim.idm.model.DeliveryDto; +import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.PageDto; +import com.cim.idm.model.PurchaseDto; import com.cim.idm.service.IDeliveryService; import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey; +import com.github.pagehelper.PageInfo; +import com.github.pagehelper.page.PageMethod; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,4 +38,11 @@ public class DeliveryServiceImpl implements IDeliveryService { deliveryDao.bindDelivery(dto.getSiteName(), dto.getReceiveRequestName(), collect); return "更新成功"; } + + @Override + public PageInfo getPurchase(PageDto dto) { + PageMethod.startPage(dto.getPageNum(), dto.getPageSize()); + PurchaseDto purchaseDto = JSON.toJavaObject(dto.getParams(), PurchaseDto.class); + return new PageInfo<>(deliveryDao.getPurchase(purchaseDto, ReceiveTypeEnums.getPurchase())); + } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml index 0a5c9f6..fd88341 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -15,4 +15,16 @@ #{name} + + \ No newline at end of file From faaa549fbded7be12dc19fec9d3728d6ef07b975 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Wed, 26 Mar 2025 15:44:23 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat=20=E6=89=93=E5=8D=B0=E6=9C=BA=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java index c483c7a..f3251d4 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/BSLabelServiceImpl.java @@ -877,7 +877,7 @@ public class BSLabelServiceImpl extends CommonServiceDAO im // 参数(BSLABELASSIGNPARAMETER 表中映射关系) List params = getLabelAssignParameter("storageLabel001"); // 模板 - String labelPath = "D:\\storage.btw"; + String labelPath = "C:\\inetpub\\wwwroot\\BarTender\\wwwroot\\Templates\\storage.btw"; // 打印请求 PrintRequest pr = new PrintRequest(); From 645e8ea6297b5f568cf2fb0126adcf4a9fbac6a4 Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Wed, 26 Mar 2025 17:40:01 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat=20=E5=8F=98=E6=9B=B4=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/controller/DeliveryController.java | 29 +++++ .../java/com/cim/idm/dao/DeliveryDao.java | 30 ++++- .../com/cim/idm/service/IDeliveryService.java | 26 +++++ .../idm/service/Impl/DeliveryServiceImpl.java | 24 ++++ .../resources/com/cim/idm/dao/DeliveryDao.xml | 103 ++++++++++++++++++ 5 files changed, 210 insertions(+), 2 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java index 55a23ee..7d023d8 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -2,6 +2,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.cim.idm.constants.ReceiveTypeEnums; import com.cim.idm.model.DeliveryDto; import com.cim.idm.model.PageDto; import com.cim.idm.service.IDeliveryService; @@ -13,6 +14,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; @RestController @RequestMapping("/delivery") @@ -38,4 +42,29 @@ public class DeliveryController { public AjaxResult getPurchase(@RequestBody PageDto in) { return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getPurchase(in)); } + + /** + * 获取入库详情 + * 到货单/销售采购单,根据物料清单,创建批次,进行入库 + */ + @PostMapping(value = "/getStoreDetail") + public AjaxResult getStoreDetail(@RequestBody JSONObject in) { + Map params = (Map) in.get("params"); + // siteName + String siteName = params.get("SITENAME"); + String receiveRequestName = params.get("RECEIVEREQUESTNAME"); + // 单据名称集合 + List nameList = new ArrayList<>(); + // 判定是否是到库单 + String typeByKey = deliveryService.getTypeByKey(siteName, receiveRequestName); + if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) { + // 到库单(找出该单据下的所有的采购单) + nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName); + } else { + // 采购单 + nameList.add(receiveRequestName); + } + // 获取采购单明细及批次 + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList)); + } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java index b005b09..5e69f2e 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java @@ -2,11 +2,13 @@ package com.cim.idm.dao; import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.PurchaseDto; +import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; @Component @Mapper @@ -28,9 +30,33 @@ public interface DeliveryDao { /** * 获取采购订单 - * @param dto 请求 - * @return 采购订单 */ List getPurchase(@Param("dto") PurchaseDto dto, @Param("typeList") List typeList); + + /** + * 获取入库详情 + */ + @MapKey("storeDetail") + List> getStoreDetail(@Param("siteName") String siteName, + @Param("nameList") List nameList); + + /** + * 获取入库批次 + */ + @MapKey("storeCharge") + List> getStoreCharge(@Param("siteName") String siteName, + @Param("nameList") List nameList); + + /** + * 根据 key 获取值 + */ + String getTypeByKey(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName); + + /** + * 根据到库单获取采购单名称 + */ + List getReceiveByDelivery(@Param("siteName") String siteName, + @Param("receiveRequestName") String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java index 0184213..cf5bfa9 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java @@ -5,6 +5,9 @@ import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.PageDto; import com.github.pagehelper.PageInfo; +import java.util.List; +import java.util.Map; + public interface IDeliveryService { /** * 新增到货单 @@ -19,4 +22,27 @@ public interface IDeliveryService { * @return 采购订单 */ PageInfo getPurchase(PageDto dto); + + /** + * 获取采购单明细及批次 + * @param siteName 组织 + * @param nameList 名称 + * @return 采购订单 + */ + Map getStoreDetail(String siteName, List nameList); + + /** + * 根据 key 获取值 + * @param siteName 组织 + * @param receiveRequestName 单据名称 + * @return 类型 + */ + String getTypeByKey(String siteName, String receiveRequestName); + + /** + * 根据到库单获取采购单名称 + * @param receiveRequestName 到库单 + * @return 采购单名称列表 + */ + List getReceiveByDelivery(String siteName, String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java index c9a6235..2179f56 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java @@ -15,7 +15,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; @Service @@ -45,4 +47,26 @@ public class DeliveryServiceImpl implements IDeliveryService { PurchaseDto purchaseDto = JSON.toJavaObject(dto.getParams(), PurchaseDto.class); return new PageInfo<>(deliveryDao.getPurchase(purchaseDto, ReceiveTypeEnums.getPurchase())); } + + @Override + public Map getStoreDetail(String siteName, List nameList) { + Map res = new HashMap<>(); + // 采购单明细 + List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList); + // 批次 + List> storeCharge = deliveryDao.getStoreCharge(siteName, nameList); + res.put("storeDetail", storeDetail); + res.put("storeCharge", storeCharge); + return res; + } + + @Override + public String getTypeByKey(String siteName, String receiveRequestName) { + return deliveryDao.getTypeByKey(siteName, receiveRequestName); + } + + @Override + public List getReceiveByDelivery(String siteName, String receiveRequestName) { + return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName); + } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml index fd88341..1544c5d 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -27,4 +27,107 @@ AND RECEIVEREQUESTNAME LIKE '%'||#{dto.receiveRequestName}||'%' + + + + + + + + + + \ No newline at end of file From 3810db4375501326ff243cb13802dec2c048255c Mon Sep 17 00:00:00 2001 From: Amjacks <1932302177@qq.com> Date: Thu, 27 Mar 2025 16:41:05 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat=20=E4=BF=AE=E6=94=B9=E5=88=B0=E8=B4=A7?= =?UTF-8?q?=E5=8D=95=E8=BF=87=E8=B4=A6=E5=85=B3=E8=81=94=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=91=E9=80=81sap=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/controller/DeliveryController.java | 7 +- .../MaterialReceiveActController.java | 87 +++++++++++-------- .../java/com/cim/idm/dao/DeliveryDao.java | 4 +- .../cim/idm/model/MaterialReceiveRequest.java | 1 + .../java/com/cim/idm/model/TrackOutBoDto.java | 2 + .../com/cim/idm/service/IDeliveryService.java | 4 +- .../idm/service/Impl/DeliveryServiceImpl.java | 6 +- .../resources/com/cim/idm/dao/DeliveryDao.xml | 8 +- 8 files changed, 71 insertions(+), 48 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java index 7d023d8..f90407c 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/DeliveryController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cim.idm.constants.ReceiveTypeEnums; import com.cim.idm.model.DeliveryDto; +import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.PageDto; import com.cim.idm.service.IDeliveryService; import com.cim.idm.utils.AjaxResult; @@ -17,6 +18,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @RestController @RequestMapping("/delivery") @@ -56,10 +58,11 @@ public class DeliveryController { // 单据名称集合 List nameList = new ArrayList<>(); // 判定是否是到库单 - String typeByKey = deliveryService.getTypeByKey(siteName, receiveRequestName); + String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType(); if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) { // 到库单(找出该单据下的所有的采购单) - nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName); + nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName) + .stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList()); } else { // 采购单 nameList.add(receiveRequestName); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java index e920c94..6380791 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialReceiveActController.java @@ -2,12 +2,14 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.cim.idm.constants.ReceiveTypeEnums; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.MaterialReceiveRequest; import com.cim.idm.model.MaterialreceiveActDto; import com.cim.idm.model.TrackOutBoDto; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; +import com.cim.idm.service.IDeliveryService; import com.cim.idm.service.impl.QMSServiceImpl; import com.cim.idm.service.impl.ToSAPServiceImpl; import com.cim.idm.utils.AjaxResult; @@ -21,7 +23,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -29,17 +30,20 @@ import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; import java.sql.Timestamp; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; + import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl; +import javax.annotation.Resource; + @RestController @RequestMapping("/MaterialReceiveAct") @EnableAutoConfiguration public class MaterialReceiveActController { + @Resource + private IDeliveryService deliveryService; + private static Log log = LogFactory.getLog(MaterialReceiveActController.class); private EventInfo makeEventInfo; @@ -521,38 +525,51 @@ public class MaterialReceiveActController { @RequestMapping(value = "/commitToERP", method = RequestMethod.POST) public AjaxResult commitToERP(@RequestBody JSONObject in ) { - TrackOutBoDto boxs = JSON.toJavaObject(in, TrackOutBoDto.class); - String commitDate = boxs.getCommitDate(); - MaterialreceiveActDto box = boxs.getMaterialreceiveAct(); - String user = boxs.getUser(); - String receiveRequestName = box.getReceiveRequestName(); - String siteName = box.getSiteName(); - String opCode = boxs.getOpCode(); - - String erpFactory = box.getErpFactory(); - try { - //调用QMS - qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory); - } catch (CustomException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return AjaxResult.me().setSuccess(false).setMessage(e.toString()); + TrackOutBoDto trackOutBoDto = JSON.toJavaObject(in, TrackOutBoDto.class); + String user = trackOutBoDto.getUser(); + String opCode = trackOutBoDto.getOpCode(); + String commitDate = trackOutBoDto.getCommitDate(); + String name = trackOutBoDto.getReceiveRequestName(); + String site = trackOutBoDto.getSiteName(); + // 采购单 + List requests = new ArrayList<>(); + // 判定单据类型 + MaterialReceiveRequest byKey = deliveryService.getByKey(site, name); + if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) { + // 到货单 + requests = deliveryService.getReceiveByDelivery(site, name); + } else { + requests.add(byKey); } + // 采购单处理 + for (MaterialReceiveRequest request : requests) { + String receiveRequestName = request.getReceiveRequestName(); + String siteName = request.getSiteName(); + String erpFactory = request.getSTOCKORGNO(); + try { + //调用QMS + qMSServiceImpl.PreIQCInfoSend(receiveRequestName, "SDK",opCode, erpFactory); + } catch (CustomException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return AjaxResult.me().setSuccess(false).setMessage(e.toString()); + } - String undoid; - try { - undoid = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return AjaxResult.me().setSuccess(false).setMessage(e.toString()); - }//发送过账 - makeEventInfo = new EventInfoUtil().makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK"); - //更新入库凭证 - SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoid, makeEventInfo); - //更新库存状态 - SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate); - SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoid,opCode); + String undoid; + try { + undoid = SendERPStockIn(receiveRequestName, siteName, user, opCode,commitDate,opCode); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return AjaxResult.me().setSuccess(false).setMessage(e.toString()); + }//发送过账 + makeEventInfo = new EventInfoUtil().makeEventInfo("NormalStockInForSDK", user, "NormalStockInForSDK"); + //更新入库凭证 + SDKMaterialPackingServiceImpl.updateUndoIdByReceive(receiveRequestName, undoid, makeEventInfo); + //更新库存状态 + SDKMaterialPackingServiceImpl.SaveUnDoInfo( undoid,commitDate); + SDKMaterialPackingServiceImpl.updateStockState( makeEventInfo, undoid,opCode); + } return AjaxResult.me().setResultObj(null); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java index 5e69f2e..adc54fc 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/DeliveryDao.java @@ -51,12 +51,12 @@ public interface DeliveryDao { /** * 根据 key 获取值 */ - String getTypeByKey(@Param("siteName") String siteName, + MaterialReceiveRequest getByKey(@Param("siteName") String siteName, @Param("receiveRequestName") String receiveRequestName); /** * 根据到库单获取采购单名称 */ - List getReceiveByDelivery(@Param("siteName") String siteName, + List getReceiveByDelivery(@Param("siteName") String siteName, @Param("receiveRequestName") String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialReceiveRequest.java b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialReceiveRequest.java index 09d19c7..15dfbb1 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialReceiveRequest.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialReceiveRequest.java @@ -20,6 +20,7 @@ public class MaterialReceiveRequest { private String commitDate; private String opCode; private String type; + private String STOCKORGNO; private String MaterialPackingName; private String materialSpecName; private String materialQuantity; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/TrackOutBoDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/TrackOutBoDto.java index bc2c486..56f4b45 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/TrackOutBoDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/TrackOutBoDto.java @@ -5,8 +5,10 @@ import lombok.Data; @Data public class TrackOutBoDto { private String user; + private String siteName; private String commitDate; private String opCode; + private String receiveRequestName; private MaterialreceiveActDto materialreceiveAct; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java index cf5bfa9..8711491 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IDeliveryService.java @@ -37,12 +37,12 @@ public interface IDeliveryService { * @param receiveRequestName 单据名称 * @return 类型 */ - String getTypeByKey(String siteName, String receiveRequestName); + MaterialReceiveRequest getByKey(String siteName, String receiveRequestName); /** * 根据到库单获取采购单名称 * @param receiveRequestName 到库单 * @return 采购单名称列表 */ - List getReceiveByDelivery(String siteName, String receiveRequestName); + List getReceiveByDelivery(String siteName, String receiveRequestName); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java index 2179f56..25917a5 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/DeliveryServiceImpl.java @@ -61,12 +61,12 @@ public class DeliveryServiceImpl implements IDeliveryService { } @Override - public String getTypeByKey(String siteName, String receiveRequestName) { - return deliveryDao.getTypeByKey(siteName, receiveRequestName); + public MaterialReceiveRequest getByKey(String siteName, String receiveRequestName) { + return deliveryDao.getByKey(siteName, receiveRequestName); } @Override - public List getReceiveByDelivery(String siteName, String receiveRequestName) { + public List getReceiveByDelivery(String siteName, String receiveRequestName) { return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName); } } diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml index 1544c5d..d119825 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/DeliveryDao.xml @@ -117,15 +117,15 @@ ) TTT - + SELECT * FROM MATERIALRECEIVEREQUEST WHERE SITENAME = #{siteName} AND RECEIVEREQUESTNAME = #{receiveRequestName} - + SELECT * FROM MATERIALRECEIVEREQUEST WHERE SITENAME = #{siteName} AND DELIVERYNAME = #{receiveRequestName}