Przeglądaj źródła

集晨写入阶段信息

CRK 10 miesięcy temu
rodzic
commit
3a77870b32

+ 157 - 71
mjava-luyi/src/main/java/com/malk/luyi/controller/KSJCController.java

@@ -1,5 +1,6 @@
 package com.malk.luyi.controller;
 
+import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import com.alibaba.fastjson.JSON;
 import com.malk.delegate.McDelegate;
@@ -20,10 +21,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 import java.time.*;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
 @Slf4j
 @RestController
 @RequestMapping()
@@ -36,55 +35,58 @@ public class KSJCController {
 
     @Autowired
     private McDelegate mcDelegate;
+
     @SneakyThrows
-    @PostMapping("/JCKQZ")//集尘根据员工id获取所在考勤组
+    @PostMapping("/JCKQZ")
+//集尘根据员工id获取所在考勤组
     McR insetTHXM(HttpServletRequest request) {
         Map data = UtilServlet.getParamMap(request);
-        String FormInstanceId=data.get("FormInstanceId").toString();
-        String UserId=data.get("UserId").toString();
-
-        if (UserId!="" &&FormInstanceId!="" ){
-            Map rsp = dd.getusergroup(  UserId);
-            System.out.println("rsp:"+UserId+":"+FormInstanceId);
-            System.out.println("rsp:"+rsp);
-            if (rsp!=null ){
+        String FormInstanceId = data.get("FormInstanceId").toString();
+        String UserId = data.get("UserId").toString();
+
+        if (UserId != "" && FormInstanceId != "") {
+            Map rsp = dd.getusergroup(UserId);
+            System.out.println("rsp:" + UserId + ":" + FormInstanceId);
+            System.out.println("rsp:" + rsp);
+            if (rsp != null) {
                 JSONObject jsonObject = new JSONObject(rsp);
                 String groupId = jsonObject.get("group_id").toString();
                 String name = jsonObject.get("name").toString();
-                String  FORMID="textField_lyo89dyq, textField_lyo89dyr";
+                String FORMID = "textField_lyo89dyq, textField_lyo89dyr";
                 //获取到考勤组名称和考勤组id后,写入到宜搭
-              ydClient.operateData(YDParam.builder()
+                ydClient.operateData(YDParam.builder()
                         .appType("APP_X89Y00KKTG36B8JYGZVR")
                         .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
                         .formInstanceId(String.valueOf(FormInstanceId))
-                        .updateFormDataJson(JSON.toJSONString(UtilMap.map(FORMID,name,groupId )))
+                        .updateFormDataJson(JSON.toJSONString(UtilMap.map(FORMID, name, groupId)))
                         .build(), YDConf.FORM_OPERATION.update).toString();
             }
-            log.info("rsp:"+rsp);
-            System.out.println("rsp:"+rsp);
+            log.info("rsp:" + rsp);
+            System.out.println("rsp:" + rsp);
         }
         return McR.success();
     }
 
     @SneakyThrows
-    @PostMapping("/JCpd")//集尘根据员工id判断今天能不能打卡
+    @PostMapping("/JCpd")
+//集尘根据员工id判断今天能不能打卡
     McR insetTHXM_TMER() {
         //获取所有人员
         List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
                 .appType("APP_X89Y00KKTG36B8JYGZVR")
                 .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
                 .formUuid("FORM-1F9CC98764D84B64AB1B6A04BEB8CA2BIPQ0")
-               // .searchFieldJson(JSON.toJSONString(UtilMap.map("serialNumberField_lt1i52jt",data.get("XMBH").toString())))
+                // .searchFieldJson(JSON.toJSONString(UtilMap.map("serialNumberField_lt1i52jt",data.get("XMBH").toString())))
                 .build(), YDConf.FORM_QUERY.retrieve_search_form).getData();
-             //循环获得人员
+        //循环获得人员
         for (Map formData : dataList) {
-             //人员-字段值
-            String FormInstanceId = String.valueOf(formData.get("formInstanceId") );//实例id
+            //人员-字段值
+            String FormInstanceId = String.valueOf(formData.get("formInstanceId"));//实例id
             String if_pd = String.valueOf(UtilMap.getMap(formData, "formData").get("selectField_lyo6e0gi"));//是否能打卡
             String Ehtid = String.valueOf(UtilMap.getMap(formData, "formData").get("textField_lyo8p27i"));//考勤人ID
             String grup_id = String.valueOf(UtilMap.getMap(formData, "formData").get("textField_lyo89dyr"));//所在考勤组ID
-            Map rsp=new HashMap<>();//用来接反馈值
-            if  (if_pd.equals("否")){//如果为否,校验:1.昨天是否请假  2.昨天是否不用打卡
+            Map rsp = new HashMap<>();//用来接反馈值
+            if (if_pd.equals("否")) {//如果为否,校验:1.昨天是否请假  2.昨天是否不用打卡
                 // 判断昨天是否请假
                 LocalDate yesterday = LocalDate.now().minusDays(1);
                 // 构造昨天7点00分的时间
@@ -96,78 +98,162 @@ public class KSJCController {
                 ZonedDateTime zdt = yesterdaySevenPm.atZone(ZoneId.systemDefault());
                 // 转换为时间戳(毫秒)
                 long timestamp_up = zdt.toInstant().toEpochMilli();
-                  yesterday = LocalDate.now().minusDays(1);
-                  time = LocalTime.of(23, 0);
-                  yesterdaySevenPm = yesterday.atTime(time);
-                  zdt = yesterdaySevenPm.atZone(ZoneId.systemDefault());
+                yesterday = LocalDate.now().minusDays(1);
+                time = LocalTime.of(23, 0);
+                yesterdaySevenPm = yesterday.atTime(time);
+                zdt = yesterdaySevenPm.atZone(ZoneId.systemDefault());
                 long timestamp_dp = zdt.toInstant().toEpochMilli();
-                 rsp =  dd.getleavestatus(Ehtid,timestamp_up,timestamp_dp);//获得请假请框
+                rsp = dd.getleavestatus(Ehtid, timestamp_up, timestamp_dp);//获得请假请框
                 JSONObject jsonObject = new JSONObject(rsp);
                 String leave_status = jsonObject.get("leave_status").toString();
-                if(!leave_status.equals("[]") && leave_status!=null){
-                    if_pd="是";
+                if (!leave_status.equals("[]") && leave_status != null) {
+                    if_pd = "是";
                 }
-             //判断昨天是否考勤组的休息日
-                rsp=dd.getgroupquery(Ehtid,grup_id);
+                //判断昨天是否考勤组的休息日
+                rsp = dd.getgroupquery(Ehtid, grup_id);
                 jsonObject = new JSONObject(rsp);
-                  if (!jsonObject.get("work_day_list").toString().equals("[]") && jsonObject.get("work_day_list").toString()!=null){//如果是固定班次就判断昨天是不是休息日
-                      // 使用逗号分割字符串,得到元素字符串数组
-                      String[] elements = jsonObject.get("work_day_list").toString().split(",");
-                      LocalDate today = LocalDate.now();
-                      LocalDate yesterday_dak = today.minusDays(1);
-                      DayOfWeek dayOfWeekYesterday = yesterday_dak.getDayOfWeek();
-                      int nums=10 ;
-                      switch (dayOfWeekYesterday) {
-                          case SUNDAY  : nums= 0;break;
-                          case MONDAY : nums= 1;break;
-                          case TUESDAY : nums= 2;break;
-                          case WEDNESDAY: nums= 3;break;
-                          case THURSDAY  : nums=4;break;
-                          case FRIDAY  : nums= 5;break;
-                          case SATURDAY : nums= 6;break;
-                      };
-                      if (nums!=10) {
-                          if (elements[nums].equals("[0")|| elements[nums].equals("0") || elements[nums].equals("0]")) {
-                              if_pd = "是";
-                          }
-                      }
-
-
-                  }
-
-                  System.out.println("work_day_list:"+jsonObject.get("work_day_list").toString());
+                if (!jsonObject.get("work_day_list").toString().equals("[]") && jsonObject.get("work_day_list").toString() != null) {//如果是固定班次就判断昨天是不是休息日
+                    // 使用逗号分割字符串,得到元素字符串数组
+                    String[] elements = jsonObject.get("work_day_list").toString().split(",");
+                    LocalDate today = LocalDate.now();
+                    LocalDate yesterday_dak = today.minusDays(1);
+                    DayOfWeek dayOfWeekYesterday = yesterday_dak.getDayOfWeek();
+                    int nums = 10;
+                    switch (dayOfWeekYesterday) {
+                        case SUNDAY:
+                            nums = 0;
+                            break;
+                        case MONDAY:
+                            nums = 1;
+                            break;
+                        case TUESDAY:
+                            nums = 2;
+                            break;
+                        case WEDNESDAY:
+                            nums = 3;
+                            break;
+                        case THURSDAY:
+                            nums = 4;
+                            break;
+                        case FRIDAY:
+                            nums = 5;
+                            break;
+                        case SATURDAY:
+                            nums = 6;
+                            break;
+                    }
+                    ;
+                    if (nums != 10) {
+                        if (elements[nums].equals("[0") || elements[nums].equals("0") || elements[nums].equals("0]")) {
+                            if_pd = "是";
+                        }
+                    }
+
+
+                }
+
+                System.out.println("work_day_list:" + jsonObject.get("work_day_list").toString());
             }
 
-            if (if_pd.equals("是")){
+            if (if_pd.equals("是")) {
                 //如果能打卡,就把人员加入到考勤组
-                  rsp = dd.inset_hr_group("新增",Ehtid,grup_id);
+                rsp = dd.inset_hr_group("新增", Ehtid, grup_id);
                 JSONObject jsonObject = new JSONObject(rsp);
 
             }
-            if (if_pd.equals("否")){
+            if (if_pd.equals("否")) {
                 //如果不能打卡,就把人员踢出考勤组
-                 rsp = dd.inset_hr_group("删除",Ehtid,grup_id);
+                rsp = dd.inset_hr_group("删除", Ehtid, grup_id);
             }
-         //   执行完加入,把校验状态改成 否
+            //   执行完加入,把校验状态改成 否
             ydClient.operateData(YDParam.builder()
                     .appType("APP_X89Y00KKTG36B8JYGZVR")
                     .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
                     .formInstanceId(String.valueOf(FormInstanceId))
-                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_lyo6e0gi","否" )))
+                    .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_lyo6e0gi", "否")))
                     .build(), YDConf.FORM_OPERATION.update).toString();
         }
         return McR.success();
     }
 
     @SneakyThrows
-    @PostMapping("/insetHR_kaoqin")//集尘根据员工id获取所在考勤组
+    @PostMapping("/insetHR_kaoqin")
+//集尘根据员工id获取所在考勤组
     McR insetHR_kaoqin(HttpServletRequest request) {
         Map data = UtilServlet.getParamMap(request);
-        String Ehtid=data.get("Ehtid").toString();
-        String grup_id=data.get("grup_id").toString();
-     Map  rsp = dd.inset_hr_group("新增",Ehtid,grup_id);
-                JSONObject jsonObject = new JSONObject(rsp);
+        String Ehtid = data.get("Ehtid").toString();
+        String grup_id = data.get("grup_id").toString();
+        Map rsp = dd.inset_hr_group("新增", Ehtid, grup_id);
+        JSONObject jsonObject = new JSONObject(rsp);
+        return McR.success();
+    }
+    @SneakyThrows
+    @PostMapping("/insetJie_Duan")
+//根据项目和机台信息维护阶段数据。
+    McR insetJie_Duan(HttpServletRequest request) {
+        Map data = UtilServlet.getParamMap(request);
+        String formInstanceId = data.get("formInstanceId").toString();
+        if (!formInstanceId.equals("")) {
+            List<Map> dataList_XM = (List<Map>) ydClient.queryData(YDParam.builder()
+                    .appType("APP_X89Y00KKTG36B8JYGZVR")
+                    .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
+                    .formUuid("FORM-A6153EC780554425A1A7451548F9D405PMSN")
+                    .searchFieldJson(JSON.toJSONString(UtilMap.map("formInstanceId", formInstanceId)))
+                    .build(), YDConf.FORM_QUERY.retrieve_search_form).getData();
+            if (dataList_XM != null && dataList_XM.size() > 0) {
+                for (Map formData_XM : dataList_XM) {
+                    System.out.println("dsfasdf:" + formData_XM.get("formInstanceId").toString());
+                    if (formData_XM.get("formInstanceId").toString().equals(formInstanceId)) {
+                        String XMMC = String.valueOf(UtilMap.getMap(formData_XM, "formData").get("textField_lx1iumdr"));
+                        String XMBH = String.valueOf(UtilMap.getMap(formData_XM, "formData").get("textField_lx1irnyo"));
+                        String sdfa = String.valueOf(UtilMap.getMap(formData_XM, "formData").get("tableField_lx1iumdu"));     //textField_ly6lt3dm -> 111右套
+                        JSONArray jsonArray = new JSONArray(sdfa);
+                        if (jsonArray != null && jsonArray.size() > 0) {
+                            for (int i = 0; i < jsonArray.size(); i++) {
+                                // 获取每个JSONObject
+                                JSONObject jsonObject = jsonArray.getJSONObject(i);
+                                // 从JSONObject中获取你需要的字段
+                                String JTXX = (String) jsonObject.get("textField_ly6lt3dm");
+                                if (!XMBH.equals("") && !XMBH.equals("") && !JTXX.equals("")) {
+                                    List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
+                                            .appType("APP_X89Y00KKTG36B8JYGZVR")
+                                            .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
+                                            .formUuid("FORM-CA8ABC2353B94262BC02D4C5332273EEHRU2")//完成阶段配置
+                                            // .searchFieldJson(JSON.toJSONString(UtilMap.map("serialNumberField_lt1i52jt",data.get("XMBH").toString())))
+                                            .build(), YDConf.FORM_QUERY.retrieve_search_form).getData();
+                                    //循环阶段数据,并写入限制完成表
+                                    for (Map formData : dataList) {
+                                        String JDMC = String.valueOf(UtilMap.getMap(formData, "formData").get("textField_lx31so5x"));//阶段名称
+                                        String LX = String.valueOf(UtilMap.getMap(formData, "formData").get("textField_lxy17mef"));//类型
+                                        String ZB = String.valueOf(UtilMap.getMap(formData, "formData").get("numberField_lxsaen1q"));//占比
+                                        String ZZB = String.valueOf(UtilMap.getMap(formData, "formData").get("numberField_lxsaen1r"));//占总比
+                                        String XH = String.valueOf(UtilMap.getMap(formData, "formData").get("numberField_lx31so5r"));//序号
+                                        String ZZBZ = String.valueOf(UtilMap.getMap(formData, "formData").get("numberField_lxy17mee"));//#占总比值
+                                        String[] sdfassss = new String[]{String.valueOf(UtilMap.getMap(formData, "formData").get("departmentSelectField_lyy1hoyr_id"))};
+                                        String ZD = "textField_m00ovvk4, textField_m00ovvk3, textField_m00wsnjk, textField_lx31so5x, textField_lxy17mef, numberField_lxsaen1q, numberField_lxsaen1r, numberField_lx31so5r, numberField_lxy17mee, radioField_m00ovvk5, departmentSelectField_lyy1hoyr";
+                                        if (i>0 && (LX.equals("设计达成率") || LX.equals("电气达成率") || JDMC.equals("下单") || JDMC.equals("询价"))){
+
+                                        }else {
+                                            String tquid = ydClient.operateData(YDParam.builder()
+                                                    .appType("APP_X89Y00KKTG36B8JYGZVR")
+                                                    .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
+                                                    .formUuid("FORM-9A3C0361CC6F43E2AEB6F66BA6B4F87DRHP5")
+                                                    .formDataJson(JSON.toJSONString(UtilMap.map(ZD, XMBH, XMMC, JTXX, JDMC, LX, ZB, ZZB, XH, ZZBZ, "否", sdfassss[0].toString())))//这里
+                                                    .build(), YDConf.FORM_OPERATION.create).toString();////
+                                        }
+
+
+                                    }
+                                }
+                            }
+                        }
+
+                    }
+                }
+            }
+        }
         return McR.success();
     }
 
+
 }