|
|
@ -16,6 +16,7 @@ import com.ruoyi.erp.mapper.ErpMaterialMapper; |
|
|
|
import com.ruoyi.purchase.domain.PurchaseOrder; |
|
|
|
import com.ruoyi.purchase.domain.PurchaseOrderChild; |
|
|
|
import com.ruoyi.purchase.mapper.PurchaseOrderChildMapper; |
|
|
|
import com.ruoyi.purchase.mapper.PurchaseOrderMapper; |
|
|
|
import com.ruoyi.quality.domain.QualityOrder; |
|
|
|
import com.ruoyi.quality.domain.QualityOrderDetail; |
|
|
|
import com.ruoyi.quality.domain.QualityRefundsExchanges; |
|
|
@ -95,6 +96,10 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
@Autowired |
|
|
|
private PurchaseOrderChildMapper purchaseOrderChildMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
private PurchaseOrderMapper purchaseOrderMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ErpMaterialMapper erpMaterialMapper; |
|
|
|
|
|
|
@ -321,41 +326,8 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
} |
|
|
|
return updateResult; |
|
|
|
} |
|
|
|
/** |
|
|
|
* 入库-采购单(采购入库) 旧版弃用 |
|
|
|
* */ |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
@Override |
|
|
|
public int storagePurchaseWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder) { |
|
|
|
|
|
|
|
|
|
|
|
//假设全部入库
|
|
|
|
warehouseStorageOrder.setWarehouseStorageStatus("4"); |
|
|
|
warehouseStorageOrder.setUpdateBy(ShiroUtils.getLoginName()); |
|
|
|
warehouseStorageOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
//记录一下入库时间
|
|
|
|
warehouseStorageOrder.setStorageTime(DateUtils.getNowDate()); |
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList); |
|
|
|
} |
|
|
|
//更新生产单数据
|
|
|
|
sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder,warehouseStorageOrderDetailList); |
|
|
|
|
|
|
|
for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : warehouseStorageOrderDetailList) { |
|
|
|
//更新入库单详情的数据
|
|
|
|
storageOrderDetailMapper.updateWarehouseStorageOrderDetail(warehouseStorageOrderDetail); |
|
|
|
} |
|
|
|
|
|
|
|
//更新入库单的数据
|
|
|
|
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder); |
|
|
|
|
|
|
|
if (updateResult <= 0){ |
|
|
|
log.warn("更新入库单失败,未影响任何行"); |
|
|
|
} |
|
|
|
return updateResult; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 修改保存暂收-采购单(采购入库) |
|
|
|
* */ |
|
|
@ -628,6 +600,14 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
warehouseStorageOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
//记录一下入库时间
|
|
|
|
warehouseStorageOrder.setStorageTime(DateUtils.getNowDate()); |
|
|
|
String warehouseStorageCode = warehouseStorageOrder.getWarehouseStorageCode(); |
|
|
|
WarehouseStorageOrder oldWarehouseStorageOrder = warehouseStorageOrderMapper.selectStorageOrderByCode(warehouseStorageCode); |
|
|
|
|
|
|
|
|
|
|
|
//更新采购订单的数据
|
|
|
|
String purchaseOrderCode = warehouseStorageOrder.getRelatedOrderCode(); |
|
|
|
PurchaseOrder purchaseOrder = purchaseOrderMapper.selectPurchaseOrderByOrderCode(purchaseOrderCode); |
|
|
|
|
|
|
|
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList(); |
|
|
|
if (StringUtils.isEmpty(warehouseStorageOrderDetailList)){ |
|
|
|
log.warn("入库单详情数据为空:{}",warehouseStorageOrderDetailList); |
|
|
@ -649,20 +629,40 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
.mapToInt(WarehouseStorageOrderDetail::getStorageNum) |
|
|
|
.sum(); |
|
|
|
|
|
|
|
//插入主表入库数量
|
|
|
|
warehouseStorageOrder.setStorageNum(storageNum); |
|
|
|
//更新生产单数据
|
|
|
|
int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder, warehouseStorageOrderDetailList); |
|
|
|
if (updateMakeOrderResult <= 0){ |
|
|
|
throw new BusinessException("更新生产订单失败,未影响任何行"); |
|
|
|
if (oldWarehouseStorageOrder.getStorageNum() == null || oldWarehouseStorageOrder.getStorageNum() == 0){ |
|
|
|
//插入主表入库数量
|
|
|
|
warehouseStorageOrder.setStorageNum(storageNum); |
|
|
|
purchaseOrder.setStorageSum(storageNum); |
|
|
|
}else { |
|
|
|
warehouseStorageOrder.setStorageNum(storageNum + oldWarehouseStorageOrder.getStorageNum()); |
|
|
|
purchaseOrder.setStorageSum(storageNum + oldWarehouseStorageOrder.getStorageNum()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : warehouseStorageOrderDetailList) { |
|
|
|
//更新入库单详情的数据
|
|
|
|
warehouseStorageOrderDetail.setUpdateBy(loginName); |
|
|
|
warehouseStorageOrderDetail.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
//更新已入库数
|
|
|
|
warehouseStorageOrderDetail.setHasStorageNum(warehouseStorageOrderDetail.getStorageNum()); |
|
|
|
|
|
|
|
Integer storageNumDetail = warehouseStorageOrderDetail.getStorageNum(); |
|
|
|
Integer temporaryQualifiedNum = warehouseStorageOrderDetail.getTemporaryQualifiedNum(); |
|
|
|
if (temporaryQualifiedNum < storageNumDetail){ |
|
|
|
throw new BusinessException("入库数量不能大于暂收合格数"); |
|
|
|
} |
|
|
|
|
|
|
|
Integer hasStorageNum = warehouseStorageOrderDetail.getHasStorageNum(); |
|
|
|
if (hasStorageNum == null || hasStorageNum == 0){ |
|
|
|
//更新已入库数
|
|
|
|
warehouseStorageOrderDetail.setHasStorageNum(storageNumDetail); |
|
|
|
}else{ |
|
|
|
warehouseStorageOrderDetail.setHasStorageNum(hasStorageNum + storageNumDetail); |
|
|
|
} |
|
|
|
|
|
|
|
if (temporaryQualifiedNum < hasStorageNum){ |
|
|
|
throw new BusinessException("已入库数量不能大于暂收合格数"); |
|
|
|
} |
|
|
|
|
|
|
|
int updateWarehouseStorageOrderDetailResult = storageOrderDetailMapper.updateWarehouseStorageOrderDetail(warehouseStorageOrderDetail); |
|
|
|
if (updateWarehouseStorageOrderDetailResult <= 0){ |
|
|
|
throw new BusinessException("更新仓库入库单详情失败,未影响任何行"); |
|
|
@ -675,6 +675,12 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//更新生产单数据
|
|
|
|
int updateMakeOrderResult = sysMakeOrderService.updateSysMakeOrderByWarehouseStorageOrder(warehouseStorageOrder, warehouseStorageOrderDetailList); |
|
|
|
if (updateMakeOrderResult <= 0){ |
|
|
|
throw new BusinessException("更新生产订单失败,未影响任何行"); |
|
|
|
} |
|
|
|
|
|
|
|
//更新开发修改单数据
|
|
|
|
String relatedOrderCode = warehouseStorageOrder.getRelatedOrderCode(); |
|
|
|
ErpDevelopModifyorder erpDevelopModifyorder = developModifyorderMapper.selectErpDevelopModifyorderByCode(relatedOrderCode); |
|
|
@ -684,6 +690,22 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (warehouseStorageOrder.getStorageNum().equals(warehouseStorageOrder.getTemporaryQualifiedNum())){ |
|
|
|
warehouseStorageOrder.setWarehouseStorageStatus("4");//全部入库
|
|
|
|
purchaseOrder.setWarehouseStorageStatus("4"); |
|
|
|
}else { |
|
|
|
warehouseStorageOrder.setWarehouseStorageStatus("3");//部分入库
|
|
|
|
purchaseOrder.setWarehouseStorageStatus("3"); |
|
|
|
} |
|
|
|
|
|
|
|
purchaseOrder.setUpdateBy(loginName); |
|
|
|
purchaseOrder.setUpdateTime(DateUtils.getNowDate()); |
|
|
|
int updatePurchaseOrderResult = purchaseOrderMapper.updatePurchaseOrder(purchaseOrder); |
|
|
|
if (updatePurchaseOrderResult <= 0){ |
|
|
|
log.warn("更新采购订单失败,未影响任何行"); |
|
|
|
throw new BusinessException("更新采购订单失败,未影响任何行"); |
|
|
|
} |
|
|
|
|
|
|
|
//更新入库单的数据
|
|
|
|
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder); |
|
|
|
|
|
|
|