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] =?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