Browse Source

2026-08-31

代办中心显示异常单号
master
fengyuan_yang 3 weeks ago
parent
commit
765ee9e7ec
  1. 6
      src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java
  2. 4
      src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java
  3. 4
      src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java
  4. 54
      src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java
  5. 10
      src/main/resources/mapper/schedule/ScheduleMapper.xml
  6. 9
      src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml

6
src/main/java/com/gaotao/modules/schedule/controller/ScheduleController.java

@ -303,12 +303,12 @@ public class ScheduleController extends AbstractController {
* TODO 按照派工单号查询派工单的数据
* @author LR
* @date 2021/11/8 14:23
* @param seqNo
* @param inData
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "getScheduleDataBySeqNo")
public R getScheduleDataBySeqNo(@RequestBody String seqNo){
ScheduleData result = scheduleService.getScheduleDataBySeqNo(seqNo);
public R getScheduleDataBySeqNo(@RequestBody SearchScheduleData inData){
ScheduleData result = scheduleService.getScheduleDataBySeqNo(inData);
return R.ok()
.put("code", 200)
.put("msg", getLanguageMsg(SysMsgConstant.OBJECT_ID_200000))

4
src/main/java/com/gaotao/modules/schedule/mapper/ScheduleMapper.java

@ -139,10 +139,10 @@ public interface ScheduleMapper {
* TODO 按照派工单号查询派工单的数据
* @author LR
* @date 2021/11/8 14:25
* @param seqNo
* @param inData seqNo / itemNo
* @return com.gaotao.modules.schedule.data.ScheduleData
**/
ScheduleData getScheduleDataBySeqNo(String seqNo);
ScheduleData getScheduleDataBySeqNo(SearchScheduleData inData);
/**
* 校验停机代码是否属于当前加工中心且启用

4
src/main/java/com/gaotao/modules/schedule/service/ScheduleService.java

@ -157,12 +157,12 @@ public interface ScheduleService {
/**
* TODO 按照派工单号查询派工单的数据
*
* @param seqNo
* @param inData
* @return com.gaotao.modules.schedule.data.ScheduleData
* @author LR
* @date 2021/11/8 14:24
**/
ScheduleData getScheduleDataBySeqNo(String seqNo);
ScheduleData getScheduleDataBySeqNo(SearchScheduleData inData);
/**
* TODO 获取当前的上机卷信息

54
src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java

@ -432,8 +432,16 @@ public class ScheduleServiceImpl implements ScheduleService {
}
@Override
public ScheduleData getScheduleDataBySeqNo(String seqNo) {
return scheduleMapper.getScheduleDataBySeqNo(seqNo);
public ScheduleData getScheduleDataBySeqNo(SearchScheduleData inData) {
if (inData == null || !StringUtils.hasText(inData.getSeqNo())) {
return null;
}
SearchScheduleData query = new SearchScheduleData();
query.setSeqNo(inData.getSeqNo());
if (inData.getItemNo() != null && inData.getItemNo() > 0) {
query.setItemNo(inData.getItemNo());
}
return scheduleMapper.getScheduleDataBySeqNo(query);
}
@Override
@ -1363,7 +1371,9 @@ public class ScheduleServiceImpl implements ScheduleService {
if (!StringUtils.hasText(seqNo)) {
throw new XJException("派工单号不能为空");
}
ScheduleData scheduleData = scheduleMapper.getScheduleDataBySeqNo(seqNo);
SearchScheduleData query = new SearchScheduleData();
query.setSeqNo(seqNo);
ScheduleData scheduleData = scheduleMapper.getScheduleDataBySeqNo(query);
if (scheduleData == null) {
throw new XJException("未找到对应的派工单信息");
}
@ -3944,8 +3954,20 @@ public class ScheduleServiceImpl implements ScheduleService {
List<ScheduleTodoDetailRecordEntity> reportList = scheduleTodoDetailRecordMapper.selectByInfoCodeAndStage(
site, buNo, infoCode, TODO_DETAIL_STAGE_REPORT);
String processExceptionNo = trimToEmpty(inData.get("mrbInspectionReport"));
if (!StringUtils.hasText(processExceptionNo)) {
processExceptionNo = trimToEmpty(inData.get("processExceptionNo"));
}
String orderNo = trimToEmpty(inData.get("orderNo"));
String seqNoText = trimToEmpty(inData.get("seqNo"));
if (!StringUtils.hasText(processExceptionNo)
&& StringUtils.hasText(orderNo)
&& StringUtils.hasText(seqNoText)) {
List<Map<String, Object>> mrbDetailList = scheduleMrbExceptionDetailMapper.getDetailList(site, orderNo, seqNoText, infoCode);
processExceptionNo = resolveProcessExceptionNo(mrbDetailList);
}
if (CollectionUtils.isEmpty(triggerList)) {
String orderNo = trimToEmpty(inData.get("orderNo"));
Integer seqNo = toInteger(inData.get("seqNo"));
if (StringUtils.hasText(orderNo) && seqNo != null) {
List<ShiftChangeProductionReportEntity> cacheList = shiftChangeProductionReportMapper.selectUnprocessedData(site, orderNo, seqNo);
@ -3958,6 +3980,7 @@ public class ScheduleServiceImpl implements ScheduleService {
Map<String, Object> result = new HashMap<>();
result.put("triggerList", triggerList == null ? new ArrayList<>() : triggerList);
result.put("reportList", reportList == null ? new ArrayList<>() : reportList);
result.put("mrbInspectionReport", processExceptionNo);
return result;
}
@ -4222,7 +4245,9 @@ public class ScheduleServiceImpl implements ScheduleService {
return "";
}
try {
ScheduleData scheduleData = scheduleMapper.getScheduleDataBySeqNo(inData.getSeqNo());
SearchScheduleData query = new SearchScheduleData();
query.setSeqNo(inData.getSeqNo());
ScheduleData scheduleData = scheduleMapper.getScheduleDataBySeqNo(query);
if (scheduleData == null) {
return "";
}
@ -4592,6 +4617,25 @@ public class ScheduleServiceImpl implements ScheduleService {
return detailList;
}
private String resolveProcessExceptionNo(List<Map<String, Object>> mrbDetailList) {
if (CollectionUtils.isEmpty(mrbDetailList)) {
return "";
}
for (Map<String, Object> row : mrbDetailList) {
if (row == null) {
continue;
}
String value = trimToEmpty(row.get("mrbInspectionReport"));
if (!StringUtils.hasText(value)) {
value = trimToEmpty(row.get("processExceptionNo"));
}
if (StringUtils.hasText(value)) {
return truncate(value, 100);
}
}
return "";
}
private void fillSplitRuleMetricData(Map<String, Object> resultMap,
SplitRollMetricContext metricContext,
SysSceneExceptionRuleConditionEntity condition) {

10
src/main/resources/mapper/schedule/ScheduleMapper.xml

@ -588,7 +588,7 @@
</update>
<!--按照派工单号查询派工单的数据-->
<select id="getScheduleDataBySeqNo" parameterType="java.lang.String" resultType="ScheduleData">
<select id="getScheduleDataBySeqNo" parameterType="SearchScheduleData" resultType="ScheduleData">
Select
T.Site site,
T.OrderNo orderNo,
@ -601,7 +601,13 @@
T.SeqNo seqNo,
T.QtyRequired qtyRequired,
T.QtyReported qtyReported,
(SELECT SUM(RollQty) FROM SFDC_Rolls S WHERE s.Site = T.SITE AND S.OrderNo = T.OrderNo AND s.VirtualNewRollFlag ='N' and s.RollType ='下道流转') qtyApprove,
(SELECT SUM(RollQty)
FROM SFDC_Rolls S
WHERE s.Site = T.SITE
AND S.OrderNo = T.OrderNo
AND s.VirtualNewRollFlag ='N'
AND s.RollType ='下道流转'
AND CreatedOpsSeqno = #{itemNo}) qtyApprove,
ROUND(T.TimeRequired, 3) timeRequired,
T.TimeReported timeReported,
T.PlanStartTime planStartTime,

9
src/main/resources/mapper/schedule/ScheduleTodoMessageMapper.xml

@ -268,6 +268,15 @@
stm.matched_defect_rate AS matchedDefectRate,
stm.matched_total_qty AS matchedTotalQty,
stm.responsibility_dept AS responsibilityDept,
ISNULL((
SELECT TOP 1 smd.process_exception_no
FROM schedule_mrb_exception_detail smd
WHERE smd.site = stm.site
AND smd.order_no = stm.order_no
AND CAST(smd.seq_no AS NVARCHAR(100)) = stm.seq_no
AND smd.todo_info_code = stm.info_code
ORDER BY smd.update_time DESC, smd.id DESC
), '') AS mrbInspectionReport,
ISNULL(sr.role_name, stm.responsibility_dept) AS responsibilityDeptName
FROM schedule_todo_message stm
LEFT JOIN sys_role sr

Loading…
Cancel
Save