diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/ChargeSplitController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/ChargeSplitController.java index 7815ce9..b462029 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/ChargeSplitController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/ChargeSplitController.java @@ -2,7 +2,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.utils.AjaxResult; import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking; import org.springframework.beans.factory.annotation.Autowired; 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 0641f98..1bf1c73 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,9 +3,9 @@ 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.MaterialReceiveRequest; -import com.cim.idm.model.PageDto; +import com.cim.idm.model.dto.DeliveryDto; +import com.cim.idm.model.po.MaterialReceiveRequest; +import com.cim.idm.model.dto.PageDto; import com.cim.idm.service.IDeliveryService; import com.cim.idm.utils.AjaxResult; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -59,7 +59,8 @@ public class DeliveryController { List nameList = new ArrayList<>(); // 判定是否是到库单 String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType(); - if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) { + boolean isDelivery = typeByKey.equals(ReceiveTypeEnums.DK.getCode()); + if (isDelivery) { // 到库单(找出该单据下的所有的采购单) nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName) .stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList()); @@ -68,6 +69,16 @@ public class DeliveryController { nameList.add(receiveRequestName); } // 获取采购单明细及批次 - return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList)); + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList, isDelivery)); + } + + /** + * 获取采购订单详情 + */ + @PostMapping(value = "/getReceiveDetail") + public AjaxResult getReceiveDetail(@RequestBody JSONObject in) { + List nameList = (List) in.get("nameList"); + // 获取采购订单详情 + return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getReceiveDetail(nameList)); } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/FGStockInController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/FGStockInController.java index b6236fd..951ff8d 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/FGStockInController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/FGStockInController.java @@ -5,12 +5,11 @@ import com.alibaba.fastjson.JSONObject; import com.cim.idm.exception.GlobalException; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.model.MaterialPacking; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.response.BaseResponse; import com.cim.idm.response.RespGenerator; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.CommonUtils; -import com.cim.idm.wmspackage.name.NameServiceProxy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestBody; @@ -18,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/InvoiceController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/InvoiceController.java index 793b023..1bb9a9c 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/InvoiceController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/InvoiceController.java @@ -6,6 +6,7 @@ import com.cim.idm.exception.GlobalException; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.*; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.service.QueryService; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.EventInfoUtil; @@ -23,14 +24,12 @@ import com.cim.idm.wmspackage.name.NameServiceProxy; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import java.io.IOException; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java index 27b7a15..57bc3a6 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/LabelController.java @@ -7,6 +7,9 @@ import com.cim.idm.exception.GlobalException; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.*; +import com.cim.idm.model.dto.TrackOutBoDto; +import com.cim.idm.model.dto.StoragePrintDto; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; import com.cim.idm.response.BaseResponse; import com.cim.idm.response.RespGenerator; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java index 85d7f86..e65b89b 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/MaterialPackingController.java @@ -2,7 +2,7 @@ package com.cim.idm.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.cim.idm.model.*; +import com.cim.idm.model.dto.MaterialNotPostedDto; import com.cim.idm.utils.AjaxResult; import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy; import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey; @@ -23,7 +23,7 @@ public class MaterialPackingController { */ @PostMapping(value = "/update") public AjaxResult update(@RequestBody JSONObject in) { - MaterialNotPostedRequest sl = JSON.toJavaObject(in, MaterialNotPostedRequest.class); + MaterialNotPostedDto sl = JSON.toJavaObject(in, MaterialNotPostedDto.class); // 获取数据 List collect = sl.getDataList().stream().map(item -> { MaterialPackingKey packingKey = new MaterialPackingKey(); 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 6380791..85b2f30 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 @@ -5,9 +5,9 @@ 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.po.MaterialReceiveRequest; import com.cim.idm.model.MaterialreceiveActDto; -import com.cim.idm.model.TrackOutBoDto; +import com.cim.idm.model.dto.TrackOutBoDto; import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl; import com.cim.idm.service.IDeliveryService; import com.cim.idm.service.impl.QMSServiceImpl; @@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; import java.sql.Timestamp; import java.util.*; +import java.util.stream.Collectors; import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl; @@ -175,7 +176,17 @@ public class MaterialReceiveActController { String receiveActNo = box.getReceiveActNo(); String receiveQty = box.getRECEIVEDQUANTITY2();//实收数量 String receiveRequestDetailName = box.getReceiveRequestDetailName(); - String receiveRequestName = box.getReceiveRequestName(); + // 单据 + String receiveRequestName = boxs.getReceiveRequestName(); + // 判断是否是倒库单据 + MaterialReceiveRequest byKey = deliveryService.getByKey(boxs.getSiteName(), boxs.getReceiveRequestName()); + if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) { + // 检索该到库订单下该物料的采购订单的 name + List collect = deliveryService.getReceiveByDelivery(boxs.getSiteName(), boxs.getReceiveRequestName()) + .stream().filter(item -> item.getMaterialSpecName().equals(materialSpecName)).collect(Collectors.toList()); + // 检查剩余数量 + // @TODO + } String remark = box.getRemark(); String sdkid = box.getSdkid() == null ? "" : box.getSdkid(); String shipRequestDetailName = box.getShipRequestDetailName(); diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/NoInvoiceManagerContoller.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/NoInvoiceManagerContoller.java index 2c7ebc0..0881541 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/NoInvoiceManagerContoller.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/NoInvoiceManagerContoller.java @@ -10,11 +10,10 @@ import java.util.Map; import java.util.Objects; import com.cim.idm.exception.GlobalException; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.ShelfDto; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.CommonUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/ProduceReturnController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/ProduceReturnController.java index efd8c79..fa2109f 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/ProduceReturnController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/ProduceReturnController.java @@ -7,7 +7,7 @@ import com.cim.idm.exception.GlobalException; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.MaterialPacking; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.CommonUtils; import com.cim.idm.utils.EventInfoUtil; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/PurchaseReturnController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/PurchaseReturnController.java index 5a3ccd1..4652f13 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/PurchaseReturnController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/PurchaseReturnController.java @@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cim.idm.dao.PurchaseReturnServiceDao; import com.cim.idm.framework.IDMFrameServiceProxy; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.PurchaseReturnDto; import com.cim.idm.model.StockOutDto; import com.cim.idm.service.PurchaseReturnService; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleReturnController.java b/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleReturnController.java index 22e7f4d..fc22d3d 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleReturnController.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/controller/SaleReturnController.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.cim.idm.exception.GlobalException; import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.model.MaterialPacking; -import com.cim.idm.model.MaterialReceiveRequest; +import com.cim.idm.model.po.MaterialReceiveRequest; import com.cim.idm.model.MaterialshipRequest; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.CommonUtils; 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 adc54fc..e03e352 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,7 +1,10 @@ package com.cim.idm.dao; -import com.cim.idm.model.MaterialReceiveRequest; -import com.cim.idm.model.PurchaseDto; +import com.cim.idm.model.dto.DeliveryRelationDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; +import com.cim.idm.model.po.MaterialReceiveRequest; +import com.cim.idm.model.dto.PurchaseDto; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,11 +25,9 @@ public interface DeliveryDao { @Param("receiveRequestType") String receiveRequestType ); /** - * 绑定采购订单 的 到货单 + * 新增到货单关系 */ - int bindDelivery(@Param("siteName") String siteName, - @Param("receiveRequestName") String receiveRequestName, - @Param("nameList") List nameList); + int createRelation(@Param("receiveList") List receiveList); /** * 获取采购订单 @@ -39,7 +40,8 @@ public interface DeliveryDao { */ @MapKey("storeDetail") List> getStoreDetail(@Param("siteName") String siteName, - @Param("nameList") List nameList); + @Param("nameList") List nameList, + @Param("isDelivery") Boolean isDelivery); /** * 获取入库批次 @@ -59,4 +61,16 @@ public interface DeliveryDao { */ List getReceiveByDelivery(@Param("siteName") String siteName, @Param("receiveRequestName") String receiveRequestName); + + /** + * 获取到库单关系 + */ + List getRelation(@Param("deliveryName") String deliveryName); + + /** + * 根据到库单获取采购单名称 + * @param nameList 到库单 + * @return 采购单名称列表 + */ + List getReceiveDetail(@Param("nameList") List nameList); } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java b/zi-wms-pda/src/main/java/com/cim/idm/model/bo/StorageObject.java similarity index 77% rename from zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/bo/StorageObject.java index 99995e2..7235172 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/StorageObject.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/bo/StorageObject.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.bo; import lombok.Data; 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/dto/DeliveryDto.java similarity index 77% rename from zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryDto.java index 2defff3..f4deb03 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/DeliveryDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryDto.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey; import lombok.Data; @@ -15,4 +15,7 @@ public class DeliveryDto { // 数据 private List dataList; + + // 数据 + private List receiveList; } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java new file mode 100644 index 0000000..83b8f57 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/DeliveryRelationDto.java @@ -0,0 +1,15 @@ +package com.cim.idm.model.dto; + +import lombok.Data; + +@Data +public class DeliveryRelationDto { + // 到库单名称 + private String deliveryName; + // 到库数量 + private Integer deliveryNum = 0; + // 采购单名称 + private String receiveRequestName; + // 料号 + private String materialSpecName; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialNotPostedRequest.java b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java similarity index 71% rename from zi-wms-pda/src/main/java/com/cim/idm/model/MaterialNotPostedRequest.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java index fd2819c..06d80e1 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/MaterialNotPostedRequest.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/MaterialNotPostedDto.java @@ -1,11 +1,12 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; +import com.cim.idm.model.MaterialPacking; import lombok.Data; import java.util.List; @Data -public class MaterialNotPostedRequest { +public class MaterialNotPostedDto { // 批次 private String CHARGE; 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/dto/PageDto.java similarity index 84% rename from zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/PageDto.java index c5570d2..346e583 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/PageDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/PageDto.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; import lombok.Data; import com.alibaba.fastjson.JSONObject; 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/dto/PurchaseDto.java similarity index 82% rename from zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/PurchaseDto.java index 521d9de..b016cf2 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/PurchaseDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/PurchaseDto.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; import lombok.Data; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/StoragePrintDto.java b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/StoragePrintDto.java similarity index 89% rename from zi-wms-pda/src/main/java/com/cim/idm/model/StoragePrintDto.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/StoragePrintDto.java index f801fcf..b173e45 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/model/StoragePrintDto.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/dto/StoragePrintDto.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; import lombok.Data; import lombok.NoArgsConstructor; 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/dto/TrackOutBoDto.java similarity index 75% rename from zi-wms-pda/src/main/java/com/cim/idm/model/TrackOutBoDto.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/dto/TrackOutBoDto.java index 56f4b45..09eb743 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/dto/TrackOutBoDto.java @@ -1,5 +1,6 @@ -package com.cim.idm.model; +package com.cim.idm.model.dto; +import com.cim.idm.model.MaterialreceiveActDto; import lombok.Data; @Data diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveDelivery.java b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveDelivery.java new file mode 100644 index 0000000..20ba28d --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveDelivery.java @@ -0,0 +1,16 @@ +package com.cim.idm.model.po; + +import lombok.Data; + +@Data +public class MaterialReceiveDelivery { + + // 到库单 + private String deliveryName; + // 到库数量 + private String deliveryNum; + // 采购单 + private String receiveRequestName; + // 料号 + private String materialSpecName; +} 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/po/MaterialReceiveRequest.java similarity index 96% rename from zi-wms-pda/src/main/java/com/cim/idm/model/MaterialReceiveRequest.java rename to zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequest.java index 15dfbb1..658e08c 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/po/MaterialReceiveRequest.java @@ -1,4 +1,4 @@ -package com.cim.idm.model; +package com.cim.idm.model.po; import lombok.Data; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequestDetail.java b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequestDetail.java new file mode 100644 index 0000000..ef43cb8 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/po/MaterialReceiveRequestDetail.java @@ -0,0 +1,56 @@ +package com.cim.idm.model.po; + +import lombok.Data; + +import java.sql.Timestamp; + +@Data +public class MaterialReceiveRequestDetail { + + private String siteName; + private String receiveRequestName; + private String receiveRequestDetailName; + private String pocategory; // 对应SAP PSTYPE + private String receiveRequestDetailType; //对应SAP KNTTP + private String materialSpecName; + private String description; + private double requestQuantity; + private double receivedQuantity; + private String erpLocation; + private String locationName; + private String erpFactory; + private String returnFlag; + private String freeFlag; + private String forceCompletedFlag; + private String receiveRequestDetailState; + private String holdState; + private String iqcFlag; + private Timestamp planDate; + private String createUser; + private Timestamp createTime; + private String lastEventName; + private String lastEventTimeKey; + private Timestamp lastEventTime; + private String lastEventUser; + private String lastEventComment; + private String innerOrder;//内部订单号20190806 + private String charge; + private String applicant; + private String erpPoName; + private String erpPoDetailName; + private String innerFlag; + //众凌定制字段 + private String supplierCharge; + private String materialUnit; + private String finishFlag; + private String costCenter;//成本中心 + private Timestamp orderChangeDate; //订单更改日期 + private String wmsReturnChargeNo; //WMS退货批次号 + private String purchaseRequestNote; //采购申请备注信息 + private String purchaseRequestNo; //采购申请单号 + private String purchaseRequestDetailNo; //采购申请单行号 + private String deleteDetailFlag; //订单行项目删除标识 + private String salesman; // 业务员zzywy + private String salesAssistant; // 业务助理zzywzl + private String businessDivision; // 事业部zzsyb +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/vo/DeliveryReceiveDetailVo.java b/zi-wms-pda/src/main/java/com/cim/idm/model/vo/DeliveryReceiveDetailVo.java new file mode 100644 index 0000000..7f341ef --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/vo/DeliveryReceiveDetailVo.java @@ -0,0 +1,12 @@ +package com.cim.idm.model.vo; + +import lombok.Data; + +@Data +public class DeliveryReceiveDetailVo { + + private String receiveRequestName; + private String materialSpecName; + private double requestQuantity; + private double deliveryNum; +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/model/vo/ReceiveDetailVo.java b/zi-wms-pda/src/main/java/com/cim/idm/model/vo/ReceiveDetailVo.java new file mode 100644 index 0000000..26b13ec --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/model/vo/ReceiveDetailVo.java @@ -0,0 +1,14 @@ +package com.cim.idm.model.vo; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class ReceiveDetailVo { + // 采购单明细 + private List> storeDetail; + // 批次 + private List> storeCharge; +} 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 8711491..2ce7089 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,12 +1,14 @@ 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.cim.idm.model.dto.DeliveryDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; +import com.cim.idm.model.po.MaterialReceiveRequest; +import com.cim.idm.model.dto.PageDto; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; +import com.cim.idm.model.vo.ReceiveDetailVo; import com.github.pagehelper.PageInfo; import java.util.List; -import java.util.Map; public interface IDeliveryService { /** @@ -27,9 +29,10 @@ public interface IDeliveryService { * 获取采购单明细及批次 * @param siteName 组织 * @param nameList 名称 + * @param isDelivery 是否到库 * @return 采购订单 */ - Map getStoreDetail(String siteName, List nameList); + ReceiveDetailVo getStoreDetail(String siteName, List nameList, Boolean isDelivery); /** * 根据 key 获取值 @@ -45,4 +48,16 @@ public interface IDeliveryService { * @return 采购单名称列表 */ List getReceiveByDelivery(String siteName, String receiveRequestName); + + /** + * 获取到库单关系 + */ + List getRelation(String deliveryName); + + /** + * 根据到库单获取采购单名称 + * @param nameList 到库单 + * @return 采购单名称列表 + */ + List getReceiveDetail(List nameList); } 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 f3251d4..7ed2ae3 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 @@ -12,6 +12,8 @@ import com.cim.idm.framework.orm.info.KeyInfo; import com.cim.idm.framework.orm.service.CommonServiceDAO; import com.cim.idm.framework.util.time.TimeStampUtil; import com.cim.idm.model.*; +import com.cim.idm.model.bo.StorageObject; +import com.cim.idm.model.dto.StoragePrintDto; import com.cim.idm.mwmsextend.generic.util.CommonUtil; import com.cim.idm.wmsextend.generic.errorHandler.CustomException; import com.cim.idm.wmsextend.generic.util.ObjectUtil; 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 25917a5..0aa3152 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 @@ -3,22 +3,22 @@ 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.model.dto.PageDto; +import com.cim.idm.model.dto.PurchaseDto; +import com.cim.idm.model.dto.DeliveryDto; +import com.cim.idm.model.dto.DeliveryRelationDto; +import com.cim.idm.model.po.MaterialReceiveDelivery; +import com.cim.idm.model.po.MaterialReceiveRequest; +import com.cim.idm.model.vo.DeliveryReceiveDetailVo; +import com.cim.idm.model.vo.ReceiveDetailVo; 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; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.*; @Service public class DeliveryServiceImpl implements IDeliveryService { @@ -34,10 +34,19 @@ public class DeliveryServiceImpl implements IDeliveryService { 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); + // 添加到库单关系 + List res = new ArrayList<>(); + for (DeliveryRelationDto item : dto.getReceiveList()) { + // 数量大于 0 + if (Objects.nonNull(item.getDeliveryNum()) && item.getDeliveryNum() > 0) { + // 到库单号 + item.setDeliveryName(dto.getReceiveRequestName()); + res.add(item); + } + } + if (deliveryDao.createRelation(res) <= 0) { + return "添加到库单关系失败"; + } return "更新成功"; } @@ -49,15 +58,15 @@ public class DeliveryServiceImpl implements IDeliveryService { } @Override - public Map getStoreDetail(String siteName, List nameList) { - Map res = new HashMap<>(); + public ReceiveDetailVo getStoreDetail(String siteName, List nameList, Boolean isDelivery) { + ReceiveDetailVo receiveDetailVo = new ReceiveDetailVo(); // 采购单明细 - List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList); + List> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, isDelivery); + receiveDetailVo.setStoreDetail(storeDetail); // 批次 List> storeCharge = deliveryDao.getStoreCharge(siteName, nameList); - res.put("storeDetail", storeDetail); - res.put("storeCharge", storeCharge); - return res; + receiveDetailVo.setStoreCharge(storeCharge); + return receiveDetailVo; } @Override @@ -69,4 +78,14 @@ public class DeliveryServiceImpl implements IDeliveryService { public List getReceiveByDelivery(String siteName, String receiveRequestName) { return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName); } + + @Override + public List getRelation(String deliveryName) { + return deliveryDao.getRelation(deliveryName); + } + + @Override + public List getReceiveDetail(List nameList) { + return deliveryDao.getReceiveDetail(nameList); + } } diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java index a718ac6..5d79165 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/LabelServiceImpl.java @@ -2,6 +2,7 @@ package com.cim.idm.service.Impl; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.*; +import com.cim.idm.model.dto.StoragePrintDto; import com.cim.idm.service.LabelService; import com.cim.idm.utils.EventInfoUtil; import com.cim.idm.wmsextend.generic.errorHandler.CustomException; diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java index b913d38..590aaac 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/LabelService.java @@ -2,6 +2,7 @@ package com.cim.idm.service; import com.cim.idm.model.*; +import com.cim.idm.model.dto.StoragePrintDto; import com.cim.idm.wmsextend.generic.errorHandler.CustomException; /** 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 d119825..da1e150 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 @@ -7,16 +7,15 @@ VALUES (#{siteName}, #{receiveRequestName}, #{receiveRequestType}) - - UPDATE MATERIALRECEIVEREQUEST SET DELIVERYNAME = #{receiveRequestName} - WHERE SITENAME = #{siteName} - AND RECEIVEREQUESTNAME IN - - #{name} + + INSERT ALL + + INTO MATERIALRECEIVEDELIVERY (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM, MATERIALSPECNAME) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum}, #{item.materialSpecName}) - + SELECT * FROM dual + - SELECT SITENAME, RECEIVEREQUESTNAME FROM MATERIALRECEIVEREQUEST WHERE SITENAME = #{dto.siteName} AND RECEIVEREQUESTTYPE IN @@ -49,22 +48,49 @@ #{name} GROUP BY m5.MATERIALSPECNAME, m5.RECEIVEREQUESTNAME, m5.SDK_ID, m5.phase + ), + MAIN AS ( + SELECT m.MATERIALSPECNAME, + SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY, + SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY, + SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS RECEIVEDQUANTITY2, + SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS MINUSQTY + FROM MATERIALRECEIVEREQUESTDETAIL m + WHERE m.RECEIVEREQUESTNAME in + + #{name} + + GROUP BY m.MATERIALSPECNAME ) - SELECT m3.WIDTH AS DESCRIPTION, be.DESCRIPTION AS ERPLOCATION2, m.ERPLOCATION, o.ORGNAME AS ERPFACTORY2, - m2.STOCKORGNO AS ERPFACTORY, sss.DESCRIPTION AS LOCATIONNAME2, m.LOCATIONNAME, m2.SUPPLIERNO, - '1' RECEIVEREQUESTDETAILNAME, SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY, SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY, - SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS RECEIVEDQUANTITY2, - SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS MINUSQTY, NVL( MAX( BB.QTY ), 0 ) CREATEQTY, - NVL( MAX( AA.QTY ), 0 ) STOCKINQTY, m3.DESC_CN, m.MATERIALUNIT, M3.MATERIALUNITDESC, - CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期' - WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义' - END AS REPLACED_VALUE, - m.SDK_ID, m3.WIDTH SPECNAME, m3.PHASE, m.MATERIALSPECNAME, m.SITENAME, m.RECEIVEREQUESTNAME, - DECODE( m3.IS_BATCH, 'Y', '是' , '否' ) IS_BATCH, '是' IS_BATCH, DECODE( m4.IQCFLAG, 'Y', '是' , '否' ) IQCFLAG, - max( m.REMARK ) REMARK, max( m.SALESMAN ) SALESPERSON, max( m.SALESASSISTANT ) CAREER_ASSISTANCE, - max( m.BUSINESSDIVISION ) BUSINESS_UNIT, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME, - TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE - FROM MATERIALRECEIVEREQUESTDETAIL m + + ,DELIVERY AS ( + SELECT sum(md.DELIVERYNUM) DELIVERYNUM, md.MATERIALSPECNAME MATERIALSPECNAME + FROM MATERIALRECEIVEDELIVERY md + WHERE md.RECEIVEREQUESTNAME IN + + #{name} + + GROUP BY md.MATERIALSPECNAME + ) + + SELECT distinct MAIN.RECEIVEDQUANTITY, MAIN.MINUSQTY, + + DELIVERY.DELIVERYNUM REQUESTQUANTITY, + + + MAIN.REQUESTQUANTITY REQUESTQUANTITY, + + TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE, '1' RECEIVEREQUESTDETAILNAME, '是' IS_BATCH, + m.MATERIALSPECNAME, m.SITENAME, m.ERPLOCATION, m.LOCATIONNAME, m.MATERIALUNIT, m.SDK_ID, + m.REMARK REMARK, m.SALESMAN SALESPERSON, m.SALESASSISTANT CAREER_ASSISTANCE, m.BUSINESSDIVISION BUSINESS_UNIT, + m2.STOCKORGNO AS ERPFACTORY, m2.SUPPLIERNO, + m3.WIDTH AS DESCRIPTION, m3.MATERIALUNITDESC, m3.WIDTH SPECNAME, m3.PHASE, m3.DESC_CN, DECODE( m3.IS_BATCH, 'Y', '是' , '否' ) IS_BATCH, + CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期' WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义' END AS REPLACED_VALUE, + DECODE( m4.IQCFLAG, 'Y', '是', '否' ) IQCFLAG, + be.DESCRIPTION AS ERPLOCATION2, o.ORGNAME AS ERPFACTORY2, sss.DESCRIPTION AS LOCATIONNAME2, + NVL( BB.QTY, 0 ) CREATEQTY, NVL( AA.QTY, 0 ) STOCKINQTY + FROM MAIN + LEFT JOIN MATERIALRECEIVEREQUESTDETAIL m ON MAIN.MATERIALSPECNAME = m.MATERIALSPECNAME LEFT JOIN MATERIALRECEIVEREQUEST m2 ON m.RECEIVEREQUESTNAME = m2.RECEIVEREQUESTNAME LEFT JOIN MATERIALSPEC m3 ON m.MATERIALSPECNAME = m3.MATERIALSPECNAME LEFT JOIN BS_MATERIALFACTORY m4 ON m.MATERIALSPECNAME = m4.MATERIALSPECNAME AND m.ERPFACTORY = m4.ERPFACTORY @@ -79,6 +105,9 @@ AND BB.MATERIALSPECNAME = m.MATERIALSPECNAME AND BB.SDK_ID = m.SDK_ID AND BB.PHASE = m3.PHASE + + INNER JOIN DELIVERY ON DELIVERY.MATERIALSPECNAME = m.MATERIALSPECNAME + WHERE ( m2.RETURNFLAG IS NULL OR m2.RETURNFLAG != 'Y' ) AND m.RECEIVEREQUESTNAME in @@ -86,10 +115,6 @@ AND m.SITENAME = #{siteName} AND m2.RECEIVEREQUESTTYPE IN ( 'ZK4A', '45', '4C', 'Z001', 'Z002', 'Z003', 'Z004' ) - GROUP BY m3.DESCRIPTION, be.DESCRIPTION, m.ERPLOCATION, o.ORGNAME, m2.STOCKORGNO, sss.DESCRIPTION, - m.LOCATIONNAME, m2.SUPPLIERNO, m3.DESC_CN, m.MATERIALUNIT, M3.MATERIALUNITDESC, - m3.EXPIRATION_RULES, m.SDK_ID, m3.WIDTH, m3.PHASE, m.MATERIALSPECNAME, m.SITENAME, - m.RECEIVEREQUESTNAME, m3.IS_BATCH, m4.IQCFLAG @@ -117,17 +142,42 @@ ) TTT - + SELECT SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE, PURCHASEORDERGROUP, RECEIVEREQUESTSTATE, SUPPLIERNO, + OEMSITENAME, OEMSITEINCHARGE, SYSTEMTYPE, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER, + LASTEVENTCOMMENT, ERPPONAME, SAVEREASON, RESPPERSON, RESPDEPART, SOLVETIME, PASSSTATE, WORKER, SDK_ID, + ERPID, REMARK, PURCHASER, PURORGNO, ORDERDATE, CLOSERUSER, CLOSEDATE, STOCKORGNO, RETURNFLAG, + RECEIVEREQUESTDETAILTYPE, ERPLOCATION, PRODUCTDEPTNO, SOURCEBILLID, EFFECTIVESTARTTIME, EFFECTIVEENDTIME FROM MATERIALRECEIVEREQUEST WHERE SITENAME = #{siteName} AND RECEIVEREQUESTNAME = #{receiveRequestName} - + SELECT m.SITENAME, m.RECEIVEREQUESTNAME, m.RECEIVEREQUESTTYPE, m.PURCHASEORDERGROUP, m.RECEIVEREQUESTSTATE, m.SUPPLIERNO, + m.OEMSITENAME, m.OEMSITEINCHARGE, m.SYSTEMTYPE, m.LASTEVENTNAME, m.LASTEVENTTIMEKEY, m.LASTEVENTTIME, m.LASTEVENTUSER, + m.LASTEVENTCOMMENT, m.ERPPONAME, m.SAVEREASON, m.RESPPERSON, m.RESPDEPART, m.SOLVETIME, m.PASSSTATE, m.WORKER, m.SDK_ID, + m.ERPID, m.REMARK, m.PURCHASER, m.PURORGNO, m.ORDERDATE, m.CLOSERUSER, m.CLOSEDATE, m.STOCKORGNO, m.RETURNFLAG, + m.RECEIVEREQUESTDETAILTYPE, m.ERPLOCATION, m.PRODUCTDEPTNO, m.SOURCEBILLID, m.EFFECTIVESTARTTIME, m.EFFECTIVEENDTIME + FROM MATERIALRECEIVEREQUEST m, MATERIALRECEIVEDELIVERY md + WHERE md.DELIVERYNAME = #{receiveRequestName} + AND m.SITENAME = #{siteName} + AND m.RECEIVEREQUESTNAME = md.RECEIVEREQUESTNAME + + + + + \ No newline at end of file