装配派工:
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_NO_PERMISSION_FOR_OPERATE = new ErrorCode(1_009_005, "任务不满足操作条件");
|
||||||
ErrorCode TASK_DISPATCH_TASK_IS_OVER = new ErrorCode(1_009_007, "报工数量已完成");
|
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_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 UNQUALIFIED_NOTIFICATION_NOT_EXISTS = new ErrorCode(1_010_001, "品质异常通知单审核不存在");
|
||||||
ErrorCode QUALITY_FEEDBACK_NOT_EXISTS = new ErrorCode(1_010_002, "客户反馈质量不存在");
|
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 ")
|
.select("c.nickname as nick_Name ")
|
||||||
// .leftJoin(PostDO.class,"b", PostDO::getId,FpUserDetailDO::getPostId)
|
// .leftJoin(PostDO.class,"b", PostDO::getId,FpUserDetailDO::getPostId)
|
||||||
.leftJoin(AdminUserDO.class,"c",AdminUserDO::getId,FpUserDetailDO::getBusyId)
|
.leftJoin(AdminUserDO.class,"c",AdminUserDO::getId,FpUserDetailDO::getBusyId)
|
||||||
.leftJoin(FpUserDO.class,"a",FpUserDO::getId, FpUserDetailDO::getFpId)
|
// .leftJoin(FpUserDO.class,"a",FpUserDO::getId, FpUserDetailDO::getFpId)
|
||||||
.eq(FpUserDO::getType,"1")
|
// .eq(FpUserDO::getType,"1")
|
||||||
.eq(FpUserDetailDO::getIsRes,"Y")
|
// .eq(FpUserDetailDO::getIsRes,"Y")
|
||||||
.in(FpUserDetailDO::getPostId,list);
|
.in(FpUserDetailDO::getPostId,list);
|
||||||
|
|
||||||
|
|
||||||
|
@ -168,6 +168,7 @@ public interface TaskDispatchDetailMapper extends BaseMapperX<TaskDispatchDetail
|
|||||||
}
|
}
|
||||||
List<TaskDispatchDetailDO> planBbPage(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
List<TaskDispatchDetailDO> planBbPage(@Param("reqVO")TaskPlanJDBaoBiaoPageReqVO reqVO);
|
||||||
List<TaskDispatchDetailDO> planBb(@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) {
|
// default PageResult<TaskDispatchDetailDO> planBbPage(TaskPlanJDBaoBiaoPageReqVO reqVO) {
|
||||||
// MPJLambdaWrapper<TaskDispatchDetailDO> query = new MPJLambdaWrapper<>();
|
// 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," +
|
// 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.text.SimpleDateFormat;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
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")){
|
if (taskDispatchDO.getDispatchType().equals("ASSEMBLE")){
|
||||||
List<TaskDispatchDetailDO> taskDispatchDetailDOS = taskDispatchDetailMapper.selectList(new LambdaQueryWrapperX<TaskDispatchDetailDO>().eq(TaskDispatchDetailDO::getDetailOwnerId, taskDispatchDetailDO.getDetailOwnerId()));
|
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) {
|
for (TaskDispatchDetailDO dispatchDetailDO : taskDispatchDetailDOS) {
|
||||||
if (!dispatchDetailDO.getId().equals(taskDispatchDetailDO.getId()) && !(dispatchDetailDO.getProcedureStatus() == TaskDispatchProcedureStatusEnum.COMPLETED.getCode())){
|
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 taskDispatchDetailOwnerDO = taskDispatchDetailOwnerMapper.selectById(taskDispatchDetailDO.getDetailOwnerId());
|
||||||
taskDispatchDetailOwnerDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
taskDispatchDetailOwnerDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.COMPLETED.getCode());
|
||||||
taskDispatchDetailOwnerMapper.updateById(taskDispatchDetailOwnerDO);
|
taskDispatchDetailOwnerMapper.updateById(taskDispatchDetailOwnerDO);
|
||||||
@ -788,11 +808,13 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
@Override
|
@Override
|
||||||
public List<FpUserDetailDO> getAssembleOwner(){
|
public List<FpUserDetailDO> getAssembleOwner(){
|
||||||
List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectOwnerList();
|
List<FpUserDetailDO> fpUserDetailDOS = fpUserDetailMapper.selectOwnerList();
|
||||||
// List<HashMap<String,String>> fpUserMapList = new ArrayList<>();
|
|
||||||
if (CollUtil.isEmpty(fpUserDetailDOS)){
|
if (CollUtil.isEmpty(fpUserDetailDOS)){
|
||||||
throw exception(OWNER_NOT_EXISTS);
|
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
|
@Override
|
||||||
public PageResult<TaskDispatchDetailTotalVO> getTaskDispatchPageDetailTotal(TaskDispatchDetailTotalVO pageTotalVO) {
|
public PageResult<TaskDispatchDetailTotalVO> getTaskDispatchPageDetailTotal(TaskDispatchDetailTotalVO pageTotalVO) {
|
||||||
|
@ -102,4 +102,12 @@
|
|||||||
</if>
|
</if>
|
||||||
GROUP BY t.id
|
GROUP BY t.id
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
Loading…
Reference in New Issue
Block a user