Browse Source

数据拉取

zhouyy 2 weeks ago
parent
commit
a6e16a833c

+ 4 - 4
fhKeeper/formulahousekeeper/collectdata/src/main/java/com/management/collectdata/controller/DataCollectController.java

@@ -258,11 +258,11 @@ public class DataCollectController {
 //        String sqlCount = "select count(*) from mom_orderdetail where status in (3,4) ";
         String sqlCount = "select count(*) " +
                 "from ( " +
-                "    select mo.cbSysBarCode,SUBSTRING(mo.cbSysBarCode, 8, 14) as orderId,mo.Define24,mo.Define25 " +
+                "    select mo.cbSysBarCode,substring(cbSysBarCode,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)+1,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1) + 1)-CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)-1) as orderId,mo.Define24,mo.Define25 " +
                 "     ,RIGHT(mo.cbSysBarCode,1) as line,mo.Status,cb.cDeptID,cb.cDepName,mo.MoDId " +
                 " " +
                 "from mom_orderdetail mo " +
-                " left join ca_batchmap cb on SUBSTRING(mo.cbSysBarCode, 8, 14) = cb.cMOCode and RIGHT(mo.cbSysBarCode,1) = cb.iMOSubSN " +
+                " left join ca_batchmap cb on substring(cbSysBarCode,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)+1,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1) + 1)-CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)-1)= cb.cMOCode and RIGHT(mo.cbSysBarCode,1) = cb.iMOSubSN " +
                 " where mo.Status = 3 " +
                 "         )tmp ";
         int totalCount = 0;
@@ -285,10 +285,10 @@ public class DataCollectController {
 //                " from mom_orderdetail " +
 //                " where status in (3,4) "
 //                +" ORDER BY MoDId OFFSET ? ROWS FETCH NEXT ? ROWS ONLY ";
-        String sqlQuery = "select mo.MoDId,SUBSTRING(mo.cbSysBarCode, 8, 14) as orderId,mo.Define24  as projectId,mo.Define25  as projectName,mo.relsdate" +
+        String sqlQuery = "select mo.MoDId,substring(cbSysBarCode,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)+1,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1) + 1)-CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)-1) as orderId,mo.Define24  as projectId,mo.Define25  as projectName,mo.relsdate" +
                 "     ,RIGHT(mo.cbSysBarCode,1) as line,mo.Status,cb.cDeptID,cb.cDepName " +
                 " from mom_orderdetail mo " +
-                " left join ca_batchmap cb on SUBSTRING(mo.cbSysBarCode, 8, 14) = cb.cMOCode and RIGHT(mo.cbSysBarCode,1) = cb.iMOSubSN " +
+                " left join ca_batchmap cb on substring(cbSysBarCode,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)+1,CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1) + 1)-CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode, CHARINDEX('|', cbSysBarCode) + 1) + 1)-1) = cb.cMOCode and RIGHT(mo.cbSysBarCode,1) = cb.iMOSubSN " +
                 " where mo.Status = 3 " +
                 " ORDER BY mo.MoDId OFFSET ? ROWS FETCH NEXT ? ROWS ONLY ";
         List<ErpOrderInfo> resList = new ArrayList<>();

+ 33 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/QRCodeController.java

@@ -20,6 +20,7 @@ import javax.imageio.ImageIO;
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -36,6 +37,33 @@ public class QRCodeController {
 
     private static final int specialCompanyId = 7536;
 
+    private static final List<String> SPECIAL_CHARS = new ArrayList<>();
+    static {
+        SPECIAL_CHARS.add("\\");
+        SPECIAL_CHARS.add("/");
+        SPECIAL_CHARS.add(":");
+        SPECIAL_CHARS.add(":");
+        SPECIAL_CHARS.add("*");
+        SPECIAL_CHARS.add("?");
+        SPECIAL_CHARS.add("\"");
+        SPECIAL_CHARS.add("<");
+        SPECIAL_CHARS.add(">");
+        SPECIAL_CHARS.add("|");
+    }
+
+    private String replaceChar(String str){
+        String res = "";
+        if(StringUtils.isBlank(str)){
+            return res;
+        }
+        for (String specialChar : SPECIAL_CHARS) {
+            if(str.contains(specialChar)){
+                res = str.replace(specialChar,"-");
+            }
+        }
+        return res;
+    }
+
     @RequestMapping("/generateQRCodeByErpIds")
     public HttpRespMsg generateQRCodeByErpIds(@RequestParam("erpIds")String erpIds){
         HttpRespMsg msg = new HttpRespMsg();
@@ -60,13 +88,9 @@ public class QRCodeController {
             String footerLine1 = String.format("工单号: %s",null == erpOrderInfo.getOrderId()?"":erpOrderInfo.getOrderId());
             String footerLine2 = String.format("行号: %s",null == erpOrderInfo.getLine()?"":erpOrderInfo.getLine());
 
-            String s = null != erpOrderInfo.getMoDId() ? erpOrderInfo.getMoDId() : "";
-            String finalProjectName = erpOrderInfo.getProjectName();
-            if(finalProjectName.contains("/") || finalProjectName.contains("\\")){
-                finalProjectName = finalProjectName.replace("/","-");
-                finalProjectName = finalProjectName.replace("\\","-");
-            }
-            String fileName = finalProjectName+erpOrderInfo.getOrderId()+erpOrderInfo.getLine()+".png";
+//            String s = null != erpOrderInfo.getMoDId() ? erpOrderInfo.getMoDId() : "";
+            String fileName = erpOrderInfo.getProjectName()+erpOrderInfo.getOrderId()+erpOrderInfo.getLine()+".png";
+            fileName = replaceChar(fileName);
 
             try {
                 BufferedImage qrImage = QRCodeUtil.generateQRCodeImage(data, width, height);
@@ -137,12 +161,8 @@ public class QRCodeController {
 
         int width = 300; // 二维码宽度
         int height = 300; // 二维码高度
-        String finalProjectName = erpOrderInfo.getProjectName();
-        if(finalProjectName.contains("/") || finalProjectName.contains("\\")){
-            finalProjectName = finalProjectName.replace("/","-");
-            finalProjectName = finalProjectName.replace("\\","-");
-        }
-        String fileName = finalProjectName+erpOrderInfo.getOrderId()+erpOrderInfo.getLine()+".png";
+        String fileName = erpOrderInfo.getProjectName()+erpOrderInfo.getOrderId()+erpOrderInfo.getLine()+".png";
+        fileName = replaceChar(fileName);
         try {
             BufferedImage qrImage = QRCodeUtil.generateQRCodeImage(data, width, height);
             // 创建带标题和两行底部文字的完整图片

+ 0 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -9,7 +9,6 @@ import com.management.platform.service.StagesService;
 import com.management.platform.service.TaskService;
 import com.management.platform.util.MessageUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.ParameterizedTypeReference;
 import org.springframework.http.*;