Tiroble 3 年之前
父節點
當前提交
26830e8872

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

@@ -5,6 +5,7 @@ import com.steerinfo.dil.model.WmspGridMaterial;
 import com.steerinfo.dil.service.impl.WmspGridMaterialServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.PageListAdd;
 
 import com.steerinfo.framework.controller.RESTfulResult;
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -43,7 +45,7 @@ public class WmspGridMaterialController extends BaseRESTfulController {
     ColumnDataUtil columnDataUtil;
     @Autowired
     ESFeign esFeign;
-
+    private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     @PostMapping(value = "/insertGridMaterial")
     public RESTfulResult insertGridMaterial(@RequestBody WmspGridMaterial wmspGridMaterial) {
         int code = wmspGridMaterialService.insertSelective(wmspGridMaterial);
@@ -332,7 +334,12 @@ public class WmspGridMaterialController extends BaseRESTfulController {
                                                    Integer apiId,
                                                     Integer warehouseId,
                                                     Integer status,
+                                                    @RequestParam(value = "startTime",required = false) String startTime,
+                                                    @RequestParam(value = "endTime",required = false) String endTime,
                                                     String con){
+        if (startTime!=null){
+            DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
+        }
         mapValue.put("warehouseId",warehouseId);
         mapValue.put("status",status);
 //        进行对钢材物资名称的模糊查询

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

@@ -66,4 +66,6 @@ public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, Bi
   List<Map<String, Object>> getMaterialIdes(String warehouseId, String materialCode, String materialSpecification, String materialModel,Integer status);
 //  查询当前所有已经超过库龄预警的所有数据
   List<Map<String, Object>> getGridMaterialAgeList(Map<String,Object> mapVal);
+
+  List<Map<String, Object>> getMaterialIdesNoTime(String warehouseId, String materialCode, String materialSpecification, String materialModel, Integer status);
 }

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

@@ -361,7 +361,8 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
         Integer status = 1;
 //        根据前端传过来的物资型号,物资规格查询当前实时库存中的物资id
         List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdes(warehouseId,materialCode,materialSpecification,materialModel,status);
-//        当数量小于零的时候
+        for (Map<String,Object> map:materialIdList){}
+        //        当数量小于零的时候
         if (quantity<=0){
             return 0;
         }else if (quantity>materialIdList.size()){
@@ -389,7 +390,8 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
 //        设置状态为预留转入库
         Integer status = 2;
         //        根据前端传过来的物资型号,物资规格查询当前实时库存中的物资id
-        List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdes(warehouseId,materialCode,materialSpecification,materialModel,status);
+        List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdesNoTime(warehouseId,materialCode,materialSpecification,materialModel,status);
+        //List<Map<String,Object>> materialIdList=wmspGridMaterialMapper.getMaterialIdes(warehouseId,materialCode,materialSpecification,materialModel,status);
 //        当数量小于零的时候
         if (quantity<=0){
             return 0;

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

@@ -174,7 +174,7 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
             //遍历四个仓库
             for(Map<String,Object> map:mapList){
                 BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
-                //查询去重实时库存中的物资id
+                //查询去重实时库存中的物资id,生成每种物资的今日收发存
                 List<Map<String,Object>> materialIdList = wmspGridMaterialMapper.getMaterialId(warehouseId);
                 for(Map<String,Object> map1:materialIdList) {
                     WmspSendReceive wmspSendReceive = new WmspSendReceive();

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

@@ -422,44 +422,60 @@
     <select id="getSteelMaterialModelList" resultType="java.util.Map">
       SELECT DISTINCT
         RM.MATERIAL_NAME || RM.MATERIAL_SPECIFICATION || '(' ||
-          RM.MATERIAL_MODEL || ')' "materialName",
-      RM.MATERIAL_SPECIFICATION "materialSpecification",
-      RM.MATERIAL_MODEL "materialModel",
-      RM.MATERIAL_CODE "materialCode",
+        RM.MATERIAL_MODEL || ')' "materialName",
+        RM.MATERIAL_SPECIFICATION "materialSpecification",
+        RM.MATERIAL_MODEL "materialModel",
+        RM.MATERIAL_CODE "materialCode",
         table1.count "max"
-      FROM RMS_MATERIAL_STEEL RMS
---                 关联物资表
-             LEFT JOIN RMS_MATERIAL RM
-                       ON RMS.MATERIAL_ID = RM.MATERIAL_ID
---                     关联实时库存表
-             LEFT JOIN WMSP_GRID_MATERIAL WGM
-                       ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
---                     关联仓储网格表
-             LEFT JOIN RMS_PWAREHOUSE_GRID RPG
-                       ON RPG.GRID_ID = WGM.GRID_ID
-             LEFT JOIN (
-        SELECT COUNT(RM.MATERIAL_CODE) count,
-               RM.MATERIAL_CODE code
         FROM RMS_MATERIAL_STEEL RMS
---                 关联物资表
-               LEFT JOIN RMS_MATERIAL RM
-                         ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN WMSP_INBOUND_RESULT WIR
+        ON RMS.MATERIAL_STEEL_ID = WIR.MATERIAL_ID
+--       关联物资表
+         LEFT JOIN RMS_MATERIAL RM
+         ON RMS.MATERIAL_ID = RM.MATERIAL_ID
 --                     关联实时库存表
-               LEFT JOIN WMSP_GRID_MATERIAL WGM
-                         ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+         LEFT JOIN WMSP_GRID_MATERIAL WGM
+          ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
 --                     关联仓储网格表
-               LEFT JOIN RMS_PWAREHOUSE_GRID RPG
-                         ON RPG.GRID_ID = WGM.GRID_ID
-               LEFT JOIN WMSP_INBOUND_RESULT WIR
-                         ON WIR.MATERIAL_ID=WGM.MATERIAL_ID
-
-        WHERE RPG.WAREHOUSE_ID =#{warehouseId} AND WGM.DELETED = 0 AND WIR.INBOUND_ISCOMPLETE=#{status} AND WGM.UPDATE_TIME IS NULL GROUP BY RM.MATERIAL_CODE
-      ) table1
-                       ON table1.code = RM.MATERIAL_CODE
+         LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+         ON RPG.GRID_ID = WGM.GRID_ID
+         LEFT JOIN (
+           SELECT COUNT(RM.MATERIAL_CODE) count,
+           RM.MATERIAL_CODE code
+           FROM RMS_MATERIAL_STEEL RMS
+  --                 关联物资表
+                 LEFT JOIN RMS_MATERIAL RM
+                           ON RMS.MATERIAL_ID = RM.MATERIAL_ID
+  --                     关联实时库存表
+                 LEFT JOIN WMSP_GRID_MATERIAL WGM
+                           ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+  --                     关联仓储网格表
+                 LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+                           ON RPG.GRID_ID = WGM.GRID_ID
+                 LEFT JOIN WMSP_INBOUND_RESULT WIR
+                           ON WIR.MATERIAL_ID=WGM.MATERIAL_ID
+  
+                 WHERE RPG.WAREHOUSE_ID =#{warehouseId}
+                 AND WGM.DELETED = 0
+                 AND WIR.INBOUND_ISCOMPLETE=#{status}
+                 AND WGM.UPDATE_TIME IS NULL
+                <if test="startDate != null">
+                  AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR.INBOUND_TIME
+                  AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR.INBOUND_TIME
+                </if>
+                GROUP BY RM.MATERIAL_CODE
+        ) table1
+       ON table1.code = RM.MATERIAL_CODE
       WHERE RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_NAME IS NOT NULL
-      <if test="con!=null">
+      <if test="con!=null and con!='null'">
         AND RM.MATERIAL_NAME LIKE (#{con})
+        AND table1.count>0
+      </if>
+      <if test="startDate != null">
+        AND to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= WIR.INBOUND_TIME
+        AND to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= WIR.INBOUND_TIME
       </if>
+      AND WIR.INBOUND_ISCOMPLETE=#{status}
       <include refid="orderBy"></include>
     </select>
   <select id="getSteelWarehouseList" resultType="java.util.Map">

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

@@ -789,6 +789,8 @@
       AND RM.MATERIAL_CODE = #{materialCode}
       AND RM.MATERIAL_MODEL= #{materialModel}
       AND RM.MATERIAL_SPECIFICATION = #{materialSpecification}
+       AND RMS.INSERT_TIME >= trunc(sysdate)
+    ORDER BY RMS.INSERT_TIME DESC
   </select>
     <select id="getGridMaterialAgeList" resultType="java.util.Map">
       SELECT
@@ -800,7 +802,29 @@
         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}
     </select>
-    <delete id="deleteGridMaterial">
+  <select id="getMaterialIdesNoTime" resultType="java.util.Map">
+        SELECT
+           RMS.MATERIAL_STEEL_ID "materialId",
+           WIR.INBOUND_ID "inboundId"
+        FROM RMS_MATERIAL_STEEL RMS
+        LEFT JOIN RMS_MATERIAL RM
+        ON RM.MATERIAL_ID = RMS.MATERIAL_ID
+        LEFT JOIN WMSP_GRID_MATERIAL WGM
+        ON WGM.MATERIAL_ID = RMS.MATERIAL_STEEL_ID
+        LEFT JOIN RMS_PWAREHOUSE_GRID RPG
+        ON RPG.GRID_ID = WGM.GRID_ID
+        LEFT JOIN WMSP_INBOUND_RESULT WIR
+        ON WIR.MATERIAL_ID = WGM.MATERIAL_ID
+        WHERE WIR.RESULT_DELETED =0
+          AND WGM.DELETED = 0
+          AND WIR.INBOUND_ISCOMPLETE =#{status}
+          AND WIR.RESULT_STATUS >1
+          AND RPG.WAREHOUSE_ID = #{warehouseId}
+          AND RM.MATERIAL_CODE = #{materialCode}
+          AND RM.MATERIAL_MODEL= #{materialModel}
+          AND RM.MATERIAL_SPECIFICATION = #{materialSpecification}
+  </select>
+  <delete id="deleteGridMaterial">
     update WMSP_GRID_MATERIAL WGM set WGM.DELETED = 1,UPDATE_TIME = #{now}
     where WGM.MATERIAL_ID in
     <foreach collection="thisMaterialDetailedInfos" item="item" open="(" separator="," close=")">

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

@@ -764,7 +764,9 @@
                     #{item}
                 </foreach>
             </if>
-
+            <if test="materialNames != null">
+                and "materialName" like '%${materialNames}%'
+            </if>
         </where>
         <include refid="orderBy"></include>
     </select>