Преглед на файлове

Merge remote-tracking branch 'origin/master' into HEAD

lfx преди 1 ден
родител
ревизия
1750228ef7

+ 37 - 3
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerController.java

@@ -82,7 +82,7 @@ public class KdYdCustomerController {
     @Autowired
     private HuaGaoService huaGaoService;
     @PostMapping("/test")
-    public McR sendGroupMsg(@RequestBody JSONObject param) {
+    public McR sendGroupMsg(@RequestBody JSONObject param) throws Exception {
         log.info("推送消息:{}", param);
 //        MDC.put("MDC_KEY_PID", "1002");
 //        McException.assertParamException_Null(param, "msgParam", "msgKey", "openConversationId", "robotCode", "coolAppCode");
@@ -112,10 +112,44 @@ public class KdYdCustomerController {
 //                        .build(),
 //                YDConf.FORM_OPERATION.multi_update
 //        );
+        K3CloudApi client = new K3CloudApi(initIden());
 
+        int startRow = 0;
+        int limit = 2000;
 
-//        LocalDateTime startTime = LocalDate.of(2026, 10, 13).atStartOfDay();
-//        LocalDateTime endTime = LocalDate.of(2026, 10, 14).atStartOfDay();
+        BillQuery billQuery = new BillQuery();
+
+        billQuery.setLimit(limit);
+        billQuery.setFormId("BD_SerialMainFile");
+        billQuery.setFieldKeys("FNumber,FMaterialID.FNumber,FMaterialID.FName,FMaterialID.FSpecification,FMaterialID.F_QUXZ_Assistant,FZKTS,FStockStatus,FStockId.FName,FStockLocID.FF100001.FName,FCustId.FName");
+        List<Map> filterString = new ArrayList<>();
+        //仓库等于成品仓 仓位等于默认仓位或样机仓位 在库状态等于待入库或在库
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockId.FName","67","成品仓","","","0"));//仓库名称等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","默认仓位","(","","0"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞皆成","","","1"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞天津租赁","","","1"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞知学","","","1"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","物流成品发货","","","1"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","样机仓位","",")","1"));//仓位等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","0","(","","0"));//在库状态等于XX
+        filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","1","",")","1"));//在库状态等于XX
+
+        billQuery.setFilterString(filterString);
+
+        List<Map> result = new ArrayList<>();
+        List<Map> list = new ArrayList<>();
+
+        do {
+            billQuery.setStartRow(startRow);
+            String s = client.billQuery(JSONObject.toJSONString(billQuery));
+            result = (List<Map>)JSONObject.parse(s);
+            list.addAll(result);
+
+            startRow += limit;
+        }while (result.size() == limit);
+        System.out.println(list.size());
+//        LocalDateTime startTime = LocalDate.of(2026, 10, 27).atStartOfDay();
+//        LocalDateTime endTime = LocalDate.of(2026, 10, 28 ).atStartOfDay();
 //        List<String> time = Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)), String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
 //        try {
 //            huaGaoService.syncKqData(startTime, endTime);

+ 8 - 4
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdHuaGaoServiceImpl.java

@@ -149,10 +149,14 @@ public class KdHuaGaoServiceImpl implements KdHuaGaoService {
             List<Map> filterString = new ArrayList<>();
             //仓库等于成品仓 仓位等于默认仓位或样机仓位 在库状态等于待入库或在库
             filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockId.FName","67","成品仓","","","0"));//仓库名称等于XX
-            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","默认仓位","(","","1"));//仓位等于XX
-            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","样机仓位","",")","0"));//仓位等于XX
-            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","0","(","","1"));//在库状态等于XX
-            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","1","",")","0"));//在库状态等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","默认仓位","(","","0"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞皆成","","","1"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞天津租赁","","","1"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","讯飞知学","","","1"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","物流成品发货","","","1"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockLocId.FF100001.FName","67","样机仓位","",")","1"));//仓位等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","0","(","","0"));//在库状态等于XX
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FStockStatus","29","1","",")","1"));//在库状态等于XX
 
             billQuery.setFilterString(filterString);
 

+ 2 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryServiceImpl.java

@@ -167,6 +167,7 @@ public class KdYdDeliveryServiceImpl extends ServiceImpl<KdYdDeliveryMapper, KdY
             String bzfs = UtilMap.getString(formData, "selectField_mf6a0h5y");
             String hqdmb = UtilMap.getString(formData, "selectField_mg4hjsig");
             String bz = UtilMap.getString(formData, "textareaField_mejnamfb");
+            String  sfsd= UtilMap.getString(formData, "radioField_mvyu6x2h");
 //            String ckddh = UtilMap.getString(formData, "textField_mqg2b2g5");
 //            LocalDateTime hhsj = parseTimestamp(UtilMap.getString(formData, "dateField_mf6a0h67"));
             LocalDateTime hhsj = Optional.ofNullable(
@@ -252,6 +253,7 @@ public class KdYdDeliveryServiceImpl extends ServiceImpl<KdYdDeliveryMapper, KdY
             deliveryData.put("rq", rq);
 //            deliveryData.put("ckddh", ckddh);
             deliveryData.put("kh", kh);
+            deliveryData.put("sfsd", sfsd);
             deliveryData.put("jsbb", jsbb);
             deliveryData.put("djbh", djbh);
             deliveryData.put("xsbm", xsbm);

+ 7 - 7
mjava-huagao/src/main/java/com/malk/huagao/service/impl/YdHuaGaoServiceImpl.java

@@ -1979,14 +1979,14 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                                         "DateField",
                                         YDSearch.Type.DATE_FIELD,
                                         YDSearch.Operator.LE
+                                ),
+                                new YDSearch(
+                                        "radioField_mvypcg33",
+                                        "否",
+                                        "RadioField",
+                                        YDSearch.Type.RADIO_FIELD,
+                                        YDSearch.Operator.EQ
                                 )
-//                                new YDSearch(
-//                                        "radioField_mru0o7u6",
-//                                        "是",
-//                                        "RadioField",
-//                                        YDSearch.Type.RADIO_FIELD,
-//                                        YDSearch.Operator.EQ
-//                                )
                         )))
                         .build()
         );

+ 1 - 2
mjava-huagao/src/test/java/com/malk/huagao/EqbTest.java

@@ -52,7 +52,6 @@ public class EqbTest {
         // e签宝接口调用域名(正式环境)
         String host = "https://openapi.esign.cn";
 
-
         //步骤1:上传本地文件并转成HTML格式
         //1.1获取文件上传地址
 //        getFileUploadUrl(appId,appKey,host);
@@ -62,7 +61,7 @@ public class EqbTest {
 //        getFileInfo(appId,appKey,host,"1c2ede25c6454ad4af8bcba3dd9beb35");
 
         //步骤3:获取制作合同模板页面链接
-        getDocCreateUrl(appId,appKey,host,"418d535ab69f4c1fbe01931b8b74f82f");
+//        getDocCreateUrl(appId,appKey,host,"418d535ab69f4c1fbe01931b8b74f82f");
 
         //测试环境模板id ef7d3bcee4254e67944d53db6a1f76eb
 

+ 5 - 5
mjava-qiwang/src/main/java/com/malk/qiwang/Service/impl/InvoiceLibraryServiceImpl.java

@@ -4166,11 +4166,11 @@ public class InvoiceLibraryServiceImpl extends ServiceImpl<InvoiceLibraryMapper,
         List<McInvoiceDto> result = invoices.stream().map(item -> {
             Map prop = UtilMap.getMap(UtilMap.getMap(item, "SingleInvoiceInfos"), UtilMap.getString(item, "SubType"));
             String no = UtilMap.getString(prop, "Number");
-            if ("OtherInvoice".equals(UtilMap.getString(item, "SubType")) && StringUtils.isBlank(no)) {
-                log.info("忽略无发票号码的 OCR 非票据内容: subType={}, description={}",
-                        UtilMap.getString(item, "SubType"), UtilMap.getString(item, "SubTypeDescription"));
-                return null;
-            }
+//            if ("OtherInvoice".equals(UtilMap.getString(item, "SubType")) && StringUtils.isBlank(no)) {
+//                log.info("忽略无发票号码的 OCR 非票据内容: subType={}, description={}",
+//                        UtilMap.getString(item, "SubType"), UtilMap.getString(item, "SubTypeDescription"));
+//                return null;
+//            }
             String taxRate = null;
 //            List<Map<String, Object>> vatInvoiceItemInfos = UtilMap.getList(prop, "VatInvoiceItemInfos");
             // 优先使用 VatInvoiceItemInfos,如果为空则使用 VatElectronicItems

+ 21 - 4
mjava-siku/src/main/java/com/malk/siku/controller/SikuController.java

@@ -8,12 +8,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.UrlResource;
+import org.springframework.http.ContentDisposition;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -125,7 +127,7 @@ public class SikuController {
         return McR.success();
     }
 
-    //每刻报销报销单完成回调
+    //每刻报销报销单完成回调 --每刻项目支付单(对公)
     @PostMapping("/reimbursement/callback")
     public McR callback3(@RequestBody Map map){
         log.info("每刻报销报销单完成回调:{}", JSONObject.toJSONString(map));
@@ -135,7 +137,7 @@ public class SikuController {
         return McR.success();
     }
 
-    //每刻报销付款单完成回调
+    //每刻报销付款单完成回调 --每刻分期付款单(对公)
     @PostMapping("/pay/callback")
     public McR callback4(@RequestBody Map map){
         log.info("每刻报销付款单完成回调:{}", JSONObject.toJSONString(map));
@@ -145,7 +147,7 @@ public class SikuController {
         return McR.success();
     }
 
-    //每刻报销预付退回完成回调
+    //每刻报销预付退回完成回调--支付退回单
     @PostMapping("/repay/callback")
     public McR callback5(@RequestBody Map map){
         log.info("每刻报销预付退回完成回调:{}", JSONObject.toJSONString(map));
@@ -175,7 +177,9 @@ public class SikuController {
         return McR.success();
     }
 
-    //每刻报销费用报销单完成回调(项目报销单(个人)、项目差旅报销单、打车(企业支付)("是否有项目"为【是】))
+
+
+    //每刻报销费用报销单完成回调(项目报销单(个人)、项目差旅报销单、打车(企业支付)("是否有项目"为【是】)、商旅月结)
     @PostMapping("/reimbursement2/callback")
         public McR callback8(@RequestBody Map map){
         log.info("每刻报销费用报销单完成回调:{}", JSONObject.toJSONString(map));
@@ -199,6 +203,19 @@ public class SikuController {
         return sikuService.ddProject(map);
     }
 
+//    宜搭项目同步每刻
+    @PostMapping("/saveProjecData")
+    public McR saveProjectReferenceData(@RequestBody Map map){
+        return sikuService.saveProjecData(map);
+    }
+
+//    计算供应商主数据平均分
+    @PostMapping("/caculateScore")
+    public McR caculateScore(@RequestBody Map map){
+        return sikuService.caculateScore(map);
+    }
+
+
     @GetMapping("/files/{fileId}")
     public ResponseEntity<Resource> getFileResource(
             @PathVariable String fileId,

+ 6 - 0
mjava-siku/src/main/java/com/malk/siku/schedule/SikuTask.java

@@ -27,4 +27,10 @@ public class SikuTask {
         sikuTaskService.syncLoanManage();
     }
 
+
+
+
+
+
+
 }

+ 4 - 0
mjava-siku/src/main/java/com/malk/siku/service/SikuService.java

@@ -40,4 +40,8 @@ public interface SikuService {
     void invoiceWriteBack9(Map map);
 
     McR ddProject(Map map);
+
+    McR saveProjecData (Map map);
+
+    McR caculateScore(Map map);
 }

+ 4 - 0
mjava-siku/src/main/java/com/malk/siku/service/SikuTaskService.java

@@ -1,6 +1,10 @@
 package com.malk.siku.service;
 
+import com.malk.server.common.McR;
+
 public interface SikuTaskService {
     void syncLoanManage();
 
+
+
 }

Файловите разлики са ограничени, защото са твърде много
+ 1031 - 227
mjava-siku/src/main/java/com/malk/siku/service/impl/SikuServiceImpl.java


+ 2 - 0
mjava-siku/src/main/java/com/malk/siku/service/impl/SikuTaskServiceImpl.java

@@ -125,6 +125,8 @@ public class SikuTaskServiceImpl implements SikuTaskService {
     }
 
 
+
+
     //自带重试的operateData方法
     private Object retryOperateData(YDParam param, YDConf.FORM_OPERATION formOperation) {
         int maxAttempts = 3; // 尝试的最大次数

+ 19 - 0
mjava-siku/src/main/java/com/malk/siku/utils/MkBxUtil.java

@@ -309,6 +309,25 @@ public class MkBxUtil {
         return totalList;
     }
 
+//    批量新增或更新每刻自定义档案选项
+    public static Map saveReferenceDataDetail(Object body) {
+        log.info("保存每刻自定义档案选项,body:{}", JSONObject.toJSONString(body));
+
+        Map result = (Map) JSONObject.parse(
+                UtilHttp.doPost(
+                        "https://" + host + "/api/openapi/reference/data/detail",
+                        MkBxUtil.initTokenHeader(),
+                        null,
+                        body,
+                        (Map) null
+                )
+        );
+
+        log.info("保存每刻自定义档案选项结果:{}", result);
+        return result;
+    }
+
+
     private static String getSecret(String appCode, String appSecret, long timeMillis){
         log.info("time:{}",timeMillis);
 

+ 2 - 2
mjava-siku/src/main/resources/application-dev.yml

@@ -1,5 +1,5 @@
 server:
-  port: 9037
+  port: 9002
   servlet:
     context-path: /api/siku
 
@@ -27,5 +27,5 @@ aliwork:
 
 mk:
   downloadFilePath: d:\\
-  downloadUrl: http://localhost:9037/api/siku/
+  downloadUrl: http://localhost:9002/api/siku/
 

+ 38 - 0
mjava-siku/src/test/java/com.malk.siku/SkTest.java

@@ -221,6 +221,44 @@ public class SkTest {
         System.out.println("timestamp:"+currentTimeMillis);
     }
 
+    @Test
+    public void saveYpClient() throws ParseException {
+//       sikuService.saveYpClient(UtilMap.map("formInstId", "8281f53e-f767-4020-8ff8-662d3578bcda"));
+
+    }
+    @Test
+    public void saveYpApplication() throws ParseException {
+//        sikuService.saveYpApplication(UtilMap.map("formInstId", "8281f53e-f767-4020-8ff8-662d3578bcda"));
+
+    }
+    @Test
+    public void ddProject() throws ParseException {
+//        sikuService.ddProject(UtilMap.map("formInstId, type", "67af1b43-13b1-4f65-8a74-239e738403ae, update"));
+
+    }
+
+    @Test
+    public void saveBxReimbursement2() throws ParseException {
+//        sikuService.saveBxReimbursement2(UtilMap.map("formInstId", "0127d609-af95-492e-b111-cafa3f0de0e5"));
+
+    }
+
+    @Test
+    public void caculateScore(){
+        sikuService.caculateScore(UtilMap.map("formInstId", "FINST-OO866VA1I2552CLBP2KBX4R0SFSZ203Y4GCOMFV2"));
+
+    }
+
+
+    @Test
+    public void syncLoanManage(){
+        sikuTaskService.syncLoanManage();
+
+    }
+
+
+
+