|
@@ -9,6 +9,7 @@ import org.redisson.api.RLock;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.text.SimpleDateFormat;
|
|
@@ -35,6 +36,23 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
try{
|
|
|
List<WarehouseTransfer> list = warehouseTransferMapper.getWarehouseTransfer(warehouseTransfer);
|
|
|
+ List<String> scanNum = new LinkedList<>();
|
|
|
+ Map<String, Object> mapVal = new HashMap<>();
|
|
|
+ for(WarehouseTransfer warehouseTransfer1 : list){
|
|
|
+ if(warehouseTransfer1.getAskGoodsWarehouseId().equals("6062e900-b3f0-4a5a-b")){
|
|
|
+ warehouseTransfer1.setUniqueCode(warehouseTransfer.getUniqueCode());
|
|
|
+ warehouseTransfer.setMaterialCode(warehouseTransfer.getMaterialCode());
|
|
|
+ scanNum.add(warehouseTransferMapper.getScanNum(warehouseTransfer1));//扫描总数
|
|
|
+ mapVal.put(warehouseTransfer1.getWarehouseTransferId(), 0);
|
|
|
+ } else {
|
|
|
+ warehouseTransfer1.setUniqueCode(warehouseTransfer.getUniqueCode());
|
|
|
+ warehouseTransfer.setMaterialCode(warehouseTransfer.getMaterialCode());
|
|
|
+ scanNum.add(warehouseTransferMapper.getScanNumWare(warehouseTransfer1));//扫描总数
|
|
|
+ mapVal.put(warehouseTransfer1.getWarehouseTransferId(), 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("scanNum", scanNum);
|
|
|
+ map.put("type", mapVal);
|
|
|
map.put("data", list);
|
|
|
map.put("msg", "200");
|
|
|
} catch (Exception e){
|
|
@@ -50,7 +68,7 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
try{
|
|
|
Dictionary dictionary = dictionaryMapper.getWarehouseInfo(warehouseTransfer);
|
|
|
- if(dictionary.getName().equals("原材料库")){
|
|
|
+ if(dictionary.getName().indexOf("原材料库") != -1){
|
|
|
map.put("msg", "500");
|
|
|
map.put("errMsg", "请扫描标签");
|
|
|
return map;
|
|
@@ -240,6 +258,40 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Map<String, Object> addAskGoodsVitrual(AskGoods askGoods) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ try{
|
|
|
+ Map<String, Object> mapVal = askGoodsMapper.getScanIsNot(askGoods);
|
|
|
+ if((Double.parseDouble(mapVal.get("inventoryNum").toString()) - Double.parseDouble(mapVal.get("virtualNum").toString())) == 0){
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "已全部出库");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ Inventory inventory = askGoodsMapper.getInventory(askGoods); //库存数量
|
|
|
+ WarehouseTransfer askGoods1 = warehouseTransferMapper.getAsknInfo(askGoods); //移库数量
|
|
|
+ int alreadyNum = askGoodsMapper.getAskInfoNumVitrual(askGoods);//已扫描总数
|
|
|
+ int inventoryAlready = askGoodsMapper.getInventoryAlready(askGoods);//库存已扫描数量
|
|
|
+ int inventorySurplus = (Integer.parseInt(inventory.getAmount()) - Integer.parseInt(inventory.getAmountLock())) - inventoryAlready; //库存剩余数量
|
|
|
+ Double surplusNum = Double.parseDouble(askGoods1.getNum()) - Double.parseDouble(askGoods1.getOutNum()) - alreadyNum; //剩余要扫描数量
|
|
|
+
|
|
|
+ if(surplusNum >= inventorySurplus){
|
|
|
+ askGoods.setNum(String.valueOf(inventorySurplus));
|
|
|
+ } else {
|
|
|
+ askGoods.setNum(String.valueOf(surplusNum));
|
|
|
+ }
|
|
|
+ askGoods.setStorageLocationCode(inventory.getStorageLocationCode());//库存编号
|
|
|
+ askGoodsMapper.addAskGoodsVitrual(askGoods);
|
|
|
+ map.put("msg", "200");
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "失败");
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 移库单生成
|
|
|
* @return
|