瀏覽代碼

集晨写假期判断打卡数据

CRK 10 月之前
父節點
當前提交
fefab68d2e

+ 7 - 0
mjava-luyi/src/main/java/com/malk/luyi/Boot.java

@@ -1,6 +1,11 @@
 package com.malk.luyi;
 
+import com.alibaba.fastjson.JSON;
 import com.malk.luyi.controller.KSJCController;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
 import com.querydsl.jpa.impl.JPAQueryFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
@@ -26,6 +31,8 @@ public class Boot {
     }
 
 
+
+
     /**
      * 让Spring管理JPAQueryFactory [不使用Qualifier详见mjava-Boot]
      */

+ 23 - 0
mjava-luyi/src/main/java/com/malk/luyi/controller/KSJCController.java

@@ -110,6 +110,7 @@ public class KSJCController {
                 String leave_status = jsonObject.get("leave_status").toString();
                 if (!leave_status.equals("[]") && leave_status != null) {
                     if_pd = "是";
+                    panduanzuotian="否";//假期,不做判断
                 }
                 //判断昨天是否考勤组的休息日
                 rsp = dd.getgroupquery(Ehtid, grup_id);
@@ -277,6 +278,28 @@ public class KSJCController {
         }
         return McR.success();
     }
+    @SneakyThrows
+    @PostMapping("/ceshi")
+//根据项目和机台信息维护阶段数据。
+    McR ceshi(HttpServletRequest request) {
+
+            return McR.success();
+        }
+
+
+    @SneakyThrows
+    @PostMapping("/upload")
+//集尘根据员工id上传打卡记录
+    McR insetupload (HttpServletRequest request) {
+
+        Map data = UtilServlet.getParamMap(request);
+        String userid = data.get("userid").toString();
+        String device_name = data.get("device_name").toString();
+        String device_id = data.get("device_id").toString();
+        String user_check_time = data.get("user_check_time").toString();
+        dd.updateupload(userid, device_name,device_id,user_check_time);
+        return McR.success();
+    }
 
 
 }

+ 19 - 1
mjava-luyi/src/main/java/com/malk/luyi/controller/KSJC_timer.java

@@ -1,6 +1,11 @@
 package com.malk.luyi.controller;
 
 
+import com.alibaba.fastjson.JSON;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -14,14 +19,27 @@ import org.springframework.scheduling.annotation.Scheduled;
 public class KSJC_timer {
     @Autowired
     private KSJCController legalEntityService;
+    @Autowired
+    private YDClient ydClient;
     /*集晨判断是否能打卡*/
     //每天早晨7点05分同步数据
  @Scheduled(cron = "0 5 7 * * ?")
- //  @Scheduled(fixedRate = 2000)
+//  @Scheduled(fixedRate = 1000)
     public void LegalEntityList(){
         log.info("k");
         try{
            legalEntityService.insetTHXM_TMER();
+//            String XMCSLID="FINST-3RB66I91VT5OZPGY8CWOD9237ZDD2KPZ5KH0MYK8";
+//            if (true)
+//            {
+//                ydClient.operateData(YDParam.builder()
+//                        .appType("APP_X89Y00KKTG36B8JYGZVR")
+//                        .systemToken("QIA66091HJPLRHM3AUFJLCN24CUP2VNMO41XLW4")
+//                        .formInstanceId(String.valueOf(XMCSLID))
+//                        //data.get("shop_name")
+//                        .updateFormDataJson(JSON.toJSONString(UtilMap.map("textField_m0hk58mb", "ceshi")))
+//                        .build(), YDConf.FORM_OPERATION.update);
+//            }
             System.out.println("集晨判断,同步完成");
         }catch (Exception e){
             //记录错误信息

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

@@ -155,7 +155,7 @@ public class YDParam extends BaseDto {
 
     // 是否不触发表单绑定的校验规则、关联业务规则和第三方服务回调。
     @Builder.Default
-    boolean noExecuteExpression = true;
+   boolean noExecuteExpression = true;
 
     // 是否忽略空值。
     @Builder.Default

+ 1 - 0
mjava/src/main/java/com/malk/service/dingtalk/DDClient.java

@@ -41,5 +41,6 @@ public interface DDClient {
     Map getleavestatus(String userid_list,long start_time,long end_time);// 询指定企业下指定用户在指定时间段内每天的请假状态和请假时长信息。
 
     Map getgroupquery(String op_user_id,String  group_id );//调用本接口,可获取考勤组名称、考勤组主负责人和考勤类型等信息。
+    Map updateupload(String userid,String  device_name,String device_id,String user_check_time );//上传打卡记录。
 }
 

+ 19 - 0
mjava/src/main/java/com/malk/service/dingtalk/impl/DDImplClient.java

@@ -195,4 +195,23 @@ public class DDImplClient implements DDClient {
        param_post.put("group_id",group_id);//考勤组ID
        return  (Map) DDR.doPost("https://oapi.dingtalk.com/topapi/attendance/group/query", null, DDConf.initTokenParams(accessToken), param_post ).getResult();
    };
+
+    @Override
+    public Map updateupload(String userid, String device_name, String device_id, String user_check_time) {
+        Map param = new HashMap();
+        param.put("appkey", "dingapqprcbwk5bvahc1");
+        param.put("appsecret", "V_YgI8ZYx3lSf_Fw3qNH6k-U9umKhxglpPrnPkdb73CVrXWFme_SwUCdQxR2poFi");
+        DDR r = (DDR) UtilHttp.doGet("https://oapi.dingtalk.com/gettoken", param, DDR.class);
+        log.info("响应token, {}", r.getAccessToken());
+        String accessToken = r.getAccessToken();
+        // token失效自动重置: DD重新调用会重置过期时间
+        UtilToken.put("invalid-token-dingtalk", accessToken, r.getExpiresIn() * 1000L);
+        Map param_post = new HashMap();
+        param_post.put("userid",userid);//需要上传打卡记录的员工userId
+        param_post.put("device_name",device_name);//考勤机名称
+        param_post.put("device_id",device_id);//考勤机ID
+        param_post.put("user_check_time",user_check_time);//员工打卡的时间
+        return  (Map) DDR.doPost("https://oapi.dingtalk.com/topapi/attendance/record/upload", null, DDConf.initTokenParams(accessToken), param_post ).getResult();
+
+    }
 }