|
@@ -81,34 +81,37 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
askGoods.setStorageCode(warehouseTransferCode);
|
|
|
//查询物料信息
|
|
|
MaterialClass material = warehousingMapper.getMaterial(new Notice().setMaterialCode(askGoods.getWllbCode()));
|
|
|
- Inventory inventory = new Inventory();
|
|
|
- inventory = null;
|
|
|
+ Inventory inventory = null;
|
|
|
askGoods.setCompanyNumber(askGoods.getAccountSleeve());
|
|
|
askGoods.setMaterialId(material.getTldId());
|
|
|
- if(material.getPartType().equals("原材料")) {
|
|
|
- inventory = askGoodsMapper.getInventory(askGoods);
|
|
|
- } else if(material.getPartType().equals("产成品")) {
|
|
|
- inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
- } else if(material.getPartType().equals("半成品")) {
|
|
|
- if(askGoodsMapper.getInventoryInfo(askGoods).size() != 0){
|
|
|
- inventory = askGoodsMapper.getInventoryInfo(askGoods).get(0);
|
|
|
+ //判断是否是三大仓库(半成品、产成品、原材料)之外的仓库 如果是则不需要查询库存
|
|
|
+ String warehouseType = warehouseTransferMapper.getStorageLocationWarehouse(askGoods.getStorageLocationCode());
|
|
|
+ if(!warehouseType.equals("10")) {
|
|
|
+ if(material.getPartType().equals("原材料")) {
|
|
|
+ inventory = askGoodsMapper.getInventory(askGoods);
|
|
|
+ } else if(material.getPartType().equals("产成品")) {
|
|
|
+ inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
+ } else if(material.getPartType().equals("半成品")) {
|
|
|
+ if(askGoodsMapper.getInventoryInfo(askGoods).size() != 0){
|
|
|
+ inventory = askGoodsMapper.getInventoryInfo(askGoods).get(0);
|
|
|
+ } else {
|
|
|
+ inventory = null;
|
|
|
+ }
|
|
|
+ } else if (material.getPartType().equals("低值易耗品")){
|
|
|
+ inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
+ }
|
|
|
+ if(inventory == null){
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "库存不存在");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ //如果出库库存等于虚拟表库存则删除此库存
|
|
|
+ if(Double.doubleToLongBits(Double.parseDouble(askGoods.getNum())) == Double.doubleToLongBits(Double.parseDouble(inventory.getAmount()))){
|
|
|
+ askGoodsMapper.deleteInventory(inventory);
|
|
|
} else {
|
|
|
- inventory = null;
|
|
|
+ inventory.setAmount(askGoods.getNum());
|
|
|
+ askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
- } else if (material.getPartType().equals("低值易耗品")){
|
|
|
- inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
- }
|
|
|
- if(inventory == null){
|
|
|
- map.put("msg", "500");
|
|
|
- map.put("errMsg", "库存不存在");
|
|
|
- return map;
|
|
|
- }
|
|
|
- //如果出库库存等于虚拟表库存则删除此库存
|
|
|
- if(Double.doubleToLongBits(Double.parseDouble(askGoods.getNum())) == Double.doubleToLongBits(Double.parseDouble(inventory.getAmount()))){
|
|
|
- askGoodsMapper.deleteInventory(inventory);
|
|
|
- } else {
|
|
|
- inventory.setAmount(askGoods.getNum());
|
|
|
- askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode());//查询物料id
|
|
|
WarehouseTransfer warehouseTransfer = warehouseTransferMapper.getWarehouseTransferDetailed(askGoodsId, materialId, askGoods.getEntryNumber());//查询移库申请内容
|
|
@@ -257,25 +260,28 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
.setCompanyNumber(warehouseTransfer.getAccountSleeve());
|
|
|
Inventory inventory = new Inventory();
|
|
|
String code = warehouseTransferMapper.getWarehouseTransferCodeType(warehouseTransfer.getAskGoodsWarehouseId());
|
|
|
- if(material.getPartType().equals("原材料")){
|
|
|
- inventory = askGoodsMapper.getInventoryWarehousing(askGoods);
|
|
|
- } else if(material.getPartType().equals("产成品")){
|
|
|
- if(code.equals("2")){
|
|
|
- askGoods.setSerial("");
|
|
|
+ //判断是否是三大仓库(半成品、产成品、原材料)之外的仓库 如果是则不需要查询库存
|
|
|
+ String warehouseType = warehouseTransferMapper.getStorageLocationWarehouse(askGoods.getStorageLocationCode());
|
|
|
+ if(!warehouseType.equals("10")) {
|
|
|
+ if(material.getPartType().equals("原材料")){
|
|
|
+ inventory = askGoodsMapper.getInventoryWarehousing(askGoods);
|
|
|
+ } else if(material.getPartType().equals("产成品")){
|
|
|
+ if(code.equals("2")){
|
|
|
+ askGoods.setSerial("");
|
|
|
+ }
|
|
|
+ inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
+ } else if(material.getPartType().equals("半成品")){
|
|
|
+ inventory = askGoodsMapper.getInventoryWarehousing(askGoods);
|
|
|
+ }
|
|
|
+ //如果出库库存等于虚拟表库存则删除此库存
|
|
|
+ if(Double.doubleToLongBits(Double.parseDouble(askGoods.getNum())) == Double.doubleToLongBits(Double.parseDouble(inventory.getAmount()))){
|
|
|
+ askGoodsMapper.deleteInventory(inventory);
|
|
|
+ } else {
|
|
|
+ inventory.setAmount(askGoods.getNum());
|
|
|
+ askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
- inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
- } else if(material.getPartType().equals("半成品")){
|
|
|
- inventory = askGoodsMapper.getInventoryWarehousing(askGoods);
|
|
|
- }
|
|
|
- //如果出库库存等于虚拟表库存则删除此库存
|
|
|
- if(Double.doubleToLongBits(Double.parseDouble(askGoods.getNum())) == Double.doubleToLongBits(Double.parseDouble(inventory.getAmount()))){
|
|
|
- askGoodsMapper.deleteInventory(inventory);
|
|
|
- } else {
|
|
|
- inventory.setAmount(askGoods.getNum());
|
|
|
- askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
askGoodsMapper.addRemoval(askGoods);//插入出库流水
|
|
|
-
|
|
|
WarehouseTransfer warehouseTransfer1 = new WarehouseTransfer()
|
|
|
.setWarehouseTransferId(warehouseTransfer.getWarehouseTransferId()) //移库单id
|
|
|
.setEntryNumber(warehouseTransfer.getEntryNumber())//分录号
|