【报工更新生产计划状态】

dev
siontion 3 months ago
parent 6c3bef3a71
commit b87d7e7bea

@ -13,10 +13,12 @@ import com.chanko.yunxi.mes.framework.operatelog.core.service.OperateLogFramewor
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
import com.chanko.yunxi.mes.module.biz.controller.admin.taskdispatch.vo.*;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.material.MaterialDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.plan.PlanDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.systemparameters.SystemParametersDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.taskdispatch.TaskDispatchDetailOwnerDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.taskdispatchdetailratio.TaskDispatchDetailRatioDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.workshop.WorkshopDO;
import com.chanko.yunxi.mes.module.biz.dal.mysql.plan.PlanMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.systemparameters.SystemParametersMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.taskdispatch.TaskDispatchDetailMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.taskdispatch.TaskDispatchDetailOwnerMapper;
@ -94,6 +96,9 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
@Resource
private TaskDispatchDetailRatioMapper taskDispatchDetailRatioMapper;
@Resource
private PlanMapper planMapper;
@Resource
private HttpServletRequest request;
@ -419,6 +424,11 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
eq(TaskDispatchDetailOwnerDO::getId, taskDispatchDetailDO.getDetailOwnerId())
.last("LIMIT 1 FOR UPDATE");
}});
// 更新计划状态
PlanDO planDO =planMapper.selectById(taskDispatchDO.getPlanId());
planDO.setStatus(ProjectPlanStatusEnum.PRODUCING.getCode());
planMapper.updateById(planDO);
BigDecimal avgWorkTime = operateReqVO.getWorkTime();
Arrays.stream(taskDispatchDetailDO.getOwnerIds().split(",")).forEach(oid->{
@ -498,10 +508,18 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
LocalDateTime now = LocalDateTime.now();
operateReqVO.getDispatchIds().forEach(vid ->{
TaskDispatchDetailDO taskDispatchDetailDO = taskDispatchDetailMapper.selectOne(new LambdaQueryWrapperX<TaskDispatchDetailDO>(){{
eq(TaskDispatchDetailDO::getId, vid)
.last("LIMIT 1 FOR UPDATE");
}});
// 更新计划状态
TaskDispatchDO taskDispatchDO = taskDispatchMapper.selectById(taskDispatchDetailDO.getDispatchId());
PlanDO planDO =planMapper.selectById(taskDispatchDO.getPlanId());
planDO.setStatus(ProjectPlanStatusEnum.PRODUCING.getCode());
planMapper.updateById(planDO);
TaskDispatchDetailOwnerDO taskDispatchDetailOwnerDO = taskDispatchDetailOwnerMapper.selectOne(new LambdaQueryWrapperX<TaskDispatchDetailOwnerDO>(){{
eq(TaskDispatchDetailOwnerDO::getId, taskDispatchDetailDO.getDetailOwnerId())
.last("LIMIT 1 FOR UPDATE");

Loading…
Cancel
Save