Browse Source

Merge remote-tracking branch 'origin/master'

zyf 2 years ago
parent
commit
1ea6b36b3b

+ 1 - 1
src/main/java/com/steerinfo/dil/controller/WmsInboundScanResultController.java

@@ -111,7 +111,7 @@ public class WmsInboundScanResultController extends BaseRESTfulController {
             //新增卸货实绩
             tmstruckFeign.updateUnloadResult(order);
             //关闭运输订单
-            omsFeign.closeSteelOrderType4(DataChange.dataToBigDecimal(orderId));
+            omsFeign.closeInwardOrder(orderId.intValue(),2,null);
             //生成计费详单
             bmsTruckFeign.addInwardDetailsOrder(order);
             return  success(mapList);

+ 12 - 5
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -191,12 +191,11 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         String subResultMaterial = map.get("resultMaterial").toString().substring(0,map.get("resultMaterial").toString().length() - 1);
         //获取出库单号
         String materialOnlyCode=subResultMaterial.split("-")[7];
+        String materialCode = subResultMaterial.split("-")[8];
         BigDecimal resultId = new BigDecimal(map.get("resultId").toString());
         //物资唯一编码
-
-
         //判断物质是否已经被扫描
-        int isScan = wmspOutboundResultService.ExistScanResult(subResultMaterial);
+        int isScan = wmspOutboundResultService.ExistScanResult(subResultMaterial,resultId);
         //根据物资id查询相对应的入库实绩ID,并将其赋值给相对应的入库扫描实绩表,判断是否入库
         List<Map<String, Object>> list = wmspInboundScanResultMapper.getInboundResultIdByMaterial(subResultMaterial);
         if (list==null||list.size()==0){
@@ -220,6 +219,14 @@ public class WmspOutboundResultController extends BaseRESTfulController {
             //物质类型错误
             return failed(-4);
         }
+        //判断该出库实绩下未出库的是否有扫描实绩
+        if(wmspOutboundScanResultService.getScanCountByResultId(resultId) > 0 ){
+            //如果未出库物资有扫描实绩,则去判断当前钢材物资的编码是否与库中有扫描实绩的物资是否相同,如果不同,则为0,相同则大于0,则返回一个状态值提醒客户
+            if(wmspOutboundScanResultService.getScanCountByResultIdCode(resultId,materialCode) == 0 ){
+                return failed(-41);
+            }
+
+        }
         Integer materialNumber= Integer.valueOf(materialMap.get("materailNumber").toString());
         //获得已经扫描的物质数量
         int scanCount = wmspOutboundScanResultService.getScanCount(materialOnlyCode,resultId);
@@ -273,7 +280,7 @@ public class WmspOutboundResultController extends BaseRESTfulController {
          * */
 
         ///判断物质是否已经被扫描
-        int scanCount = wmspOutboundResultService.ExistScanResult(subResultMaterial);
+        int scanCount = wmspOutboundResultService.ExistScanResult(subResultMaterial,null);
         ///如果没有被扫描
         if(scanCount==0){
             //wmspOutboundResultService.getOutBoundId(resultNumber);
@@ -532,7 +539,7 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         int result = wmspOutboundResultService.deleteGridMaterial(materialOnlyCode);
 
         //判断物质是否已经被扫描
-        int isScan = wmspOutboundResultService.ExistScanResult(materialOnlyCode);
+        int isScan = wmspOutboundResultService.ExistScanResult(materialOnlyCode,null);
         if (result>0&&isScan==0&&list.size()>0){
             Map<String, Object> map1 = list.get(0);
             //创建出库实绩

+ 4 - 0
src/main/java/com/steerinfo/dil/feign/OmsFeign.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.feign;
 
 
 import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -16,6 +17,9 @@ public interface OmsFeign {
     @PostMapping("api/v1/oms/utilscontroller/closeSteelOrderType4")
     int closeSteelOrderType4(@RequestParam BigDecimal orderId);
 
+    @PostMapping("api/v1/oms/omstruckorderseparates/closeInwardOrder")
+    RESTfulResult closeInwardOrder(@RequestParam("orderId")Integer orderId,@RequestParam("seq")Integer sqe,@RequestParam("resultNetWeight")String resultNetWeight);
+
     @PostMapping("api/v1/oms/omstrainorders/generateOmstrain")
     int generateOmstrain(@RequestBody(required = false) Map<String,Object> map);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/mapper/WmspOutboundResultMapper.java

@@ -52,7 +52,7 @@ public interface WmspOutboundResultMapper extends IBaseMapper<WmspOutboundResult
     //通过装卸工工号查询装卸工Id
     BigDecimal getPersonnelIdByJobnumber(String personnelJobNumber);
     //根据扫描结果查询扫描实绩是否存在
-    int ExistScanResult(String resultMaterial);
+    int ExistScanResult(@Param("resultMaterial") String resultMaterial,@Param("resultId") BigDecimal resultId);
     //通过物资物资唯一编码查询钢材物资表的物资Id
     BigDecimal getSteelMaterialIdByMaterialOnlyCode(String MaterialOnlyCode);
     //通过出库实绩Id查询物资Id

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.java

@@ -23,4 +23,7 @@ public interface WmspOutboundScanResultMapper extends IBaseMapper<WmspOutboundSc
     //通过物资唯一编码查询钢材物资唯一id
     Map<String, Object> getMaterialSteelId(String materialOnlyCode);
 
+    int getScanCountByResultId(@Param("resultId") BigDecimal resultId);
+
+    int getScanCountByResultIdCode(@Param("resultId") BigDecimal resultId, @Param("materialCode") String materialCode);
 }

+ 1 - 1
src/main/java/com/steerinfo/dil/service/IWmspOutboundResultService.java

@@ -53,7 +53,7 @@ public interface IWmspOutboundResultService {
     //通过装卸工工号查询装卸工Id
     BigDecimal getPersonnelIdByJobnumber(String personnelJobNumber);
     //根据扫描结果查询扫描实绩是否存在
-    int ExistScanResult(String resultMaterial);
+    int ExistScanResult(String resultMaterial,BigDecimal resultId);
     //通过物资物资唯一编码查询钢材物资表的物资Id
     BigDecimal getSteelMaterialIdByMaterialOnlyCode(String MaterialOnlyCode);
     //通过出库实绩Id查询物资Id

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

@@ -35,4 +35,8 @@ public interface IWmspOutboundScanResultService {
     int getScanCount(String s, BigDecimal resultId);
 
     int deleteById(BigDecimal resultId);
+
+    int getScanCountByResultId(BigDecimal resultId);
+
+    int getScanCountByResultIdCode(BigDecimal resultId,String materialCode);
 }

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

@@ -142,8 +142,8 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
     }
 
     @Override
-    public int ExistScanResult(String resultMaterial) {
-        return wmspOutboundResultMapper.ExistScanResult(resultMaterial);
+    public int ExistScanResult(String resultMaterial,BigDecimal resultId) {
+        return wmspOutboundResultMapper.ExistScanResult(resultMaterial,resultId);
     }
 
     @Override

+ 10 - 0
src/main/java/com/steerinfo/dil/service/impl/WmspOutboundScanResultServiceImpl.java

@@ -84,4 +84,14 @@ public class WmspOutboundScanResultServiceImpl implements IWmspOutboundScanResul
     public int deleteById(BigDecimal resultId) {
         return wmspOutboundScanResultMapper.deleteByPrimaryKey(resultId);
     }
+
+    @Override
+    public int getScanCountByResultId(BigDecimal resultId) {
+        return wmspOutboundScanResultMapper.getScanCountByResultId(resultId);
+    }
+
+    @Override
+    public int getScanCountByResultIdCode(BigDecimal resultId,String materialCode) {
+        return wmspOutboundScanResultMapper.getScanCountByResultIdCode(resultId,materialCode);
+    }
 }

+ 1 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspCheckWarehouseMapper.xml

@@ -458,7 +458,7 @@
                  WHERE RPG.WAREHOUSE_ID =#{warehouseId}
                  AND WIR.INBOUND_ISCOMPLETE=#{status}
                  AND WIR.INBOUND_TYPE = 0
-                GROUP BY RM.MATERIAL_CODE
+      GROUP BY RM.MATERIAL_CODE
         ) table1
        ON table1.code = RM.MATERIAL_CODE
       WHERE RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_NAME IS NOT NULL AND WIR.ISUPLOAD='0' AND WIR.INSERT_UPDATE_REMARK IS NULL

+ 1 - 2
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -798,8 +798,7 @@
     ON WIR.MATERIAL_ID = WGM.MATERIAL_ID
     WHERE WIR.RESULT_DELETED =0
       AND WIR.INBOUND_ISCOMPLETE =#{status}
-      AND WIR.RESULT_STATUS >1
-      AND WIR.INSERT_UPDATE_REMARK IS NULL
+      AND WIR.RESULT_STATUS > 1
       AND RPG.WAREHOUSE_ID = #{warehouseId}
       AND WIR.INBOUND_TYPE = 0
       AND RM.MATERIAL_CODE = #{materialCode}

+ 2 - 1
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundResultMapper.xml

@@ -950,7 +950,7 @@
   </select>
 
   <!--  根据扫描结果查询扫描实绩是否存在-->
-  <select id="ExistScanResult" parameterType="String" resultType="int">
+  <select id="ExistScanResult"  resultType="int">
     select count(*)
     from WMSP_OUTBOUND_SCAN_RESULT wosr
             join WMSP_OUTBOUND_RESULT wor
@@ -961,6 +961,7 @@
             on wisr.INBOUND_RESULT_ID = wir.INBOUND_ID
     where  (wir.RESULT_DELETED = 0 or  wor.RESULT_STATUS = 1)
           and wosr.RESULT_MATERIAL = #{resultMaterial}
+            and wor.result_id = #{resultId}
   </select>
 
   <!--  通过物资物资唯一编码查询钢材物资表的物资Id-->

+ 20 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.xml

@@ -513,4 +513,24 @@
     ON gcwz.MATERIAL_STEEL_ID = wgm.MATERIAL_ID
     WHERE gcwz.MATERIAL_ONLY_CODE = #{materialOnlyCode}
   </select>
+    <select id="getScanCountByResultId" resultType="java.lang.Integer" parameterType="decimal">
+      SELECT count(wosr.RESULT_ID)  FROM WMSP_OUTBOUND_SCAN_RESULT WOSR
+      LEFT JOIN WMSP_OUTBOUND_RESULT_MATERIAL WORM
+      ON WORM.RESULT_MATERIAL_ID = WOSR.RESULT_MATERIAL_ID
+      where
+      WORM.STATUS = 1
+      AND
+    WOSR.OUTBOUND_RESULT_ID = #{resultId}
+    </select>
+  <select id="getScanCountByResultIdCode" resultType="java.lang.Integer">
+    SELECT count(wosr.RESULT_ID)  FROM WMSP_OUTBOUND_SCAN_RESULT WOSR
+    LEFT JOIN WMSP_OUTBOUND_RESULT_MATERIAL WORM
+    ON WORM.RESULT_MATERIAL_ID = WOSR.RESULT_MATERIAL_ID
+    where
+      WOSR.RESULT_MATERIAL LIKE  concat(concat('%',#{materialCode}),'%')
+      AND
+      WORM.STATUS = 1
+      AND
+      WOSR.OUTBOUND_RESULT_ID = #{resultId}
+  </select>
 </mapper>