package com.example.erp.service.pp;
|
|
import com.example.erp.entity.pp.ReportingWork;
|
import com.example.erp.entity.sd.OrderProcessDetail;
|
import com.example.erp.mapper.pp.BasicDateProduceMapper;
|
import com.example.erp.mapper.pp.ReportingWorkMapper;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@Service
|
@DS("pp")
|
public class ReportingWorkService {
|
@Autowired
|
ReportingWorkMapper reportingWorkMapper;
|
|
BasicDateProduceMapper basicDateProduceMapper;
|
|
public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) {
|
Map<String, Object> map = new HashMap<>();
|
//查询流程卡工艺流程
|
String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr);
|
|
int index = technologicalProcess.indexOf("-");
|
//获取工艺流程第一个工序
|
String interceptProcess = technologicalProcess.substring(0, index);
|
String[] processList = technologicalProcess.split("->");
|
int length = processList.length;
|
|
//定义当前工序上下工序
|
String previousProcess = "";
|
String nextProcess = "";
|
|
//循环该流程卡工艺流程
|
for (int i = 0; i < length; i++) {
|
//当到当前工序时
|
if (processList[i].equals(process)) {
|
//获取当前工序的上一道工序
|
if (i - 1 < 0) {
|
previousProcess = "";
|
} else {
|
previousProcess = processList[i - 1];
|
}
|
//获取当前工序的下一道工序
|
if (i + 1 > length - 1) {
|
nextProcess = "";
|
} else {
|
nextProcess = processList[i + 1];
|
}
|
//System.out.println("当前工序:" + process + " 上一道工序:" + previousProcess + " 下一道工序:" + nextProcess);
|
//查询当前工序的表头数据
|
map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process));
|
map.put("thisProcess", processList);
|
break;
|
}
|
}
|
|
//设备下拉框
|
map.put("device", reportingWorkMapper.SelectWorkBasicDeviceMp(process));
|
//班组下拉框
|
map.put("teams", reportingWorkMapper.SelectWorkBasicTeamsMp(process));
|
|
|
//查询本工序报工需要哪几层,上工序是什么
|
String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr);
|
|
//判断本工序是不是第一道工序
|
if (interceptProcess.equals(process)) {
|
//是第一道工序,查询流程卡数据
|
map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr));
|
}
|
else {
|
//不是第一道工序,查询报工数据
|
map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,previousProcess));
|
}
|
|
// 第一道工序(流程卡数+补片数量-完工数-次破数-返工未完成数-禁用数量)
|
|
// 后续工序(上工序报工数-完工数-次破数-返工未完成数)
|
|
//获取该流程卡号历史报工工序
|
String historyProcess =reportingWorkMapper.historyProcessMp(processIdStr);
|
|
//历史报工工序设备
|
map.put("historyDevice",reportingWorkMapper.historyDeviceMp(historyProcess,process));
|
//历史报工工序班组
|
map.put("historyTeams",reportingWorkMapper.historyTeamsMp(historyProcess,process));
|
//历史工序
|
map.put("historyProcess",reportingWorkMapper.SelectHistoryProcessMp(historyProcess,process));
|
|
|
|
return map;
|
}
|
|
public Map<String, Object> SelectProcessSv() {
|
Map<String, Object> map = new HashMap<>();
|
map.put("process", reportingWorkMapper.SelectProcessMp());
|
return map;
|
}
|
}
|