浏览代码

Merge remote-tracking branch 'origin/master'

hejiahui 2 年之前
父节点
当前提交
ce246f4533

+ 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);
 }

+ 4 - 3
src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java

@@ -93,9 +93,10 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         String newDate=simpleDateFormat.format(new Date(date2));
         mapval.put("warehouseId",warehouseId);
         List<Map<String ,Object>> list1 = wmspGridMaterialMapper.selectGridMaterial(mapval);
-        mapval.put("newDate",newDate);
+        /*mapval.put("newDate",newDate);
         List<Map<String ,Object>> list2 = wmspGridMaterialMapper.getGridMaterialAgeList(mapval);
-        mapval.clear();
+        //因为要查询所以把该值去掉了
+        //mapval.clear();
         for (Map<String,Object> map1:list1){
             Integer status = 0;
             for (Map<String,Object> map2:list2){
@@ -108,7 +109,7 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
                 }
             }
             map1.put("status",status);
-        }
+        }*/
         return list1;
     }
     //根据仓储网格统计数据

+ 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

+ 16 - 8
src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml

@@ -416,21 +416,26 @@
   
   
   <!-- 友情提示!!!-->
+  <!--
+  RS.STACKING_NO "stackingNo",
+    RPG.GRID_GRADATION_NUMBER "gridGradationNumber",
+    RMS.MATERIAL_FURNACE_NUMBER "materialFunraceNumber",
+  -->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="selectGridMaterial" resultType="java.util.Map" parameterType="java.util.Map">
     select distinct *
     from (select
     RW.WAREHOUSE_NAME "warehouseName",
-    RS.STACKING_NO "stackingNo",
-    RPG.GRID_GRADATION_NUMBER "gridGradationNumber",
-    RMS.MATERIAL_FURNACE_NUMBER "materialFunraceNumber",
     RMS.MATERIAL_THEORETICAL_WEIGHT "materialTheoreticalWeight",
     WGM.GM_NUMBER "gmNumber",
     RM.MATERIAL_NAME "materialName",
     RPG.GRID_ID  "gridId",
     RMS.MATERIAL_STEEL_ID "materialId",
     RMS.MATERIAL_ONLY_CODE "materialOnlyCode",
-    WGM.GM_ID "gmId"
+    WGM.GM_ID "gmId",
+    RM.MATERIAL_SPECIFICATION   "specification",
+    RM.MATERIAL_MODEL   "materialModel",
+    RM.MATERIAL_LENGTH  "materialLength"
     from WMSP_GRID_MATERIAL WGM
     left join RMS_PWAREHOUSE_GRID RPG
     on  WGM.GRID_ID=RPG.GRID_ID
@@ -448,13 +453,16 @@
     on WIR.MATERIAL_ID = WGM.MATERIAL_ID
     where WGM.DELETED = 0
       and WIR.INBOUND_ISCOMPLETE = 1
+      and to_char(WGM.INSERT_TIME,'yyyy-mm-dd hh24:mi:ss')
+      between to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss')
+      and to_char(trunc(sysdate,'dd')+23/24+59/24/60+59/24/60/60,'yyyy-mm-dd hh24:mi:ss')
     <if test="warehouseId!=0">
         and RPG.WAREHOUSE_ID = #{warehouseId}
     </if>
     order by WGM.INSERT_TIME DESC
     )
    <if test="con!=null">
-    where "materialName" like #{con} or "warehouseName" like #{con} or "stackingNo" like #{con}
+    where "materialName" like #{con} or "specification" like #{con} or "materialModel" like #{con}
   </if>
     <where>
       <if test="warehouseName != null">
@@ -790,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}
@@ -807,7 +814,8 @@
         ON RPG.GRID_ID = WGM.GRID_ID
         LEFT JOIN RMS_MATERIAL_STEEL RMS
         ON RMS.MATERIAL_STEEL_ID = WGM.MATERIAL_ID
-        WHERE WGM.INSERT_TIME &lt;= to_date(#{newDate}, 'yyyy-mm-dd hh24:mi:ss' )   AND WGM.UPDATE_TIME IS NULL AND RPG.WAREHOUSE_ID =#{warehouseId}
+        WHERE WGM.INSERT_TIME &lt;= to_date(#{newDate}, 'yyyy-mm-dd hh24:mi:ss' )
+        AND WGM.UPDATE_TIME IS NULL AND RPG.WAREHOUSE_ID =#{warehouseId}
     </select>
   <select id="getMaterialIdesNoTime" resultType="java.util.Map">
         SELECT

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

@@ -885,7 +885,7 @@
 
   <!--  根据运输订单id查询还没装货的物资id-->
   <select id="getMaterial" parameterType="Integer" resultType="java.util.Map">
-     SELECT
+    SELECT
       oom.MATERIAL_ID "materialId",
       oom.ORDER_MATERIAL_NUMBER "materialNumber",
       oom.ORDER_MATERIAL_WEIGHT "materialWeight",
@@ -898,8 +898,12 @@
       OMSTRUCK_ORDER OO
         LEFT JOIN Omstruck_Order_Material oom ON OO.ORDER_ID = oom.ORDER_ID
         LEFT JOIN RMS_MATERIAL RM ON oom.material_id = RM.MATERIAL_ID
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        AND TWR.MATERIAL_ID = OOM.MATERIAL_ID
     WHERE
       OO.ORDER_ID = #{orderId}
+      AND TWR.RESULT_NET_WEIGHT IS NULL
 --       AND TLR.RESULT_LOAD_END_TIME IS NULL
 --     ORDER BY
 --       LOADING_SEQUENCE ASC
@@ -950,7 +954,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 +965,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>