From 822201dc84ee71bc47a3a4cb76a4aa1f5d9e77f2 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期一, 22 一月 2024 18:39:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java | 60 ++++++ jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java | 38 +-- jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml | 32 +++ jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java | 9 jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java | 30 ++ jcdm-ui/src/views/main/bs/beatSetting/index.vue | 2 jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js | 8 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java | 74 +++++++ jcdm-ui/src/views/dashboard/PanelGroup.vue | 46 ++++ jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java | 35 +++ jcdm-quartz/pom.xml | 5 jcdm-ui/src/views/main/kb/prepareOnline/index.vue | 17 + jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java | 78 +++++++ jcdm-ui/src/views/main/cfkb/Instructions/index.vue | 42 +++ jcdm-ui/src/views/main/bs/orderScheduling/index.vue | 28 ++ jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js | 9 jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java | 66 +++++- 17 files changed, 515 insertions(+), 64 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java index 8ff0157..ec79b6f 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java @@ -51,20 +51,45 @@ formulaChildInfo.setAddress(formulaChildInfo.getTechRequirement()); formulaChildInfo.setImg(formulaChildInfo.getPicture()); } + + return getDataTable(list); + } + + /** + * 鏌ヨ宸ヨ壓娴佺▼ + * @param bsFormulaChildInfo query + * @return list + */ + @PostMapping("/getProductProcess") + public TableDataInfo getProductProcess(@RequestBody BsFormulaChildInfo bsFormulaChildInfo) + { + List<BsFormulaChildInfo> list = bsFormulaChildInfoService.selectBsFormulaChildInfoList(bsFormulaChildInfo); + for (BsFormulaChildInfo formulaChildInfo : list) { + formulaChildInfo.setSort(formulaChildInfo.getStepSort()); + formulaChildInfo.setAddress(formulaChildInfo.getTechRequirement()); + formulaChildInfo.setImg(formulaChildInfo.getPicture()); + } list = list.stream() .filter(x -> !ZERO.equals(x.getSort())).sorted(Comparator.comparing(BsFormulaChildInfo::getSort)).collect(Collectors.toList()); return getDataTable(list); } /** - * 鏌ヨ宸ヨ壓娴佺▼ - * @param productProcessQuery query + * 鏌ヨ宸ヨ壓鏂囦欢 + * @param bsFormulaChildInfo query * @return list */ - @PostMapping("/getProductProcess") - public TableDataInfo getProductProcess(@RequestBody ProductProcessQuery productProcessQuery) + @PostMapping("/getMainProductProcess") + public TableDataInfo getMainProductProcess(@RequestBody BsFormulaChildInfo bsFormulaChildInfo) { - List<BsFormulaChildInfo> list = productProcessService.getProductProcess(productProcessQuery); + List<BsFormulaChildInfo> list = bsFormulaChildInfoService.selectBsFormulaChildInfoList(bsFormulaChildInfo); + for (BsFormulaChildInfo formulaChildInfo : list) { + formulaChildInfo.setSort(formulaChildInfo.getStepSort()); + formulaChildInfo.setAddress(formulaChildInfo.getTechRequirement()); + formulaChildInfo.setImg(formulaChildInfo.getPicture()); + } + list = list.stream() + .filter(x -> ZERO.equals(x.getSort())).sorted(Comparator.comparing(BsFormulaChildInfo::getSort)).collect(Collectors.toList()); return getDataTable(list); } diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java index 7058b2c..745adeb 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java @@ -46,6 +46,15 @@ return getDataTable(list); } + @PreAuthorize("@ss.hasPermi('bs:orderScheduling:list')") + @GetMapping("/list2") + public TableDataInfo list2(BsOrderScheduling bsOrderScheduling) + { +// startPage(); + List<BsOrderScheduling> list = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling); + return getDataTable(list); + } + /** * 瀵煎嚭璁㈠崟鎺掍骇鍒楄〃 */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java index ad4499b..1907f60 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java @@ -5,6 +5,8 @@ import com.jcdm.common.annotation.Excel; import com.jcdm.common.core.domain.BaseEntity; +import java.util.Date; + /** * 璁㈠崟鎺掍骇瀵硅薄 bs_order_scheduling * @@ -120,6 +122,78 @@ private String endTime; + /** 鍚堢涓婄嚎鏃堕棿 */ + @Excel(name = "鍚堢涓婄嚎鏃堕棿") + private Date boxClosingOnlineTime; + + /** 鍚堢涓嬬嚎鏃堕棿 */ + @Excel(name = "鍚堢涓嬬嚎鏃堕棿") + private Date closingBoxOfflineTime; + + /** 鎬昏涓婄嚎鏃堕棿 */ + @Excel(name = "鎬昏涓婄嚎鏃堕棿") + private Date finalAssemblyLaunchTime; + + /** 鎬昏涓嬬嚎鏃堕棿 */ + @Excel(name = "鎬昏涓嬬嚎鏃堕棿") + private Date finalAssemblyOfflineTime; + + /** CVT涓婄嚎鏃堕棿 */ + @Excel(name = "CVT涓婄嚎鏃堕棿") + private Date cvtLaunchTime; + + /** CVT涓嬬嚎鏃堕棿 */ + @Excel(name = "CVT涓嬬嚎鏃堕棿") + private Date cvtOfflineTime; + + public Date getBoxClosingOnlineTime() { + return boxClosingOnlineTime; + } + + public void setBoxClosingOnlineTime(Date boxClosingOnlineTime) { + this.boxClosingOnlineTime = boxClosingOnlineTime; + } + + public Date getClosingBoxOfflineTime() { + return closingBoxOfflineTime; + } + + public void setClosingBoxOfflineTime(Date closingBoxOfflineTime) { + this.closingBoxOfflineTime = closingBoxOfflineTime; + } + + public Date getFinalAssemblyLaunchTime() { + return finalAssemblyLaunchTime; + } + + public void setFinalAssemblyLaunchTime(Date finalAssemblyLaunchTime) { + this.finalAssemblyLaunchTime = finalAssemblyLaunchTime; + } + + public Date getFinalAssemblyOfflineTime() { + return finalAssemblyOfflineTime; + } + + public void setFinalAssemblyOfflineTime(Date finalAssemblyOfflineTime) { + this.finalAssemblyOfflineTime = finalAssemblyOfflineTime; + } + + public Date getCvtLaunchTime() { + return cvtLaunchTime; + } + + public void setCvtLaunchTime(Date cvtLaunchTime) { + this.cvtLaunchTime = cvtLaunchTime; + } + + public Date getCvtOfflineTime() { + return cvtOfflineTime; + } + + public void setCvtOfflineTime(Date cvtOfflineTime) { + this.cvtOfflineTime = cvtOfflineTime; + } + public String[] getDateConditions() { return dateConditions; } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java index ec82a91..9189ab9 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java @@ -6,6 +6,7 @@ import com.jcdm.main.da.opcuaconfig.domain.NodeEntity; import com.jcdm.main.da.opcuaconfig.init.BeanUtils; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; +import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; import lombok.extern.slf4j.Slf4j; import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue; import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId; @@ -18,6 +19,8 @@ @Slf4j public class MethodName { private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class); + private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class); + private List<DataValue> s=null; public void getSn(String Node, String value) throws Exception { log.info(Node+":"+value); String[] parts = Node.split("[.]"); @@ -38,17 +41,21 @@ DaCollectionParamConf daCollectionParamConf=new DaCollectionParamConf(); daCollectionParamConf.setCollectParameterId(parts[0]+"."+parts[1]); b=collectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf); - List<String> ids = b.stream().map(e -> e.getCollectParameterId()).collect(Collectors.toList()); - Set<String> de=ListToSet(ids); - List<DataValue> s=readValues(de); -// s.forEach(element->{ -// DaParamCollection Config=new DaParamCollection(); -// String[] q = element.getIdentifier().split("[.]"); -// Config.setParamCode(q[2]); -// Config.setLocationCode(q[1]); -// Config.setParamValue(element.getValue().toString()); -// daParamCollectionService.insertDaParamCollection(Config); -// }); + + List<NodeId> nodeId = b.stream().map(info -> { + NodeId nodeid = new NodeId(2,info.getCollectParameterId()); + return nodeid; + }).collect(Collectors.toList()); + List<DataValue> s=readValues(nodeId); + + for(int i=0;i<nodeId.size();i++) + { + DaParamCollection Config=new DaParamCollection(); + Config.setParamCode(nodeId.get(i).getIdentifier().toString().split("[.]")[2]); + Config.setLocationCode(nodeId.get(i).getIdentifier().toString().split("[.]")[1]); + Config.setParamValue(s.get(i).getValue().getValue().toString()); + daParamCollectionService.insertDaParamCollection(Config); + } NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build(); Boolean out2=clientHandler.write(node2); log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node2.getIdentifier(),out2); @@ -56,14 +63,5 @@ default: break; } - } - - public Set<String> ListToSet(List<String> list) { - Object[] objects = list.toArray();// 杩斿洖Object鏁扮粍 - String[] strings1 = new String[list.size()]; - list.toArray(strings1);// 灏嗚浆鍖栧悗鐨勬暟缁勬斁鍏ュ凡缁忓垱寤哄ソ鐨勫璞′腑 - String[] strings2 = list.toArray(new String[0]);// 灏嗚浆鍖栧悗鐨勬暟缁勮祴缁欐柊瀵硅薄 - Set<String> set = new HashSet<String>(Arrays.asList(strings2)); - return set; } } diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java index 7ccd646..bdc2dc7 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java @@ -227,12 +227,30 @@ * @return {@link List<DataValue>} * @throws */ - public static List<DataValue> readValues(Set<String> keys){ - List<NodeId> nodeIdList=new ArrayList<>(500); - keys.forEach(e->{ - NodeId nodeId = new NodeId(2, e); - nodeIdList.add(nodeId); - }); +// public static List<DataValue> readValues2(Set<String> keys){ +// List<NodeId> nodeIdList=new ArrayList<>(500); +// keys.forEach(e->{ +// NodeId nodeId = new NodeId(2, e); +// nodeIdList.add(nodeId); +// }); +// try { +// List<DataValue> dataValues=client.readValues(0.0, TimestampsToReturn.Both,nodeIdList).get(); +// return dataValues; +// } catch (InterruptedException | ExecutionException e) { +// e.printStackTrace(); +// } +// return null; +// } + + + /** + * 鏂规硶鎻忚堪: 璇诲彇澶氫釜鐐逛綅鐨勫�� + * + * @param nodeIdList 鐐逛綅闆嗗悎 + * @return {@link List<DataValue>} + * @throws + */ + public static List<DataValue> readValues(List<NodeId> nodeIdList){ try { List<DataValue> dataValues=client.readValues(0.0, TimestampsToReturn.Both,nodeIdList).get(); return dataValues; diff --git a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java index af08e28..7bcd85e 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java +++ b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReceivingServices.java @@ -2,6 +2,9 @@ import cn.hutool.json.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService; @@ -40,16 +43,28 @@ // test1(); // String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_MES_005_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES"; -// +// String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES"; +//// String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + +//// " <soapenv:Header/>\n" + +//// " <soapenv:Body>\n" + +//// " <urn:ZPP_CF_MES_005>\n" + +//// " <!--Optional:-->\n" + +//// " <IV_WERKS>1000</IV_WERKS>\n" + +//// " <!--Optional:-->\n" + +//// " <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" + +//// " </urn:ZPP_CF_MES_005>\n" + +//// " </soapenv:Body>\n" + +//// "</soapenv:Envelope>"; // String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + // " <soapenv:Header/>\n" + // " <soapenv:Body>\n" + -// " <urn:ZPP_CF_MES_005>\n" + -// " <!--Optional:-->\n" + -// " <IV_WERKS>1000</IV_WERKS>\n" + -// " <!--Optional:-->\n" + -// " <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" + -// " </urn:ZPP_CF_MES_005>\n" + +// " <urn:ZPP_BC_001>\n" + +// " <IV_AUFNR>000010569212</IV_AUFNR>\n" + +// " <IV_VORNR>0010</IV_VORNR>\n" + +// " <IV_LMNGA>1</IV_LMNGA>\n" + +// " <IV_XMNGA>0</IV_XMNGA> \n" + +// " <IV_STATU>1</IV_STATU> \n" + +// " </urn:ZPP_BC_001>\n" + // " </soapenv:Body>\n" + // "</soapenv:Envelope>"; // // HttpClient鍙戦�丼OAP璇锋眰 @@ -79,10 +94,10 @@ // InputStream is = postMethod.getResponseBodyAsStream(); // // 鑾峰彇璇锋眰缁撴灉瀛楃涓� // String result = IOUtils.toString(is); -// String jsonStr = xmlToJSON2(result); -// Gson gson = new Gson(); -// // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄 -// ItemList itemList = gson.fromJson(jsonStr, ItemList.class); +//// String jsonStr = xmlToJSON2(result); +//// Gson gson = new Gson(); +//// // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄 +//// ItemList itemList = gson.fromJson(jsonStr, ItemList.class); // System.out.println("杩斿洖缁撴灉:" + result); // } else { // System.out.println("閿欒浠g爜锛�" + status + ":" + postMethod.getResponseBodyAsString()); @@ -195,4 +210,33 @@ return etData.toString(); } + /** + * 鏂瑰紡--璐� + * 浣跨敤hutool宸ュ叿鍖呬腑鐨勫伐鍏疯浆鍖� + * @param xmlStr + * @return + */ + public static String xmlToJSON3(String xmlStr){ + String status = ""; + if(xmlStr.contains("EV_STATUS")){ + JSONObject jsonObject1 = cn.hutool.json.XML.toJSONObject(xmlStr, true); + + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = null; + try { + rootNode = objectMapper.readTree(String.valueOf(jsonObject1)); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + String evStatus = rootNode + .path("SOAP:Envelope") + .path("SOAP:Body") + .path("n0:ZPP_BC_001.Response") + .path("EV_STATUS") + .asText(); + status = evStatus; + } + return status; + } + } diff --git a/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java new file mode 100644 index 0000000..9447ace --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/webservice/service/ReportingForWork.java @@ -0,0 +1,78 @@ +package com.jcdm.main.webservice.service; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.UsernamePasswordCredentials; +import org.apache.commons.httpclient.auth.AuthScope; +import org.apache.commons.httpclient.methods.PostMethod; +import org.apache.commons.httpclient.methods.RequestEntity; +import org.apache.commons.httpclient.methods.StringRequestEntity; +import org.apache.commons.io.IOUtils; + +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; + +public class ReportingForWork { + public static void main(String[] args) throws IOException { + String serviceUrl = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES"; +// String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + +// " <soapenv:Header/>\n" + +// " <soapenv:Body>\n" + +// " <urn:ZPP_CF_MES_005>\n" + +// " <!--Optional:-->\n" + +// " <IV_WERKS>1000</IV_WERKS>\n" + +// " <!--Optional:-->\n" + +// " <IV_ZSCTZD>A0055577</IV_ZSCTZD>\n" + +// " </urn:ZPP_CF_MES_005>\n" + +// " </soapenv:Body>\n" + +// "</soapenv:Envelope>"; + String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + + " <soapenv:Header/>\n" + + " <soapenv:Body>\n" + + " <urn:ZPP_BC_001>\n" + + " <IV_AUFNR>000010569212</IV_AUFNR>\n" + + " <IV_VORNR>0010</IV_VORNR>\n" + + " <IV_LMNGA>1</IV_LMNGA>\n" + + " <IV_XMNGA>0</IV_XMNGA> \n" + + " <IV_STATU>1</IV_STATU> \n" + + " </urn:ZPP_BC_001>\n" + + " </soapenv:Body>\n" + + "</soapenv:Envelope>"; + // HttpClient鍙戦�丼OAP璇锋眰 + int timeout = 10000; + HttpClient client = new HttpClient(); + //濡傛灉闇�瑕佺敤鎴峰悕瀵嗙爜楠岃瘉锛涗笉闇�瑕侀獙璇佺櫥褰曞垯涓嶉渶瑕佷互涓�4琛� + String username = "POMESUSER"; + String password = "12345tgb"; + UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password); + client.getState().setCredentials(AuthScope.ANY, creds); + + PostMethod postMethod = new PostMethod(serviceUrl); + // 璁剧疆杩炴帴瓒呮椂 + client.getHttpConnectionManager().getParams().setConnectionTimeout(timeout); + // 璁剧疆璇诲彇鏃堕棿瓒呮椂 + client.getHttpConnectionManager().getParams().setSoTimeout(timeout); + // 鐒跺悗鎶奡oap璇锋眰鏁版嵁娣诲姞鍒癙ostMethod涓� + RequestEntity requestEntity = new StringRequestEntity(content, "text/xml", "UTF-8"); + + // 璁剧疆璇锋眰澶撮儴锛屽惁鍒欏彲鑳戒細鎶� 鈥渘o SOAPAction header鈥� 鐨勯敊璇� + postMethod.setRequestHeader("SOAPAction", ""); + // 璁剧疆璇锋眰浣� + postMethod.setRequestEntity(requestEntity); + int status = client.executeMethod(postMethod); + + if (status == 200) {// 鎴愬姛 + InputStream is = postMethod.getResponseBodyAsStream(); + // 鑾峰彇璇锋眰缁撴灉瀛楃涓� + String result = IOUtils.toString(is); +// String jsonStr = xmlToJSON2(result); +// Gson gson = new Gson(); +// // 灏唈son瀛楃涓茶浆鎹㈡垚瀵硅薄 +// ItemList itemList = gson.fromJson(jsonStr, ItemList.class); + System.out.println("杩斿洖缁撴灉:" + result); + } else { + System.out.println("閿欒浠g爜锛�" + status + ":" + postMethod.getResponseBodyAsString()); + } + } +} + diff --git a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml index d64a55c..39d1b06 100644 --- a/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml +++ b/jcdm-main/src/main/resources/mapper/bs/orderScheduling/BsOrderSchedulingMapper.xml @@ -32,11 +32,17 @@ <result property="updateTime" column="update_time" /> <result property="remarks" column="remarks" /> <result property="report30" column="report_30" /> + <result property="boxClosingOnlineTime" column="box_closing_online_time" /> + <result property="closingBoxOfflineTime" column="closing_box_offline_time" /> + <result property="finalAssemblyLaunchTime" column="final_assembly_launch_time" /> + <result property="finalAssemblyOfflineTime" column="final_assembly_offline_time" /> + <result property="cvtLaunchTime" column="cvt_launch_time" /> + <result property="cvtOfflineTime" column="cvt_offline_time" /> </resultMap> <sql id="selectBsOrderSchedulingVo"> - select id, order_no, engine_no, product_type, model, production_status, working_hours, current_workstation, quality_status, whether_or_print, report_10, report_20, combined_box_time, final_assembly_time, operator, operate_time, status, spare_field_1, spare_field_2, spare_field_3, spare_field_4, create_user, create_time, update_user, update_time, remarks, report_30 from bs_order_scheduling + select id, order_no, engine_no, product_type, model, production_status, working_hours, current_workstation, quality_status, whether_or_print, report_10, report_20, combined_box_time, final_assembly_time, operator, operate_time, status, spare_field_1, spare_field_2, spare_field_3, spare_field_4, create_user, create_time, update_user, update_time, remarks, report_30, box_closing_online_time, closing_box_offline_time, final_assembly_launch_time, final_assembly_offline_time, cvt_launch_time, cvt_offline_time from bs_order_scheduling </sql> <select id="selectBsOrderSchedulingList" parameterType="BsOrderScheduling" resultMap="BsOrderSchedulingResult"> @@ -67,6 +73,12 @@ <if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if> <if test="report30 != null and report30 != ''"> and report_30 = #{report30}</if> <if test="dateConditions != null and dateConditions != ''"> and operate_time BETWEEN #{startTime} AND #{endTime}</if> + <if test="boxClosingOnlineTime != null and boxClosingOnlineTime != ''"> and box_closing_online_time = #{boxClosingOnlineTime}</if> + <if test="closingBoxOfflineTime != null and closingBoxOfflineTime != ''"> and closing_box_offline_time = #{closingBoxOfflineTime}</if> + <if test="finalAssemblyLaunchTime != null and finalAssemblyLaunchTime != ''"> and final_assembly_launch_time = #{finalAssemblyLaunchTime}</if> + <if test="finalAssemblyOfflineTime != null and finalAssemblyOfflineTime != ''"> and final_assembly_offline_time = #{finalAssemblyOfflineTime}</if> + <if test="cvtLaunchTime != null and cvtLaunchTime != ''"> and cvt_launch_time = #{cvtLaunchTime}</if> + <if test="cvtOfflineTime != null and cvtOfflineTime != ''"> and cvt_offline_time = #{cvtOfflineTime}</if> </where> @@ -118,6 +130,12 @@ <if test="updateTime != null">update_time,</if> <if test="remarks != null">remarks,</if> <if test="report30 != null">report_30,</if> + <if test="boxClosingOnlineTime != null">box_closing_online_time,</if> + <if test="closingBoxOfflineTime != null">closing_box_offline_time,</if> + <if test="finalAssemblyLaunchTime != null">final_assembly_launch_time,</if> + <if test="finalAssemblyOfflineTime != null">final_assembly_offline_time,</if> + <if test="cvtLaunchTime != null">cvt_launch_time,</if> + <if test="cvtOfflineTime != null">cvt_offline_time,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="orderNo != null">#{orderNo},</if> @@ -146,6 +164,12 @@ <if test="updateTime != null">#{updateTime},</if> <if test="remarks != null">#{remarks},</if> <if test="report30 != null">#{report30},</if> + <if test="boxClosingOnlineTime != null">#{boxClosingOnlineTime},</if> + <if test="closingBoxOfflineTime != null">#{closingBoxOfflineTime},</if> + <if test="finalAssemblyLaunchTime != null">#{finalAssemblyLaunchTime},</if> + <if test="finalAssemblyOfflineTime != null">#{finalAssemblyOfflineTime},</if> + <if test="cvtLaunchTime != null">#{cvtLaunchTime},</if> + <if test="cvtOfflineTime != null">#{cvtOfflineTime},</if> </trim> </insert> @@ -179,6 +203,12 @@ <if test="updateTime != null">update_time = #{updateTime},</if> <if test="remarks != null">remarks = #{remarks},</if> <if test="report30 != null">report_30 = #{report30},</if> + <if test="boxClosingOnlineTime != null">box_closing_online_time = #{boxClosingOnlineTime},</if> + <if test="closingBoxOfflineTime != null">closing_box_offline_time = #{closingBoxOfflineTime},</if> + <if test="finalAssemblyLaunchTime != null">final_assembly_launch_time = #{finalAssemblyLaunchTime},</if> + <if test="finalAssemblyOfflineTime != null">final_assembly_offline_time = #{finalAssemblyOfflineTime},</if> + <if test="cvtLaunchTime != null">cvt_launch_time = #{cvtLaunchTime},</if> + <if test="cvtOfflineTime != null">cvt_offline_time = #{cvtOfflineTime},</if> </trim> where id = #{id} diff --git a/jcdm-quartz/pom.xml b/jcdm-quartz/pom.xml index 145876e..fd2d43a 100644 --- a/jcdm-quartz/pom.xml +++ b/jcdm-quartz/pom.xml @@ -35,6 +35,11 @@ <artifactId>jcdm-common</artifactId> </dependency> + <dependency> + <groupId>com.jcdm</groupId> + <artifactId>jcdm-main</artifactId> + </dependency> + </dependencies> </project> \ No newline at end of file diff --git a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java index d0f1e89..5752e5b 100644 --- a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java +++ b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java @@ -1,7 +1,13 @@ package com.jcdm.quartz.task; +import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; +import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; +import com.jcdm.main.webservice.service.ReceivingServices; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.jcdm.common.utils.StringUtils; + +import java.util.List; /** * 瀹氭椂浠诲姟璋冨害娴嬭瘯 @@ -25,4 +31,58 @@ { System.out.println("鎵ц鏃犲弬鏂规硶"); } + + @Autowired + private IBsOrderSchedulingService bsOrderSchedulingService; + String url = "http://podqapp.cfmoto.com.cn:50200/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES"; + public void workReportingTasks(){ + report10(); + report20(); + } + + public void report10(){ + BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); + bsOrderScheduling.setReport10("0"); + List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling); + for (BsOrderScheduling orderScheduling : bsOrderSchedulings) { + String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0010")); + String status = ReceivingServices.xmlToJSON3(xmlResult); + if(status.equals("1")){ + orderScheduling.setReport10("1"); + int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling); + System.out.println("鏇存柊鐘舵�佹垚鍔�"); + } + } + } + + public void report20(){ + BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); + bsOrderScheduling.setReport20("0"); + List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling); + for (BsOrderScheduling orderScheduling : bsOrderSchedulings) { + String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0790")); + String status = ReceivingServices.xmlToJSON3(xmlResult); + if(status.equals("1")){ + orderScheduling.setReport10("1"); + int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling); + System.out.println("鏇存柊鐘舵�佹垚鍔�"); + } + } + } + + public static String getProductionPlanInformationXml(String orderNo,String location){ + String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" + + " <soapenv:Header/>\n" + + " <soapenv:Body>\n" + + " <urn:ZPP_BC_001>\n" + + " <IV_AUFNR>"+orderNo+"</IV_AUFNR>\n" + + " <IV_VORNR>"+location+"</IV_VORNR>\n" + + " <IV_LMNGA>1</IV_LMNGA>\n" + + " <IV_XMNGA>0</IV_XMNGA> \n" + + " <IV_STATU>1</IV_STATU> \n" + + " </urn:ZPP_BC_001>\n" + + " </soapenv:Body>\n" + + "</soapenv:Envelope>"; + return content; + } } diff --git a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js index fade52c..aef47eb 100644 --- a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js +++ b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js @@ -18,6 +18,15 @@ }) } +// 鏌ヨ宸ヨ壓鏂囦欢 +export function getMainProductProcess(query) { + return request({ + url: '/bs/formulaChild/getMainProductProcess', + method: 'post', + data: query + }) +} + // 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭缁� export function getFormulaChild(id) { return request({ diff --git a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js index 8727d5c..6ab9b97 100644 --- a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js +++ b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js @@ -8,7 +8,13 @@ params: query }) } - +export function listOrderScheduling2(query) { + return request({ + url: '/bs/orderScheduling/list2', + method: 'get', + params: query + }) +} // 鏌ヨ璁㈠崟鎺掍骇璇︾粏 export function getOrderScheduling(id) { return request({ diff --git a/jcdm-ui/src/views/dashboard/PanelGroup.vue b/jcdm-ui/src/views/dashboard/PanelGroup.vue index f7b6b93..7301305 100644 --- a/jcdm-ui/src/views/dashboard/PanelGroup.vue +++ b/jcdm-ui/src/views/dashboard/PanelGroup.vue @@ -1,6 +1,7 @@ <template> <el-row :gutter="40" class="panel-group"> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> + <div class="top2">鍗曟棩绱浜ч噺</div> + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('newVisitis')"> <div class="card-panel-icon-wrapper icon-people"> <svg-icon icon-class="peoples" class-name="card-panel-icon" /> @@ -13,7 +14,7 @@ </div> </div> </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('messages')"> <div class="card-panel-icon-wrapper icon-message"> <svg-icon icon-class="message" class-name="card-panel-icon" /> @@ -26,7 +27,7 @@ </div> </div> </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('purchases')"> <div class="card-panel-icon-wrapper icon-money"> <svg-icon icon-class="money" class-name="card-panel-icon" /> @@ -39,7 +40,7 @@ </div> </div> </el-col> - <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col"> + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> <div class="card-panel" @click="handleSetLineChartData('shoppings')"> <div class="card-panel-icon-wrapper icon-shopping"> <svg-icon icon-class="shopping" class-name="card-panel-icon" /> @@ -52,7 +53,38 @@ </div> </div> </el-col> + + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> + <div class="card-panel" @click="handleSetLineChartData('shoppings')"> + <div class="card-panel-icon-wrapper icon-shopping"> + <svg-icon icon-class="shopping" class-name="card-panel-icon" /> + </div> + <div class="card-panel-description"> + <div class="card-panel-text"> + CVT涓婄嚎 + </div> + <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> + </div> + </div> + </el-col> + + <el-col :xs="12" :sm="12" :lg="4" class="card-panel-col"> + <div class="card-panel" @click="handleSetLineChartData('shoppings')"> + <div class="card-panel-icon-wrapper icon-shopping"> + <svg-icon icon-class="shopping" class-name="card-panel-icon" /> + </div> + <div class="card-panel-description"> + <div class="card-panel-text"> + CVT涓嬬嚎 + </div> + <count-to :start-val="0" :end-val="13600" :duration="3600" class="card-panel-num" /> + </div> + </div> + </el-col> + + </el-row> + </template> <script> @@ -71,6 +103,12 @@ </script> <style lang="scss" scoped> +.top2{ + font-size: 26px; + font-weight: bold; + margin-bottom: 16px; +} + .panel-group { margin-top: 18px; diff --git a/jcdm-ui/src/views/main/bs/beatSetting/index.vue b/jcdm-ui/src/views/main/bs/beatSetting/index.vue index 6179c36..ca3770f 100644 --- a/jcdm-ui/src/views/main/bs/beatSetting/index.vue +++ b/jcdm-ui/src/views/main/bs/beatSetting/index.vue @@ -78,7 +78,7 @@ </el-table-column> <el-table-column label="浜у搧鍚嶇О" align="center" prop="productName"> </el-table-column> - <el-table-column label="鑺傛媿" align="center" prop="beat"> + <el-table-column label="鑺傛媿(S)" align="center" prop="beat"> </el-table-column> <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> diff --git a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue index 38f14ba..3117645 100644 --- a/jcdm-ui/src/views/main/bs/orderScheduling/index.vue +++ b/jcdm-ui/src/views/main/bs/orderScheduling/index.vue @@ -194,12 +194,24 @@ <el-table-column label="CVT鎶ュ伐" align="center" prop="report30"> </el-table-column> - <el-table-column label="鍚堢涓婄嚎" align="center" prop="combinedBoxTime"> - + <el-table-column label="鍚堢涓婄嚎鏃堕棿" align="center" prop="boxClosingOnlineTime" width="160"> </el-table-column> - <el-table-column label="鎬昏涓嬬嚎" align="center" prop="finalAssemblyTime"> - + <el-table-column label="鍚堢涓嬬嚎鏃堕棿" align="center" prop="closingBoxOfflineTime" width="160"> </el-table-column> + <el-table-column label="鎬昏涓婄嚎鏃堕棿" align="center" prop="finalAssemblyLaunchTime" width="160"> + </el-table-column> + <el-table-column label="鎬昏涓嬬嚎鏃堕棿" align="center" prop="finalAssemblyOfflineTime" width="160"> + </el-table-column> + <el-table-column label="CVT涓婄嚎鏃堕棿" align="center" prop="cvtLaunchTime" width="160"> + </el-table-column> + <el-table-column label="CVT涓嬬嚎鏃堕棿" align="center" prop="cvtOfflineTime" width="160"> + </el-table-column> +<!-- <el-table-column label="鍚堢涓婄嚎" align="center" prop="combinedBoxTime">--> + +<!-- </el-table-column>--> +<!-- <el-table-column label="鎬昏涓嬬嚎" align="center" prop="finalAssemblyTime">--> + +<!-- </el-table-column>--> <el-table-column label="鎿嶄綔浜�" align="center" prop="operator"> </el-table-column> @@ -516,7 +528,13 @@ updateUser: null, updateTime: null, remarks: null, - report30: null + report30: null, + boxClosingOnlineTime: null, + closingBoxOfflineTime: null, + finalAssemblyLaunchTime: null, + finalAssemblyOfflineTime: null, + cvtLaunchTime: null, + cvtOfflineTime: null }; this.resetForm("form"); }, diff --git a/jcdm-ui/src/views/main/cfkb/Instructions/index.vue b/jcdm-ui/src/views/main/cfkb/Instructions/index.vue index 835ee13..8e5781f 100644 --- a/jcdm-ui/src/views/main/cfkb/Instructions/index.vue +++ b/jcdm-ui/src/views/main/cfkb/Instructions/index.vue @@ -69,17 +69,36 @@ </el-col> </el-row> + <div> + <el-dialog + title="宸ヨ壓鏂囦欢" + :visible.sync="dialogVisible" + width="70%" + lock-scroll="false" + @close="closeMethod" + + > + <div><el-image style="height: 1090px;width: 960px;margin-left: 33px" :src="mainProcessSrc"></el-image></div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> </div> + </template> <script> -import {listFormulaChild, getProductProcess} from "@/api/main/bs/formulaChild/formulaChild"; +import {getMainProductProcess, getProductProcess} from "@/api/main/bs/formulaChild/formulaChild"; import {listStationConf,getIp} from "@/api/main/sc/stationConf"; export default { name: "index", data() { return { + dialogVisible: false, + mainProcessSrc: '', + mainProcess: [], isClickd: '', // 鍒濆鍖栦负鏈偣鍑荤姸鎬� locationCode: "鏈厤缃�", locationName: "鏈厤缃伐浣�", @@ -173,6 +192,9 @@ }); }, + closeMethod(){ + this.mainProcessSrc = '' + }, //鑾峰彇褰撳墠鏃堕棿 getNowTime () { let speed = 1000 @@ -242,7 +264,13 @@ this.getUpOrDown(1) }, processDocuments(){ - + getMainProductProcess(this.queryParams).then(res => { + this.mainProcess = res.rows + if (res.rows!=null && res.rows.length>0){ + this.mainProcessSrc = res.rows[0].img + } + }) + this.dialogVisible = true }, changeProducts(val){ @@ -257,7 +285,7 @@ /** 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛� */ this.queryParams.productCode = val; this.queryParams.processesCode = this.locationCode - listFormulaChild(this.queryParams).then(response => { + getProductProcess(this.queryParams).then(response => { this.tableData = []; this.cleanImg() this.tableData = response.rows; @@ -340,6 +368,12 @@ .active { background-color: #31b431; /* 鐐瑰嚮鍚庣殑鑳屾櫙鑹� */ } - +::v-deep .el-dialog { + height: 90%; + overflow-y: auto; +} +::v-deep .el-dialog__footer{ + margin-top: 10px; +} </style> diff --git a/jcdm-ui/src/views/main/kb/prepareOnline/index.vue b/jcdm-ui/src/views/main/kb/prepareOnline/index.vue index f259571..3a4c8ac 100644 --- a/jcdm-ui/src/views/main/kb/prepareOnline/index.vue +++ b/jcdm-ui/src/views/main/kb/prepareOnline/index.vue @@ -15,14 +15,14 @@ </el-form-item> <el-form-item style="margin-left: 360px"> <el-checkbox-group v-model="queryParams.isRepairFlag"> - <el-checkbox name="type"></el-checkbox> + <el-checkbox @change="cleanFlag" name="type"></el-checkbox> </el-checkbox-group> </el-form-item> - <el-form-item label-width="120" label="杩斾慨鍙戝姩鏈哄彿:" prop="engineNo" style="margin-left: 5px"> + <el-form-item label-width="120" label="杩斾慨鍙戝姩鏈哄彿:" prop="repairEngineNo" style="margin-left: 5px"> <el-input :disabled="!queryParams.isRepairFlag" - v-model="queryParams.engineNo" + v-model="queryParams.repairEngineNo" clearable @keyup.enter.native="handleQuery" /> @@ -92,7 +92,7 @@ </template> <script> -import {listOrderScheduling} from "@/api/main/bs/orderScheduling/orderScheduling"; +import {listOrderScheduling2} from "@/api/main/bs/orderScheduling/orderScheduling"; import VueQr from 'vue-qr' export default { name: "index", @@ -107,7 +107,7 @@ queryParams: { orderNo: '', isRepairFlag: '', - engineNo: '' + repairEngineNo: '' }, dataList: [] } @@ -118,7 +118,7 @@ this.getList(); }, getList(){ - listOrderScheduling(this.queryParams).then(response => { + listOrderScheduling2(this.queryParams).then(response => { console.log("--------------------"+response.rows) this.dataList = response.rows if (this.queryParams.orderNo === '' || this.queryParams.orderNo === null){ @@ -137,6 +137,11 @@ filterTag(value, row) { return row.tag === value; }, + cleanFlag(){ + if (this.queryParams.isRepairFlag === false){ + this.queryParams.repairEngineNo = '' + } + }, filterHandler(value, row, column) { const property = column['property']; return row[property] === value; -- Gitblit v1.9.3