|
@@ -69,7 +69,7 @@ public class MachineController {
|
|
|
}
|
|
|
boolean isAbnormality = true;//状态是否异常
|
|
|
JSONArray nodes = query.getJSONArray("nodes");//选项集合(包含一个或多个工序选项,详情见示例)
|
|
|
- Iterator<Object> it = nodes.iterator();
|
|
|
+ PtsMachineLogs ptsMachineLogs = new PtsMachineLogs();
|
|
|
for(int i = 0;i< nodes.size();i++){
|
|
|
JSONObject jsonObject = nodes.getJSONObject(i);
|
|
|
String processNo = jsonObject.getString("processId"); //工序编号
|
|
@@ -81,7 +81,6 @@ public class MachineController {
|
|
|
ProcessNode processNode = produceService.getprocessNode(produceProcess.getProcessId(),nodeNo.charAt(0));
|
|
|
PtsDevice ptsDevice = deviceService.getDevice(produceProcess.getDriveId());
|
|
|
PtsEmployee ptsEmployee =ptsEmployeeService.getPtsEmployeeById(employeeId);
|
|
|
- PtsMachineLogs ptsMachineLogs = new PtsMachineLogs();
|
|
|
ptsMachineLogs.setDeviceId(produceProcess.getDriveId());
|
|
|
ptsMachineLogs.setEmployeeId(employeeId);
|
|
|
ptsMachineLogs.setProduceId(produce.getProduceId());
|
|
@@ -102,59 +101,67 @@ public class MachineController {
|
|
|
isAbnormality = false;
|
|
|
}
|
|
|
}else{//默认为正常
|
|
|
- ptsMachineLogs.setLogsProcessStatus(1);
|
|
|
+ ptsMachineLogs.setLogsProcessStatus(processNode.getNodeStatus());
|
|
|
}
|
|
|
ptsMachineLogs.setLogsProcessPrompt(processNode.getNodeStatus() == 0?"异常操作": null);
|
|
|
ptsMachineLogs.setLogsProcessTime(logsProcessDate);
|
|
|
ptsMachineLogs.setLogsCreateTime(new Date());
|
|
|
//根据上一条工序选项信息判断当前工序是否正常,如果当前为修理工序则忽略,如果上一条为修理工序则查询上上一条
|
|
|
if(i > 0){
|
|
|
- //查询出当前产品正常生产工序
|
|
|
- //List<ProduceProcess> ProcessList = produceService.listProduceProcess(produce.getProduceId());
|
|
|
- int num = 0;
|
|
|
- ProduceProcess produceProcess2 = null;//当前工序的上一条非修理工序
|
|
|
- JSONObject jsonObject2;//上一级工序信息
|
|
|
- String processNo2 = null;//上一级工序编号
|
|
|
- //先判断当前的上一次是否是修理工序,如果不是则不用执行下面的循环,否则需要循环判断
|
|
|
- jsonObject2 = nodes.getJSONObject(i-1);
|
|
|
- if(jsonObject2 != null){
|
|
|
- processNo2 = jsonObject.getString("processId");
|
|
|
- produceProcess2 = produceService.getProduceProcess(produce.getProduceId(),processNo2.charAt(0));
|
|
|
- if(produceProcess2.getProcessType() == 1){//判断是否是修理工序 1:生产工序 2:修理工序
|
|
|
- if(produceProcess.getProcessSort() - produceProcess2.getProcessSort() != 1){
|
|
|
- ptsMachineLogs.setLogsProcessStatus(0);
|
|
|
- ptsMachineLogs.setLogsErrorType(1);//异常类型 1:流程异常 2:次品异常
|
|
|
+ int num = 0;
|
|
|
+ ProduceProcess produceProcess2 = null;//当前工序的上一条非修理工序
|
|
|
+ JSONObject jsonObject2;//上一级工序信息
|
|
|
+ String processNo2 = null;//上一级工序编号
|
|
|
+ //先判断当前的上一次是否是修理工序,如果不是则不用执行下面的循环,否则需要循环判断
|
|
|
+ jsonObject2 = nodes.getJSONObject(i-1);
|
|
|
+ if(jsonObject2 != null){
|
|
|
+ processNo2 = jsonObject2.getString("processId");
|
|
|
+ produceProcess2 = produceService.getProduceProcess(produce.getProduceId(),processNo2.charAt(0));
|
|
|
+ //判断当前工序是否是修理工序,如果是,则修改上一条为次品
|
|
|
+ if(produceProcess.getProcessType() == 2){
|
|
|
+ ptsMachineLogs.setLogsErrorType(2);//异常类型 1:流程异常 2:次品异常
|
|
|
+ machineLogsService.updateMachineLogs(ptsMachineLogs);
|
|
|
isAbnormality = false;
|
|
|
- }
|
|
|
- }else{
|
|
|
- for(int j = i-1;j<= i-1;j--){
|
|
|
- if(num == i){
|
|
|
- break;//只能循环 i 次,超出则跳出当前循环
|
|
|
- }
|
|
|
- jsonObject2 = nodes.getJSONObject(j);
|
|
|
- if(jsonObject2 != null){
|
|
|
- processNo2 = jsonObject.getString("processId");
|
|
|
- produceProcess2 = produceService.getProduceProcess(produce.getProduceId(),processNo2.charAt(0));
|
|
|
- if(produceProcess2.getProcessType() == 1){//判断是否是修理工序 1:生产工序 2:修理工序
|
|
|
- break;
|
|
|
- }else{
|
|
|
- if(produceProcess.getProcessSort() > produceProcess2.getProcessSort()){
|
|
|
- ptsMachineLogs.setLogsProcessStatus(0);
|
|
|
- ptsMachineLogs.setLogsErrorType(1);//异常类型 1:流程异常 2:次品异常
|
|
|
- isAbnormality = false;
|
|
|
+ ptsMachineLogs.setLogsId(null);
|
|
|
+ ptsMachineLogs.setLogsErrorType(null);
|
|
|
+ }else{
|
|
|
+ //判断是否是修理工序 1:生产工序 2:修理工序
|
|
|
+ if(produceProcess2.getProcessType() == 1){
|
|
|
+ if(produceProcess.getProcessSort() - produceProcess2.getProcessSort() != 1){
|
|
|
+ ptsMachineLogs.setLogsProcessStatus(0);
|
|
|
+ ptsMachineLogs.setLogsErrorType(1);//异常类型 1:流程异常 2:次品异常
|
|
|
+ isAbnormality = false;
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for(int j = i-1;j<= i-1;j--){
|
|
|
+ if(num == i){
|
|
|
+ break;//只能循环 i 次,超出则跳出当前循环
|
|
|
}
|
|
|
+ jsonObject2 = nodes.getJSONObject(j);
|
|
|
+ if(jsonObject2 != null){
|
|
|
+ processNo2 = jsonObject2.getString("processId");
|
|
|
+ produceProcess2 = produceService.getProduceProcess(produce.getProduceId(),processNo2.charAt(0));
|
|
|
+ if(produceProcess2.getProcessType() == 1){//判断是否是修理工序 1:生产工序 2:修理工序
|
|
|
+ if(produceProcess.getProcessSort() > produceProcess2.getProcessSort()){
|
|
|
+ ptsMachineLogs.setLogsProcessStatus(0);
|
|
|
+ ptsMachineLogs.setLogsErrorType(1);//异常类型 1:流程异常 2:次品异常
|
|
|
+ isAbnormality = false;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ num++;
|
|
|
}
|
|
|
}
|
|
|
- num++;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
}
|
|
|
//执行添加日志操作
|
|
|
machineLogsService.addMachineLogs(ptsMachineLogs);
|
|
|
+ ptsMachineLogs.setLogsErrorType(null);//还原为默认值
|
|
|
}
|
|
|
//修改机器信息
|
|
|
- if(isAbnormality){
|
|
|
+ if(!isAbnormality){
|
|
|
PtsMachine ptsMachine2 = new PtsMachine();
|
|
|
ptsMachine2.setMachineId(ptsMachine.getMachineId());
|
|
|
ptsMachine2.setMachineProcessState(2);//2表示机器生产过程中出现异常
|