装配派工:
1个人点完结,若无其他人报工不允许完结
This commit is contained in:
parent
2213313cce
commit
d3c825bb13
@ -109,6 +109,7 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode TASK_DISPATCH_TASK_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件");
|
||||
ErrorCode TASK_DISPATCH_TASK_IS_OVER = new ErrorCode(1_009_007, "报工数量已完成");
|
||||
ErrorCode TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS = new ErrorCode(1_009_006, "无法超额报工");
|
||||
ErrorCode TASK_REPORT_OTHER_PERSON_NO_SUBMIT = new ErrorCode(1_009_008, "其他人员尚未报工,无法结束生产");
|
||||
/*************质量管理***********/
|
||||
ErrorCode UNQUALIFIED_NOTIFICATION_NOT_EXISTS = new ErrorCode(1_010_001, "品质异常通知单审核不存在");
|
||||
ErrorCode QUALITY_FEEDBACK_NOT_EXISTS = new ErrorCode(1_010_002, "客户反馈质量不存在");
|
||||
|
@ -117,9 +117,9 @@ public interface FpUserDetailMapper extends BaseMapperX<FpUserDetailDO> {
|
||||
.select("c.nickname as nick_Name ")
|
||||
// .leftJoin(PostDO.class,"b", PostDO::getId,FpUserDetailDO::getPostId)
|
||||
.leftJoin(AdminUserDO.class,"c",AdminUserDO::getId,FpUserDetailDO::getBusyId)
|
||||
.leftJoin(FpUserDO.class,"a",FpUserDO::getId, FpUserDetailDO::getFpId)
|
||||
.eq(FpUserDO::getType,"1")
|
||||
.eq(FpUserDetailDO::getIsRes,"Y")
|
||||
// .leftJoin(FpUserDO.class,"a",FpUserDO::getId, FpUserDetailDO::getFpId)
|
||||
// .eq(FpUserDO::getType,"1")
|
||||
// .eq(FpUserDetailDO::getIsRes,"Y")
|
||||
.in(FpUserDetailDO::getPostId,list);
|
||||
|
||||
|
||||
|
@ -168,6 +168,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
||||
}
|
||||
List<TaskDispatchDetailDO> planBbPage(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
||||
List<TaskDispatchDetailDO> planBb(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
||||
List<HashMap<Long,Long>> sumAssembleReport(List<Long> list);
|
||||
// default PageResult<TaskDispatchDetailDO> planBbPage(TaskPlanJDBaoBiaoPageReqVO reqVO) {
|
||||
// MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
||||
// query.select("MAX(d.code)as projectCode,MAX(d.project_name)as projectName,MAX(g.task_no) as taskNo,0 as planType," +
|
||||
|
@ -54,6 +54,7 @@ import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@ -644,13 +645,32 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
//装配看看是不是多人,如果是多人,判断一下
|
||||
if (taskDispatchDO.getDispatchType().equals("ASSEMBLE")){
|
||||
List<TaskDispatchDetailDO> taskDispatchDetailDOS = taskDispatchDetailMapper.selectList(new LambdaQueryWrapperX<TaskDispatchDetailDO>().eq(TaskDispatchDetailDO::getDetailOwnerId, taskDispatchDetailDO.getDetailOwnerId()));
|
||||
boolean allOver = true;
|
||||
List<Long> dispatchDetailId = new ArrayList<>();
|
||||
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailDOS) {
|
||||
if (!dispatchDetailDO.getId().equals(taskDispatchDetailDO.getId()) && !(dispatchDetailDO.getProcedureStatus() == TaskDispatchProcedureStatusEnum.COMPLETED.getCode())){
|
||||
allOver = false;
|
||||
dispatchDetailId.add(dispatchDetailDO.getId());
|
||||
}
|
||||
}
|
||||
if (allOver){
|
||||
boolean allReport = true;
|
||||
if (CollUtil.isNotEmpty(dispatchDetailId)){
|
||||
List<HashMap<Long, Long>> hashMaps = taskDispatchDetailMapper.sumAssembleReport(dispatchDetailId);
|
||||
HashMap<Long,Long> reportMap = new HashMap<>();
|
||||
for (HashMap<Long, Long> hashMap : hashMaps) {
|
||||
reportMap.putAll(hashMap);
|
||||
}
|
||||
|
||||
for (Long l : dispatchDetailId) {
|
||||
if (!reportMap.containsKey(l)){
|
||||
allReport = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!allReport){
|
||||
throw exception(TASK_REPORT_OTHER_PERSON_NO_SUBMIT);
|
||||
}
|
||||
if (allReport){
|
||||
TaskDispatchDetailOwnerDO taskDispatchDetailOwnerDO = taskDispatchDetailOwnerMapper.selectById(taskDispatchDetailDO.getDetailOwnerId());
|
||||
taskDispatchDetailOwnerDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||
taskDispatchDetailOwnerMapper.updateById(taskDispatchDetailOwnerDO);
|
||||
@ -788,11 +808,13 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
||||
@Override
|
||||
public List<FpUserDetailDO> getAssembleOwner(){
|
||||
List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectOwnerList();
|
||||
// List<HashMap<String,String>> fpUserMapList = new ArrayList<>();
|
||||
if (CollUtil.isEmpty(fpUserDetailDOS)){
|
||||
throw exception(OWNER_NOT_EXISTS);
|
||||
}
|
||||
return fpUserDetailDOS;
|
||||
Map<Long, FpUserDetailDO> map = fpUserDetailDOS.stream()
|
||||
.collect(Collectors.toMap(FpUserDetailDO::getBusyId, Function.identity(), (existing, replacement) -> existing));
|
||||
List<FpUserDetailDO> uniqueFpUserDetailDOS = new ArrayList<>(map.values());
|
||||
return uniqueFpUserDetailDOS;
|
||||
}
|
||||
@Override
|
||||
public PageResult<TaskDispatchDetailTotalVO> getTaskDispatchPageDetailTotal(TaskDispatchDetailTotalVO pageTotalVO) {
|
||||
|
@ -102,4 +102,12 @@
|
||||
</if>
|
||||
GROUP BY t.id
|
||||
</select>
|
||||
<select id="sumAssembleReport" parameterType="java.util.List">
|
||||
select t.dispatch_detail_id,count(t.id) from pro_task_report t where t.dispatch_detail_id in
|
||||
<foreach collection="list" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
and t.has_report = 1
|
||||
group by t.dispatch_detail_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user