生产进度问题修改

This commit is contained in:
z 2025-07-21 18:51:33 +08:00
parent dcab329a89
commit b607ef3026
6 changed files with 31 additions and 18 deletions

View File

@ -151,7 +151,7 @@ public class bdgzsomthingController {
BeanUtils.toBean(list, bdgzsomthingRespVO.class)); BeanUtils.toBean(list, bdgzsomthingRespVO.class));
} }
// @Scheduled(fixedRate = 10800000) @Scheduled(fixedRate = 10800000)
public void scheduledTask() { public void scheduledTask() {
bdgzsomthingService.selectds(); bdgzsomthingService.selectds();
} }
@ -159,8 +159,8 @@ public class bdgzsomthingController {
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次 //@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
@PostConstruct @PostConstruct
public void init() { public void init() {
// selectHasPrice(); selectHasPrice();
// selectSafeStorageAndDeliverOneYear(); selectSafeStorageAndDeliverOneYear();
// bdgzsomthingService.selectds(); // bdgzsomthingService.selectds();
} }
@Scheduled(cron = "0 0 2 * * ?") @Scheduled(cron = "0 0 2 * * ?")

View File

@ -202,6 +202,8 @@ public class ProcessBomDetailDO extends BaseDO {
@TableField(exist = false) @TableField(exist = false)
private Integer orderNoExists; private Integer orderNoExists;
@TableField(exist = false) @TableField(exist = false)
private BigDecimal boomAmounts;
@TableField(exist = false)
private List<TaskDispatchDetailDO> taskDispatchDetailDOList; private List<TaskDispatchDetailDO> taskDispatchDetailDOList;
} }

View File

@ -105,4 +105,14 @@ public interface BgMasterLineMapper extends BaseMapperX<BgMasterLineDO> {
return selectCount(query); return selectCount(query);
} }
default Long getCount(Long id){
MPJLambdaWrapper<BgMasterLineDO> query = new MPJLambdaWrapper<>();
query
.leftJoin(PgMasterLineDO.class, "a", PgMasterLineDO::getId, BgMasterLineDO::getZjMxId);
query.eq( PgMasterLineDO::getDispatchDetailId, id)
.eq(PgMasterLineDO::getDeleted,0);
return selectCount(query);
}
} }

View File

@ -242,7 +242,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>(); MPJLambdaWrapper<ProcessBomDetailDO> query = new MPJLambdaWrapper<>();
query.selectAll(ProcessBomDetailDO.class) query.selectAll(ProcessBomDetailDO.class)
.select("f.name as compositionName") .select("f.name as compositionName")
.select("t.amount*d.amount as boomAmount") .select("t.amount*d.amount as boomAmounts")
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)
@ -273,7 +273,7 @@ public interface ProcessBomDetailMapper extends BaseMapperX<ProcessBomDetailDO>
.select("m.status as makeStatus") .select("m.status as makeStatus")
.select("r.receiving_status as receivingStatus") .select("r.receiving_status as receivingStatus")
.select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists") .select("CASE WHEN r.id IS NOT NULL THEN 1 ELSE 0 END AS orderNoExists")
.select("t.amount*d.amount as boomAmount") .select("t.amount*d.amount as boomAmounts")
.leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId) .leftJoin(PlanTaskBomDO.class,"ptb",PlanTaskBomDO::getBomDetailId,ProcessBomDetailDO::getId)
.leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId) .leftJoin(PlanTaskDO.class,"pt",PlanTaskDO::getId,PlanTaskBomDO::getTaskId)
.leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId) .leftJoin(ProcessBomDO.class,"g",ProcessBomDO::getId,ProcessBomDetailDO::getBomId)

View File

@ -1244,7 +1244,7 @@ public class ProcessBomServiceImpl implements ProcessBomService {
} }
Integer Postponement=0; Integer Postponement=0;
Integer flag=0; Integer flag=0;
if (detailDO.getCheckYn()==1){ if (detailDO.getCheckYn()==0){
if (ObjectUtil.isNotEmpty(taskReportDO)){ if (ObjectUtil.isNotEmpty(taskReportDO)){
boolean after = taskReportDO.getReportTime().isAfter(detailDO.getEndTime()); boolean after = taskReportDO.getReportTime().isAfter(detailDO.getEndTime());
if (after){ if (after){
@ -1257,11 +1257,12 @@ public class ProcessBomServiceImpl implements ProcessBomService {
} }
} }
Long bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId()); Long bgMasterLineDO = bgMasterLineMapper.getByDispatchDetail(detailDO.getId());
Long count = bgMasterLineMapper.getCount(detailDO.getId());
if (bgMasterLineDO>0){ if (bgMasterLineDO>0){
flag=3; flag=3;
}else if (Postponement==0){ }else if (Postponement==0&&count>0){
flag=1; flag=1;
}else if (Postponement==1){ }else if (Postponement==1&&count>0){
flag=2; flag=2;
} }
} }

View File

@ -54,16 +54,16 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务负责人" prop="owner"> <el-form-item label="任务负责人" prop="owner">
<!-- <el-input <el-input
v-model="queryParams.owner" v-model="queryParams.owner"
placeholder="请输入零件名称" placeholder="请输入任务负责人"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
/> --> />
<el-select class="!w-240px" v-model="queryParams.owner" filterable placeholder="请选择任务责任人" > <!-- <el-select class="!w-240px" v-model="queryParams.owner" filterable placeholder="请选择任务责任人" >-->
<el-option v-for="item in userList" :key="item.id" :label="item.username + ' ' + item.nickname" :value="item.id" /> <!-- <el-option v-for="item in userList" :key="item.id" :label="item.username + ' ' + item.nickname" :value="item.id" />-->
</el-select> <!-- </el-select>-->
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -94,7 +94,7 @@
<el-table-column label="零件名称" align="center" prop="materialName" min-width="180"/> <el-table-column label="零件名称" align="center" prop="materialName" min-width="180"/>
<el-table-column label="材质" prop="compositionName" min-width="180"/> <el-table-column label="材质" prop="compositionName" min-width="180"/>
<el-table-column label="规格型号" prop="spec" min-width="180"/> <el-table-column label="规格型号" prop="spec" min-width="180"/>
<el-table-column label="数量" prop="boomAmount" min-width="145"/> <el-table-column label="数量" prop="boomAmounts" min-width="145"/>
<el-table-column v-if="activeIndex == 'first'" label="下料" min-width="145"> <el-table-column v-if="activeIndex == 'first'" label="下料" min-width="145">
<template #default="{ row }"> <template #default="{ row }">
<template v-for="(item, index) in row.taskDispatchDetailDOList" :key="index"> <template v-for="(item, index) in row.taskDispatchDetailDOList" :key="index">
@ -797,13 +797,13 @@ onMounted(async () => {
background-color: #D3D3D3 !important; background-color: #D3D3D3 !important;
} }
.green-cell { .green-cell {
background-color: #98FB98 !important; background-color: #e0ffe0 !important;
} }
.yellow-cell { .yellow-cell {
background-color: #FFFF00 !important; background-color: #ffffe0 !important;
} }
.red-cell { .red-cell {
background-color: #FF6347 !important; background-color: #ffded6 !important;
} }
.custom-cell { .custom-cell {
display: flex; display: flex;