Browse Source

[fix]

仓库管理 入库单
修改委外入库service方法,更新入库主表入库数、入库状态,同时更新委外订单详情已入库数、委外入库详情已入库数;
修改入库单列表查询mapper,创建时间截取日期部分比较;
dev
王晓迪 2 months ago
parent
commit
06990cdc9a
  1. 48
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java
  2. 4
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml

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

@ -137,6 +137,9 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
@Autowired
private OutsourceRequisitionMapper outsourceRequisitionMapper;
@Autowired
private OutsourceOrderDetailMapper outsourceOrderDetailMapper;
@Autowired
private SysMakeorderPickDetailMapper makeorderPickDetailMapper;
@ -543,10 +546,18 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
}
}
//插入主表入库数量
int orderStorageNum = oldStorageOrder.getStorageNum();
int orderStorageNum = Optional.ofNullable(oldStorageOrder.getStorageNum()).orElse(0);
int qualifiedNum = Optional.ofNullable(oldStorageOrder.getQualityQualifiedNum()).orElse(0);
orderStorageNum = orderStorageNum + storageNum;
oldStorageOrder.setStorageNum(orderStorageNum);
if(orderStorageNum < qualifiedNum){
oldStorageOrder.setWarehouseStorageStatus("3");
}else if(orderStorageNum == qualifiedNum){
oldStorageOrder.setWarehouseStorageStatus("4");
}
String outsourceOrderNo = "";
for (WarehouseStorageOrderDetail detail : filtList) {
//更新入库单详情的数据
detail.setUpdateBy(loginName);
@ -564,13 +575,32 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
tempOut.setWarehouseStorageCode(detail.getWarehouseStorageCode());
tempOut.setMaterialNo(detail.getMaterialNo());
List<OutsourceStorageDetail> outStorageDetails = outsourceStorageDetailMapper.selectOutsourceStorageDetailList(tempOut);
OutsourceStorageDetail updateDetail = outStorageDetails.get(0);
updateDetail.setTakenMaterial(new BigDecimal(detail.getHasStorageNum()));//入库单详情已领料数已更新
updateDetail.setUpdateBy(loginName);
updateDetail.setUpdateTime(DateUtils.getNowDate());
int outUpdateResult = outsourceStorageDetailMapper.updateOutsourceStorageDetail(updateDetail);
if(outUpdateResult<=0){
throw new BusinessException("更新委外入库单详情失败!");
outsourceOrderNo = outStorageDetails.get(0).getOutsourceOrderNo();
for (OutsourceStorageDetail outStorageDetail: outStorageDetails) {
outStorageDetail.setHasStorageNum(detail.getHasStorageNum());//入库单详情已入库数已更新
outStorageDetail.setUpdateBy(loginName);
outStorageDetail.setUpdateTime(DateUtils.getNowDate());
int outUpdateResult = outsourceStorageDetailMapper.updateOutsourceStorageDetail(outStorageDetail);
if(outUpdateResult<=0){
throw new BusinessException("更新委外入库单详情失败!");
}
}
/** 更新委外订单详情已入库数*/
OutsourceOrderDetail tempOrderDetail = new OutsourceOrderDetail();
tempOrderDetail.setOutsourceOrderNo(outsourceOrderNo);
tempOrderDetail.setMaterialNo(detail.getMaterialNo());
List<OutsourceOrderDetail> orderDetails = outsourceOrderDetailMapper.selectOutsourceOrderDetailByNos(tempOrderDetail);
for (OutsourceOrderDetail orderDetail: orderDetails) {
int hasStorageNum = Optional.ofNullable(orderDetail.getHasStorageNum()).orElse(0);
hasStorageNum = hasStorageNum + detail.getStorageNum();
orderDetail.setHasStorageNum(hasStorageNum);
orderDetail.setUpdateBy(loginName);
orderDetail.setUpdateTime(DateUtils.getNowDate());
int updateResult = outsourceOrderDetailMapper.updateOutsourceOrderDetail(orderDetail);
if(updateResult<=0){
throw new BusinessException("更新委外订单详情失败!");
}
}
/*更新库存查询信息*/
WarehouseStorageOrderDetail updateStorageOrderDetail = storageOrderDetailMapper.selectWarehouseStorageOrderDetailById(detail.getWarehouseStorageDetailId());
@ -580,7 +610,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
oldStorageOrder.setUpdateBy(loginName);
oldStorageOrder.setUpdateTime(DateUtils.getNowDate());
oldStorageOrder.setStorageTime(DateUtils.getNowDate());
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder);
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrder(oldStorageOrder);
if (updateResult <= 0){
throw new BusinessException("更新入库单失败,未影响任何行");
}

4
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml

@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warehouseQualityStatus != null and warehouseQualityStatus != ''"> and warehouse_quality_status = #{warehouseQualityStatus}</if>
<if test="warehouseDeptType != null and warehouseDeptType != ''"> and warehouse_dept_type = #{warehouseDeptType}</if>
<if test="warehouseEmployee != null and warehouseEmployee != ''"> and warehouse_employee = #{warehouseEmployee}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and Date(create_time) between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where>
order by create_time desc
</select>
@ -315,7 +315,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="warehouseQualityStatus != null and warehouseQualityStatus != ''"> and warehouse_quality_status = #{warehouseQualityStatus}</if>
<if test="warehouseDeptType != null and warehouseDeptType != ''"> and warehouse_dept_type = #{warehouseDeptType}</if>
<if test="warehouseEmployee != null and warehouseEmployee != ''"> and warehouse_employee = #{warehouseEmployee}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and Date(create_time) between #{params.beginCreateTime} and #{params.endCreateTime}</if>
and warehouse_order_type = '3'
</where>
order by create_time desc

Loading…
Cancel
Save