|
@@ -53,33 +53,55 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
//查询所有产成品库位
|
|
|
String storageLocationCode = deliveryMapper.getStorageLocationCodeList();
|
|
|
List<Inventory> list = new LinkedList<>();
|
|
|
- Map<String, Object> occupyMap = new HashMap<>();
|
|
|
for(Inventory inventory : deliveryMapper.getInventory(storageLocationCode, delivery)){
|
|
|
int occupy = deliveryMapper.getVitrual(inventory);
|
|
|
- if(Integer.parseInt(inventory.getAmount()) == occupy){
|
|
|
- list.add(inventory);
|
|
|
- int num = Integer.parseInt(inventory.getAmount()) - occupy;
|
|
|
- occupyMap.put(inventory.getStorageLocationCode(), num);
|
|
|
+ if(occupy == 0){
|
|
|
+ if(Integer.parseInt(inventory.getAmount()) == Integer.getInteger(delivery.getOutNum())){
|
|
|
+ list.add(inventory);
|
|
|
+ map.put("data", list);
|
|
|
+ map.put("msg", "200");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
map.put("data", list);
|
|
|
- map.put("occupyMap", occupyMap);
|
|
|
} else if(materialClass.getPartType().equals("半成品")){
|
|
|
String storageLocationCode = "000000,";
|
|
|
List<Inventory> list = new LinkedList<>();
|
|
|
- Map<String, Object> occupyMap = new HashMap<>();
|
|
|
for(Inventory inventory : deliveryMapper.getInventory(storageLocationCode, delivery)){
|
|
|
- int occupy = deliveryMapper.getVitrual(inventory);
|
|
|
- if(Integer.parseInt(inventory.getAmount()) > occupy){
|
|
|
+ int productNum = deliveryMapper.getProductNumVitrual(inventory);
|
|
|
+ if(Integer.parseInt(inventory.getAmount()) < 0){
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "库存不足");
|
|
|
+ return map;
|
|
|
+ } else {
|
|
|
list.add(inventory);
|
|
|
- int num = Integer.parseInt(inventory.getAmount()) - occupy;
|
|
|
- occupyMap.put(inventory.getStorageLocationCode(), num);
|
|
|
+ map.put("data", list);
|
|
|
+ map.put("msg", "200");
|
|
|
+ return map;
|
|
|
}
|
|
|
}
|
|
|
- map.put("data", list);
|
|
|
- map.put("occupyMap", occupyMap);
|
|
|
} else {
|
|
|
-
|
|
|
+ List<Inventory> list = new LinkedList<>();
|
|
|
+ AskGoods askGoods = new AskGoods()
|
|
|
+ .setCompanyNumber(delivery.getCompanyNumber())
|
|
|
+ .setMaterialId(delivery.getMaterialId());
|
|
|
+ for(Inventory inventory : askGoodsMapper.getMaterialCk(askGoods)){
|
|
|
+ AskGoods askGoods1 = askGoodsMapper.getAsk(inventory);
|
|
|
+ if(askGoods1 != null){
|
|
|
+ if(Double.parseDouble(askGoods1.getNum()) != Double.parseDouble(inventory.getAmount())){
|
|
|
+ list.add(inventory);
|
|
|
+ map.put("data", list);
|
|
|
+ map.put("msg", "200");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ list.add(inventory);
|
|
|
+ map.put("data", list);
|
|
|
+ map.put("msg", "200");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
map.put("msg", "200");
|
|
|
}catch (Exception e){
|
|
@@ -107,7 +129,7 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
inventory.setAmount(askGoods.getNum());
|
|
|
askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
- String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode(), askGoods.getAccountSleeve());//查询物料id
|
|
|
+ String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode());//查询物料id
|
|
|
deliveryMapper.updateDelivery(materialId, askGoods.getNum(), deliveryId); //修改销售单出库数量
|
|
|
//查询销售单部分信息
|
|
|
Delivery delivery = new Delivery().setDeliveryId(deliveryId).setMaterialId(materialId);
|
|
@@ -173,6 +195,26 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> addVitrual(AskGoods askGoods) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ try{
|
|
|
+ Map<String, Object> mapVal = deliveryMapper.getScanIsNot(askGoods);
|
|
|
+ if(Double.parseDouble(mapVal.get("amount").toString()) - Double.parseDouble(mapVal.get("vitrualNum").toString()) == 0){
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "已全部出库");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ askGoodsMapper.addAskGoodsVitrual(askGoods);
|
|
|
+ map.put("msg", "200");
|
|
|
+ }catch (Exception e){
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "服务器请求异常,请稍后再试");
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 出库单生成
|
|
|
* @return
|