diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceGroup.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceGroup.java index 1c12bc32..dfe7075c 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceGroup.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceGroup.java @@ -130,6 +130,8 @@ public class SurProjectAttendanceGroup extends BaseEntity g.companyName=j.getString("corpName"); g.teamName=j.getString("teamName"); g.bizLicense=j.getString("corpCode"); + g.companyCode=j.getString("teamJobtype"); + g.companyTypeId=""; g.enterDate=0l; g.exitDate=0l; diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java index d6dad27f..8f0cb368 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java @@ -212,6 +212,10 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc sdata.setWorkerGender(sdata.getWorkerGender()==1?0l:1l); sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 } + if("jgw".equals(sdata.getVendorsCode())){ + sdata.setWorkTypeName(group.getCompanyCode()); + sdata.setGroupName(group.getTeamName()); + } //查询项目部门信息 SurProjectAttendanceCfg cfgWhere=new SurProjectAttendanceCfg(); cfgWhere.setId(sdata.getCfgid()); @@ -232,6 +236,8 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc sdata.setId(list.get(0).getId()); SurProjectAttendanceData upData=list.get(0); upData.setAttendanceOutTime(sdata.getAttendanceTime()); + upData.setGroupName(sdata.getGroupName()); + upData.setWorkTypeName(sdata.getWorkTypeName()); updateSurProjectAttendanceData(upData); } } diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java index 533ca4f4..55ad8914 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/task/AttendanceJgwTask.java @@ -10,6 +10,9 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.sign.Md5Utils; @@ -31,6 +34,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.concurrent.TimeUnit; + @Component("attendanceJgwTask") public class AttendanceJgwTask { @Autowired @@ -44,8 +49,31 @@ public class AttendanceJgwTask { @Autowired ISurProjectAttendanceGroupService attendanceGroupService; + @Autowired + private RedisCache redisCache; + private String getWorkTypeName(String appid,String token,String type,String key){ + String ckey="attendance_jgw_work_type_"+type; + Object obj=redisCache.getCacheObject(ckey); + HashMap map=null; + if(obj==null){ + map=getJobTypeData(appid,token,type); + if(map!=null){ + redisCache.setCacheObject(key, ckey, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.DAYS); + }else{ + return "未知"; + } + }else{ + map=(HashMap)obj; + } + if(map.containsKey(key)){ + return map.get(key); + } + return "未知"; + } static String host="http://api.gongyoumishu.com:80/gomeetapi/"; + + //sign/photo/20240101/E24E76-C9A5CB-0000FF/1741751233297383424_8848.JPG public static String getToken(String appid,String secret){ String grantType="client_credential"; @@ -93,6 +121,37 @@ public class AttendanceJgwTask { //findAttendanceByProject(appid,token,prjId); findTeamByProjectId(appid,token,prjId); //findProContractorByProjectId(appid,token,prjId); + //getJobTypeData(appid,token,"0"); + } + public static HashMap getJobTypeData(String appId,String token,String type){ + String path="/webapi/dictInfo/getJobTypeData"; + String time = System.currentTimeMillis() + ""; + String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"×tamp=" + time; + System.out.println(url); + String tokenSign = Md5Utils.hash(url); + System.out.println(tokenSign); + Map params = new HashMap<>(); + params.put("appId",appId); + params.put("timestamp",time); + params.put("tokenSign",tokenSign); + params.put("type",type); + Request request = new Request.Builder() + .url(host+path) + .post(toFormBody(params)) + .build(); + String data=AttendanceTask.getResult(request); + System.out.println(data); + JSONObject j= JSON.parseObject(data); + JSONObject jd=j.getJSONObject("data"); + JSONArray arr=jd.getJSONArray("jobTypes"); + HashMap map=new HashMap<>(); + for(int i=0;i