Browse Source

数据拉取定时任务、逻辑补充

zhouyy 1 tháng trước cách đây
mục cha
commit
04a0de9a59

+ 14 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/QRCodeController.java

@@ -2,7 +2,6 @@ package com.management.platform.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.google.zxing.WriterException;
 import com.management.platform.entity.ErpOrderInfo;
 import com.management.platform.mapper.ErpOrderInfoMapper;
@@ -10,6 +9,7 @@ import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.QRCodeUtil;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -32,21 +32,29 @@ public class QRCodeController {
     @Value("${upload.path}")
     private String uploadPath;
 
+    private static final int specialCompanyId = 7536;
+
     @RequestMapping("/generateQRCodeByErpIds")
     public HttpRespMsg generateQRCodeByErpIds(@RequestParam("erpIds")String erpIds){
         HttpRespMsg msg = new HttpRespMsg();
         String[] split = erpIds.split(",");
         List<String> list = Arrays.asList(split);
-        List<ErpOrderInfo> erpList = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>()
-                .in(ErpOrderInfo::getId,list)
-        );
+        if(StringUtils.isBlank(erpIds) || list.isEmpty()){
+            msg.setError("编号不能为空");
+            return msg;
+        }
+        List<ErpOrderInfo> erpList = erpOrderInfoMapper.getWithProject(list,specialCompanyId);
+//        List<ErpOrderInfo> erpList = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>()
+//                .in(ErpOrderInfo::getId,list)
+//        );
         String[] filesToZip = new String[erpList.size()];
         int index = 0;
         for (ErpOrderInfo erpOrderInfo : erpList) {
             String data = JSON.toJSONString(erpOrderInfo);
             int width = 300; // 二维码宽度
             int height = 300; // 二维码高度
-            String fileName = "项目二维码_"+null!=erpOrderInfo.getMoDId()?erpOrderInfo.getMoDId():""+System.currentTimeMillis()+".png";
+            String s = null != erpOrderInfo.getMoDId() ? erpOrderInfo.getMoDId() : "";
+            String fileName = "项目二维码_"+s+System.currentTimeMillis()+".png";
             try {
                 QRCodeUtil.generateQRCodeImage(data, width, height, uploadPath+fileName);
             } catch (WriterException e) {
@@ -58,7 +66,7 @@ public class QRCodeController {
                 msg.setError("二维码生成失败,请联系管理员");
                 return msg;
             }
-            filesToZip[index] = fileName;
+            filesToZip[index] = uploadPath+fileName;
             index++;
         }
 

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ErpOrderInfo.java

@@ -45,4 +45,7 @@ public class ErpOrderInfo extends Model<ErpOrderInfo> {
 
     @TableField(exist = false)
     private Integer pageSize;
+
+    @TableField(exist = false)
+    private String trueProjectId;
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ErpOrderInfoMapper.java

@@ -14,4 +14,6 @@ public interface ErpOrderInfoMapper extends BaseMapper<ErpOrderInfo> {
     List<String> getExistIds(@Param("moIds") List<String> moIds);
 
     List<ErpOrderInfo> getPageInfo(@Param("erpOrderInfo") ErpOrderInfo erpOrderInfo);
+
+    List<ErpOrderInfo> getWithProject(@Param("erpIds") List<String> erpIds,@Param("specialCompanyId") int specialCompanyId);
 }

+ 8 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ErpOrderInfoMapper.xml

@@ -34,4 +34,12 @@
             ORDER BY rels_date DESC , id DESC
         </where>
     </select>
+    <select id="getWithProject" resultType="com.management.platform.entity.ErpOrderInfo">
+        select eoi.id,eoi.order_id,eoi.project_id,eoi.project_name,eoi.line,eoi.status,eoi.moDId,
+               p.id as trueProjectId
+        from erp_order_info eoi
+                 left join project p on eoi.project_id = p.project_code
+        where p.company_id = #{specialCompanyId}
+        and eoi.id in <foreach collection="erpIds" item="erpId" open="(" close=")" separator=",">#{erpId}</foreach>
+    </select>
 </mapper>