|
@ -8,12 +8,15 @@ import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; |
|
|
import com.win.module.mes.controller.mesworkschedulingdetail.vo.*; |
|
|
import com.win.module.mes.controller.mesworkschedulingdetail.vo.*; |
|
|
import com.win.module.mes.convert.mesworkschedulingdetail.MesWorkSchedulingDetailConvert; |
|
|
import com.win.module.mes.convert.mesworkschedulingdetail.MesWorkSchedulingDetailConvert; |
|
|
import com.win.module.mes.dal.dataobject.mesjobreportlog.MesJobReportLogDO; |
|
|
import com.win.module.mes.dal.dataobject.mesjobreportlog.MesJobReportLogDO; |
|
|
|
|
|
import com.win.module.mes.dal.dataobject.mesteamsetting.MesTeamSettingDO; |
|
|
import com.win.module.mes.dal.dataobject.mesworkscheduling.MesWorkSchedulingDO; |
|
|
import com.win.module.mes.dal.dataobject.mesworkscheduling.MesWorkSchedulingDO; |
|
|
import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkSchedulingDetailDO; |
|
|
import com.win.module.mes.dal.dataobject.mesworkschedulingdetail.MesWorkSchedulingDetailDO; |
|
|
import com.win.module.mes.dal.mysql.mesjobreportlog.MesJobReportLogMapper; |
|
|
import com.win.module.mes.dal.mysql.mesjobreportlog.MesJobReportLogMapper; |
|
|
import com.win.module.mes.dal.mysql.mesworkscheduling.MesWorkSchedulingMapper; |
|
|
import com.win.module.mes.dal.mysql.mesworkscheduling.MesWorkSchedulingMapper; |
|
|
import com.win.module.mes.dal.mysql.mesworkschedulingdetail.MesWorkSchedulingDetailMapper; |
|
|
import com.win.module.mes.dal.mysql.mesworkschedulingdetail.MesWorkSchedulingDetailMapper; |
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
import com.win.module.system.api.user.AdminUserApi; |
|
|
|
|
|
import com.win.module.wms.api.team.TeamServiceAPI; |
|
|
|
|
|
import com.win.module.wms.api.team.dto.TeamDTO; |
|
|
import org.apache.calcite.util.Util; |
|
|
import org.apache.calcite.util.Util; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
@ -47,6 +50,8 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta |
|
|
private MesJobReportLogMapper jobReportLogMapper; |
|
|
private MesJobReportLogMapper jobReportLogMapper; |
|
|
@Resource |
|
|
@Resource |
|
|
private MesWorkSchedulingMapper workSchedulingMapper; |
|
|
private MesWorkSchedulingMapper workSchedulingMapper; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private TeamServiceAPI teamServiceAPI; |
|
|
@Override |
|
|
@Override |
|
|
public Long createWorkSchedulingDetail(MesWorkSchedulingDetailCreateReqVO createReqVO) { |
|
|
public Long createWorkSchedulingDetail(MesWorkSchedulingDetailCreateReqVO createReqVO) { |
|
|
// 插入
|
|
|
// 插入
|
|
@ -112,7 +117,7 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta |
|
|
List<MesWorkSchedulingDO> workSchedulingDOList = new ArrayList<>(); |
|
|
List<MesWorkSchedulingDO> workSchedulingDOList = new ArrayList<>(); |
|
|
List<MesWorkSchedulingDetailDO> workSchedulingDetailDOList = new ArrayList<>(); |
|
|
List<MesWorkSchedulingDetailDO> workSchedulingDetailDOList = new ArrayList<>(); |
|
|
List<MesJobReportLogDO> jobReportLogDOList = new ArrayList<>(); |
|
|
List<MesJobReportLogDO> jobReportLogDOList = new ArrayList<>(); |
|
|
String currentUserName = userApi.getUser(getLoginUserId()).getUsername().toString(); |
|
|
String currentUserName = userApi.getUser(getLoginUserId()).getUsername(); |
|
|
//todo 验证工单任务是否存在
|
|
|
//todo 验证工单任务是否存在
|
|
|
reqVO.forEach(item ->{ |
|
|
reqVO.forEach(item ->{ |
|
|
MesWorkSchedulingDO workSchedulingDO = workSchedulingMapper.selectOne(MesWorkSchedulingDO::getSchedulingCode,item.getSchedulingCode()); |
|
|
MesWorkSchedulingDO workSchedulingDO = workSchedulingMapper.selectOne(MesWorkSchedulingDO::getSchedulingCode,item.getSchedulingCode()); |
|
@ -174,24 +179,32 @@ public class MesWorkSchedulingDetailServiceImpl implements MesWorkSchedulingDeta |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public List<GetPeopleReportByOrderResVO> getPeopleReportList(GetPeopleReportByOrderReqVO req) { |
|
|
public List<GetPeopleReportByOrderResVO> getPeopleReportList(GetPeopleReportByOrderReqVO req) { |
|
|
List<MesWorkSchedulingDetailDO> schedulingDetailList = workSchedulingDetailMapper.selectList(new LambdaQueryWrapperX<MesWorkSchedulingDetailDO>() |
|
|
LambdaQueryWrapperX<MesWorkSchedulingDetailDO> wrapper = new LambdaQueryWrapperX<>(); |
|
|
.eq(MesWorkSchedulingDetailDO::getPlanNoDay, req.getPlanDayCode()) |
|
|
wrapper.eq(MesWorkSchedulingDetailDO::getPlanNoDay, req.getPlanDayCode()) |
|
|
.eq(MesWorkSchedulingDetailDO::getNodeCode, req.getProcessCode()) |
|
|
.eq(MesWorkSchedulingDetailDO::getNodeCode, req.getProcessCode()) |
|
|
.select(MesWorkSchedulingDetailDO::getSchedulingCode,MesWorkSchedulingDetailDO::getPersonValidate) |
|
|
.select(MesWorkSchedulingDetailDO::getSchedulingCode,MesWorkSchedulingDetailDO::getPersonValidate); |
|
|
); |
|
|
//todo 验证当前用户是否在工作组中
|
|
|
|
|
|
String loginUserName = userApi.getUser(getLoginUserId()).getUsername(); |
|
|
|
|
|
TeamDTO team = teamServiceAPI.getTeam(req.getTeamCode()); |
|
|
|
|
|
if(!team.getMembersCode().contains(loginUserName)){ |
|
|
|
|
|
throw exception(JOB_REPORT_PERSON_VALIDATE_FAIL); |
|
|
|
|
|
} |
|
|
|
|
|
//todo 如果不是teamLeader则只查询当前用户的报工项
|
|
|
|
|
|
if(!Objects.equals(team.getTeamLeaderCode(),loginUserName)){ |
|
|
|
|
|
wrapper.eq(MesWorkSchedulingDetailDO::getReceivePerson,loginUserName); |
|
|
|
|
|
} |
|
|
|
|
|
List<MesWorkSchedulingDetailDO> schedulingDetailList = workSchedulingDetailMapper.selectList(wrapper); |
|
|
List<GetPeopleReportByOrderResVO> resultList = new ArrayList<>(); |
|
|
List<GetPeopleReportByOrderResVO> resultList = new ArrayList<>(); |
|
|
schedulingDetailList.forEach(detail->{ |
|
|
schedulingDetailList.forEach(detail-> JSONArray.parseArray(detail.getPersonValidate()).forEach(person ->{ |
|
|
JSONArray.parseArray(detail.getPersonValidate()).forEach(person ->{ |
|
|
JSONObject personJson = JSONObject.parseObject(person.toString()); |
|
|
JSONObject personJson = JSONObject.parseObject(person.toString()); |
|
|
if (!personJson.isEmpty() && personJson.containsKey("code")){ |
|
|
if (!personJson.isEmpty() && personJson.containsKey("code")){ |
|
|
resultList.add(new GetPeopleReportByOrderResVO(){{ |
|
|
resultList.add(new GetPeopleReportByOrderResVO(){{ |
|
|
setSchedulingCode(detail.getSchedulingCode()); |
|
|
setSchedulingCode(detail.getSchedulingCode()); |
|
|
setPersonCode(personJson.getString("code")); |
|
|
setPersonCode(personJson.getString("code")); |
|
|
setPersonName(personJson.getString("name")); |
|
|
setPersonName(personJson.getString("name")); |
|
|
}}); |
|
|
}}); |
|
|
} |
|
|
} |
|
|
})); |
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
return resultList; |
|
|
return resultList; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|