|
@@ -1,5 +1,7 @@
|
|
|
package com.steerinfo.dil.service.impl;
|
|
|
|
|
|
+import com.steerinfo.dil.mapper.RmsPwarehouseGridMapper;
|
|
|
+import com.steerinfo.dil.mapper.RmsStackingMapper;
|
|
|
import com.steerinfo.dil.mapper.WmspGridMaterialMapper;
|
|
|
import com.steerinfo.dil.model.WmspGridMaterial;
|
|
|
import com.steerinfo.dil.service.IWmspGridMaterialService;
|
|
@@ -11,6 +13,7 @@ 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;
|
|
|
|
|
@@ -32,6 +35,10 @@ public class WmspGridMaterialServiceImpl implements IWmspGridMaterialService {
|
|
|
|
|
|
@Autowired
|
|
|
private WmspGridMaterialMapper wmspGridMaterialMapper;
|
|
|
+ @Autowired
|
|
|
+ private RmsStackingMapper rmsStackingMapper;
|
|
|
+ @Autowired
|
|
|
+ private RmsPwarehouseGridMapper rmsPwarehouseGridMapper;
|
|
|
|
|
|
//新增
|
|
|
@Override
|
|
@@ -140,6 +147,71 @@ public class WmspGridMaterialServiceImpl implements IWmspGridMaterialService {
|
|
|
return wmspGridMaterialMapper.getReboundScanResultByResultMaterial(material,materialOnlyCode);
|
|
|
}
|
|
|
|
|
|
+ //修改实时库存(倒垛)
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 所需要参数:原来的仓储网格id,修改后的垛位
|
|
|
+ * @param map
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int updateWmspGridMaterial(Map<String, Object> map) {
|
|
|
+ int CC=0;
|
|
|
+ int MN=0;
|
|
|
+ int CX=0;
|
|
|
+ //获取物资唯一编码
|
|
|
+ List<Map<String,Object>> contents=(List<Map<String, Object>>) map.get("contents");
|
|
|
+ for (Map<String,Object> map1:contents) {
|
|
|
+ String content =(String) map1.get("content");
|
|
|
+ //截取
|
|
|
+ String[] split = content.split("-");
|
|
|
+ String materialOnlyCode = split[7];
|
|
|
+ //获取原来的垛位,修改垛位剩余物资数量
|
|
|
+ //根据物资唯一编码查找原来垛位的仓储网格id
|
|
|
+ BigDecimal GirdId = wmspGridMaterialMapper.slelectGridIdByMaterialOnlyCode(materialOnlyCode);
|
|
|
+ //根据物资唯一编码和物资编码去查找物资现存仓存网格
|
|
|
+ Map<String,Object> stringObjectMap = wmspGridMaterialMapper.selectGmIdByMaterialOnlyCode(GirdId);
|
|
|
+ BigDecimal gmId = DataChange.dataToBigDecimal(stringObjectMap.get("gmId"));
|
|
|
+ WmspGridMaterial wmspGridMaterial=new WmspGridMaterial();
|
|
|
+ wmspGridMaterial.setGmId(gmId);
|
|
|
+ //设置为删除且锁定的状态
|
|
|
+ wmspGridMaterial.setDeleted(new BigDecimal(1));
|
|
|
+ wmspGridMaterial.setStatus(new BigDecimal(1));
|
|
|
+ wmspGridMaterialMapper.updateByPrimaryKeySelective(wmspGridMaterial);
|
|
|
+ //获取垛位id
|
|
|
+ BigDecimal stackingId = DataChange.dataToBigDecimal(map1.get("stackingId"));
|
|
|
+ //根据最新的垛位
|
|
|
+ //计算仓储网格id
|
|
|
+ //获取物资数
|
|
|
+ MN=rmsStackingMapper.selectMaterialNumber(map1);
|
|
|
+ //计算层次号
|
|
|
+ CC=(MN)/24+1;
|
|
|
+ //计算层序号
|
|
|
+ CX=(MN)%24+1;
|
|
|
+ //根据原来的仓储网格id查询仓库id
|
|
|
+ BigDecimal warehouseId = DataChange.dataToBigDecimal(stringObjectMap.get("warehouseId"));
|
|
|
+ Map<String,Object> map2=new HashMap<>();
|
|
|
+ map2.put("gradationNumber",CC);
|
|
|
+ map2.put("sequenceNumber",CX);
|
|
|
+ map2.put("stackingID",stackingId);
|
|
|
+ map2.put("warehouseId",warehouseId);
|
|
|
+ BigDecimal GridId = rmsPwarehouseGridMapper.selectGridId(map2);
|
|
|
+ BigDecimal gmNumber =(BigDecimal) stringObjectMap.get("gmNumber");
|
|
|
+ BigDecimal weight = (BigDecimal) stringObjectMap.get("weight");
|
|
|
+ BigDecimal materialId =(BigDecimal) stringObjectMap.get("materialId");
|
|
|
+ //新增实时库存
|
|
|
+ wmspGridMaterial.setGmId(wmspGridMaterialMapper.getCount());
|
|
|
+ wmspGridMaterial.setGridId(GridId);
|
|
|
+ wmspGridMaterial.setMaterialId(materialId);
|
|
|
+ wmspGridMaterial.setGmNumber(gmNumber);
|
|
|
+ wmspGridMaterial.setGmWeight(weight);
|
|
|
+ wmspGridMaterial.setInsertTime(new Date());
|
|
|
+ wmspGridMaterial.setInsertUsername("admin");
|
|
|
+ wmspGridMaterialMapper.insertSelective(wmspGridMaterial);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
public List<Map<String, Object>> getMaterialTypeList(String warehouseid, BigDecimal stackingId, BigDecimal gradtionNumber) {
|
|
|
return wmspGridMaterialMapper.getMaterialTypeList(warehouseid,stackingId,gradtionNumber);
|
|
|
}
|