Kaynağa Gözat

采购订单拆分
新增创建会议接口
NC定时任务调整

fyz 1 ay önce
ebeveyn
işleme
bbb69cee4c

+ 9 - 1
mjava-lanyun/src/main/java/com/malk/lanyun/schedule/NCTask.java

@@ -58,11 +58,19 @@ public class NCTask {
         log.info("开始跑批更新NC供应商付款");
         ncService.getSupplierPay();
     }
+    /**
+     * 每日凌晨6点30跑批NC供应商付款
+     */
+    @Scheduled(cron = "0 30 6 * * ?")
+    void NcTax() {
+        log.info("开始跑批更新NC供应商付款");
+        ncService.getNcTax();
+    }
     /**
      * 每月1日凌晨6点跑批NC同步宜搭
      */
     @Scheduled(cron = "0 0 0/2 * * ?")
     void ncToYiDa() {
-        ncService.ncToYiDa();
+//        ncService.ncToYiDa();
     }
 }

+ 56 - 44
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/NCServiceImpl.java

@@ -91,6 +91,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_m0dkzhwu",resultSet.getString("pk_accasoa"));
                 hashMap.put("textField_m0dkzhwv",resultSet.getString("accasoa_name"));
                 hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 log.info("yearv:"+UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
                 log.info("periodv:"+resultSet.getString("pk_accasoa"));
@@ -155,6 +156,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_m0dkzhwu",resultSet.getString("pk_accasoa"));
                 hashMap.put("textField_m0dkzhwv",resultSet.getString("accasoa_name"));
                 hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 log.info("yearv:"+UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
                 log.info("periodv:"+resultSet.getString("pk_accasoa"));
@@ -224,6 +226,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_m0eudqp0","大业主项目ID");
                 hashMap.put("textField_m0eudqp2","大业主项目名称");
                 hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 log.info("yearv:"+UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
                 log.info("periodv:"+resultSet.getString("pk_accasoa"));
@@ -328,27 +331,28 @@ public class NCServiceImpl implements NCService {
                 log.info("结果集数据数量:{},",resultSet.getFetchSize());
 
 //                if (ObjectUtil.isNotNull(resultSet.getString("xmcode"))){
-                    Map hashMap = new HashMap();
-
-                    String yearAndNonth = year +"-"+month;
-                    hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
-                    hashMap.put("textField_m0dkzhwo", yearAndNonth);
-                    hashMap.put("textField_m0dkzhwu",resultSet.getString("kmcode"));
-                    hashMap.put("textField_m0dkzhwv",resultSet.getString("kmname"));
-                    hashMap.put("textField_mbj1j8n2",resultSet.getString("ccode"));//合并id
-                    hashMap.put("textField_m0eudqp0",resultSet.getString("cname"));//合并名称
-                    hashMap.put("textField_mbk7mt4i",resultSet.getString("bmcode"));//机关id
-                    hashMap.put("textField_mbk7mt4l",resultSet.getString("bmname"));//机关名称
-                    hashMap.put("textField_mbk7mt4o",resultSet.getString("xmcode"));//项目id
-                    hashMap.put("textField_mbk7mt4q",resultSet.getString("xmname"));//项目名称
-                    hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("JFFS"));
-
-                    ydClient.operateData(YDParam.builder()
-                            .appType("APP_ERBDTFS82HOVBPL3NFH0")
-                            .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                            .formUuid("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU")
-                            .formDataJson(JSON.toJSONString(hashMap))
-                            .build(), YDConf.FORM_OPERATION.create);
+                Map hashMap = new HashMap();
+
+                String yearAndNonth = year +"-"+month;
+                hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                hashMap.put("textField_m0dkzhwo", yearAndNonth);
+                hashMap.put("textField_m0dkzhwu",resultSet.getString("kmcode"));
+                hashMap.put("textField_m0dkzhwv",resultSet.getString("kmname"));
+                hashMap.put("textField_mbj1j8n2",resultSet.getString("ccode"));//合并id
+                hashMap.put("textField_m0eudqp0",resultSet.getString("cname"));//合并名称
+                hashMap.put("textField_mbk7mt4i",resultSet.getString("bmcode"));//机关id
+                hashMap.put("textField_mbk7mt4l",resultSet.getString("bmname"));//机关名称
+                hashMap.put("textField_mbk7mt4o",resultSet.getString("xmcode"));//项目id
+                hashMap.put("textField_mbk7mt4q",resultSet.getString("xmname"));//项目名称
+                hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("JFFS"));
+                hashMap.put("selectField_mjl4i6dx","否");
+
+                ydClient.operateData(YDParam.builder()
+                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                        .formUuid("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU")
+                        .formDataJson(JSON.toJSONString(hashMap))
+                        .build(), YDConf.FORM_OPERATION.create);
 //                }
             }
         } catch (Exception e) {
@@ -433,6 +437,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_mdzs6wr9",resultSet.getString("bmcode"));
                 hashMap.put("textField_m0eudqp0",resultSet.getString("bmname"));
                 hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
@@ -517,6 +522,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_me5mowso",resultSet.getString("accasoa_name"));
                 hashMap.put("numberField_me5mowsp",resultSet.getString("creditamount"));
                 hashMap.put("numberField_me5mowsq",resultSet.getString("debitamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
@@ -599,6 +605,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_me5mowso",resultSet.getString("accasoa_name"));
                 hashMap.put("numberField_me5mowsp",resultSet.getString("creditamount"));
                 hashMap.put("numberField_me5mowsq",resultSet.getString("debitamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
@@ -666,6 +673,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("numberField_m0g4itw9",resultSet.getBigDecimal("PayMoney"));//到票已付累计
                 hashMap.put("numberField_m0g4itwb",resultSet.getBigDecimal("SumPayMoney")); //到票未付累计
                 hashMap.put("numberField_m0g4itwa",resultSet.getBigDecimal("EstimationMoney")); //暂估金额
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")
@@ -1486,7 +1494,9 @@ public class NCServiceImpl implements NCService {
                     .appType("APP_ERBDTFS82HOVBPL3NFH0")
                     .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                     .formInstanceId(e.get("formInstanceId").toString())
-                    .build(), YDConf.FORM_OPERATION.delete);
+                    .useLatestVersion(true)
+                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_mjl4i6dx","是")))
+                    .build(), YDConf.FORM_OPERATION.update);
         });
     }
 
@@ -2178,28 +2188,29 @@ public class NCServiceImpl implements NCService {
             while (resultSet.next()) {
                 log.info("结果集数据数量:{},",resultSet.getFetchSize());
 //                if (ObjectUtil.isNotNull(resultSet.getString("xmcode"))){
-                    Map hashMap = new HashMap();
-
-                    String yearAndNonth = year +"-"+month;
-                    hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
-                    hashMap.put("textField_m0dkzhwo", yearAndNonth);
-                    hashMap.put("textField_m0dkzhwu",resultSet.getString("kmcode"));
-                    hashMap.put("textField_m0dkzhwv",resultSet.getString("kmname"));
-                    hashMap.put("textField_mbj1j8n2",resultSet.getString("ccode"));//合并id
-                    hashMap.put("textField_m0eudqp0",resultSet.getString("cname"));//合并名称
-                    hashMap.put("textField_mbk7mt4i",resultSet.getString("bmcode"));//机关id
-                    hashMap.put("textField_mbk7mt4l",resultSet.getString("bmname"));//机关名称
-                    hashMap.put("textField_mbk7mt4o",resultSet.getString("xmcode"));//项目id
-                    hashMap.put("textField_mbk7mt4q",resultSet.getString("xmname"));//项目名称
-                    hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("JFFS"));
-
-                    ydClient.operateData(YDParam.builder()
-                            .appType("APP_ERBDTFS82HOVBPL3NFH0")
-                            .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
-                            .formUuid("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU")
-                            .formDataJson(JSON.toJSONString(hashMap))
-                            .build(), YDConf.FORM_OPERATION.create);
-                }
+                Map hashMap = new HashMap();
+
+                String yearAndNonth = year +"-"+month;
+                hashMap.put("dateField_m0dkzhwp", UtilDateTime.parse(yearAndNonth,"yyyy-MM"));
+                hashMap.put("textField_m0dkzhwo", yearAndNonth);
+                hashMap.put("textField_m0dkzhwu",resultSet.getString("kmcode"));
+                hashMap.put("textField_m0dkzhwv",resultSet.getString("kmname"));
+                hashMap.put("textField_mbj1j8n2",resultSet.getString("ccode"));//合并id
+                hashMap.put("textField_m0eudqp0",resultSet.getString("cname"));//合并名称
+                hashMap.put("textField_mbk7mt4i",resultSet.getString("bmcode"));//机关id
+                hashMap.put("textField_mbk7mt4l",resultSet.getString("bmname"));//机关名称
+                hashMap.put("textField_mbk7mt4o",resultSet.getString("xmcode"));//项目id
+                hashMap.put("textField_mbk7mt4q",resultSet.getString("xmname"));//项目名称
+                hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("JFFS"));
+                hashMap.put("selectField_mjl4i6dx","否");
+
+                ydClient.operateData(YDParam.builder()
+                        .appType("APP_ERBDTFS82HOVBPL3NFH0")
+                        .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
+                        .formUuid("FORM-5654B7C22E7546E9BBE7B4EF46DE08BAXZXU")
+                        .formDataJson(JSON.toJSONString(hashMap))
+                        .build(), YDConf.FORM_OPERATION.create);
+            }
 //            }
         } catch (Exception e) {
             log.info("数据库连接异常"+e.toString());
@@ -2283,6 +2294,7 @@ public class NCServiceImpl implements NCService {
                 hashMap.put("textField_mdzs6wr9",resultSet.getString("bmcode"));
                 hashMap.put("textField_m0eudqp0",resultSet.getString("bmname"));
                 hashMap.put("numberField_m0dkzhx1",resultSet.getBigDecimal("creditamount"));
+                hashMap.put("selectField_mjl4i6dx","否");
 
                 ydClient.operateData(YDParam.builder()
                         .appType("APP_ERBDTFS82HOVBPL3NFH0")

+ 21 - 2
mjava-lanyun/src/main/java/com/malk/lanyun/service/impl/purchaseServiceImpl.java

@@ -166,7 +166,25 @@ public class purchaseServiceImpl implements PurchaseService {
 
         return dataList;
     }
+    public String timestampToFormat(String timestampStr) {
+        // 2. 转为Long类型(需处理格式异常,如非数字字符串)
+        long timestamp = Long.parseLong(timestampStr);
 
+        // 3. 定义目标格式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        // 4. 时间戳转LocalDateTime(默认系统时区,可指定时区)
+        LocalDateTime dateTime = LocalDateTime.ofInstant(
+                Instant.ofEpochMilli(timestamp), // 毫秒级时间戳
+                ZoneId.systemDefault() // 系统时区,如 Asia/Shanghai
+                // 若需指定时区:ZoneId.of("Asia/Shanghai")
+        );
+
+        // 5. 格式化为目标字符串
+        String result = dateTime.format(formatter);
+        System.out.println(result); // 输出:2025-01-01 00:00:00
+        return result;
+    }
     @Override
     public void startPurchaseOrderNew(String formInstanceId) {
 
@@ -185,12 +203,13 @@ public class purchaseServiceImpl implements PurchaseService {
         );
         // 获取当月最后一天
         LocalDateTime lastDay = dateTime.with(TemporalAdjusters.lastDayOfMonth());
-        dateList.add(1,lastDay.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
+        String endTimeStr = String.valueOf(lastDay.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
         List<Map> dataList = ydService.queryFormData_all(YDParam.builder()
                 .appType("APP_ERBDTFS82HOVBPL3NFH0")
                 .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
                 .formUuid("FORM-A8064C8333E24DEA88618D018DE0AE84WJPQ")
-                .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_ltxstp81, selectField_mgswtsqu", dateList,"是")))
+                .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_mgswtsqu", "是")))
+                .createFromTimeGMT(timestampToFormat(dateList.get(0).toString())).createToTimeGMT(timestampToFormat(endTimeStr))
                 .build());
 
 //        LocalDateTime firstDay = LocalDateTime.now().plusYears(-1).plusMonths(-11).withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).withNano(0);

+ 2 - 1
mjava/src/main/java/com/malk/server/aliwork/YDConf.java

@@ -58,11 +58,12 @@ public class YDConf {
         retrieve_search_form,               // 表单列表
         retrieve_search_process_v2,
         retrieve_search_process_id,         // 流程列表
+        retrieve_search_process_id_v2,
         retrieve_search_form_id,             // 表单列表
 
         retrieve_details,             // 子表数据[表单]
         retrieve_changed,    // 变更记录
-        retrieve_definition, // 表单定义
+        retrieve_definition, // 表单定义,
         retrieve_approval_record,
         getRunningTasks             //查询运行任务
 

+ 3 - 1
mjava/src/main/java/com/malk/service/aliwork/impl/YDClientImpl.java

@@ -130,7 +130,9 @@ public class YDClientImpl implements YDClient {
             case retrieve_search_process_id:
                 ddr_new = DDR_New.doPost(getRequestUrl("/processes/instanceIds", ydParam.getProcessInstanceId()), ddClient.initTokenHeader(), param, param);
                 break;
-
+            case retrieve_search_process_id_v2:
+                ddr_new = DDR_New.doPost(getRequestUrl_v2("/processes/instanceIds"), ddClient.initTokenHeader(), param, param);
+                break;
             case retrieve_search_form:
                 ddr_new = DDR_New.doPost(getRequestUrl_v2("/forms/instances/search"), ddClient.initTokenHeader(), null, param);
                 break;

+ 11 - 0
mjava/src/main/java/com/malk/service/dingtalk/DDClient_Meeting.java

@@ -0,0 +1,11 @@
+package com.malk.service.dingtalk;
+
+import java.util.List;
+import java.util.Map;
+
+public interface DDClient_Meeting {
+
+    void createMeeting(String access_token, String userId, String confTitle, List<String> inviteUserIds, boolean inviteCaller);
+
+}
+

+ 28 - 0
mjava/src/main/java/com/malk/service/dingtalk/impl/DDImplClient_Meeting.java

@@ -0,0 +1,28 @@
+package com.malk.service.dingtalk.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.malk.server.dingtalk.DDConf;
+import com.malk.server.dingtalk.DDR;
+import com.malk.service.dingtalk.DDClient_Meeting;
+import com.malk.utils.UtilMap;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Slf4j
+public class DDImplClient_Meeting implements DDClient_Meeting {
+    @Override
+    public void createMeeting(String access_token, String userId, String confTitle, List<String> inviteUserIds, boolean inviteCaller) {
+        Map body = UtilMap.map("userId, confTitle", userId, confTitle);
+        if (ObjectUtil.isNotNull(inviteUserIds)) {
+            body.put("inviteUserIds",inviteUserIds);
+        }
+        if (ObjectUtil.isNotNull(inviteCaller)) {
+            body.put("inviteCaller",inviteCaller);
+        }
+        DDR ddr = DDR.doPost("https://api.dingtalk.com/v1.0/conference/videoConferences", DDConf.initTokenHeader(access_token), null, body);
+    }
+}