From 5966d6d329279119f3af29508b97c1d2c0bbe2bd Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期二, 14 五月 2024 09:07:33 +0800
Subject: [PATCH] -测试设备接口保存

---
 jcdm-main/src/main/resources/mapper/da/testDeviceInterface/DaTestDeviceInterfaceMapper.xml                      |  136 ++++++
 jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/impl/DaTestDeviceInterfaceServiceImpl.java |  100 ++++
 jcdm-ui/src/api/main/da/testDeviceInterface/testDeviceInterface.js                                              |   44 ++
 jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java    |  129 +++++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java         |   64 ++
 jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/mapper/DaTestDeviceInterfaceMapper.java            |   63 ++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java            |    9 
 jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java                                      |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/IDaTestDeviceInterfaceService.java         |   63 ++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java                 |    2 
 jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/domain/DaTestDeviceInterface.java                  |  273 ++++++++++++
 jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java                            |    1 
 jcdm-ui/src/views/main/da/testDeviceInterface/index.vue                                                         |  399 ++++++++++++++++++
 13 files changed, 1,285 insertions(+), 0 deletions(-)

diff --git a/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java b/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
index 94e0f6c..a854bc1 100644
--- a/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
+++ b/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
@@ -117,6 +117,8 @@
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                 .antMatchers("/sendDemo/push").permitAll()
                 .antMatchers("/jcdmMes/deviceResultFeedback").permitAll()
+                .antMatchers("/da/testDeviceInterface/**").permitAll()
+                .antMatchers("/main/paramCollection/**").permitAll()
                 // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇�
                 .anyRequest().authenticated()
                 .and()
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
index ba74362..43539c1 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
@@ -42,6 +42,15 @@
     }
 
     /**
+     * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃
+     */
+    @GetMapping("/testput")
+    public void testput()
+    {
+        daParamCollectionService.pushGeelycvMesFeedback("80012","OP240");
+    }
+
+    /**
      * 瀵煎嚭璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃
      */
     @PreAuthorize("@ss.hasPermi('main:paramCollection:export')")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
index f4e3bff..98b24e7 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
@@ -77,4 +77,6 @@
 
     void jrmSaveCampaignTimeParameters(DaParamCollection daParamCollection);
     void sendToFactoryMes(String stationCode,String productNum );
+
+    void pushGeelycvMesFeedback(String packID,String stationCode);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
index e2162b1..a64fe47 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java
@@ -18,6 +18,7 @@
 import com.jcdm.main.constant.Constants;
 import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
 import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper;
+import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
@@ -33,9 +34,12 @@
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -71,6 +75,9 @@
 
     @Autowired
     private IDaParamCollectionService daParamCollectionService;
+
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
 
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦
@@ -411,4 +418,61 @@
         HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(vo)).execute();
 
     }
+
+    @Override
+    public void pushGeelycvMesFeedback(String packID, String stationCode) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback";
+        String totalResult = "0";
+        List<DaParamCollection> paramList = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getSfcCode, packID).eq(DaParamCollection::getLocationCode, stationCode));
+        if(paramList.size() > 0){
+            ParentVO parentVO = new ParentVO();
+            parentVO.setSiteCode("3983");
+            parentVO.setRecordId(String.valueOf(Instant.now().toEpochMilli()));
+            parentVO.setStationCode(stationCode);
+            parentVO.setProductNum(packID);
+            parentVO.setTotalResult("1");
+            List<ChildVO> listChildVo = new ArrayList<>();
+
+            for (DaParamCollection daParamCollection : paramList) {
+                ChildVO childVO = new ChildVO();
+                childVO.setItemCode(daParamCollection.getParamCode());
+                BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode()));
+                DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()));
+                if(childOne!=null){
+                    String operationType = childOne.getOperationType();
+                    if(operationType.equals("1")){
+                        childVO.setItemType("2");
+                    }else if(operationType.equals("2")){
+                        childVO.setItemType("1");
+                    }
+                }else {
+                    childVO.setItemType("3");
+                }
+                if(paramConfOne!=null){
+                    childVO.setItemText(paramConfOne.getCollectParameterName());
+                }else {
+                    childVO.setItemText("");
+                }
+                childVO.setItemValue(daParamCollection.getParamValue());
+
+                if(daParamCollection.getParamValue().equals("1")){
+                    childVO.setCheckResult("1");
+                }else if(daParamCollection.getParamValue().equals("2")){
+                    childVO.setCheckResult("0");
+                    parentVO.setTotalResult("0");
+                    totalResult = "1";
+                }else {
+                    childVO.setCheckResult("1");
+                }
+                childVO.setCheckTime(format.format(daParamCollection.getCollectionTime()));
+                listChildVo.add(childVO);
+            }
+            parentVO.setCheckList(listChildVo);
+            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+            System.out.println(execute.body());
+            System.out.println("-----------------------"+totalResult);
+        }
+
+    }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java
new file mode 100644
index 0000000..6ed9e03
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/controller/DaTestDeviceInterfaceController.java
@@ -0,0 +1,129 @@
+package com.jcdm.main.da.testDeviceInterface.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.JsonObject;
+import com.jcdm.main.restful.qingYan.doman.ChildVO;
+import com.jcdm.main.restful.qingYan.doman.ParentVO;
+import com.jcdm.main.webservice.ItemList;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jcdm.common.annotation.Log;
+import com.jcdm.common.core.controller.BaseController;
+import com.jcdm.common.core.domain.AjaxResult;
+import com.jcdm.common.enums.BusinessType;
+import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface;
+import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService;
+import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.common.core.page.TableDataInfo;
+
+/**
+ * 娴嬭瘯璁惧鎺ュ彛鏁版嵁Controller
+ * 
+ * @author hdy
+ * @date 2024-05-13
+ */
+@RestController
+@RequestMapping("/da/testDeviceInterface")
+public class DaTestDeviceInterfaceController extends BaseController
+{
+    @Autowired
+    private IDaTestDeviceInterfaceService daTestDeviceInterfaceService;
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     */
+    @PostMapping("/testPut")
+    public AjaxResult list(@RequestBody ParentVO parentVO) throws JsonProcessingException {
+        ObjectMapper mapper = new ObjectMapper();
+        List<ChildVO> li = parentVO.getCheckList();
+        String s = mapper.writeValueAsString(li);
+        DaTestDeviceInterface daTestDeviceInterface = new DaTestDeviceInterface();
+        daTestDeviceInterface.setRecordId(parentVO.getRecordId());
+        daTestDeviceInterface.setStationCode(parentVO.getStationCode());
+        daTestDeviceInterface.setProductNum(parentVO.getProductNum());
+        daTestDeviceInterface.setTotalResult(parentVO.getTotalResult());
+        daTestDeviceInterface.setCheckList(s);
+        daTestDeviceInterfaceService.save(daTestDeviceInterface);
+        return AjaxResult.success("i");
+    }
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(DaTestDeviceInterface daTestDeviceInterface)
+    {
+        startPage();
+        List<DaTestDeviceInterface> list = daTestDeviceInterfaceService.selectDaTestDeviceInterfaceList(daTestDeviceInterface);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:export')")
+    @Log(title = "娴嬭瘯璁惧鎺ュ彛鏁版嵁", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DaTestDeviceInterface daTestDeviceInterface)
+    {
+        List<DaTestDeviceInterface> list = daTestDeviceInterfaceService.selectDaTestDeviceInterfaceList(daTestDeviceInterface);
+        ExcelUtil<DaTestDeviceInterface> util = new ExcelUtil<DaTestDeviceInterface>(DaTestDeviceInterface.class);
+        util.exportExcel(response, list, "娴嬭瘯璁惧鎺ュ彛鏁版嵁鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇娴嬭瘯璁惧鎺ュ彛鏁版嵁璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(daTestDeviceInterfaceService.selectDaTestDeviceInterfaceById(id));
+    }
+
+    /**
+     * 鏂板娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:add')")
+    @Log(title = "娴嬭瘯璁惧鎺ュ彛鏁版嵁", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody DaTestDeviceInterface daTestDeviceInterface)
+    {
+        return toAjax(daTestDeviceInterfaceService.insertDaTestDeviceInterface(daTestDeviceInterface));
+    }
+
+    /**
+     * 淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:edit')")
+    @Log(title = "娴嬭瘯璁惧鎺ュ彛鏁版嵁", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody DaTestDeviceInterface daTestDeviceInterface)
+    {
+        return toAjax(daTestDeviceInterfaceService.updateDaTestDeviceInterface(daTestDeviceInterface));
+    }
+
+    /**
+     * 鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    @PreAuthorize("@ss.hasPermi('da:testDeviceInterface:remove')")
+    @Log(title = "娴嬭瘯璁惧鎺ュ彛鏁版嵁", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(daTestDeviceInterfaceService.deleteDaTestDeviceInterfaceByIds(ids));
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/domain/DaTestDeviceInterface.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/domain/DaTestDeviceInterface.java
new file mode 100644
index 0000000..8dad391
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/domain/DaTestDeviceInterface.java
@@ -0,0 +1,273 @@
+package com.jcdm.main.da.testDeviceInterface.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jcdm.common.annotation.Excel;
+import com.jcdm.common.core.domain.BaseEntity;
+
+/**
+ * 娴嬭瘯璁惧鎺ュ彛鏁版嵁瀵硅薄 da_test_device_interface
+ * 
+ * @author hdy
+ * @date 2024-05-13
+ */
+public class DaTestDeviceInterface extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 妫�楠岃褰曠紪鍙凤紝鐢卞悇璁惧鎸夎嚜瀹氳鍒欑敓鎴愶紝鍞竴缂栫爜 */
+    @Excel(name = "妫�楠岃褰曠紪鍙凤紝鐢卞悇璁惧鎸夎嚜瀹氳鍒欑敓鎴愶紝鍞竴缂栫爜")
+    private String recordId;
+
+    /** 妫�娴嬬珯鐐圭紪鍙� */
+    @Excel(name = "妫�娴嬬珯鐐圭紪鍙�")
+    private String stationCode;
+
+    /** 浜у搧搴忓垪鍙�-pack鐮� */
+    @Excel(name = "浜у搧搴忓垪鍙�-pack鐮�")
+    private String productNum;
+
+    /** 鏁翠綋缁撴灉 锛�0 涓嶅悎鏍� 锛� 1 鍚堟牸锛� */
+    @Excel(name = "鏁翠綋缁撴灉 ", readConverterExp = "0=,涓�=鍚堟牸,锛�=,1=,鍚�=鏍�")
+    private String totalResult;
+
+    /** 宸ュ崟鍙� */
+    @Excel(name = "宸ュ崟鍙�")
+    private String workOrderNo;
+
+    /** 渚涘簲鍟嗙被鍨� */
+    @Excel(name = "渚涘簲鍟嗙被鍨�")
+    private String supplierType;
+
+    /** 鍏ュ弬-鍙傛暟鍒楄〃 */
+    @Excel(name = "鍏ュ弬-鍙傛暟鍒楄〃")
+    private String checkList;
+
+    /** 鐘舵�佺紪鐮侊紙success涓烘垚鍔�,fail涓哄け璐ワ級 */
+    @Excel(name = "鐘舵�佺紪鐮�", readConverterExp = "s=uccess涓烘垚鍔�,fail涓哄け璐�")
+    private String resultCode;
+
+    /** 鎺ュ彛鐨勮繑鍥炰俊鎭紝褰揻ail鏃朵細鏈夋姤閿欎俊鎭� */
+    @Excel(name = "鎺ュ彛鐨勮繑鍥炰俊鎭紝褰揻ail鏃朵細鏈夋姤閿欎俊鎭�")
+    private String resultMessage;
+
+    /** 鍑哄弬-鍙傛暟鍒楄〃 */
+    @Excel(name = "鍑哄弬-鍙傛暟鍒楄〃")
+    private String resultData;
+
+    /** 澶囨敞 */
+    @Excel(name = "澶囨敞")
+    private String remarks;
+
+    /** 鍒涘缓鐢ㄦ埛 */
+    @Excel(name = "鍒涘缓鐢ㄦ埛")
+    private String createUser;
+
+    /** 鏇存敼鐢ㄦ埛 */
+    @Excel(name = "鏇存敼鐢ㄦ埛")
+    private String updateUser;
+
+    /** 棰勭暀瀛楁1 */
+    private String spareField1;
+
+    /** 棰勭暀瀛楁2 */
+    private String spareField2;
+
+    /** 棰勭暀瀛楁3 */
+    private String spareField3;
+
+    /** 棰勭暀瀛楁4 */
+    private String spareField4;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setRecordId(String recordId) 
+    {
+        this.recordId = recordId;
+    }
+
+    public String getRecordId() 
+    {
+        return recordId;
+    }
+    public void setStationCode(String stationCode) 
+    {
+        this.stationCode = stationCode;
+    }
+
+    public String getStationCode() 
+    {
+        return stationCode;
+    }
+    public void setProductNum(String productNum) 
+    {
+        this.productNum = productNum;
+    }
+
+    public String getProductNum() 
+    {
+        return productNum;
+    }
+    public void setTotalResult(String totalResult) 
+    {
+        this.totalResult = totalResult;
+    }
+
+    public String getTotalResult() 
+    {
+        return totalResult;
+    }
+    public void setWorkOrderNo(String workOrderNo) 
+    {
+        this.workOrderNo = workOrderNo;
+    }
+
+    public String getWorkOrderNo() 
+    {
+        return workOrderNo;
+    }
+    public void setSupplierType(String supplierType) 
+    {
+        this.supplierType = supplierType;
+    }
+
+    public String getSupplierType() 
+    {
+        return supplierType;
+    }
+    public void setCheckList(String checkList) 
+    {
+        this.checkList = checkList;
+    }
+
+    public String getCheckList() 
+    {
+        return checkList;
+    }
+    public void setResultCode(String resultCode) 
+    {
+        this.resultCode = resultCode;
+    }
+
+    public String getResultCode() 
+    {
+        return resultCode;
+    }
+    public void setResultMessage(String resultMessage) 
+    {
+        this.resultMessage = resultMessage;
+    }
+
+    public String getResultMessage() 
+    {
+        return resultMessage;
+    }
+    public void setResultData(String resultData) 
+    {
+        this.resultData = resultData;
+    }
+
+    public String getResultData() 
+    {
+        return resultData;
+    }
+    public void setRemarks(String remarks) 
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks() 
+    {
+        return remarks;
+    }
+    public void setCreateUser(String createUser) 
+    {
+        this.createUser = createUser;
+    }
+
+    public String getCreateUser() 
+    {
+        return createUser;
+    }
+    public void setUpdateUser(String updateUser) 
+    {
+        this.updateUser = updateUser;
+    }
+
+    public String getUpdateUser() 
+    {
+        return updateUser;
+    }
+    public void setSpareField1(String spareField1) 
+    {
+        this.spareField1 = spareField1;
+    }
+
+    public String getSpareField1() 
+    {
+        return spareField1;
+    }
+    public void setSpareField2(String spareField2) 
+    {
+        this.spareField2 = spareField2;
+    }
+
+    public String getSpareField2() 
+    {
+        return spareField2;
+    }
+    public void setSpareField3(String spareField3) 
+    {
+        this.spareField3 = spareField3;
+    }
+
+    public String getSpareField3() 
+    {
+        return spareField3;
+    }
+    public void setSpareField4(String spareField4) 
+    {
+        this.spareField4 = spareField4;
+    }
+
+    public String getSpareField4() 
+    {
+        return spareField4;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("recordId", getRecordId())
+            .append("stationCode", getStationCode())
+            .append("productNum", getProductNum())
+            .append("totalResult", getTotalResult())
+            .append("workOrderNo", getWorkOrderNo())
+            .append("supplierType", getSupplierType())
+            .append("checkList", getCheckList())
+            .append("resultCode", getResultCode())
+            .append("resultMessage", getResultMessage())
+            .append("resultData", getResultData())
+            .append("remarks", getRemarks())
+            .append("createUser", getCreateUser())
+            .append("createTime", getCreateTime())
+            .append("updateUser", getUpdateUser())
+            .append("updateTime", getUpdateTime())
+            .append("spareField1", getSpareField1())
+            .append("spareField2", getSpareField2())
+            .append("spareField3", getSpareField3())
+            .append("spareField4", getSpareField4())
+            .toString();
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/mapper/DaTestDeviceInterfaceMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/mapper/DaTestDeviceInterfaceMapper.java
new file mode 100644
index 0000000..ca298d3
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/mapper/DaTestDeviceInterfaceMapper.java
@@ -0,0 +1,63 @@
+package com.jcdm.main.da.testDeviceInterface.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface;
+
+/**
+ * 娴嬭瘯璁惧鎺ュ彛鏁版嵁Mapper鎺ュ彛
+ * 
+ * @author hdy
+ * @date 2024-05-13
+ */
+public interface DaTestDeviceInterfaceMapper extends BaseMapper<DaTestDeviceInterface>
+{
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    public DaTestDeviceInterface selectDaTestDeviceInterfaceById(Long id);
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁闆嗗悎
+     */
+    public List<DaTestDeviceInterface> selectDaTestDeviceInterfaceList(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 鏂板娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    public int insertDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    public int updateDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaTestDeviceInterfaceById(Long id);
+
+    /**
+     * 鎵归噺鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaTestDeviceInterfaceByIds(Long[] ids);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/IDaTestDeviceInterfaceService.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/IDaTestDeviceInterfaceService.java
new file mode 100644
index 0000000..614db68
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/IDaTestDeviceInterfaceService.java
@@ -0,0 +1,63 @@
+package com.jcdm.main.da.testDeviceInterface.service;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface;
+
+/**
+ * 娴嬭瘯璁惧鎺ュ彛鏁版嵁Service鎺ュ彛
+ * 
+ * @author hdy
+ * @date 2024-05-13
+ */
+public interface IDaTestDeviceInterfaceService extends IService<DaTestDeviceInterface>
+{
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    public DaTestDeviceInterface selectDaTestDeviceInterfaceById(Long id);
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁闆嗗悎
+     */
+    public List<DaTestDeviceInterface> selectDaTestDeviceInterfaceList(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 鏂板娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    public int insertDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    public int updateDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface);
+
+    /**
+     * 鎵归噺鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteDaTestDeviceInterfaceByIds(Long[] ids);
+
+    /**
+     * 鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁淇℃伅
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteDaTestDeviceInterfaceById(Long id);
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/impl/DaTestDeviceInterfaceServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/impl/DaTestDeviceInterfaceServiceImpl.java
new file mode 100644
index 0000000..8014b2b
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/testDeviceInterface/service/impl/DaTestDeviceInterfaceServiceImpl.java
@@ -0,0 +1,100 @@
+package com.jcdm.main.da.testDeviceInterface.service.impl;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jcdm.common.utils.DateUtils;
+import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
+import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.jcdm.main.da.testDeviceInterface.mapper.DaTestDeviceInterfaceMapper;
+import com.jcdm.main.da.testDeviceInterface.domain.DaTestDeviceInterface;
+import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService;
+
+/**
+ * 娴嬭瘯璁惧鎺ュ彛鏁版嵁Service涓氬姟灞傚鐞�
+ * 
+ * @author hdy
+ * @date 2024-05-13
+ */
+@Service
+public class DaTestDeviceInterfaceServiceImpl extends ServiceImpl<DaTestDeviceInterfaceMapper, DaTestDeviceInterface> implements IDaTestDeviceInterfaceService
+{
+    @Autowired
+    private DaTestDeviceInterfaceMapper daTestDeviceInterfaceMapper;
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    @Override
+    public DaTestDeviceInterface selectDaTestDeviceInterfaceById(Long id)
+    {
+        return daTestDeviceInterfaceMapper.selectDaTestDeviceInterfaceById(id);
+    }
+
+    /**
+     * 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     */
+    @Override
+    public List<DaTestDeviceInterface> selectDaTestDeviceInterfaceList(DaTestDeviceInterface daTestDeviceInterface)
+    {
+        return daTestDeviceInterfaceMapper.selectDaTestDeviceInterfaceList(daTestDeviceInterface);
+    }
+
+    /**
+     * 鏂板娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface)
+    {
+        daTestDeviceInterface.setCreateTime(DateUtils.getNowDate());
+        return daTestDeviceInterfaceMapper.insertDaTestDeviceInterface(daTestDeviceInterface);
+    }
+
+    /**
+     * 淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param daTestDeviceInterface 娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateDaTestDeviceInterface(DaTestDeviceInterface daTestDeviceInterface)
+    {
+        daTestDeviceInterface.setUpdateTime(DateUtils.getNowDate());
+        return daTestDeviceInterfaceMapper.updateDaTestDeviceInterface(daTestDeviceInterface);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaTestDeviceInterfaceByIds(Long[] ids)
+    {
+        return daTestDeviceInterfaceMapper.deleteDaTestDeviceInterfaceByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁淇℃伅
+     * 
+     * @param id 娴嬭瘯璁惧鎺ュ彛鏁版嵁涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteDaTestDeviceInterfaceById(Long id)
+    {
+        return daTestDeviceInterfaceMapper.deleteDaTestDeviceInterfaceById(id);
+    }
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java b/jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java
index 5e2a543..0c63fdf 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java
@@ -9,6 +9,7 @@
     public static void main(String[] args) {
         String str = "uuuuuu11uuuuuuuuuuuuuuu";
         System.out.println(str.length());
+//        getWorkReportResultFeedback()
     }
 
     public static final String getRealmName = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration";
diff --git a/jcdm-main/src/main/resources/mapper/da/testDeviceInterface/DaTestDeviceInterfaceMapper.xml b/jcdm-main/src/main/resources/mapper/da/testDeviceInterface/DaTestDeviceInterfaceMapper.xml
new file mode 100644
index 0000000..66f52df
--- /dev/null
+++ b/jcdm-main/src/main/resources/mapper/da/testDeviceInterface/DaTestDeviceInterfaceMapper.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jcdm.main.da.testDeviceInterface.mapper.DaTestDeviceInterfaceMapper">
+    
+    <resultMap type="DaTestDeviceInterface" id="DaTestDeviceInterfaceResult">
+        <result property="id"    column="id"    />
+        <result property="recordId"    column="record_id"    />
+        <result property="stationCode"    column="station_code"    />
+        <result property="productNum"    column="product_num"    />
+        <result property="totalResult"    column="total_result"    />
+        <result property="workOrderNo"    column="work_order_no"    />
+        <result property="supplierType"    column="supplier_type"    />
+        <result property="checkList"    column="check_list"    />
+        <result property="resultCode"    column="result_code"    />
+        <result property="resultMessage"    column="result_message"    />
+        <result property="resultData"    column="result_data"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateUser"    column="update_user"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="spareField1"    column="spare_field1"    />
+        <result property="spareField2"    column="spare_field2"    />
+        <result property="spareField3"    column="spare_field3"    />
+        <result property="spareField4"    column="spare_field4"    />
+    </resultMap>
+
+    <sql id="selectDaTestDeviceInterfaceVo">
+        select id, record_id, station_code, product_num, total_result, work_order_no, supplier_type, check_list, result_code, result_message, result_data, remarks, create_user, create_time, update_user, update_time, spare_field1, spare_field2, spare_field3, spare_field4 from da_test_device_interface
+    </sql>
+
+    <select id="selectDaTestDeviceInterfaceList" parameterType="DaTestDeviceInterface" resultMap="DaTestDeviceInterfaceResult">
+        <include refid="selectDaTestDeviceInterfaceVo"/>
+        <where>  
+            <if test="recordId != null  and recordId != ''"> and record_id = #{recordId}</if>
+            <if test="stationCode != null  and stationCode != ''"> and station_code = #{stationCode}</if>
+            <if test="productNum != null  and productNum != ''"> and product_num = #{productNum}</if>
+            <if test="totalResult != null  and totalResult != ''"> and total_result = #{totalResult}</if>
+            <if test="workOrderNo != null  and workOrderNo != ''"> and work_order_no = #{workOrderNo}</if>
+            <if test="supplierType != null  and supplierType != ''"> and supplier_type = #{supplierType}</if>
+            <if test="resultCode != null  and resultCode != ''"> and result_code = #{resultCode}</if>
+        </where>
+    </select>
+    
+    <select id="selectDaTestDeviceInterfaceById" parameterType="Long" resultMap="DaTestDeviceInterfaceResult">
+        <include refid="selectDaTestDeviceInterfaceVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertDaTestDeviceInterface" parameterType="DaTestDeviceInterface">
+        insert into da_test_device_interface
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="recordId != null">record_id,</if>
+            <if test="stationCode != null">station_code,</if>
+            <if test="productNum != null">product_num,</if>
+            <if test="totalResult != null">total_result,</if>
+            <if test="workOrderNo != null">work_order_no,</if>
+            <if test="supplierType != null">supplier_type,</if>
+            <if test="checkList != null">check_list,</if>
+            <if test="resultCode != null">result_code,</if>
+            <if test="resultMessage != null">result_message,</if>
+            <if test="resultData != null">result_data,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="createUser != null">create_user,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateUser != null">update_user,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="spareField1 != null">spare_field1,</if>
+            <if test="spareField2 != null">spare_field2,</if>
+            <if test="spareField3 != null">spare_field3,</if>
+            <if test="spareField4 != null">spare_field4,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="recordId != null">#{recordId},</if>
+            <if test="stationCode != null">#{stationCode},</if>
+            <if test="productNum != null">#{productNum},</if>
+            <if test="totalResult != null">#{totalResult},</if>
+            <if test="workOrderNo != null">#{workOrderNo},</if>
+            <if test="supplierType != null">#{supplierType},</if>
+            <if test="checkList != null">#{checkList},</if>
+            <if test="resultCode != null">#{resultCode},</if>
+            <if test="resultMessage != null">#{resultMessage},</if>
+            <if test="resultData != null">#{resultData},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="createUser != null">#{createUser},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateUser != null">#{updateUser},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="spareField1 != null">#{spareField1},</if>
+            <if test="spareField2 != null">#{spareField2},</if>
+            <if test="spareField3 != null">#{spareField3},</if>
+            <if test="spareField4 != null">#{spareField4},</if>
+         </trim>
+    </insert>
+
+    <update id="updateDaTestDeviceInterface" parameterType="DaTestDeviceInterface">
+        update da_test_device_interface
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="recordId != null">record_id = #{recordId},</if>
+            <if test="stationCode != null">station_code = #{stationCode},</if>
+            <if test="productNum != null">product_num = #{productNum},</if>
+            <if test="totalResult != null">total_result = #{totalResult},</if>
+            <if test="workOrderNo != null">work_order_no = #{workOrderNo},</if>
+            <if test="supplierType != null">supplier_type = #{supplierType},</if>
+            <if test="checkList != null">check_list = #{checkList},</if>
+            <if test="resultCode != null">result_code = #{resultCode},</if>
+            <if test="resultMessage != null">result_message = #{resultMessage},</if>
+            <if test="resultData != null">result_data = #{resultData},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="createUser != null">create_user = #{createUser},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateUser != null">update_user = #{updateUser},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="spareField1 != null">spare_field1 = #{spareField1},</if>
+            <if test="spareField2 != null">spare_field2 = #{spareField2},</if>
+            <if test="spareField3 != null">spare_field3 = #{spareField3},</if>
+            <if test="spareField4 != null">spare_field4 = #{spareField4},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteDaTestDeviceInterfaceById" parameterType="Long">
+        delete from da_test_device_interface where id = #{id}
+    </delete>
+
+    <delete id="deleteDaTestDeviceInterfaceByIds" parameterType="String">
+        delete from da_test_device_interface where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/jcdm-ui/src/api/main/da/testDeviceInterface/testDeviceInterface.js b/jcdm-ui/src/api/main/da/testDeviceInterface/testDeviceInterface.js
new file mode 100644
index 0000000..0e41bd1
--- /dev/null
+++ b/jcdm-ui/src/api/main/da/testDeviceInterface/testDeviceInterface.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃
+export function listTestDeviceInterface(query) {
+  return request({
+    url: '/da/testDeviceInterface/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁璇︾粏
+export function getTestDeviceInterface(id) {
+  return request({
+    url: '/da/testDeviceInterface/' + id,
+    method: 'get'
+  })
+}
+
+// 鏂板娴嬭瘯璁惧鎺ュ彛鏁版嵁
+export function addTestDeviceInterface(data) {
+  return request({
+    url: '/da/testDeviceInterface',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁
+export function updateTestDeviceInterface(data) {
+  return request({
+    url: '/da/testDeviceInterface',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁
+export function delTestDeviceInterface(id) {
+  return request({
+    url: '/da/testDeviceInterface/' + id,
+    method: 'delete'
+  })
+}
diff --git a/jcdm-ui/src/views/main/da/testDeviceInterface/index.vue b/jcdm-ui/src/views/main/da/testDeviceInterface/index.vue
new file mode 100644
index 0000000..9e6d15d
--- /dev/null
+++ b/jcdm-ui/src/views/main/da/testDeviceInterface/index.vue
@@ -0,0 +1,399 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="妫�楠岃褰曠紪鍙�" prop="recordId">
+            <el-input
+              v-model="queryParams.recordId"
+              placeholder="璇疯緭鍏ユ楠岃褰曠紪鍙凤紝鐢卞悇璁惧鎸夎嚜瀹氳鍒欑敓鎴愶紝鍞竴缂栫爜"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="绔欑偣缂栧彿" prop="stationCode">
+            <el-input
+              v-model="queryParams.stationCode"
+              placeholder="璇疯緭鍏ユ娴嬬珯鐐圭紪鍙�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="pack鐮�" prop="productNum">
+            <el-input
+              v-model="queryParams.productNum"
+              placeholder="璇疯緭鍏ヤ骇鍝佸簭鍒楀彿-pack鐮�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="鏁翠綋缁撴灉 " prop="totalResult">
+            <el-input
+              v-model="queryParams.totalResult"
+              placeholder="璇疯緭鍏ユ暣浣撶粨鏋� "
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+            <el-input
+              v-model="queryParams.workOrderNo"
+              placeholder="璇疯緭鍏ュ伐鍗曞彿"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+<!--          <el-form-item label="渚涘簲鍟嗙被鍨�" prop="supplierType">-->
+<!--            <el-select v-model="queryParams.supplierType" placeholder="璇烽�夋嫨渚涘簲鍟嗙被鍨�" clearable>-->
+<!--              <el-option-->
+<!--                v-for="dict in dict.type.${dictType}"-->
+<!--                :key="dict.value"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="鐘舵�佺紪鐮�" prop="resultCode">
+            <el-input
+              v-model="queryParams.resultCode"
+              placeholder="璇疯緭鍏ョ姸鎬佺紪鐮�"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item style="float: right">
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+          </el-form-item>
+        </el-form>
+    </el-card>
+
+    <el-card style="margin-top: 10px" class="box-card">
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              plain
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['da:testDeviceInterface:add']"
+            >鏂板</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              plain
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['da:testDeviceInterface:edit']"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              plain
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['da:testDeviceInterface:remove']"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              plain
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['da:testDeviceInterface:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+        </el-row>
+
+        <el-table border v-loading="loading" :data="testDeviceInterfaceList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="id" align="center" prop="id" />
+          <el-table-column label="妫�楠岃褰曠紪鍙�" align="center" prop="recordId">
+          </el-table-column>
+          <el-table-column label="绔欑偣缂栧彿" align="center" prop="stationCode">
+          </el-table-column>
+          <el-table-column label="pack鐮�" align="center" prop="productNum">
+          </el-table-column>
+          <el-table-column label="鏁翠綋缁撴灉 " align="center" prop="totalResult">
+          </el-table-column>
+          <el-table-column label="宸ュ崟鍙�" align="center" prop="workOrderNo">
+          </el-table-column>
+          <el-table-column label="渚涘簲鍟嗙被鍨�" align="center" prop="supplierType">
+          </el-table-column>
+          <el-table-column label="鍏ュ弬" align="center" prop="checkList">
+          </el-table-column>
+          <el-table-column label="鐘舵�佺紪鐮�" align="center" prop="resultCode">
+          </el-table-column>
+          <el-table-column label="杩斿洖淇℃伅" align="center" prop="resultMessage">
+          </el-table-column>
+          <el-table-column label="鍑哄弬" align="center" prop="resultData">
+          </el-table-column>
+          <el-table-column label="鍒涘缓鐢ㄦ埛" align="center" prop="createUser">
+          </el-table-column>
+          <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
+          </el-table-column>
+          <el-table-column label="鏇存敼鐢ㄦ埛" align="center" prop="updateUser">
+          </el-table-column>
+          <el-table-column label="鏇存敼鏃堕棿" align="center" prop="updateTime">
+          </el-table-column>
+          <el-table-column fixed="right" width="200" label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="success"
+                plain
+                style="width: 72px"
+                icon="el-icon-edit"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['da:testDeviceInterface:edit']"
+              >淇敼</el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                plain
+                style="width: 72px"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['da:testDeviceInterface:remove']"
+              >鍒犻櫎</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+    </el-card>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀规祴璇曡澶囨帴鍙f暟鎹璇濇 -->
+    <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
+      <span slot="title">
+        <i class="el-icon-s-order"></i>
+        {{titleName}}
+      </span>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="妫�楠岃褰曠紪鍙凤紝鐢卞悇璁惧鎸夎嚜瀹氳鍒欑敓鎴愶紝鍞竴缂栫爜" prop="recordId">
+          <el-input v-model="form.recordId" placeholder="璇疯緭鍏ユ楠岃褰曠紪鍙凤紝鐢卞悇璁惧鎸夎嚜瀹氳鍒欑敓鎴愶紝鍞竴缂栫爜" />
+        </el-form-item>
+        <el-form-item label="妫�娴嬬珯鐐圭紪鍙�" prop="stationCode">
+          <el-input v-model="form.stationCode" placeholder="璇疯緭鍏ユ娴嬬珯鐐圭紪鍙�" />
+        </el-form-item>
+        <el-form-item label="浜у搧搴忓垪鍙�-pack鐮�" prop="productNum">
+          <el-input v-model="form.productNum" placeholder="璇疯緭鍏ヤ骇鍝佸簭鍒楀彿-pack鐮�" />
+        </el-form-item>
+        <el-form-item label="鏁翠綋缁撴灉 " prop="totalResult">
+          <el-input v-model="form.totalResult" placeholder="璇疯緭鍏ユ暣浣撶粨鏋� " />
+        </el-form-item>
+        <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+          <el-input v-model="form.workOrderNo" placeholder="璇疯緭鍏ュ伐鍗曞彿" />
+        </el-form-item>
+<!--        <el-form-item label="渚涘簲鍟嗙被鍨�" prop="supplierType">-->
+<!--          <el-select v-model="form.supplierType" placeholder="璇烽�夋嫨渚涘簲鍟嗙被鍨�">-->
+<!--            <el-option-->
+<!--              v-for="dict in dict.type.${dictType}"-->
+<!--              :key="dict.value"-->
+<!--              :label="dict.label"-->
+<!--              :value="dict.value"-->
+<!--            ></el-option>-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
+        <el-form-item label="鍏ュ弬-鍙傛暟鍒楄〃" prop="checkList">
+          <el-input v-model="form.checkList" placeholder="璇疯緭鍏ュ叆鍙�-鍙傛暟鍒楄〃" />
+        </el-form-item>
+        <el-form-item label="鐘舵�佺紪鐮�" prop="resultCode">
+          <el-input v-model="form.resultCode" placeholder="璇疯緭鍏ョ姸鎬佺紪鐮�" />
+        </el-form-item>
+        <el-form-item label="鎺ュ彛鐨勮繑鍥炰俊鎭紝褰揻ail鏃朵細鏈夋姤閿欎俊鎭�" prop="resultMessage">
+          <el-input v-model="form.resultMessage" placeholder="璇疯緭鍏ユ帴鍙g殑杩斿洖淇℃伅锛屽綋fail鏃朵細鏈夋姤閿欎俊鎭�" />
+        </el-form-item>
+        <el-form-item label="鍑哄弬-鍙傛暟鍒楄〃" prop="resultData">
+          <el-input v-model="form.resultData" placeholder="璇疯緭鍏ュ嚭鍙�-鍙傛暟鍒楄〃" />
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+        <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listTestDeviceInterface, getTestDeviceInterface, delTestDeviceInterface, addTestDeviceInterface, updateTestDeviceInterface } from "@/api/main/da/testDeviceInterface/testDeviceInterface";
+
+export default {
+  name: "TestDeviceInterface",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      titleName: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 娴嬭瘯璁惧鎺ュ彛鏁版嵁琛ㄦ牸鏁版嵁
+      testDeviceInterfaceList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        recordId: null,
+        stationCode: null,
+        productNum: null,
+        totalResult: null,
+        workOrderNo: null,
+        supplierType: null,
+        resultCode: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨ娴嬭瘯璁惧鎺ュ彛鏁版嵁鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listTestDeviceInterface(this.queryParams).then(response => {
+        this.testDeviceInterfaceList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        recordId: null,
+        stationCode: null,
+        productNum: null,
+        totalResult: null,
+        workOrderNo: null,
+        supplierType: null,
+        checkList: null,
+        resultCode: null,
+        resultMessage: null,
+        resultData: null,
+        remarks: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        spareField1: null,
+        spareField2: null,
+        spareField3: null,
+        spareField4: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.titleName = "娣诲姞娴嬭瘯璁惧鎺ュ彛鏁版嵁";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTestDeviceInterface(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.titleName = "淇敼娴嬭瘯璁惧鎺ュ彛鏁版嵁";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTestDeviceInterface(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTestDeviceInterface(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎娴嬭瘯璁惧鎺ュ彛鏁版嵁缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delTestDeviceInterface(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('da/testDeviceInterface/export', {
+        ...this.queryParams
+      }, `testDeviceInterface_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

--
Gitblit v1.9.3