Kaynağa Gözat

完善倒垛作业和盘库作业

胡半仙 3 yıl önce
ebeveyn
işleme
d7754da33f
20 değiştirilmiş dosya ile 328 ekleme ve 43 silme
  1. 15 6
      src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java
  2. 10 3
      src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java
  3. 15 6
      src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java
  4. 1 0
      src/main/java/com/steerinfo/dil/mapper/RmsWarehouseMapper.java
  5. 6 3
      src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java
  6. 6 4
      src/main/java/com/steerinfo/dil/mapper/WmspInboundResultMapper.java
  7. 2 1
      src/main/java/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.java
  8. 20 0
      src/main/java/com/steerinfo/dil/mapper/WmspSendReceiveMapper.java
  9. 12 12
      src/main/java/com/steerinfo/dil/model/WmspSendReceive.java
  10. 2 1
      src/main/java/com/steerinfo/dil/service/IWmspOutboundResultService.java
  11. 6 0
      src/main/java/com/steerinfo/dil/service/IWmspSendReceiveService.java
  12. 1 1
      src/main/java/com/steerinfo/dil/service/impl/WmspGridMaterialServiceImpl.java
  13. 27 3
      src/main/java/com/steerinfo/dil/service/impl/WmspOutboundResultServiceImpl.java
  14. 120 0
      src/main/java/com/steerinfo/dil/service/impl/WmspSendReceiveServiceImpl.java
  15. 1 1
      src/main/resources/bootstrap.yml
  16. 10 0
      src/main/resources/com/steerinfo/dil/mapper/RmsWarehouseMapper.xml
  17. 18 1
      src/main/resources/com/steerinfo/dil/mapper/WmspGridMaterialMapper.xml
  18. 3 1
      src/main/resources/com/steerinfo/dil/mapper/WmspInboundResultMapper.xml
  19. 8 0
      src/main/resources/com/steerinfo/dil/mapper/WmspOutboundScanResultMapper.xml
  20. 45 0
      src/main/resources/com/steerinfo/dil/mapper/WmspSendReceiveMapper.xml

+ 15 - 6
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -4,7 +4,6 @@ import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.ICommonService;
-import com.steerinfo.dil.service.IWmspInboundDistributeService;
 import com.steerinfo.dil.service.impl.*;
 import com.steerinfo.dil.util.*;
 import com.steerinfo.framework.controller.RESTfulResult;
@@ -13,14 +12,15 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 //import java.util.*;
 /**
  * @author luobang
@@ -68,7 +68,8 @@ public class WmsInboundResultController extends BaseRESTfulController {
     ICommonService commonService;
     @Autowired
     WmsInboundScanResultServiceImpl wmsInboundScanResultService;
-
+    @Autowired
+    WmspSendReceiveServiceImpl wmspSendReceiveService;
     /**
      * 展示入库实绩
      * @param mapValue
@@ -196,6 +197,14 @@ public class WmsInboundResultController extends BaseRESTfulController {
                 for (int i=0;i<mapList.size();i++) {
 
                     Map<String, Object> item = mapList.get(i);
+                    //获取物资大类id
+                    BigDecimal materialSteelId = DataChange.dataToBigDecimal(item.get("materialId"));
+                    BigDecimal materialId = wmspSendReceiveService.getMaterialId(materialSteelId);
+                    Map<String,Object> map4 = new HashMap<>();
+                    map4.put("materialId",materialId);
+                    map4.put("warehouseId",3);
+                    wmspSendReceiveService.addInBoundSendReceive(map4);
+                    wmspSendReceiveService.addThisdayInventorySendReceive(map4);
                     //获得高线库
                     HashMap<String, Object> map3 = new HashMap<>();
                     map3.put("warehouseId",3);
@@ -212,7 +221,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
                     }
                 }
                 int status3= wmspInboundDistributeService.updateDistributeStatus(wmspInboundDistribute.getDistributeId().toString());
-
+               // wmspSendReceiveService.addInBoundSendReceive();
             }
             return success("下发成功");
         }

+ 10 - 3
src/main/java/com/steerinfo/dil/controller/WmspOutboundResultController.java

@@ -5,11 +5,9 @@ import com.steerinfo.dil.mapper.CommonSeq;
 import com.steerinfo.dil.mapper.WmspInboundScanResultMapper;
 import com.steerinfo.dil.model.WmspOutboundResult;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
-import com.steerinfo.dil.service.IWmspOutboundResultService;
 import com.steerinfo.dil.service.impl.WmspOutboundResultServiceImpl;
 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;
 import com.steerinfo.framework.service.pagehelper.PageHelper;
@@ -22,7 +20,10 @@ import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * WmspOutboundResult RESTful接口:
@@ -494,5 +495,11 @@ public class WmspOutboundResultController extends BaseRESTfulController {
         return success();
     }
 
+    //创建一个删除实时库的接口
+    @PostMapping("/deleteGridMaterial")
+    public RESTfulResult deleteGridMaterial(@RequestParam String materialOnlyCode){
+        int result = wmspOutboundResultService.deleteGridMaterial(materialOnlyCode);
+        return success(result);
+    }
 }
 

+ 15 - 6
src/main/java/com/steerinfo/dil/controller/WmspSendReceiveController.java

@@ -1,6 +1,5 @@
 package com.steerinfo.dil.controller;
 
-import com.steerinfo.dil.feign.ColumnDataFeign;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.service.impl.WmspSendReceiveServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
@@ -17,7 +16,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author luobang
@@ -33,8 +34,10 @@ public class WmspSendReceiveController extends BaseRESTfulController {
     @Autowired
     ESFeign esFeign;
 
+
     @Autowired
-    WmspSendReceiveServiceImpl wmspSendReceiveServiceImpl;
+    WmspSendReceiveServiceImpl iWmspSendReceiveService;
+
     @PostMapping("/getSendReceive")
     @ApiOperation(value = "展示收发存报表信息")
     @ApiImplicitParams({
@@ -55,7 +58,7 @@ public class WmspSendReceiveController extends BaseRESTfulController {
         List<Map<String,Object>>sendReceiveList = null;
         if(mapValue.size() == 0){
             //将查询结果存入索引中
-            sendReceiveList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+            sendReceiveList = iWmspSendReceiveService.getWmspSendReceiveService(mapValue);
             Map<String, Object> sendReceiveMap = new HashMap<>();
             //添加索引
             sendReceiveMap.put("index","get_wms_SendReceive");
@@ -68,13 +71,19 @@ public class WmspSendReceiveController extends BaseRESTfulController {
             sendReceiveList.remove(sendReceiveList.size() -1);
         }
         if(sendReceiveList == null) {
-            sendReceiveList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+            sendReceiveList =iWmspSendReceiveService.getWmspSendReceiveService(mapValue);
         }
         /*分页*/
         PageHelper.startPage(pageNum, pageSize);
-        List<Map<String,Object>> columnList = wmspSendReceiveServiceImpl.getWmspSendReceiveService(mapValue);
+        List<Map<String,Object>> columnList = iWmspSendReceiveService.getWmspSendReceiveService(mapValue);
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,sendReceiveList,columnList);
         return success(pageList);
     }
 
+    //初始化收发层
+    @PostMapping("addSendReceive")
+    public RESTfulResult addSendReceive(){
+        int result = iWmspSendReceiveService.addSendReceive();
+        return success(result);
+    }
 }

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

@@ -13,4 +13,5 @@ public interface RmsWarehouseMapper extends IBaseMapper<RmsWarehouse, BigDecimal
     //下拉框:仓库
     List<Map<String, Object>> getWarehouse();
 
+    List<Map<String, Object>> getWarehouseName();
 }

+ 6 - 3
src/main/java/com/steerinfo/dil/mapper/WmspGridMaterialMapper.java

@@ -2,13 +2,11 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.WmspGridMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
-import java.text.ParseException;
 import java.util.List;
 import java.util.Map;
 
@@ -53,5 +51,10 @@ public interface WmspGridMaterialMapper extends IBaseMapper<WmspGridMaterial, Bi
 //  根据仓库id和物资类型编码查询对应的实时库存
   int getStockTakingList(String warehouseId, String materialCode);
 //  根据物资编码查询对应的物资ID
-  BigDecimal getMaterialId(String materialCode);
+  BigDecimal getMaterialIds(String materialCode);
+
+  int updateByMaterialId(BigDecimal materialId);
+
+  //查询id
+    List<Map<String,Object>> getMaterialId(BigDecimal warehouseId);
 }

+ 6 - 4
src/main/java/com/steerinfo/dil/mapper/WmspInboundResultMapper.java

@@ -2,14 +2,14 @@ package com.steerinfo.dil.mapper;
 
 import com.steerinfo.dil.model.WmspInboundResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult, BigDecimal> {
 
@@ -54,4 +54,6 @@ public interface WmspInboundResultMapper extends IBaseMapper<WmspInboundResult,
     List<Map<String,Object>> getResultMaterialByResultId(Integer resultId);
 //    根据resultMaterialId获取相对应入库实绩和仓储网格
     List<Map<String,Object>> getInboundResult(String resultMaterial);
+    //查询今日入库件数
+    BigDecimal getInbountNumber();
 }

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

@@ -14,5 +14,6 @@ public interface WmspOutboundScanResultMapper extends IBaseMapper<WmspOutboundSc
     List<Map<String, Object>> getResultMaterial(Integer resultId);
     //通过物资唯一编码找寻物资名称、规格型号、物资唯一编码和物资质检是否合格
     List<Map<String, Object>> getRmsMaterial (String materialOnlyCode);
-
+    //通过物资唯一编码查询钢材物资唯一id
+    List<Map<String, Object>> getMaterialSteelId(String materialOnlyCode);
 }

+ 20 - 0
src/main/java/com/steerinfo/dil/mapper/WmspSendReceiveMapper.java

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.WmspSendReceive;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -14,4 +15,23 @@ public interface WmspSendReceiveMapper extends IBaseMapper<WmspSendReceive, BigD
 
     List<Map<String, Object>> selectWmspSendReceive(Map<String, Object> mapValue);
 
+    @Select("select seq_WMSP_SEND_RECEIVE.nextval from dual")
+    BigDecimal getSendReceiveId();
+
+    //更改今天的入库
+    int updateSendReceiveThisdayInbound(Map<String,Object> map);
+
+    //查询昨天的库存
+    BigDecimal getSendReceiveLastdayInventory(Map<String, Object> map);
+
+    //更改今天出库
+    int updateSendReceiveThisdayOutbound(Map<String, Object> map);
+    //今天入库
+    BigDecimal selectSendReceiveThisdayInbound(Map<String,Object> map);
+    //今天出库
+    BigDecimal selectSendReceiveThisdayOutbound(Map<String,Object> map);
+    //根据物资钢材id查询物资大类id
+    BigDecimal getMaterialId(BigDecimal materialSteelId);
+    //实时更改库存
+    int updateSendReceiveThisdayInventory(Map<String,Object> map);
 }

+ 12 - 12
src/main/java/com/steerinfo/dil/model/WmspSendReceive.java

@@ -37,25 +37,25 @@ public class WmspSendReceive implements IBasePO<BigDecimal> {
      * 昨天库存(SEND_RECEIVE_LASTDAY_INVENTORY,DECIMAL,0)
      */
     @ApiModelProperty(value="昨天库存",required=false)
-    private Short sendReceiveLastdayInventory;
+    private BigDecimal sendReceiveLastdayInventory;
 
     /**
      * 今天入库(今天生产入库+今天退货入库+今天盘盈 = 今天入库)(SEND_RECEIVE_THISDAY_INBOUND,DECIMAL,0)
      */
     @ApiModelProperty(value="今天入库(今天生产入库+今天退货入库+今天盘盈 = 今天入库)",required=false)
-    private Short sendReceiveThisdayInbound;
+    private BigDecimal sendReceiveThisdayInbound;
 
     /**
      * 今天出库(今天出库+今天盘亏=今天出库)(SEND_RECEIVE_THISDAY_OUTBOUND,DECIMAL,0)
      */
     @ApiModelProperty(value="今天出库(今天出库+今天盘亏=今天出库)",required=false)
-    private Short sendReceiveThisdayOutbound;
+    private BigDecimal sendReceiveThisdayOutbound;
 
     /**
      * 今天库存(昨天库存 + 今天入库 — 今天出库 = 今天库存)(SEND_RECEIVE_THISDAY_INVENTORY,DECIMAL,0)
      */
     @ApiModelProperty(value="今天库存(昨天库存 + 今天入库 — 今天出库 = 今天库存)",required=false)
-    private Short sendReceiveThisdayInventory;
+    private BigDecimal sendReceiveThisdayInventory;
 
     /**
      * 记录创建人(INSERT_USERNAME,VARCHAR,20)
@@ -137,35 +137,35 @@ public class WmspSendReceive implements IBasePO<BigDecimal> {
         this.materialId = materialId;
     }
 
-    public Short getSendReceiveLastdayInventory() {
+    public BigDecimal getSendReceiveLastdayInventory() {
         return sendReceiveLastdayInventory;
     }
 
-    public void setSendReceiveLastdayInventory(Short sendReceiveLastdayInventory) {
+    public void setSendReceiveLastdayInventory(BigDecimal sendReceiveLastdayInventory) {
         this.sendReceiveLastdayInventory = sendReceiveLastdayInventory;
     }
 
-    public Short getSendReceiveThisdayInbound() {
+    public BigDecimal getSendReceiveThisdayInbound() {
         return sendReceiveThisdayInbound;
     }
 
-    public void setSendReceiveThisdayInbound(Short sendReceiveThisdayInbound) {
+    public void setSendReceiveThisdayInbound(BigDecimal sendReceiveThisdayInbound) {
         this.sendReceiveThisdayInbound = sendReceiveThisdayInbound;
     }
 
-    public Short getSendReceiveThisdayOutbound() {
+    public BigDecimal getSendReceiveThisdayOutbound() {
         return sendReceiveThisdayOutbound;
     }
 
-    public void setSendReceiveThisdayOutbound(Short sendReceiveThisdayOutbound) {
+    public void setSendReceiveThisdayOutbound(BigDecimal sendReceiveThisdayOutbound) {
         this.sendReceiveThisdayOutbound = sendReceiveThisdayOutbound;
     }
 
-    public Short getSendReceiveThisdayInventory() {
+    public BigDecimal getSendReceiveThisdayInventory() {
         return sendReceiveThisdayInventory;
     }
 
-    public void setSendReceiveThisdayInventory(Short sendReceiveThisdayInventory) {
+    public void setSendReceiveThisdayInventory(BigDecimal sendReceiveThisdayInventory) {
         this.sendReceiveThisdayInventory = sendReceiveThisdayInventory;
     }
 

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

@@ -2,7 +2,6 @@ package com.steerinfo.dil.service;
 
 import com.steerinfo.dil.model.WmspOutboundResult;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
-import com.steerinfo.framework.service.IBaseService;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -76,4 +75,6 @@ public interface IWmspOutboundResultService {
     int EqualMaterialsNumber(BigDecimal resultId);
 //    根据orderId判断当前运输订单的状态
     int getOutboundStatus(BigDecimal orderId);
+    //删除实时库存
+    int deleteGridMaterial(String materialOnlyCode);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/IWmspSendReceiveService.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -9,6 +10,9 @@ import java.util.Map;
  */
 public interface IWmspSendReceiveService {
 
+   int addSendReceive();
+
+
     /**
      * 1.展示库存结转基本信息
      * @param mapValue
@@ -21,4 +25,6 @@ public interface IWmspSendReceiveService {
      * @return
      */
     int count();
+    //物资大类id
+    BigDecimal getMaterialId(BigDecimal materialSteelId);
 }

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

@@ -259,7 +259,7 @@ public class WmspGridMaterialServiceImpl  implements IWmspGridMaterialService {
 //        添加仓库id
         wmspCheckWarehouse.setWarehouseId(new BigDecimal(warehouseId));
 //        添加物资ID
-        BigDecimal materialId = wmspGridMaterialMapper.getMaterialId(materialCode);
+        BigDecimal materialId = wmspGridMaterialMapper.getMaterialIds(materialCode);
 
         wmspCheckWarehouse.setMaterialId(materialId);
 //        添加实际数量

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

@@ -1,14 +1,13 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.feign.TmstruckFeign;
+import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
 import com.steerinfo.dil.mapper.WmspOutboundResultMapper;
 import com.steerinfo.dil.mapper.WmspOutboundScanResultMapper;
-import com.steerinfo.dil.model.WmspInboundResult;
 import com.steerinfo.dil.model.WmspOutboundResult;
 import com.steerinfo.dil.model.WmspOutboundScanResult;
 import com.steerinfo.dil.service.IWmspOutboundResultService;
-import com.steerinfo.framework.mapper.IBaseMapper;
-import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,6 +41,10 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
 
     @Autowired
     private TmstruckFeign tmstruckFeign;
+
+    @Autowired
+    private WmspGridMaterialMapper wmspGridMaterialMapper;
+
     @Override
     public List<Map<String, Object>> selectResultNumber(Map<String, Object> mapval) {
         return wmspOutboundResultMapper.selectResultNumber(mapval);
@@ -224,4 +227,25 @@ public class WmspOutboundResultServiceImpl  implements IWmspOutboundResultServic
     public int getOutboundStatus(BigDecimal orderId) {
         return wmspOutboundResultMapper.getOutboundStatus(orderId);
     }
+
+    @Override
+    public int deleteGridMaterial(String materialOnlyCode) {
+        //获取扫描的物资
+       // List<Map<String,Object>> scanList = wmspOutboundScanResultMapper.getResultMaterial(resultId);
+        //根据扫描的吊牌数据查询钢材物资id
+      /*  List<Map<String,Object>> listMap = null;
+        int i=0;
+        for(Map<String,Object> scanMaterial:scanList){
+            String materialOnlyCode = scanMaterial.get("RESULT_MATERIAL").toString();*/
+            int i=0;
+            String[] tag1 = materialOnlyCode.split("\\-");
+            List<Map<String,Object>> listMap  = wmspOutboundScanResultMapper.getMaterialSteelId(tag1[7]);
+            for(Map<String,Object> map:listMap) {
+                BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+                //将这些物资钢材id进行逻辑删除
+                i += wmspGridMaterialMapper.updateByMaterialId(materialId);
+            }
+
+        return i;
+    }
 }

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

@@ -1,10 +1,19 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.mapper.RmsWarehouseMapper;
+import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
+import com.steerinfo.dil.mapper.WmspInboundResultMapper;
 import com.steerinfo.dil.mapper.WmspSendReceiveMapper;
+import com.steerinfo.dil.model.WmspSendReceive;
 import com.steerinfo.dil.service.IWmspSendReceiveService;
+import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -18,6 +27,15 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
     @Autowired
     WmspSendReceiveMapper wmspSendReceiveMapper;
 
+    @Autowired
+    RmsWarehouseMapper rmsWarehouseMapper;
+
+    @Autowired
+    WmspGridMaterialMapper wmspGridMaterialMapper;
+
+    @Autowired
+    WmspInboundResultMapper wmspInboundResultMapper;
+
     @Override
     public List<Map<String, Object>> getWmspSendReceiveService(Map<String, Object> mapValue) {
         List<Map<String, Object>> maps = wmspSendReceiveMapper.selectWmspSendReceive(mapValue);
@@ -28,4 +46,106 @@ public class WmspSendReceiveServiceImpl implements IWmspSendReceiveService {
     public int count() {
         return 0;
     }
+
+    @Override
+    public BigDecimal getMaterialId(BigDecimal materialSteelId) {
+        return wmspSendReceiveMapper.getMaterialId(materialSteelId);
+    }
+
+    @Override
+    //针对每一个仓库中的每一个物资类型新增一个收发层(初始化收发层)
+    @Scheduled(cron =  "0 0 0 * * ?")
+    public int addSendReceive() {
+        int i=0;
+        WmspSendReceive wmspSendReceive = new WmspSendReceive();
+        //高线库,一棒库,二棒库,配送库
+        List<Map<String, Object>> mapList = rmsWarehouseMapper.getWarehouseName();
+        //遍历四个仓库
+        for(Map<String,Object> map:mapList){
+            BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("id"));
+            //查询去重实时库存中的物资id
+            List<Map<String,Object>> materialIdList = wmspGridMaterialMapper.getMaterialId(warehouseId);
+            for(Map<String,Object> map1:materialIdList){
+                //收发层主键自增
+                BigDecimal sendReceiveId = wmspSendReceiveMapper.getSendReceiveId();
+                wmspSendReceive.setSendReceiveId(sendReceiveId);
+                //仓库id
+                wmspSendReceive.setWarehouseId(warehouseId);
+                //收发层日期
+                wmspSendReceive.setSendReceiveDate(new Date());
+                //物资id
+                BigDecimal materialId = DataChange.dataToBigDecimal(map1.get("materialId"));
+                wmspSendReceive.setMaterialId(materialId);
+                //今天入库(今天生产入库+今天退货入库+今天盘盈 = 今天入库)暂只管出入库
+                //从零点开始每入库一件就增加一件
+                //sendReceiveThisdayInbound = wmspSendReceiveMapper.updateSendReceiveThisdayInbound(materialId);
+                //初始化今日入库为零
+                wmspSendReceive.setSendReceiveThisdayInbound(new BigDecimal(0));
+                //今天出库(今天出库+今天盘亏=今天出库)
+                //初始化出库为0
+                wmspSendReceive.setSendReceiveThisdayOutbound(new BigDecimal(0));
+                //昨天库存
+                //查询昨天库存
+                Map<String,Object> map2 = new HashMap<>();
+                map2.put("warehouseId",warehouseId);
+                map2.put("materialId",materialId);
+                BigDecimal sendReceiveLastdayInventory = wmspSendReceiveMapper.getSendReceiveLastdayInventory(map2);
+                if(sendReceiveLastdayInventory == null){
+                    wmspSendReceive.setSendReceiveLastdayInventory(new BigDecimal(0));
+                }else{
+                    wmspSendReceive.setSendReceiveLastdayInventory(sendReceiveLastdayInventory);
+                }
+                //今天库存
+//                BigDecimal sendReceiveLastdayInventory1 = wmspSendReceive.getSendReceiveLastdayInventory();
+//               if(sendReceiveLastdayInventory1.intValue()==0 || sendReceiveLastdayInventory1 == null){
+//                   wmspSendReceive.setSendReceiveThisdayInventory(new BigDecimal(0));
+//               }else {
+//                   addThisdayInventorySendReceive(map2);
+//               }
+                wmspSendReceive.setSendReceiveThisdayInventory(wmspSendReceive.getSendReceiveLastdayInventory());
+                wmspSendReceive.setInsertUsername("admin");
+                wmspSendReceive.setInsertTime(new Date());
+                wmspSendReceive.setDeleted(new BigDecimal(1));
+                i+=wmspSendReceiveMapper.insertSelective(wmspSendReceive);
+            }
+        }
+        return i;
+    }
+
+    //入库的时候调用收发层
+    //传入一个map进来warehouseId,materialId
+    public int addInBoundSendReceive(Map<String,Object> map){
+        //今天入库(今天生产入库+今天退货入库+今天盘盈 = 今天入库)暂只管入库
+        return wmspSendReceiveMapper.updateSendReceiveThisdayInbound(map);
+    }
+
+    //出库的时候调用收发层
+    public int addOutBoundSendReceive(Map<String,Object> map){
+        //今天出库(今天出库+今天盘亏=今天出库)暂只管出库
+        return wmspSendReceiveMapper.updateSendReceiveThisdayOutbound(map);
+    }
+
+    //计算今天库存(昨天库存 + 今天入库 — 今天出库 = 今天库存),实时变动
+    public int addThisdayInventorySendReceive(Map<String,Object> map){
+        BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
+        BigDecimal warehouseId = DataChange.dataToBigDecimal(map.get("warehouseId"));
+        //今天入库
+       BigDecimal sendReceiveThisdayInbound = wmspSendReceiveMapper.selectSendReceiveThisdayInbound(map);
+       //今天出库
+        BigDecimal sendReceiveThisdayOutbound = wmspSendReceiveMapper.selectSendReceiveThisdayOutbound(map);
+       // 昨天库存
+        BigDecimal sendReceiveLastdayInventory = wmspSendReceiveMapper.getSendReceiveLastdayInventory(map);
+        if(sendReceiveLastdayInventory == null){
+             sendReceiveLastdayInventory=new BigDecimal(0);
+        }
+        //今天库存
+        BigDecimal sendReceiveThisdayInventory = new BigDecimal(sendReceiveLastdayInventory.intValue()
+                +sendReceiveThisdayInbound.intValue()-sendReceiveThisdayOutbound.intValue());
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("materialId",materialId);
+        map1.put("warehouseId",warehouseId);
+        map1.put("sendReceiveThisdayInventory",sendReceiveThisdayInventory);
+        return wmspSendReceiveMapper.updateSendReceiveThisdayInventory(map1);
+
+    }
 }

+ 1 - 1
src/main/resources/bootstrap.yml

@@ -1,7 +1,7 @@
 api.version: api/v1/wms
 spring:
   profiles:
-    include: ${SPRING_PROFILES:prod}
+    include: ${SPRING_PROFILES:dev}
   jackson:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: GMT+8

+ 10 - 0
src/main/resources/com/steerinfo/dil/mapper/RmsWarehouseMapper.xml

@@ -401,4 +401,14 @@ rw.warehouse_id "value",
 rw.warehouse_name "label"
  from rms_warehouse rw
   </select>
+
+ <select id="getWarehouseName" resultType="java.util.Map">
+    select
+        rw.WAREHOUSE_ID "id",
+        rw.WAREHOUSE_NAME "name"
+    from
+        RMS_WAREHOUSE rw
+    where
+        rw.WAREHOUSE_TYPE_ID=1
+  </select>
 </mapper>

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

@@ -729,7 +729,7 @@
                      ON RMS.MATERIAL_ID = RM.MATERIAL_ID
            WHERE WGM.DELETED = 0  AND RPG.WAREHOUSE_ID = #{warehouseId} AND RM.MATERIAL_CODE = #{materialCode}
   </select>
-  <select id="getMaterialId" resultType="java.math.BigDecimal">
+  <select id="getMaterialIds" resultType="java.math.BigDecimal">
     SELECT DISTINCT
       RM.MATERIAL_ID "materialId"
     FROM RMS_MATERIAL RM
@@ -737,4 +737,21 @@
   </select>
 
 
+  <update id="updateByMaterialId" parameterType="java.math.BigDecimal">
+    update WMSP_GRID_MATERIAL WGM set WGM.DELETED = 1
+    where WGM.MATERIAL_ID = #{materialId}
+  </update>
+  
+ <select id="getMaterialId" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+   select distinct
+        rm.MATERIAL_ID "materialId"
+        from RMS_MATERIAL rm
+				left join RMS_MATERIAL_STEEL rms
+				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 wpg
+    on wgm.GRID_ID = wpg.GRID_ID
+    where wpg.WAREHOUSE_ID = #{warehouseId}
+ </select>
 </mapper>

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

@@ -1196,6 +1196,8 @@
        update WMSP_INBOUND_RESULT set RESULT_STATUS= 2 where INBOUND_DISTRIBUTE_ID =  #{distributeId}
     </update>
 
-
+    <select id="getInbountNumber" resultType="java.math.BigDecimal">
+        select count(*) from WMSP_INBOUND_RESULT wir
+    </select>
 
 </mapper>

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

@@ -446,4 +446,12 @@
     WHERE gcwz.MATERIAL_ONLY_CODE = #{materialOnlyCode}
   </select>
 
+  <select id="getMaterialSteelId" resultType="java.util.LinkedHashMap" parameterType="String">
+    SELECT
+       gcwz.MATERIAL_STEEL_ID "materialId"
+    FROM RMS_MATERIAL_STEEL gcwz
+    LEFT JOIN WMSP_GRID_MATERIAL wgm
+    ON gcwz.MATERIAL_STEEL_ID = wgm.MATERIAL_ID
+    WHERE gcwz.MATERIAL_ONLY_CODE = #{materialOnlyCode}
+  </select>
 </mapper>

+ 45 - 0
src/main/resources/com/steerinfo/dil/mapper/WmspSendReceiveMapper.xml

@@ -512,4 +512,49 @@
       </if>
     </if>
   </sql>
+
+
+  <update id="updateSendReceiveThisdayInbound" parameterType="java.util.Map">
+    update  WMSP_SEND_RECEIVE wsr
+    set wsr.SEND_RECEIVE_THISDAY_INBOUND = wsr.SEND_RECEIVE_THISDAY_INBOUND+1
+    where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+  </update>
+
+  <select id="getSendReceiveLastdayInventory" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+    select wsr.SEND_RECEIVE_THISDAY_INVENTORY from WMSP_SEND_RECEIVE wsr
+     where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+       and trunc(wsr.INSERT_TIME) = trunc(sysdate-1)
+  </select>
+
+  <update id="updateSendReceiveThisdayOutbound" parameterType="java.util.Map">
+    update WMSP_SEND_RECEIVE wsr
+    set wsr.SEND_RECEIVE_THISDAY_OUTBOUND = wsr.SEND_RECEIVE_THISDAY_OUTBOUND+1
+    where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+  </update>
+
+  <select id="selectSendReceiveThisdayInbound" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+    select wsr.SEND_RECEIVE_THISDAY_INBOUND
+    from WMSP_SEND_RECEIVE wsr
+    where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+  </select>
+
+  <select id="selectSendReceiveThisdayOutbound" parameterType="java.util.Map" resultType="java.math.BigDecimal">
+    select wsr.SEND_RECEIVE_THISDAY_OUTBOUND
+    from WMSP_SEND_RECEIVE wsr
+    where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+  </select>
+
+  <select id="getMaterialId" parameterType="java.math.BigDecimal" resultType="java.math.BigDecimal">
+    select rm.MATERIAL_ID
+    from RMS_MATERIAL rm
+    left join RMS_MATERIAL_STEEL rms
+    on rms.MATERIAL_ID = rm.MATERIAL_ID
+    where rms.MATERIAL_STEEL_ID = #{materialSteelId}
+  </select>
+
+  <update id="updateSendReceiveThisdayInventory" parameterType="java.util.Map">
+    update WMSP_SEND_RECEIVE wsr
+    set wsr.SEND_RECEIVE_THISDAY_INVENTORY = #{sendReceiveThisdayInventory}
+    where wsr.MATERIAL_ID = #{materialId} and wsr.WAREHOUSE_ID = #{warehouseId}
+  </update>
 </mapper>