liyg 2 年之前
父節點
當前提交
964370c766

+ 34 - 0
src/main/java/com/steerinfo/dil/controller/DilBatchController.java

@@ -169,4 +169,38 @@ public class DilBatchController extends BaseRESTfulController {
     public RESTfulResult  getNoticeContactNumberByPerson(@RequestParam(value ="personName")String personName){
         return success(dilBatchService.getNoticeContactNumberByPerson(personName));
     }
+
+
+    @ApiOperation(value="采购绑定批次查询", notes="模糊查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId",value = "用户输入的联系人", required = false, dataType = "Integer")
+    })
+    @PostMapping("/findBatchForBind")
+    public RESTfulResult  findBatchForBind(@RequestBody(required = false) Map<String, Object> map,
+                                            Integer pageNum,
+                                            Integer pageSize,
+                                            Integer apiId,
+                                            String materialName,
+                                            String foreignShipName
+                                            ){
+        if(materialName!=null)
+            map.put("materialName",materialName);
+        if(foreignShipName!=null)
+            map.put("foreignShipName",foreignShipName);
+        List<Map<String, Object>> listTotal = dilBatchService.findBatchForBind(map);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页查询数据
+        List<Map<String, Object>> columnList = dilBatchService.findBatchForBind(map);
+        PageListAdd data = columnDataUtil.tableColumnData(apiId, listTotal, columnList);
+        return success(data);
+    }
+
+    @ApiOperation(value="修改绑定批次", notes="模糊查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId",value = "用户输入的联系人", required = false, dataType = "Integer")
+    })
+    @PostMapping("/bindBatch")
+    public RESTfulResult  bindBatch(@RequestBody(required = false) Map<String, Object> map) throws Exception {
+        return success(dilBatchService.bindBatch(map));
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/feign/WmshboundFeign.java

@@ -26,4 +26,7 @@ public interface WmshboundFeign {
 
     @PostMapping(value = "/api/v1/wmsh/wmshgridmaterials/clearWmshGridMaterial")
     RESTfulResult clearWmshGridMaterial(@RequestBody(required = false) Map<String, Object> wmshInboundResult);
+
+    @PostMapping(value = "/api/v1/wmsh/wmshgridmaterials/updateWmshGridMaterial")
+    RESTfulResult updateWmshGridMaterial(@RequestBody(required = false) Map<String, Object> wmshInboundResult);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/DilBatchMapper.java

@@ -46,4 +46,6 @@ public interface DilBatchMapper extends IBaseMapper<DilBatch, Short> {
 
 //    根据发货通知的用户姓名查找用户联系方式
     Map<String, Object> getNoticeContactNumberByPerson(String personName);
+
+    List<Map<String, Object>> findBatchForBind(Map<String, Object> map);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IDilBatchService.java

@@ -45,4 +45,8 @@ public interface IDilBatchService {
 
 //    根据发货通知的用户名查找用户联系方式
     Map<String,Object> getNoticeContactNumberByPerson(String personName);
+
+    List<Map<String, Object>> findBatchForBind(Map<String, Object> map);
+
+    int bindBatch(Map<String, Object> map) throws Exception;
 }

+ 38 - 2
src/main/java/com/steerinfo/dil/service/impl/DilBatchServiceImpl.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.service.impl;
 
 
+import com.steerinfo.dil.feign.WmshboundFeign;
 import com.steerinfo.dil.mapper.DilBatchInfacotryMapper;
 import com.steerinfo.dil.mapper.DilBatchMapper;
 import com.steerinfo.dil.model.DilBatch;
@@ -36,7 +37,8 @@ public class DilBatchServiceImpl  implements IDilBatchService {
     private DilBatchMapper dilBatchMapper;
     @Autowired
     private DilBatchInfacotryMapper dilBatchInfacotryMapper;
-
+    @Autowired
+    private WmshboundFeign wmshboundFeign;
 
 
     @Override
@@ -79,7 +81,13 @@ public class DilBatchServiceImpl  implements IDilBatchService {
         //首先根据外轮船名和批次查找批次主表id是否存在
         List<Map<String,Object>> BatchId = dilBatchMapper.selectBatchIdByForeign(map);
         if (BatchId.size()!=0){
-            dilBatchInfacotry.setBatchId(batchIds);
+            if(batchIds==null || batchIds.compareTo(new BigDecimal(0))==0){
+                //如果录入的批次已经存在,则采用之前的批次
+                batchId1=DataChange.dataToBigDecimal(BatchId.get(0).get("batchId"));
+                dilBatchInfacotry.setBatchId(batchId1);
+            }else{
+                dilBatchInfacotry.setBatchId(batchIds);
+            }
         }else {
             DilBatch dilBatch = new DilBatch();
              batchId1 = dilBatchMapper.selectBatchId();
@@ -120,4 +128,32 @@ public class DilBatchServiceImpl  implements IDilBatchService {
         return dilBatchMapper.getNoticeContactNumberByPerson(personName);
     }
 
+    @Override
+    public List<Map<String, Object>> findBatchForBind(Map<String, Object> map) {
+        return dilBatchMapper.findBatchForBind(map);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int bindBatch(Map<String, Object> map) throws Exception {
+        int i=0;
+        //校验
+        if(map.get("batchInfactoryId")==null || map.get("batchIdOld")==null || map.get("batchId") ==null
+                || map.get("userId") ==null || map.get("gmId")==null || map.get("portId")==null){
+            throw new Exception("数据异常,请检查是否输入正确数据!");
+        }
+        //取值
+        BigDecimal batchInfactoryId = DataChange.dataToBigDecimal(map.get("batchInfactoryId"));
+        BigDecimal batchId = DataChange.dataToBigDecimal(map.get("batchId"));
+        BigDecimal userId = DataChange.dataToBigDecimal(map.get("userId"));
+        //更新批次中间表的关联批次
+        DilBatchInfacotry dilBatchInfacotry=new DilBatchInfacotry();
+        dilBatchInfacotry.setBatchInfacotryId(batchInfactoryId);
+        dilBatchInfacotry.setBatchId(batchId);
+        dilBatchInfacotry.setUpdateUsername(userId.toString());
+        i+=dilBatchInfacotryMapper.updateByPrimaryKeySelective(dilBatchInfacotry);
+        //更新港存库、入库、出库的批次id
+        wmshboundFeign.updateWmshGridMaterial(map);
+        return i;
+    }
 }

+ 34 - 0
src/main/resources/com/steerinfo/dil/mapper/DilBatchMapper.xml

@@ -438,5 +438,39 @@
     ORDER BY INSERT_TIME	desc
       FETCH NEXT 1 ROWS ONLY
   </select>
+  <select id="findBatchForBind" resultType="java.util.Map">
+    select DISTINCT
+      ADN.NOTICE_ID "noticeId",
+      DB.RESULT_FOREIGN_SHIP_NAME "foreignShipName",
+      RM.MATERIAL_NAME            "materialName",
+      DBI.BATCH_INFACOTRY_ID      "batchInfactoryId",
+      DB.BATCH_ID      "batchId",
+      ADN.PORT_ID       "portId",
+      APO.PURCHASE_ORDER_NO       "purchaseOrderNo",
+      DB.INSERT_UPDATE_REMARK "remark",
+      WGM.GM_ID "gmId"
+    from AMSSHIP_DELIVERY_NOTICE ADN
+          LEFT JOIN DIL_BATCH_INFACOTRY DBI
+          ON DBI.BATCH_INFACOTRY_ID = ADN.BATCH_ID
+          LEFT JOIN DIL_BATCH DB
+          on DBI.BATCH_ID = DB.BATCH_ID
+          left join AMS_PURCHASE_ORDER APO
+          ON APO.BATCH_ID = DB.BATCH_ID
+          LEFT JOIN RMS_MATERIAL RM
+          ON RM.MATERIAL_ID = DB.MATERIAL_ID
+          LEFT JOIN WMSH_GRID_MATERIAL WGM
+          ON WGM.BATCH_ID=DB.BATCH_ID AND ADN.PORT_ID=WGM.PORT_ID
+    <where>
+        ADN.DELETED = 0
+        AND DB.INSERT_UPDATE_REMARK='人工录入'
+        AND APO.PURCHASE_ORDER_NO is null
+        <if test="materialName!=null and materialName!=''.toString()">
+        AND   RM.MATERIAL_NAME LIKE CONCAT('%',CONCAT(#{materialName},'%'))
+        </if>
+        <if test="foreignShipName!=null and foreignShipName!=''.toString()">
+          AND   DB.RESULT_FOREIGN_SHIP_NAME LIKE CONCAT('%',CONCAT(#{foreignShipName},'%'))
+        </if>
+    </where>
+  </select>
 
 </mapper>