|
|
|
@ -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");
|
|
|
|
|