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 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 SELECT
SUM(bom.call_qty) AS call_qty, SUM(bom.call_qty) AS call_qty,
SUM(bom.real_qty) AS real_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 SUM(bom.real_weigh_qty) AS real_weigh_qty
FROM FROM
pdm_bom_callmaterial bom pdm_bom_callmaterial bom

View File

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

View File

@@ -337,7 +337,8 @@ public class BackInTask extends AbstractTask {
PdmBomCallMaterial mst = bomMstList.stream() PdmBomCallMaterial mst = bomMstList.stream()
.filter(row -> row.getBom_id().equals(dtl.getBom_id())) .filter(row -> row.getBom_id().equals(dtl.getBom_id()))
.findFirst().orElse(null); .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("完成")); mst.setBom_status(BomEnum.CALL_BOM_STATUS.code("完成"));
iPdmBomCallMaterialService.updateById(mst); iPdmBomCallMaterialService.updateById(mst);
} }
@@ -471,7 +472,11 @@ public class BackInTask extends AbstractTask {
iPdmBomCallMaterialDtlService.save(dtlDao); iPdmBomCallMaterialDtlService.save(dtlDao);
// 更新主bom // 更新主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("完成")); dao.setBom_status(BomEnum.CALL_BOM_STATUS.code("完成"));
iPdmBomCallMaterialService.updateById(dao); 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.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.pdm_manage.enums.BomEnum; import org.nl.wms.pdm_manage.enums.BomEnum;
import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialDtlService; 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.pdm_manage.service.dao.PdmBomCallMaterialDtl;
import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskEnum;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
@@ -79,11 +81,17 @@ public class ReceiveOutTask extends AbstractTask {
private ISchBasePointService iSchBasePointService; private ISchBasePointService iSchBasePointService;
/** /**
* 退料单服务 * 退料单明细服务
*/ */
@Resource @Resource
private IPdmBomCallMaterialDtlService iPdmBomCallMaterialDtlService; private IPdmBomCallMaterialDtlService iPdmBomCallMaterialDtlService;
/**
* 退料单服务
*/
@Resource
private IPdmBomCallMaterialService iPdmBomCallMaterialService;
/** /**
* 领料出库三点AGV任务类 * 领料出库三点AGV任务类
*/ */
@@ -270,6 +278,11 @@ public class ReceiveOutTask extends AbstractTask {
materDtlDao.setCreate_name(SecurityUtils.getCurrentNickName()); materDtlDao.setCreate_name(SecurityUtils.getCurrentNickName());
materDtlDao.setCreate_time(DateUtil.now()); materDtlDao.setCreate_time(DateUtil.now());
iPdmBomCallMaterialDtlService.save(materDtlDao); iPdmBomCallMaterialDtlService.save(materDtlDao);
// 更新工单实际叫料重量
PdmBomCallMaterial mstDao = iPdmBomCallMaterialService.getById(materDtlDao.getBom_id());
mstDao.setReal_qty(stDtlDao.getAssign_qty());
iPdmBomCallMaterialService.updateById(mstDao);
} }
@Override @Override

View File

@@ -331,8 +331,10 @@ public class MdPbGroupplateServiceImpl extends ServiceImpl<MdPbGroupplateMapper,
dtlDao.setGroup_id(plate.getGroup_id()); dtlDao.setGroup_id(plate.getGroup_id());
iPdmBomCallMaterialDtlService.save(dtlDao); 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.setBom_status(BomEnum.CALL_BOM_STATUS.code("退料中"));
dao.setReturn_two(IOSConstant.ONE); dao.setReturn_two(IOSConstant.ONE);
iPdmBomCallMaterialService.updateById(dao); iPdmBomCallMaterialService.updateById(dao);

View File

@@ -62,7 +62,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否二次料"> <el-form-item label="是否二次退料">
<el-select <el-select
v-model="query.return_two" v-model="query.return_two"
clearable clearable
@@ -294,6 +294,9 @@
<el-table-column prop="device_name" label="机台名称" :min-width="flexWidth('device_name',crud.data,'机台名称')" /> <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="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="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="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="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,'领料人')" /> <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 => { crudPoint.getPointList({ 'region_code': area_type }).then(res => {
this.pointList = res this.pointList = res
}) })
this.query.return_two = '0'
this.initQuery() this.initQuery()
}, },
methods: { methods: {