rev:优化修改

This commit is contained in:
2025-10-24 10:08:59 +08:00
parent ff45d87bb8
commit bfbb65d28c
2 changed files with 53 additions and 5 deletions

View File

@@ -26,10 +26,7 @@ import org.nl.wms.pdm_manage.service.dto.PdmBomCallMaterialDtlDto;
import org.nl.wms.warehouse_management.enums.IOSConstant;
import org.nl.wms.warehouse_management.enums.IOSEnum;
import org.nl.wms.warehouse_management.service.*;
import org.nl.wms.warehouse_management.service.dao.GroupPlate;
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_management.service.dao.StIvtCheckdtl;
import org.nl.wms.warehouse_management.service.dao.StIvtMoveinvdtl;
import org.nl.wms.warehouse_management.service.dao.*;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_management.service.dao.mapper.StIvtCheckdtlMapper;
@@ -325,6 +322,8 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
// 查询分配明细
IOStorInvDis ioStorInvDis = ioStorInvDisMapper.selectById(iostorinvdis_id);
// 原载具
String oldVehicle = ioStorInvDis.getStoragevehicle_code();
// 判断是否是拣选:不是:清空仓位信息
if (ioStorInvDis.getIs_check().equals(IOSConstant.ZERO)) {
Structattr attrDao = structattrService.getByCode(ioStorInvDis.getStruct_code());
@@ -398,6 +397,26 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
.eq(PdmBomCallMaterialDtl::getOut_dis_id, ioStorInvDis.getIostorinvdis_id())
);
}
// 判断是否是领料出库,如果是领料出库则更组盘信息绑定工单信息
IOStorInv iosMst = iOutBillService.getById(ioStorInvDis.getIostorinv_id());
if (iosMst.getBill_type().equals(IOSEnum.OUT_BILL_TYPE.code("领料出库"))
|| iosMst.getBill_type().equals(IOSEnum.OUT_BILL_TYPE.code("烘干出库"))
) {
String updateVehicle = oldVehicle;
if (ObjectUtil.isNotEmpty(ts_storagevehicle_code)) {
updateVehicle = ts_storagevehicle_code;
}
IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id());
// 更新组盘信息
mdPbGroupplateService.update(
new UpdateWrapper<GroupPlate>().lambda()
.set(GroupPlate::getBom_id, ioStorInvDtl.getSource_billdtl_id())
.eq(GroupPlate::getStoragevehicle_code, updateVehicle)
.eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn())
.eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id())
);
}
return PdaResponse.requestOk();
}
@@ -425,7 +444,7 @@ public class PadLargeMaterialBoxServiceImpl implements PdaLargeMaterialBoxServic
dtlDto.setWeigh_qty(BigDecimal.ZERO);
} else {
// 更新称重重量
dtlDto.setWeigh_qty(NumberUtil.sub(groupPlate.getQty(), new BigDecimal(residue_qty)));
dtlDto.setWeigh_qty(new BigDecimal(residue_qty));
}
// 更新叫料单明细
iPdmBomCallMaterialDtlService.confirm(dtlDto);

View File

@@ -5,13 +5,16 @@ import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.ext.service.WmsToAcsService;
import org.nl.wms.ext.service.util.AcsResponse;
import org.nl.wms.pdm_manage.enums.BomEnum;
@@ -32,6 +35,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -76,6 +80,12 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl<PdmBomCallMate
@Resource
private GroupPlateMapper groupPlateMapper;
/*
* 仓位信息服务
*/
@Resource
private IStructattrService iStructattrService;
@Override
public IPage<PdmBomCallMaterialDtlDto> queryAll(Map whereJson, PageQuery page) {
return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()),
@@ -136,6 +146,7 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl<PdmBomCallMate
PdmBomCallMaterialDtl bomdtlDao = this.getById(dto.getBomdtl_id());
bomdtlDao.setBom_status(BomEnum.CALL_BOM_DTL_STATUS.code("完成"));
bomdtlDao.setConfirm_time(DateUtil.now());
bomdtlDao.setWeigh_qty(dto.getWeigh_qty());
this.updateById(bomdtlDao);
// 查询叫料工单
@@ -151,6 +162,24 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl<PdmBomCallMate
// 更新叫料单状态
iPdmBomCallMaterialService.updateStatus(bomDao.getBom_id());
// 如果是大料箱出库仓位称重重量不为0则不删除组盘信息而是清除工单信息
Structattr attrDao = iStructattrService.getByCode(bomdtlDao.getStruct_code());
if (attrDao.getSect_code().equals(IOSEnum.SECT_CODE.code("大料箱区"))) {
if (bomdtlDao.getWeigh_qty().doubleValue() != 0 ) {
// 清除工单信息
groupPlateMapper.update(new GroupPlate(),
new UpdateWrapper<GroupPlate>().lambda()
.set(GroupPlate::getQty, bomdtlDao.getWeigh_qty())
.set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))
.set(GroupPlate::getBom_id, null)
.set(GroupPlate::getOut_type, null)
.set(GroupPlate::getIs_need_delete, null)
.eq(GroupPlate::getStoragevehicle_code, dto.getVehicle_code())
);
return;
}
}
// 删除组盘信息
groupPlateMapper.delete(
new QueryWrapper<GroupPlate>().lambda()