|
|
|
@ -30,6 +30,7 @@ import com.gaotao.modules.schedule.mapper.SchedulingMapper; |
|
|
|
import com.gaotao.modules.schedule.service.ScheduleService; |
|
|
|
import com.gaotao.modules.schedule.service.SchedulingService; |
|
|
|
import com.gaotao.modules.shopOrder.entity.OperatorData; |
|
|
|
import com.gaotao.modules.sys.entity.SysUserEntity; |
|
|
|
import com.gaotao.modules.sys.entity.SysSceneExceptionRuleConditionEntity; |
|
|
|
import com.gaotao.modules.sys.entity.SysSceneExceptionRuleEntity; |
|
|
|
import com.gaotao.modules.sys.mapper.SysSceneExceptionRuleMapper; |
|
|
|
@ -38,6 +39,7 @@ import com.gaotao.modules.sys.service.SysSceneDynamicControlModelService; |
|
|
|
import com.gaotao.modules.sys.service.SysUserRoleService; |
|
|
|
import com.gaotao.modules.trans.dao.TransNoControlMapper; |
|
|
|
import com.gaotao.modules.trans.entity.TransNoControl; |
|
|
|
import org.apache.shiro.SecurityUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -5063,9 +5065,7 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
|
|
|
|
private void checkTidSplitControl(SearchScheduleData inData) { |
|
|
|
String workCenterNo = inData.getWorkCenterNo() == null ? "" : inData.getWorkCenterNo().trim(); |
|
|
|
Map<String, String> context = new HashMap<>(); |
|
|
|
context.put("WORK_CENTER", workCenterNo); |
|
|
|
if (!sysSceneDynamicControlModelService.isControlEnabled(inData.getSite(), TID_SPLIT_CONTROL_NO, context)) { |
|
|
|
if (!sysSceneDynamicControlModelService.isAnyCheckedDimensionEnabled(inData.getSite(), TID_SPLIT_CONTROL_NO, buildTidControlContext(inData))) { |
|
|
|
return; |
|
|
|
} |
|
|
|
List<String> rollNos = scheduleMapper.listTidPendingNormalRolls(inData.getSite(), inData.getSeqNo()); |
|
|
|
@ -5088,11 +5088,49 @@ public class ScheduleServiceImpl implements ScheduleService { |
|
|
|
scheduleMapper.updateTidPassFlag(inData.getSite(), inData.getSeqNo(), rollNos); |
|
|
|
} |
|
|
|
|
|
|
|
private Map<String, String> buildTidControlContext(SearchScheduleData inData) { |
|
|
|
Map<String, String> context = new HashMap<>(); |
|
|
|
String partNo = inData.getPartNo() == null ? "" : inData.getPartNo().trim(); |
|
|
|
String operationDesc = ""; |
|
|
|
if (StringUtils.hasText(inData.getSite()) && StringUtils.hasText(inData.getOrderNo())) { |
|
|
|
Map<String, Object> orderContext = scheduleMapper.getTidControlOrderContext(inData.getSite(), inData.getOrderNo(), inData.getItemNo()); |
|
|
|
if (orderContext != null) { |
|
|
|
if (!StringUtils.hasText(partNo) && orderContext.get("partNo") != null) { |
|
|
|
partNo = String.valueOf(orderContext.get("partNo")).trim(); |
|
|
|
} |
|
|
|
if (orderContext.get("operationDesc") != null) { |
|
|
|
operationDesc = String.valueOf(orderContext.get("operationDesc")).trim(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
context.put("PART", partNo); |
|
|
|
context.put("WORK_CENTER", inData.getWorkCenterNo() == null ? "" : inData.getWorkCenterNo().trim()); |
|
|
|
context.put("RESOURCE", inData.getResourceId() == null ? "" : inData.getResourceId().trim()); |
|
|
|
context.put("OPERATION", operationDesc); |
|
|
|
context.put("PERSON", currentLoginUsername(inData)); |
|
|
|
return context; |
|
|
|
} |
|
|
|
|
|
|
|
private String currentLoginUsername(SearchScheduleData inData) { |
|
|
|
try { |
|
|
|
Object principal = SecurityUtils.getSubject().getPrincipal(); |
|
|
|
if (principal instanceof SysUserEntity && StringUtils.hasText(((SysUserEntity) principal).getUsername())) { |
|
|
|
return ((SysUserEntity) principal).getUsername().trim(); |
|
|
|
} |
|
|
|
} catch (Exception ignored) { |
|
|
|
} |
|
|
|
if (StringUtils.hasText(inData.getUsername())) { |
|
|
|
return inData.getUsername().trim(); |
|
|
|
} |
|
|
|
if (StringUtils.hasText(inData.getUserName())) { |
|
|
|
return inData.getUserName().trim(); |
|
|
|
} |
|
|
|
return ""; |
|
|
|
} |
|
|
|
|
|
|
|
private void checkTidFinishControl(SearchScheduleData inData) { |
|
|
|
String workCenterNo = inData.getWorkCenterNo() == null ? "" : inData.getWorkCenterNo().trim(); |
|
|
|
Map<String, String> context = new HashMap<>(); |
|
|
|
context.put("WORK_CENTER", workCenterNo); |
|
|
|
if (!sysSceneDynamicControlModelService.isControlEnabled(inData.getSite(), TID_FINISH_CONTROL_NO, context)) { |
|
|
|
if (!sysSceneDynamicControlModelService.isAnyCheckedDimensionEnabled(inData.getSite(), TID_FINISH_CONTROL_NO, buildTidControlContext(inData))) { |
|
|
|
return; |
|
|
|
} |
|
|
|
String resourceId = inData.getResourceId() == null ? "" : inData.getResourceId().trim(); |
|
|
|
|