Browse Source

[fix]

仓库管理
修改根据生产领料详情生成出库单详情相关信息service方法;
修改生产入库进行入库service方法,更新生产订单入库数;
dev
王晓迪 3 months ago
parent
commit
0b9e8bd3c8
  1. 76
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java
  2. 7
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

76
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseOutOrderServiceImpl.java

@ -792,52 +792,40 @@ public class WarehouseOutOrderServiceImpl implements IWarehouseOutOrderService
warehouseOutOrderDetail.setRelatedOrderCode(tempSysMakeorderPickVo.getMakeNo()); warehouseOutOrderDetail.setRelatedOrderCode(tempSysMakeorderPickVo.getMakeNo());
//物料相关信息 //物料相关信息
warehouseOutOrderDetail.setMaterialNo(sysMakeorderPickDetail.getMaterialNo()); warehouseOutOrderDetail.setMaterialNo(sysMakeorderPickDetail.getMaterialNo());
//根据出库单号和关联单号以及物料号查找出库单详情数据 warehouseOutOrderDetail.setWarehouseOutStatus("4");
WarehouseOutOrderDetail tempWarehouseOutOrderDetail = outOrderDetailMapper.selectOutOrderDetailListByThreeCode(warehouseOutOrderDetail); warehouseOutOrderDetail.setMakeNo(tempSysMakeorderPickVo.getMakeNo());
if (tempWarehouseOutOrderDetail != null){ //标明来源是生产订单
warehouseOutOrderDetail.setOutOrderDetailId(tempWarehouseOutOrderDetail.getOutOrderDetailId()); warehouseOutOrderDetail.setWarehouseOrderType("1");
Integer applyOutOrderSum = (int) (sysMakeorderPickDetail.getPickNum()+tempWarehouseOutOrderDetail.getApplyOutOrderSum()); warehouseOutOrderDetail.setWarehouseOutType("1");
Integer makeNum = (int) (sysMakeorderPickDetail.getPickNum() + tempWarehouseOutOrderDetail.getMakeNum()); warehouseOutOrderDetail.setMaterialSum(tempSysMakeorderPickVo.getMaterialSum());
warehouseOutOrderDetail.setApplyOutOrderSum(applyOutOrderSum); warehouseOutOrderDetail.setEnterpriseSum(tempSysMakeorderPickVo.getEnterpriseSum());
warehouseOutOrderDetail.setMakeNum(makeNum);
int updateWarehouseOutOrderDetailResult = outOrderDetailMapper.updateWarehouseOutOrderDetail(warehouseOutOrderDetail); warehouseOutOrderDetail.setCreateBy(ShiroUtils.getLoginName());
if (updateWarehouseOutOrderDetailResult <= 0){ warehouseOutOrderDetail.setCreateTime(new Date());
throw new BusinessException("更新出库单详情失败"); warehouseOutOrderDetail.setApplyName(sysMakeorderPickVo.getApplyUser());
} warehouseOutOrderDetail.setMaterialName(sysMakeorderPickDetail.getMaterialName());
}else { warehouseOutOrderDetail.setMaterialDescribe(sysMakeorderPickDetail.getDescribe());
warehouseOutOrderDetail.setWarehouseOutStatus("4"); warehouseOutOrderDetail.setMaterialUnit(sysMakeorderPickDetail.getUnit());
warehouseOutOrderDetail.setMakeNo(tempSysMakeorderPickVo.getMakeNo()); warehouseOutOrderDetail.setMaterialBrand(sysMakeorderPickDetail.getBrand());
//标明来源是生产订单 warehouseOutOrderDetail.setMaterialModel(sysMakeorderPickDetail.getMaterialModel());
warehouseOutOrderDetail.setWarehouseOrderType("1"); warehouseOutOrderDetail.setMaterialType(sysMakeorderPickDetail.getMaterialType());
warehouseOutOrderDetail.setWarehouseOutType("1"); warehouseOutOrderDetail.setMaterialProcessMethod(sysMakeorderPickDetail.getProcessMethod());
warehouseOutOrderDetail.setMaterialSum(tempSysMakeorderPickVo.getMaterialSum()); //订单数量为本次领料数量
warehouseOutOrderDetail.setEnterpriseSum(tempSysMakeorderPickVo.getEnterpriseSum()); warehouseOutOrderDetail.setMakeNum(Math.toIntExact(sysMakeorderPickDetail.getPickNum()));
//添加申请出库数量
warehouseOutOrderDetail.setCreateBy(ShiroUtils.getLoginName()); warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(sysMakeorderPickDetail.getPickNum()));
warehouseOutOrderDetail.setCreateTime(new Date());
warehouseOutOrderDetail.setApplyName(sysMakeorderPickVo.getApplyUser()); if (StringUtils.isNotEmpty(sysMakeorderPickDetail.getDescribe())) {
warehouseOutOrderDetail.setMaterialName(sysMakeorderPickDetail.getMaterialName()); String[] splitDescribe = sysMakeorderPickDetail.getDescribe().split(",");
warehouseOutOrderDetail.setMaterialDescribe(sysMakeorderPickDetail.getDescribe()); if (splitDescribe.length >= 2) {
warehouseOutOrderDetail.setMaterialUnit(sysMakeorderPickDetail.getUnit()); warehouseOutOrderDetail.setMaterialModel(splitDescribe[0]);
warehouseOutOrderDetail.setMaterialBrand(sysMakeorderPickDetail.getBrand()); warehouseOutOrderDetail.setMaterialSpecification(splitDescribe[1]);
warehouseOutOrderDetail.setMaterialProcessMethod(sysMakeorderPickDetail.getProcessMethod());
//订单数量为本次领料数量
warehouseOutOrderDetail.setMakeNum(Math.toIntExact(sysMakeorderPickDetail.getPickNum()));
//添加申请出库数量
warehouseOutOrderDetail.setApplyOutOrderSum(Math.toIntExact(sysMakeorderPickDetail.getPickNum()));
if (StringUtils.isNotEmpty(sysMakeorderPickDetail.getDescribe())) {
String[] splitDescribe = sysMakeorderPickDetail.getDescribe().split(",");
if (splitDescribe.length >= 2) {
warehouseOutOrderDetail.setMaterialModel(splitDescribe[0]);
warehouseOutOrderDetail.setMaterialSpecification(splitDescribe[1]);
}
}
int insertOutOrderDetailResult = outOrderDetailMapper.insertWarehouseOutOrderDetail(warehouseOutOrderDetail);
if (insertOutOrderDetailResult <= 0){
throw new BusinessException("新增出库单详情数据失败");
} }
} }
int insertOutOrderDetailResult = outOrderDetailMapper.insertWarehouseOutOrderDetail(warehouseOutOrderDetail);
if (insertOutOrderDetailResult <= 0){
throw new BusinessException("新增出库单详情数据失败");
}
} }
} }

7
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

@ -1379,8 +1379,11 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
//更新生产订单的数据 //更新生产订单的数据
SysMakeOrder tempSysMakeOrder = sysMakeOrderMapper.selectMakeOrderByMakeNo(warehouseStorageOrder.getRelatedOrderCode()); SysMakeOrder tempSysMakeOrder = sysMakeOrderMapper.selectMakeOrderByMakeNo(warehouseStorageOrder.getRelatedOrderCode());
tempSysMakeOrder.setEceiptNum(storageSum); //入库数
//设置生产状态为全部完成 int orderEceiptNum = Optional.ofNullable(tempSysMakeOrder.getEceiptNum())
.orElse(0);
orderEceiptNum = orderEceiptNum + storageSum;
tempSysMakeOrder.setEceiptNum(orderEceiptNum);
int updateMakeOrderResult = sysMakeOrderService.updateByMakeNo(tempSysMakeOrder); int updateMakeOrderResult = sysMakeOrderService.updateByMakeNo(tempSysMakeOrder);
if (updateMakeOrderResult <= 0){ if (updateMakeOrderResult <= 0){
throw new BusinessException("更新生产订单数据失败"); throw new BusinessException("更新生产订单数据失败");

Loading…
Cancel
Save