|
@@ -1862,99 +1862,115 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public String dryOut(WarehousingOrder warehousingOrder) {
|
|
|
- List<WarehousingOrder> warehousingOrderList=warehousingOrder.getWarehousingOrderList();
|
|
|
- Double afterCost=0d;
|
|
|
- String goodsName=warehousingOrderList.get(0).getGoodsName().replace("(潮粮)", "");
|
|
|
- for (WarehousingOrder warehousingOrder1:warehousingOrderList){
|
|
|
- afterCost=warehousingOrder1.getSurplusWeight()*warehousingOrder1.getAvgCost()/warehousingOrder1.getAfterWeight();
|
|
|
- warehousingOrder1.setSurplusWeight(0d);
|
|
|
- warehousingOrder1.setOutWarehouseWeight(warehousingOrder1.getInWarehouseWeight());
|
|
|
- this.updateById(warehousingOrder1);
|
|
|
- WarehousingOrder warehousingOrder2 = new WarehousingOrder();
|
|
|
- warehousingOrder2.setId(IdGenerator.generateUUID());
|
|
|
- warehousingOrder2.setCompId(warehousingOrder1.getCompId());
|
|
|
- warehousingOrder2.setBaseId(warehousingOrder1.getBaseId());
|
|
|
- warehousingOrder2.setIdentifyId(warehousingOrder1.getIdentifyId());
|
|
|
- warehousingOrder2.setContractNo(warehousingOrder1.getContractNo());
|
|
|
- warehousingOrder2.setMoveTaskNo(warehousingOrder1.getMoveTaskNo());
|
|
|
- warehousingOrder2.setWarehouseName(warehousingOrder1.getWarehouseName());
|
|
|
- warehousingOrder2.setInType("折干");
|
|
|
- warehousingOrder2.setGoodsName(goodsName);
|
|
|
- warehousingOrder2.setGoodsSource(warehousingOrder1.getGoodsSource());
|
|
|
- warehousingOrder2.setInWarehouseWeight(warehousingOrder1.getAfterWeight());
|
|
|
- warehousingOrder2.setSurplusWeight(warehousingOrder1.getAfterWeight());
|
|
|
- warehousingOrder2.setIssuingTime(new Date());
|
|
|
- warehousingOrder2.setAvgCost(afterCost);
|
|
|
- this.insert(warehousingOrder2);
|
|
|
- }
|
|
|
+ List<WarehousingOrder> warehousingOrderList = warehousingOrder.getWarehousingOrderList();
|
|
|
CommonSysParameter commonSysParameter = commonSysParameterService.selectOne(new EntityWrapper<CommonSysParameter>().eq("const_id", "CON2").eq("const_value", warehousingOrderList.get(0).getGoodsName()));
|
|
|
//减去被折转的潮粮库存
|
|
|
WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
.eq("position_id", warehousingOrder.getBeforePositionId())
|
|
|
.eq("goods_name_key", commonSysParameter.getConstKey()));
|
|
|
if (warehousePositionStorageInfo != null) {
|
|
|
- warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehousingOrder.getBeforeWeight());
|
|
|
- warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
+ if (warehousingOrder.getBeforeWeight() <= warehousePositionStorageInfo.getStorage()) {
|
|
|
+ // 更新库存量
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehousingOrder.getBeforeWeight());
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
+
|
|
|
+ Double afterCost = 0d;
|
|
|
+ String goodsName = warehousingOrderList.get(0).getGoodsName().replace("(潮粮)", "");
|
|
|
+ for (WarehousingOrder warehousingOrder1 : warehousingOrderList) {
|
|
|
+ afterCost = warehousingOrder1.getSurplusWeight() * warehousingOrder1.getAvgCost() / warehousingOrder1.getAfterWeight();
|
|
|
+ warehousingOrder1.setSurplusWeight(0d);
|
|
|
+ warehousingOrder1.setOutWarehouseWeight(warehousingOrder1.getInWarehouseWeight());
|
|
|
+ this.updateById(warehousingOrder1);
|
|
|
+ WarehousingOrder warehousingOrder2 = new WarehousingOrder();
|
|
|
+ warehousingOrder2.setId(IdGenerator.generateUUID());
|
|
|
+ warehousingOrder2.setCompId(warehousingOrder1.getCompId());
|
|
|
+ warehousingOrder2.setBaseId(warehousingOrder1.getBaseId());
|
|
|
+ warehousingOrder2.setIdentifyId(warehousingOrder1.getIdentifyId());
|
|
|
+ warehousingOrder2.setContractNo(warehousingOrder1.getContractNo());
|
|
|
+ warehousingOrder2.setMoveTaskNo(warehousingOrder1.getMoveTaskNo());
|
|
|
+ warehousingOrder2.setWarehouseName(warehousingOrder1.getWarehouseName());
|
|
|
+ warehousingOrder2.setInType("折干");
|
|
|
+ warehousingOrder2.setGoodsName(goodsName);
|
|
|
+ warehousingOrder2.setGoodsSource(warehousingOrder1.getGoodsSource());
|
|
|
+ warehousingOrder2.setInWarehouseWeight(warehousingOrder1.getAfterWeight());
|
|
|
+ warehousingOrder2.setSurplusWeight(warehousingOrder1.getAfterWeight());
|
|
|
+ warehousingOrder2.setIssuingTime(new Date());
|
|
|
+ warehousingOrder2.setAvgCost(afterCost);
|
|
|
+ this.insert(warehousingOrder2);
|
|
|
+ }
|
|
|
+
|
|
|
+ WarehouseInOutInfo warehouseInOutInfo = new WarehouseInOutInfo();
|
|
|
+ warehouseInOutInfo.setId(IdGenerator.generateUUID());
|
|
|
+ warehouseInOutInfo.setBaseId(warehousingOrderList.get(0).getBaseId());
|
|
|
+ warehouseInOutInfo.setWarehouseName(warehousingOrderList.get(0).getWarehouseName());
|
|
|
+ warehouseInOutInfo.setPositionId(warehousingOrder.getBeforePositionId());
|
|
|
+ warehouseInOutInfo.setBinNumber(warehousingOrder.getBeforeBinNo());
|
|
|
+ warehouseInOutInfo.setInOutFlag("1");
|
|
|
+ warehouseInOutInfo.setGoodsName(warehousingOrderList.get(0).getGoodsName());
|
|
|
+ warehouseInOutInfo.setGoodsNameKey(commonSysParameter.getConstKey());
|
|
|
+ warehouseInOutInfo.setNetWeight(warehousingOrder.getBeforeWeight());
|
|
|
+ warehouseInOutInfo.setAgent(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
|
|
|
+ warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
+ warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
+ warehouseInOutInfo.setInOutDate(new Date());
|
|
|
+ warehouseInOutInfo.setInOutType("折干出库");
|
|
|
+ warehouseInOutInfoService.insert(warehouseInOutInfo);
|
|
|
+ WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
|
|
|
+ warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
+ warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
+ CommonSysParameter commonSysParameter2 = commonSysParameterService.selectOne(new EntityWrapper<CommonSysParameter>().eq("const_id", "CON2").eq("const_value", goodsName));
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo1 = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
+ .eq("position_id", warehousingOrder.getAfterPositionId())
|
|
|
+ .eq("goods_name_key", commonSysParameter2.getConstKey()));
|
|
|
+ if (warehousePositionStorageInfo1 != null) {
|
|
|
+ warehousePositionStorageInfo1.setStorage(warehousePositionStorageInfo1.getStorage() + warehousingOrder.getAfterWeight());
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo1);
|
|
|
+ } else {
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo2 = new WarehousePositionStorageInfo();
|
|
|
+ warehousePositionStorageInfo2.setId(IdGenerator.generateUUID());
|
|
|
+ warehousePositionStorageInfo2.setPositionId(warehousingOrder.getAfterPositionId());
|
|
|
+ warehousePositionStorageInfo2.setBinNumber(warehousingOrder.getAfterBinNo());
|
|
|
+ warehousePositionStorageInfo2.setGoodsNameKey(commonSysParameter2.getConstKey());
|
|
|
+ warehousePositionStorageInfo2.setGoodsName(goodsName);
|
|
|
+ warehousePositionStorageInfo2.setStorage(warehousingOrder.getAfterWeight());
|
|
|
+ warehousePositionStorageInfoService.insert(warehousePositionStorageInfo2);
|
|
|
+ }
|
|
|
+ WarehouseInOutInfo warehouseInOutInfo1 = new WarehouseInOutInfo();
|
|
|
+ warehouseInOutInfo1.setId(IdGenerator.generateUUID());
|
|
|
+ warehouseInOutInfo1.setBaseId(warehouseInOutInfo.getBaseId());
|
|
|
+ warehouseInOutInfo1.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
+ warehouseInOutInfo1.setPositionId(warehousingOrder.getAfterPositionId());
|
|
|
+ warehouseInOutInfo1.setBinNumber(warehousingOrder.getAfterBinNo());
|
|
|
+ warehouseInOutInfo1.setInOutFlag("2");
|
|
|
+ warehouseInOutInfo1.setGoodsName(goodsName);
|
|
|
+ warehouseInOutInfo1.setGoodsNameKey(commonSysParameter2.getConstKey());
|
|
|
+ warehouseInOutInfo1.setNetWeight(warehousingOrder.getAfterWeight());
|
|
|
+ warehouseInOutInfo1.setAgent(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
|
|
|
+ warehouseInOutInfo1.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
+ warehouseInOutInfo1.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
+ warehouseInOutInfo1.setInOutDate(new Date());
|
|
|
+ warehouseInOutInfo1.setInOutType("折转入库");
|
|
|
+ warehouseInOutInfoService.insert(warehouseInOutInfo1);
|
|
|
+ WarehouseInOutDetail warehouseInOutDetail1 = new WarehouseInOutDetail();
|
|
|
+ warehouseInOutDetail1.setInfoId(warehouseInOutInfo1.getId());
|
|
|
+ warehouseInOutDetail1.setId(IdGenerator.generateUUID());
|
|
|
+ warehouseInOutDetailService.insert(warehouseInOutDetail1);
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+ //所选仓位库存不足
|
|
|
+ else {
|
|
|
+ throw new YException(YExceptionEnum.CONVERSION_NO_ERROR);
|
|
|
+ }
|
|
|
}
|
|
|
- WarehouseInOutInfo warehouseInOutInfo = new WarehouseInOutInfo();
|
|
|
- warehouseInOutInfo.setId(IdGenerator.generateUUID());
|
|
|
- warehouseInOutInfo.setBaseId(warehousingOrderList.get(0).getBaseId());
|
|
|
- warehouseInOutInfo.setWarehouseName(warehousingOrderList.get(0).getWarehouseName());
|
|
|
- warehouseInOutInfo.setPositionId(warehousingOrder.getBeforePositionId());
|
|
|
- warehouseInOutInfo.setBinNumber(warehousingOrder.getBeforeBinNo());
|
|
|
- warehouseInOutInfo.setInOutFlag("1");
|
|
|
- warehouseInOutInfo.setGoodsName(warehousingOrderList.get(0).getGoodsName());
|
|
|
- warehouseInOutInfo.setGoodsNameKey(commonSysParameter.getConstKey());
|
|
|
- warehouseInOutInfo.setNetWeight(warehousingOrder.getBeforeWeight());
|
|
|
- warehouseInOutInfo.setAgent(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
|
|
|
- warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
- warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
- warehouseInOutInfo.setInOutDate(new Date());
|
|
|
- warehouseInOutInfo.setInOutType("折干出库");
|
|
|
- warehouseInOutInfoService.insert(warehouseInOutInfo);
|
|
|
- WarehouseInOutDetail warehouseInOutDetail = new WarehouseInOutDetail();
|
|
|
- warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
|
|
|
- warehouseInOutDetail.setId(IdGenerator.generateUUID());
|
|
|
- warehouseInOutDetailService.insert(warehouseInOutDetail);
|
|
|
- CommonSysParameter commonSysParameter2 = commonSysParameterService.selectOne(new EntityWrapper<CommonSysParameter>().eq("const_id", "CON2").eq("const_value", goodsName));
|
|
|
- WarehousePositionStorageInfo warehousePositionStorageInfo1 = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
- .eq("position_id", warehousingOrder.getAfterPositionId())
|
|
|
- .eq("goods_name_key", commonSysParameter2.getConstKey()));
|
|
|
- if (warehousePositionStorageInfo1 != null) {
|
|
|
- warehousePositionStorageInfo1.setStorage(warehousePositionStorageInfo1.getStorage() + warehousingOrder.getAfterWeight());
|
|
|
- warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo1);
|
|
|
- } else {
|
|
|
- WarehousePositionStorageInfo warehousePositionStorageInfo2 = new WarehousePositionStorageInfo();
|
|
|
- warehousePositionStorageInfo2.setId(IdGenerator.generateUUID());
|
|
|
- warehousePositionStorageInfo2.setPositionId(warehousingOrder.getAfterPositionId());
|
|
|
- warehousePositionStorageInfo2.setBinNumber(warehousingOrder.getAfterBinNo());
|
|
|
- warehousePositionStorageInfo2.setGoodsNameKey(commonSysParameter2.getConstKey());
|
|
|
- warehousePositionStorageInfo2.setGoodsName(goodsName);
|
|
|
- warehousePositionStorageInfo2.setStorage(warehousingOrder.getAfterWeight());
|
|
|
- warehousePositionStorageInfoService.insert(warehousePositionStorageInfo2);
|
|
|
+ //所选仓位暂无储存量
|
|
|
+ else {
|
|
|
+ throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
|
|
|
}
|
|
|
- WarehouseInOutInfo warehouseInOutInfo1 = new WarehouseInOutInfo();
|
|
|
- warehouseInOutInfo1.setId(IdGenerator.generateUUID());
|
|
|
- warehouseInOutInfo1.setBaseId(warehouseInOutInfo.getBaseId());
|
|
|
- warehouseInOutInfo1.setWarehouseName(warehouseInOutInfo.getWarehouseName());
|
|
|
- warehouseInOutInfo1.setPositionId(warehousingOrder.getAfterPositionId());
|
|
|
- warehouseInOutInfo1.setBinNumber(warehousingOrder.getAfterBinNo());
|
|
|
- warehouseInOutInfo1.setInOutFlag("2");
|
|
|
- warehouseInOutInfo1.setGoodsName(goodsName);
|
|
|
- warehouseInOutInfo1.setGoodsNameKey(commonSysParameter2.getConstKey());
|
|
|
- warehouseInOutInfo1.setNetWeight(warehousingOrder.getAfterWeight());
|
|
|
- warehouseInOutInfo1.setAgent(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
|
|
|
- warehouseInOutInfo1.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
|
|
|
- warehouseInOutInfo1.setStatus(StatusEnum.SUBMITTED.getName());
|
|
|
- warehouseInOutInfo1.setInOutDate(new Date());
|
|
|
- warehouseInOutInfo1.setInOutType("折转入库");
|
|
|
- warehouseInOutInfoService.insert(warehouseInOutInfo1);
|
|
|
- WarehouseInOutDetail warehouseInOutDetail1 = new WarehouseInOutDetail();
|
|
|
- warehouseInOutDetail1.setInfoId(warehouseInOutInfo1.getId());
|
|
|
- warehouseInOutDetail1.setId(IdGenerator.generateUUID());
|
|
|
- warehouseInOutDetailService.insert(warehouseInOutDetail1);
|
|
|
- return "ok";
|
|
|
+// warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehousingOrder.getBeforeWeight());
|
|
|
+// warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
}
|
|
|
|
|
|
private List<String> getResourceIdList() {
|