rev:工单修改

This commit is contained in:
2026-01-22 09:55:13 +08:00
parent 9fd4e3102f
commit 2cd89efb9f
7 changed files with 73 additions and 12 deletions

View File

@@ -125,4 +125,19 @@ public class PdmBomCallMaterial implements Serializable {
*/
private String return_two;
/**
* 一次退料重量
*/
private BigDecimal return_one_qty;
/**
* 二次退料重量
*/
private BigDecimal return_two_qty;
/**
* 实际领用重量
*/
private BigDecimal real_receive_qty;
}

View File

@@ -85,6 +85,9 @@
SELECT
SUM(bom.call_qty) AS call_qty,
SUM(bom.real_qty) AS real_qty,
SUM(bom.return_one_qty) AS return_one_qty,
SUM(bom.return_two_qty) AS return_two_qty,
SUM(bom.real_receive_qty) AS real_receive_qty,
SUM(bom.real_weigh_qty) AS real_weigh_qty
FROM
pdm_bom_callmaterial bom

View File

@@ -158,9 +158,19 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl<PdmBomCallMate
return;
}
// 增加叫料工单实际用料重量: 叫料单实际用料 + (叫料明细出库重量 - 叫料明细称重重量)
double qty = NumberUtil.sub(dto.getOut_qty(), dto.getWeigh_qty()).doubleValue();
double real_weigh_qty = NumberUtil.add(bomDao.getReal_weigh_qty(), qty).doubleValue();
// 判断是否是一次退料
if (ObjectUtil.isEmpty(bomDao.getReturn_two()) || bomDao.getReturn_two().equals(IOSConstant.ZERO)) {
// 一次退料重量
bomDao.setReturn_one_qty(NumberUtil.add(bomDao.getReturn_one_qty(),dto.getWeigh_qty()));
// 实际领料重量
bomDao.setReal_receive_qty(NumberUtil.sub(bomDao.getReal_qty(),bomDao.getReturn_one_qty()));
}
// 实际用料重量
double real_weigh_qty = NumberUtil.sub(bomDao.getReal_receive_qty(), bomDao.getReturn_two_qty()).doubleValue();
// // 增加叫料工单实际用料重量: 叫料单实际用料 + (叫料明细出库重量 - 叫料明细称重重量)
// double qty = NumberUtil.sub(dto.getOut_qty(), dto.getWeigh_qty()).doubleValue();
// double real_weigh_qty = NumberUtil.add(bomDao.getReal_weigh_qty(), qty).doubleValue();
bomDao.setReal_weigh_qty(NumberUtil.round(real_weigh_qty, 2));
iPdmBomCallMaterialService.updateById(bomDao);
@@ -204,9 +214,20 @@ public class PdmBomCallMaterialDtlServiceImpl extends ServiceImpl<PdmBomCallMate
// 查询叫料工单
PdmBomCallMaterial bomDao = iPdmBomCallMaterialService.getById(dto.getBom_id());
// 增加叫料工单实际用料重量: 叫料单实际用料 + (叫料明细出库重量 - 叫料明细称重重量)
// 判断是否是一次退料
if (ObjectUtil.isEmpty(bomDao.getReturn_two()) || bomDao.getReturn_two().equals(IOSConstant.ZERO)) {
// 一次退料重量
bomDao.setReturn_one_qty(NumberUtil.add(bomDao.getReturn_one_qty(),dto.getWeigh_qty()));
// 实际领料重量
bomDao.setReal_receive_qty(NumberUtil.sub(bomDao.getReal_qty(),bomDao.getReturn_one_qty()));
}
// 实际用料重量
double real_weigh_qty = NumberUtil.sub(bomDao.getReal_receive_qty(), bomDao.getReturn_two_qty()).doubleValue();
/* // 增加叫料工单实际用料重量: 叫料单实际用料 + (叫料明细出库重量 - 叫料明细称重重量)
double qty = NumberUtil.sub(dto.getOut_qty(), dto.getWeigh_qty()).doubleValue();
double real_weigh_qty = NumberUtil.add(bomDao.getReal_weigh_qty(), qty).doubleValue();
double real_weigh_qty = NumberUtil.add(bomDao.getReal_weigh_qty(), qty).doubleValue();*/
bomDao.setReal_weigh_qty(NumberUtil.round(real_weigh_qty, 2));
iPdmBomCallMaterialService.updateById(bomDao);

View File

@@ -337,7 +337,8 @@ public class BackInTask extends AbstractTask {
PdmBomCallMaterial mst = bomMstList.stream()
.filter(row -> row.getBom_id().equals(dtl.getBom_id()))
.findFirst().orElse(null);
mst.setReal_weigh_qty(NumberUtil.add(mst.getReal_weigh_qty(), dtl.getOut_qty()));
mst.setReturn_two_qty(NumberUtil.sub(mst.getReturn_two_qty(), dtl.getOut_qty()));
mst.setReal_weigh_qty(NumberUtil.sub(mst.getReal_receive_qty(),mst.getReturn_two_qty()));
mst.setBom_status(BomEnum.CALL_BOM_STATUS.code("完成"));
iPdmBomCallMaterialService.updateById(mst);
}
@@ -471,7 +472,11 @@ public class BackInTask extends AbstractTask {
iPdmBomCallMaterialDtlService.save(dtlDao);
// 更新主bom
dao.setReal_weigh_qty(NumberUtil.sub(dao.getReal_weigh_qty(), qty));
// dao.setReal_weigh_qty(NumberUtil.sub(dao.getReal_weigh_qty(), qty));
// 二次退料
dao.setReturn_two_qty(NumberUtil.add(dao.getReturn_two_qty(), qty));
// 实际用
dao.setReal_weigh_qty(NumberUtil.sub(dao.getReal_receive_qty(),dao.getReturn_two_qty()));
dao.setBom_status(BomEnum.CALL_BOM_STATUS.code("完成"));
iPdmBomCallMaterialService.updateById(dao);
}

View File

@@ -12,6 +12,8 @@ import org.nl.config.IdUtil;
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.pdm_manage.enums.BomEnum;
import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialDtlService;
import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialService;
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterial;
import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl;
import org.nl.wms.sch_manage.enums.TaskEnum;
import org.nl.wms.sch_manage.enums.TaskStatus;
@@ -79,11 +81,17 @@ public class ReceiveOutTask extends AbstractTask {
private ISchBasePointService iSchBasePointService;
/**
* 退料单服务
* 退料单明细服务
*/
@Resource
private IPdmBomCallMaterialDtlService iPdmBomCallMaterialDtlService;
/**
* 退料单服务
*/
@Resource
private IPdmBomCallMaterialService iPdmBomCallMaterialService;
/**
* 领料出库三点AGV任务类
*/
@@ -270,6 +278,11 @@ public class ReceiveOutTask extends AbstractTask {
materDtlDao.setCreate_name(SecurityUtils.getCurrentNickName());
materDtlDao.setCreate_time(DateUtil.now());
iPdmBomCallMaterialDtlService.save(materDtlDao);
// 更新工单实际叫料重量
PdmBomCallMaterial mstDao = iPdmBomCallMaterialService.getById(materDtlDao.getBom_id());
mstDao.setReal_qty(stDtlDao.getAssign_qty());
iPdmBomCallMaterialService.updateById(mstDao);
}
@Override

View File

@@ -331,8 +331,10 @@ public class MdPbGroupplateServiceImpl extends ServiceImpl<MdPbGroupplateMapper,
dtlDao.setGroup_id(plate.getGroup_id());
iPdmBomCallMaterialDtlService.save(dtlDao);
// 更新主bom
dao.setReal_weigh_qty(NumberUtil.sub(dao.getReal_weigh_qty(), qty));
// 二次退料
dao.setReturn_two_qty(NumberUtil.add(dao.getReturn_two_qty(), qty));
// 实际用
dao.setReal_weigh_qty(NumberUtil.sub(dao.getReal_receive_qty(),dao.getReturn_two_qty()));
dao.setBom_status(BomEnum.CALL_BOM_STATUS.code("退料中"));
dao.setReturn_two(IOSConstant.ONE);
iPdmBomCallMaterialService.updateById(dao);

View File

@@ -62,7 +62,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="是否二次料">
<el-form-item label="是否二次退料">
<el-select
v-model="query.return_two"
clearable
@@ -294,6 +294,9 @@
<el-table-column prop="device_name" label="机台名称" :min-width="flexWidth('device_name',crud.data,'机台名称')" />
<el-table-column prop="call_qty" label="计划叫料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="real_qty" label="实际叫料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="return_one_qty" label="一次退料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="real_receive_qty" label="实际领料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="return_two_qty" label="二次退料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="real_weigh_qty" label="实际用料重量" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="qty_unit_name" label="单位" :min-width="flexWidth('qty_unit_name',crud.data,'单位')" />
<el-table-column prop="receive_name" label="领料人" :min-width="flexWidth('receive_name',crud.data,'领料人')" />
@@ -421,7 +424,6 @@ export default {
crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointList = res
})
this.query.return_two = '0'
this.initQuery()
},
methods: {