|
|
@@ -66,32 +66,6 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public Map<String, Object> getRecommend(WarehouseTransfer warehouseTransfer) {
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- try{
|
|
|
- Dictionary dictionary = dictionaryMapper.getWarehouseInfo(warehouseTransfer);
|
|
|
- List<Inventory> list = new LinkedList<>();
|
|
|
- for(Inventory inventory : warehouseTransferMapper.getMaterialCk(warehouseTransfer)){
|
|
|
- AskGoods askGoods1 = warehouseTransferMapper.getAsk(inventory);
|
|
|
- if(askGoods1 != null){
|
|
|
- if(Double.parseDouble(askGoods1.getNum()) != Double.parseDouble(inventory.getAmount())){
|
|
|
- list.add(inventory);
|
|
|
- }
|
|
|
- } else {
|
|
|
- list.add(inventory);
|
|
|
- }
|
|
|
- }
|
|
|
- map.put("data", list);
|
|
|
- map.put("msg", "200");
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
- map.put("msg", "500");
|
|
|
- map.put("errMsg", "失败");
|
|
|
- }
|
|
|
- return map;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public Map<String, Object> OutOfLibrary(String uniqueCode, String type, String askGoodsId) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
@@ -108,6 +82,7 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
//查询物料信息
|
|
|
MaterialClass material = warehousingMapper.getMaterial(new Notice().setMaterialCode(askGoods.getWllbCode()));
|
|
|
Inventory inventory = new Inventory();
|
|
|
+ askGoods.setCompanyNumber(askGoods.getAccountSleeve());
|
|
|
if(material.getPartType().equals("原材料")){
|
|
|
inventory = askGoodsMapper.getInventory(askGoods);
|
|
|
} else if(material.getPartType().equals("产成品")){
|
|
|
@@ -116,7 +91,9 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
inventory = askGoodsMapper.getInventoryInfo(askGoods).get(0);
|
|
|
}
|
|
|
if(inventory == null){
|
|
|
- throw new Exception("库存不存在");
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "库存不存在");
|
|
|
+ return map;
|
|
|
}
|
|
|
//如果出库库存等于虚拟表库存则删除此库存
|
|
|
if(Integer.parseInt(askGoods.getNum()) == Integer.parseInt(inventory.getAmount())){
|
|
|
@@ -127,7 +104,7 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
}
|
|
|
String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode());//查询物料id
|
|
|
WarehouseTransfer warehouseTransfer = warehouseTransferMapper.getWarehouseTransferDetailed(askGoodsId, materialId);//查询移库申请内容
|
|
|
-// //入库流水信息
|
|
|
+ //入库流水信息
|
|
|
WarehousingVirtual WarehousingVirtual1 = new WarehousingVirtual()
|
|
|
.setWllbCode(askGoods.getWllbCode()) //物料code
|
|
|
.setSuppId(askGoods.getSupplierId())//供应商id
|
|
|
@@ -137,11 +114,15 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
.setSeq("0")
|
|
|
.setType(askGoods.getType())//入库类型
|
|
|
.setUserId(askGoods.getUserId())//用户
|
|
|
- .setDepartmentId(askGoods.getDepartmentId())//部门
|
|
|
- .setStorageLocationCode(askGoods.getStorageLocationCode())//库位编号
|
|
|
+ .setDepartmentId(askGoods.getDepartment())//部门
|
|
|
+ .setStorageLocationCode(askGoods.getStorageLocationCodeRk())//库位编号
|
|
|
.setStorageCode(warehouseTransferCode)//移库单号
|
|
|
- .setWbs(warehouseTransfer.getWbs());//wbs
|
|
|
+ .setWbs(warehouseTransfer.getWbs())//wbs
|
|
|
+ .setMaterialId(materialId)//物料id
|
|
|
+ .setAccountSleeve(warehouseTransfer.getAccountSleeve())//公司
|
|
|
+ .setWllbClass(material.getWllbClass());
|
|
|
warehousing.add(WarehousingVirtual1);
|
|
|
+ askGoods.setStorageLocationCode(askGoods.getStorageLocationCode());
|
|
|
askGoodsMapper.addRemoval(askGoods);//插入出库流水
|
|
|
askGoodsMapper.deleteVirtual(askGoods.getId());//删除已出虚拟表库存
|
|
|
warehouseTransferMapper.updateOutNum(askGoods.getNum(), askGoodsId, materialId);//修改出库数量
|
|
|
@@ -162,6 +143,7 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
.setWarehouseTransferType(warehouseTransferF.getWarehouseTransferType()); //移库类型
|
|
|
warehouseTransferMapper.addReturnGsWarehouseTransferF(warehouseTransfer1);//新增返回gs数据父表信息
|
|
|
warehousingMapper.addStorage(warehousing);//入库流水
|
|
|
+ warehousingMapper.addInventory(warehousing);//库存
|
|
|
map.put("data", warehouseTransferCode);
|
|
|
map.put("msg", "200");
|
|
|
}catch (Exception e){
|
|
|
@@ -194,7 +176,8 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
if(warehouseTransfer != null) {
|
|
|
//WBS
|
|
|
warehousingVirtual.setWbs(warehouseTransfer.getWbs());
|
|
|
- warehousingVirtual.setWbs(warehouseTransfer.getWbs());
|
|
|
+ //账套
|
|
|
+ warehousingVirtual.setAccountSleeve(warehouseTransfer.getAccountSleeve());
|
|
|
}
|
|
|
//查询部门编号
|
|
|
List<User> listUser = userMapper.getAllUser(new User().setId(Integer.parseInt(warehousingVirtual.getUserId())));
|
|
|
@@ -207,8 +190,35 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
list.add(warehousingVirtual);
|
|
|
warehouseTransferMapper.updateOutNum(warehousingVirtual.getNum(), warehousingVirtual.getWarehouseTransferId(), materialId);//修改出库数量
|
|
|
|
|
|
-
|
|
|
- AskGoods askGoods = new AskGoods();
|
|
|
+ AskGoods askGoods = new AskGoods()
|
|
|
+ .setStorageLocationCode(warehousingVirtual.getStorageLocationCodeCk())
|
|
|
+ .setSupplierId(warehousingVirtual.getSuppId())
|
|
|
+ .setSerial(warehousingVirtual.getSerial())
|
|
|
+ .setNum(warehousingVirtual.getNum())
|
|
|
+ .setType(warehousingVirtual.getType())
|
|
|
+ .setUserId(warehousingVirtual.getUserId())
|
|
|
+ .setWllbCode(warehousingVirtual.getWllbCode())
|
|
|
+ .setStorageCode(warehouseTransferCode)
|
|
|
+ .setWbs(warehousingVirtual.getWbs())
|
|
|
+ .setProducDate(warehousingVirtual.getProducDate())
|
|
|
+ .setDepartment(listUser.get(0).getDepartmentId())
|
|
|
+ .setAskGoodsId(warehousingVirtual.getWarehouseTransferId())
|
|
|
+ .setCompanyNumber(warehouseTransfer.getAccountSleeve());
|
|
|
+ Inventory inventory = new Inventory();
|
|
|
+ if(material.getPartType().equals("原材料")){
|
|
|
+ inventory = askGoodsMapper.getInventory(askGoods);
|
|
|
+ } else if(material.getPartType().equals("产成品")){
|
|
|
+ inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
+ } else if(material.getPartType().equals("半成品")){
|
|
|
+ inventory = askGoodsMapper.getInventoryInfo(askGoods).get(0);
|
|
|
+ }
|
|
|
+ //如果出库库存等于虚拟表库存则删除此库存
|
|
|
+ if(Integer.parseInt(askGoods.getNum()) == Integer.parseInt(inventory.getAmount())){
|
|
|
+ askGoodsMapper.deleteInventory(inventory);
|
|
|
+ } else {
|
|
|
+ inventory.setAmount(askGoods.getNum());
|
|
|
+ askGoodsMapper.updateInventory(inventory);
|
|
|
+ }
|
|
|
askGoodsMapper.addRemoval(askGoods);//插入出库流水
|
|
|
|
|
|
|
|
|
@@ -275,30 +285,35 @@ public class WarehouseTransferServiceImpl implements WarehouseTransferService {
|
|
|
}
|
|
|
|
|
|
@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; //剩余要扫描数量
|
|
|
+ askGoodsMapper.addAskGoodsVitrual(askGoods);
|
|
|
+ map.put("msg", "200");
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ map.put("msg", "500");
|
|
|
+ map.put("errMsg", "失败");
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
|
|
|
- if(surplusNum >= inventorySurplus){
|
|
|
- askGoods.setNum(String.valueOf(inventorySurplus));
|
|
|
- } else {
|
|
|
- askGoods.setNum(String.valueOf(surplusNum));
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> getMaterialCk(AskGoods askGoods) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ try{
|
|
|
+ List<Inventory> list = new LinkedList<>();
|
|
|
+ for(Inventory inventory : warehouseTransferMapper.getMaterialWarehouseTransfer(askGoods)){
|
|
|
+ AskGoods askGoods1 = warehouseTransferMapper.getAsk(inventory);
|
|
|
+ if(askGoods1 != null){
|
|
|
+ if(Double.parseDouble(askGoods1.getNum()) != Double.parseDouble(inventory.getAmount())){
|
|
|
+ list.add(inventory);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ list.add(inventory);
|
|
|
+ }
|
|
|
}
|
|
|
- askGoods.setStorageLocationCode(inventory.getStorageLocationCode());//库存编号
|
|
|
- askGoodsMapper.addAskGoodsVitrual(askGoods);
|
|
|
+ map.put("data", list);
|
|
|
map.put("msg", "200");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|