diff --git a/zi-wms-pda/src/main/java/com/cim/idm/constants/storage/StorageRulesEnums.java b/zi-wms-pda/src/main/java/com/cim/idm/constants/storage/StorageRulesEnums.java index 3fa51c4..03b94c5 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/constants/storage/StorageRulesEnums.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/constants/storage/StorageRulesEnums.java @@ -9,6 +9,7 @@ import java.util.List; @Getter public enum StorageRulesEnums { // S:泗洪-老厂,J:泗洪-胶水,P:泗洪-PET + GU_FEN("1010", new String[]{"S", "J", "P"}), SI_HONG("1020", new String[]{"S", "J", "P"}), // 太仓 TAI_CANG("1030", new String[]{"T"}), 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 fa2109f..7fc27e0 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 @@ -8,6 +8,7 @@ import com.cim.idm.framework.IDMFrameServiceProxy; import com.cim.idm.framework.data.EventInfo; import com.cim.idm.model.MaterialPacking; import com.cim.idm.model.po.MaterialReceiveRequest; +import com.cim.idm.service.IProduceReturnService; import com.cim.idm.utils.AjaxResult; import com.cim.idm.utils.CommonUtils; import com.cim.idm.utils.EventInfoUtil; @@ -16,10 +17,7 @@ import com.cim.idm.wmspackage.name.NameServiceProxy; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 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 org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.util.ArrayList; @@ -28,7 +26,8 @@ import java.util.List; import java.util.Map; import com.cim.idm.service.Impl.ReturnStockIntoServiceImpl; -import com.cim.idm.service.Impl.ProductIntoServiceImpl; + +import javax.annotation.Resource; /** * 退料入库控制器 @@ -40,19 +39,21 @@ import com.cim.idm.service.Impl.ProductIntoServiceImpl; @EnableAutoConfiguration public class ProduceReturnController { + @Resource + private IProduceReturnService produceReturnService; + @Autowired private ReturnStockIntoServiceImpl ReturnStockIntoServiceImpl; - @Autowired - private ProductIntoServiceImpl ProductIntoServiceImpl; + CommonUtils untils = new CommonUtils(); - CommonUtils untils=new CommonUtils(); /** * 获取单据信息 * @param in * @return */ - @RequestMapping(value = "/getBarCode", method = RequestMethod.POST) + @RequestMapping(value = "/getBarCode-old", method = RequestMethod.POST) + @Deprecated public AjaxResult getBarCode(@RequestBody JSONObject in ){ MaterialPacking materialPacking = JSON.toJavaObject(in, MaterialPacking.class); @@ -191,8 +192,36 @@ public class ProduceReturnController { // return AjaxResult.me().setResultObj(list2); } - - + /** + * 获取单据信息 + * @param in + * @return + */ + @PostMapping(value = "/getBarCode") + public AjaxResult getShipCode(@RequestBody JSONObject in ){ + MaterialPacking materialPacking = JSON.toJavaObject(in, MaterialPacking.class); + String materialPackingName = materialPacking.getMaterialPackingName(); + // 查看标签 + List> list2 = produceReturnService.getMaterialPacking(materialPackingName); + // 判断条码是否存在且状态是在库 + if (list2.size() > 1) { + throw new GlobalException("条码不止一个!"); + } else if(list2.isEmpty()) { + throw new GlobalException("未打印退库标签!"); + } else { + for (Map map : list2) { + if (!"StockOut".equals(map.get("STOCKSTATE").toString())) { + throw new GlobalException("条码已存在且不为出库状态!"); + } + } + } + // 查看单号 + List> list4 = produceReturnService.getMesShip(materialPackingName); + Map mapAll = new HashMap<>(); + mapAll.put("list2",list2); + mapAll.put("list4",list4); + return AjaxResult.me().setResultObj(mapAll); + } /** * 生成入库单号 diff --git a/zi-wms-pda/src/main/java/com/cim/idm/dao/ProduceReturnDao.java b/zi-wms-pda/src/main/java/com/cim/idm/dao/ProduceReturnDao.java new file mode 100644 index 0000000..eef1d5c --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/dao/ProduceReturnDao.java @@ -0,0 +1,30 @@ +package com.cim.idm.dao; + +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 +public interface ProduceReturnDao { + + /** + * 获取物料主数据 + * @param materialPackingName 物料码 + * @return 物料数据 + */ + @MapKey("materialPacking") + List> getMaterialPacking(@Param("name") String materialPackingName); + + /** + * 获取 mes-ship 表 + * @param materialPackingName 码 + * @return mes-ship + */ + @MapKey("mesShip") + List> getMesShip(@Param("name") String materialPackingName); +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/IProduceReturnService.java b/zi-wms-pda/src/main/java/com/cim/idm/service/IProduceReturnService.java new file mode 100644 index 0000000..34fabd7 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/IProduceReturnService.java @@ -0,0 +1,22 @@ +package com.cim.idm.service; + + +import java.util.List; +import java.util.Map; + +public interface IProduceReturnService { + + /** + * 获取物料主数据 + * @param materialPackingName 码 + * @return 物料数据 + */ + List> getMaterialPacking(String materialPackingName); + + /** + * 获取 mes-ship 表 + * @param materialPackingName 码 + * @return mes-ship + */ + List> getMesShip(String materialPackingName); +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ProduceReturnServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ProduceReturnServiceImpl.java new file mode 100644 index 0000000..0281c91 --- /dev/null +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ProduceReturnServiceImpl.java @@ -0,0 +1,26 @@ +package com.cim.idm.service.Impl; + +import com.cim.idm.dao.ProduceReturnDao; +import com.cim.idm.service.IProduceReturnService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Service +public class ProduceReturnServiceImpl implements IProduceReturnService { + + @Resource + private ProduceReturnDao produceReturnDao; + + @Override + public List> getMaterialPacking(String materialPackingName) { + return produceReturnDao.getMaterialPacking(materialPackingName); + } + + @Override + public List> getMesShip(String materialPackingName) { + return produceReturnDao.getMesShip(materialPackingName); + } +} diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java index ac801fa..cbe24dc 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java @@ -544,7 +544,7 @@ public class ReturnStockIntoServiceImpl implements ReturnStockInService { //判断批次是否数量是否满足单据需求 for (int i = 0; i < queryForList2.size(); i++) { String receiveRequestName = queryForList2.get(i).get("RECEIVEREQUESTNAME").toString(); - String erpLocation = queryForList2.get(i).get("ERPLOCATION").toString(); +// String erpLocation = queryForList2.get(i).get("ERPLOCATION").toString(); // String shipRequestType=queryForList2.get(i).get("SHIPREQUESTTYPE").toString(); String billCode=""; ToSAPServiceImpl.ReturnStockInNew("SDK", eventUser, receiveRequestName, commitDate,opCode); @@ -553,11 +553,13 @@ public class ReturnStockIntoServiceImpl implements ReturnStockInService { } EventInfo makeEventInfo = new EventInfoUtil().makeEventInfo("ReturnStockIn", eventUser, "ReturnStockIn"); // 更新抬头文本状态和Box状态 - String sql = "SELECT M.SITENAME ,M.MATERIALPACKINGNAME FROM MATERIALPACKING M WHERE M.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND ERPLOCATION = :ERPLOCATION AND m.MATERIALPACKINGNAME IN " + /*String sql = "SELECT M.SITENAME ,M.MATERIALPACKINGNAME FROM MATERIALPACKING M WHERE M.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND ERPLOCATION = :ERPLOCATION AND m.MATERIALPACKINGNAME IN " + + pc;*/ + String sql = "SELECT M.SITENAME ,M.MATERIALPACKINGNAME FROM MATERIALPACKING M WHERE M.RECEIVEREQUESTNAME = :RECEIVEREQUESTNAME AND m.MATERIALPACKINGNAME IN " + pc; Map hashMap = new HashMap(); hashMap.put("RECEIVEREQUESTNAME", receiveRequestName); - hashMap.put("ERPLOCATION", erpLocation); +// hashMap.put("ERPLOCATION", erpLocation); List> queryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, hashMap); for (Map map : queryForList) { MaterialPackingKey materialPackingKey = new MaterialPackingKey(map.get("SITENAME").toString(), diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/ProduceReturnDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/ProduceReturnDao.xml new file mode 100644 index 0000000..d34aa3f --- /dev/null +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/ProduceReturnDao.xml @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/zi-wms-pda/src/main/resources/com/cim/idm/dao/WareHouseDao.xml b/zi-wms-pda/src/main/resources/com/cim/idm/dao/WareHouseDao.xml index d70b1b9..2ec05b4 100644 --- a/zi-wms-pda/src/main/resources/com/cim/idm/dao/WareHouseDao.xml +++ b/zi-wms-pda/src/main/resources/com/cim/idm/dao/WareHouseDao.xml @@ -52,7 +52,7 @@ STORAGENAME LIKE #{type}||'%' - AND STORAGENAME LIKE '%'||#{storageName}||'%' + AND STORAGENAME LIKE #{storageName}||'%' \ No newline at end of file