|
@@ -1,29 +1,47 @@
|
|
|
package com.iamberry.rst.controllers.pts;
|
|
|
|
|
|
import com.alibaba.dubbo.common.json.JSON;
|
|
|
-import com.iamberry.rst.core.pts.PtsMachine;
|
|
|
+import com.iamberry.rst.core.pts.*;
|
|
|
import com.iamberry.rst.core.tools.QRCJson;
|
|
|
import com.iamberry.rst.core.tools.WeixinUtil;
|
|
|
+import com.iamberry.rst.faces.pts.MachineService;
|
|
|
+import com.iamberry.rst.faces.pts.ProduceService;
|
|
|
+import com.iamberry.rst.service.pts.mapper.DeviceMapper;
|
|
|
+import com.iamberry.rst.service.pts.mapper.PtsEmployeeMapper;
|
|
|
import com.iamberry.wechat.tools.NameUtils;
|
|
|
import com.iamberry.wechat.tools.ResponseJson;
|
|
|
import com.iamberry.wechat.tools.ResultInfo;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.Iterator;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
- * Created by Administrator on 2017/8/29.
|
|
|
+ * Created by LJK on 2017/8/29.
|
|
|
*/
|
|
|
@Controller
|
|
|
@RequestMapping("/mcahine")
|
|
|
public class MachineController {
|
|
|
+ @Autowired
|
|
|
+ private ProduceService produceService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MachineService machineService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DeviceMapper deviceMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PtsEmployeeMapper ptsEmployeeMapper;
|
|
|
+
|
|
|
@RequestMapping("/uploadProcessOptions")
|
|
|
public ResponseJson uploadProcessOptions(HttpServletRequest request,@RequestBody JSONObject query){
|
|
|
ResponseJson rj = new ResponseJson();
|
|
@@ -38,8 +56,8 @@ public class MachineController {
|
|
|
String berQrcode = String.valueOf(employeeId+new Date().getTime());
|
|
|
String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix+berQrcode);
|
|
|
QRCJson qrc = WeixinUtil.createQrcode(json);
|
|
|
+ PtsMachine ptsMachine = new PtsMachine();
|
|
|
if (!(qrc == null || qrc.getUrl() == null || qrc.getUrl().isEmpty())) {
|
|
|
- PtsMachine ptsMachine = new PtsMachine();
|
|
|
ptsMachine.setMachineQrcode(qrc.getUrl());//二维码
|
|
|
ptsMachine.setMachineBarcode(berQrcode);//条形码
|
|
|
ptsMachine.setMachineStatus(1);//机器状态
|
|
@@ -48,19 +66,52 @@ public class MachineController {
|
|
|
ptsMachine.setMachineCompoundImg("合成的图片url");
|
|
|
ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常
|
|
|
ptsMachine.setMachineCreateTime(new Date());//创建时间
|
|
|
-
|
|
|
+ machineService.addMachine(ptsMachine);
|
|
|
}
|
|
|
JSONArray nodes = query.getJSONArray("nodes");//选项集合(包含一个或多个工序选项,详情见示例)
|
|
|
Iterator<Object> it = nodes.iterator();
|
|
|
- while (it.hasNext()) {
|
|
|
- JSONObject jsonObject = (JSONObject) it.next();
|
|
|
+ for(int i = 0;i<= nodes.size();i++){
|
|
|
+ JSONObject jsonObject = nodes.getJSONObject(i);
|
|
|
+ /*JSONObject jsonObject = (JSONObject) it.next();*/
|
|
|
/*System.out.println(jsonObject.toString());*/
|
|
|
Integer processId = jsonObject.getInt("processId"); //工序id
|
|
|
Integer nodeId = jsonObject.getInt("nodeId"); //工序选项id
|
|
|
Long logsProcessTime = jsonObject.getLong("logsProcessTime"); //工序执行时间 (时间戳)
|
|
|
-
|
|
|
+ Date logsProcessDate = new Date(logsProcessTime);
|
|
|
+ Produce produce = produceService.getProduce(produceId);
|
|
|
+ ProduceProcess produceProcess = produceService.getProduceProcess(processId);
|
|
|
+ ProcessNode processNode = produceService.getprocessNode(nodeId);
|
|
|
+ PtsDevice ptsDevice = deviceMapper.getDevice(produceProcess.getDriveId());
|
|
|
+ PtsEmployee ptsEmployee =ptsEmployeeMapper.getPtsEmployeeById(employeeId);
|
|
|
+ PtsMachineLogs ptsMachineLogs = new PtsMachineLogs();
|
|
|
+ ptsMachineLogs.setDeviceId(produceProcess.getDriveId());
|
|
|
+ ptsMachineLogs.setEmployeeId(employeeId);
|
|
|
+ ptsMachineLogs.setProduceId(produceId);
|
|
|
+ ptsMachineLogs.setProcessId(processId);
|
|
|
+ ptsMachineLogs.setMachineId(ptsMachine.getMachineId());
|
|
|
+ ptsMachineLogs.setEmployeeName(ptsEmployee.getEmployeeName());
|
|
|
+ ptsMachineLogs.setProduceName(produce.getProduceName());
|
|
|
+ ptsMachineLogs.setProcessName(produceProcess.getProcessName());
|
|
|
+ ptsMachineLogs.setDeviceName(ptsDevice.getDeviceName());
|
|
|
+ ptsMachineLogs.setLogsProcessStatus(processNode.getNodeStatus());
|
|
|
+ ptsMachineLogs.setLogsProcessPrompt(processNode.getNodeStatus() == 0?"异常操作": null);
|
|
|
+ ptsMachineLogs.setLogsProcessTime(logsProcessDate);
|
|
|
+ ptsMachineLogs.setLogsCreateTime(new Date());
|
|
|
+ //根据下一条工序选项信息判断当前工序是否正常
|
|
|
+ JSONObject jsonObject2 = nodes.getJSONObject(i+1);
|
|
|
+ if(jsonObject2 != null){
|
|
|
+ Integer processId2 = jsonObject.getInt("processId");
|
|
|
+ ProduceProcess produceProcess2 = produceService.getProduceProcess(processId2);
|
|
|
+ if(produceProcess2.getProcessSort() - produceProcess.getProcessSort() != 1){
|
|
|
+ PtsMachine ptsMachine2 = new PtsMachine();
|
|
|
+ ptsMachine2.setMachineId(ptsMachine.getMachineId());
|
|
|
+ ptsMachine2.setMachineProcessState(2);//2表示机器生产过程中出现异常
|
|
|
+ ptsMachine2.setMachineUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
+ //截取条形码尾号(4位)
|
|
|
+ rj.addResponseKeyValue("barcodeTail",berQrcode.substring(berQrcode.length()-4, berQrcode.length()));
|
|
|
return rj;
|
|
|
}
|
|
|
}
|