pruple_boy hace 1 año
padre
commit
2e3f42c184

+ 44 - 1
mjava-aiwei/src/main/java/com/malk/aiwei/service/impl/AWImplClient.java

@@ -952,7 +952,7 @@ public class AWImplClient implements AWClint {
     @Override
     public void syncCheckList(YDParam srcParam, Map<String, ?> compIds, String taskCompId, String codeCompId, String checkType, String associationCompId) {
 
-        String curFormUuid = "FORM-1A5D4D7FBF88409B956EBE51F9342A6BKOLP";
+        String curFormUuid = _matchFormUuid("CHECK");
         // 数据来源表
         List<Map> srcList = ydService.queryFormData_all(srcParam);
         // 当前记录表
@@ -1066,6 +1066,49 @@ public class AWImplClient implements AWClint {
     public void test() {
 
     }
+
+
+    /// tmp: 5.22 处理检查项重复数据
+    private void _test() {
+        List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
+                .formUuid("FORM-6E2C0D1197264B8AA23EB3FECAE7344B00BN")
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lqxuswze", "A2328")))
+                .build());
+
+        dataList.forEach(item -> {
+            List<Map> details = (List<Map>) item.get("tableField_lqxxgj4s");
+            String formInstanceId = String.valueOf(item.get("formInstanceId"));
+            if (details.size() == 50) {
+                YDParam ydParam = YDParam.builder().formUuid("FORM-6E2C0D1197264B8AA23EB3FECAE7344B00BN").formInstanceId(formInstanceId).tableFieldId("tableField_lqxxgj4s").build();
+                details = ydService.queryDetails(ydParam);
+            }
+            if (!details.stream().filter(row -> "技术评审要素表".equals(row.get("selectField_lrnd3h0s"))).findAny().isPresent()) {
+                return;
+            }
+            details = details.stream().filter(row -> !"IC技术检查表".equals(row.get("selectField_lrnd3h0s"))).collect(Collectors.toList());
+            details.forEach(record -> {
+//                String tmp = ((List<Map<String, String>>) JSON.parse(String.valueOf(JSON.parse(String.valueOf(record.get("associationFormField_lrrnem5r_id")))))).get(0).get("title");
+//                if (tmp.startsWith("TR")) {
+//                    record.put("selectField_lrnd3h0s", "TR评审要素表");
+//                } else if (tmp.contains("-")) {
+//                    record.put("selectField_lrnd3h0s", "IC技术检查表");
+//                } else {
+//                    record.put("selectField_lrnd3h0s", "经验库");
+//                }
+                if ("技术评审要素表".equals(record.get("selectField_lrnd3h0s"))) {
+                    record.put("selectField_lrnd3h0s", "IC技术检查表");
+                }
+                record.put("associationFormField_lrrnem5r", JSON.parse(String.valueOf(record.get("associationFormField_lrrnem5r_id"))));
+            });
+            log.info("------, {}, {}, {}", details.size(), formInstanceId, details);
+
+            ydClient.operateData(YDParam.builder()
+                    .formInstanceId(String.valueOf(item.get("formInstanceId")))
+                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("tableField_lqxxgj4s", details)))
+                    .build(), YDConf.FORM_OPERATION.update);
+        });
+    }
+
 }
 
 

+ 13 - 2
mjava-cloudpure/src/main/java/com/malk/cloudpure/controller/XBBController.java

@@ -1,12 +1,14 @@
 package com.malk.cloudpure.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.malk.cloudpure.service.CPClient;
 import com.malk.server.common.McException;
 import com.malk.server.common.McR;
 import com.malk.server.xbongbong.XBBConf;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Contacts;
 import com.malk.service.xbongbong.XBBClient;
+import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -99,7 +102,7 @@ public class XBBController {
 
         List<Map> customers = new ArrayList<>();
         customers.addAll(_likeContractList(XBBConf.API_LIST_contract, "钉钉", data.get("name"), data.get("userId")));
-        // prd 5.9 中台停用
+        // prd 5.9 Teambition合同中台停用
         //customers.addAll(_likeContractList(XBBConf.API_LIST_contract, "Teambition", data.get("name"), data.get("userId")));
 
         log.info("合同响应, {}", customers);
@@ -124,10 +127,18 @@ public class XBBController {
     @Autowired
     private DDClient_Contacts ddClient_contacts;
 
+    @Autowired
+    private CPClient cpClient;
+
     @PostMapping("test")
     McR test() {
 
-        ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), "16608972969409067");
+        //ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), "16608972969409067");
+        LocalDate date = UtilDateTime.parseLocalDate("2024-05-15");
+        cpClient.syncXBongBongForRecord_all(date);
+
+        String sDate = UtilDateTime.formatDate(UtilDateTime.parseDate("2024-05-15"));
+        cpClient.syncDingTalkLogForRecord(sDate);
         return McR.success();
     }
 }

+ 3 - 2
mjava-cloudpure/src/main/java/com/malk/cloudpure/service/impl/CPImplClient.java

@@ -149,8 +149,9 @@ public class CPImplClient implements CPClient {
                 XBBConf.getConditionMap("creatorId", "equal", userId),
                 XBBConf.getConditionMap("addTime", "range", start, end));
         List<Map> dataList = xbbClient.getDataList(url, 864843, conditions, null);
-        List<Map> dataList2 = xbbClient.getDataList(url, 1283232, conditions, null);
-        dataList.addAll(dataList2);
+        // prd 5.9 Teambition合同中台停用
+        //List<Map> dataList2 = xbbClient.getDataList(url, 1283232, conditions, null);
+        //dataList.addAll(dataList2);
         // 数据筛选: 合同金额 num_1
         return dataList.stream().map(item -> ((Map) item.get("data"))).collect(Collectors.toList());
     }

+ 13 - 0
mjava-hake/src/main/java/com/malk/hake/controller/HKController.java

@@ -137,4 +137,17 @@ public class HKController {
         });
         return McR.success();
     }
+
+    @GetMapping("test2")
+    McR test2() {
+
+        ydClient.operateData(YDParam.builder()
+                .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                .formInstanceId("ce82e168-ade5-494c-b781-5e5ce3fc451e")
+                .updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_lr383i3u", "test")))
+                .useLatestVersion(true)
+                .build(), YDConf.FORM_OPERATION.update);
+        return McR.success();
+    }
 }

+ 13 - 0
mjava-hangshi/src/main/java/com/malk/hangshi/schedule/HSScheduleTask.java

@@ -32,4 +32,17 @@ public class HSScheduleTask {
             e.printStackTrace();
         }
     }
+
+    /**
+     * 每天8点同步
+     */
+    @Scheduled(cron = "0 30 9 * * ? ")
+    public void syncHangShiInfo() {
+        try {
+            hsService.syncHangShiInfo();
+        } catch (Exception e) {
+            // 记录错误信息
+            e.printStackTrace();
+        }
+    }
 }

+ 5 - 0
mjava-hangshi/src/main/java/com/malk/hangshi/service/HSService.java

@@ -13,4 +13,9 @@ public interface HSService {
      * 组织人数
      */
     int getCorpCount();
+
+    /**
+     * 同步航食数据
+     */
+    void syncHangShiInfo();
 }

+ 140 - 0
mjava-hangshi/src/main/java/com/malk/hangshi/service/impl/HSImplService.java

@@ -1,17 +1,26 @@
 package com.malk.hangshi.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
 import com.malk.hangshi.service.HSService;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
 import com.malk.server.dingtalk.DDConf;
+import com.malk.service.aliwork.YDClient;
 import com.malk.service.dingtalk.DDClient;
 import com.malk.service.dingtalk.DDClient_Contacts;
+import com.malk.utils.UtilDateTime;
+import com.malk.utils.UtilHttp;
 import com.malk.utils.UtilMap;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
+import java.time.LocalDate;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -77,4 +86,135 @@ public class HSImplService implements HSService {
     public int getCorpCount() {
         return ddClient_contacts.getUserCount(ddClient.getAccessToken(), true);
     }
+
+    @Autowired
+    private YDClient ydClient;
+
+    //进出口
+    private final static String OUTINURL = "https://eacconsole.ceair.com/api/WBPM1-eaccart/statistical/asis/list";
+    //餐车数
+    private final static String CARURL = "https://eacconsole.ceair.com/api/WBPM1-eaccart/cartAbnormal/abnormal";
+    
+    @Override
+    public void syncHangShiInfo() {
+
+        YDParam ydParam = YDParam.builder()
+                .appType("APP_RNU2SVHDBJX8KIFTWVYZ")
+                .systemToken("H7966HA1OP38AMWZAHPAB6GZSTR134F87IWDLH")
+                .formUuid("FORM-YU966T91NP38DWF5FKBBK6G90HWP3BRBQIWDL1") //获取所有航食列表
+                .build();
+        List<Map> dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
+
+
+        //遍历航食数据
+        dataList.forEach(dataItem -> {
+            Map map = (Map) dataItem.get("formData");
+
+            String hsName = map.get("textField_ldwirsz3").toString();
+            String hsId = map.get("textField_lvxkvjcw").toString();
+
+            LocalDate currentDate = LocalDate.now();
+            LocalDate previousDay = currentDate.minusDays(1);
+
+            //获取库存
+            String rsp = getOutInInfo(getToken(), hsId, previousDay.toString(), OUTINURL);
+            Map result = (Map) JSON.parse(rsp);
+
+            Map hashMap = new HashMap();
+            Map maps = (Map) result.get("osisList");
+            List<Map> mapList = (List<Map>) maps.get("data");
+
+            DecimalFormat df = new DecimalFormat("#.##");
+            mapList.forEach(mapItem -> {
+                Map map1 = (Map) mapItem.get("dynamicInventoryStatistical");
+                hashMap.put("numberField_ldwi9du2", map1.get("longNumber"));  //昨日库存长
+                hashMap.put("numberField_ldwi9du3", map1.get("shortNumber"));  //昨日库存长
+                hashMap.put("numberField_ldwi9du4", map1.get("total"));  //昨日总库存
+                Map map2 = (Map) mapItem.get("inputCartStatistical");
+                hashMap.put("numberField_ldwi9dua", map2.get("total"));  //昨日进港量
+                Map map3 = (Map) mapItem.get("outputCartStatistical");
+                hashMap.put("numberField_ldwi9du9", map3.get("total")); //昨日出港量
+                Double totalIn = Double.valueOf(map2.get("total").toString());
+                Double totalOut = Double.valueOf(map3.get("total").toString());
+                Double totalSum = Double.valueOf(map1.get("total").toString());
+                hashMap.put("numberField_ldwi9dub", totalIn - totalOut); //昨日总盈亏
+                double tatalScale = (totalOut / totalSum) * 100;
+                hashMap.put("numberField_ldwk062u", df.format(tatalScale)); //餐车利用率
+
+            });
+
+            //获取开口餐车数    token  航食ID  日期  接口路径
+            String rsp2 = getOutInInfo(getToken(), hsId, previousDay.toString(), CARURL);
+            Map result2 = (Map) JSON.parse(rsp2);
+
+            Map maps2 = (Map) result2.get("stationAbnormal");
+            List<Map> mapList2 = (List<Map>) maps2.get("data");
+
+            mapList2.forEach(mapItem2 -> {
+                hashMap.put("numberField_ldwi9dug", mapItem2.get("openingCart"));  //昨日开口餐车数
+            });
+
+            hashMap.put("selectField_ldwi9dtr", hsName);  //航食名称
+
+            hashMap.put("dateField_ldwi9dtt", UtilDateTime.parse(String.valueOf(currentDate), "yyyy-MM-dd"));
+            hashMap.put("dateField_le2jibxo", UtilDateTime.parse(String.valueOf(previousDay), "yyyy-MM-dd"));
+
+
+            try {
+                ydClient.operateData(YDParam.builder()
+                        .appType("APP_RNU2SVHDBJX8KIFTWVYZ")
+                        .systemToken("H7966HA1OP38AMWZAHPAB6GZSTR134F87IWDLH")
+                        .formUuid("FORM-FC731953C5684406B3A980B1EA6AC93EA9JD") //获取所有航食列表
+                        .formDataJson(JSON.toJSONString(hashMap))
+                        .build(), YDConf.FORM_OPERATION.create);
+            } catch (Exception e) {
+                log.info("异常数据 hashMap:{}", hashMap);
+            }
+
+
+        });
+    }
+
+
+    /**
+     *
+     */
+    public String getToken() {
+
+        Map<String, String> body = new HashMap<>();
+        body.put("account", "7859121209872651");
+        body.put("password", "efc736bbE@09054c");
+        String str = UtilHttp.doPost("https://eacconsole.ceair.com/api/WBPM1-eacorg/external/access", null, null, body);
+        String token = String.valueOf(((Map) JSON.parse(str)).get("accessToken"));
+        return token;
+    }
+
+
+    /**
+     * 进出港数据   开口餐车数
+     *
+     * @param token
+     * @param id
+     * @param dataTime
+     * @return
+     */
+    public String getOutInInfo(String token, String id, String dataTime, String url) {
+
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json;charset=UTF-8");
+        headers.put("X-GL-ACCESS-TOKEN", token);
+        headers.put("X-GL-AGENT", "EAFORG-SERVICE");
+        headers.put("X-GL-CLIENT", "OPERATION");
+
+        Map<String, String> params = new HashMap<>();
+        params.put("pageStart", "0");
+        params.put("pageSize", "10");
+        params.put("id", id);
+        params.put("paramType", "ORGANIZATION");
+        params.put("startTime", dataTime);
+        params.put("endTime", dataTime);
+        String rsp = UtilHttp.doGet(url, headers, params);
+
+        return rsp;
+    }
 }