update code

dev_xds
haha 2024-03-25 23:43:54 +08:00
parent 74b3ae5d72
commit 4b9a42c288
3 changed files with 68 additions and 0 deletions

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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<String,String> 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<String,String>)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<String,String> getJobTypeData(String appId,String token,String type){
String path="/webapi/dictInfo/getJobTypeData";
String time = System.currentTimeMillis() + "";
String url=host+path+"?appId=" + appId + "&tokenSign=" + token +"&timestamp=" + time;
System.out.println(url);
String tokenSign = Md5Utils.hash(url);
System.out.println(tokenSign);
Map<String, Object> 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<String,String> map=new HashMap<>();
for(int i=0;i<arr.size();i++){
JSONObject jo=arr.getJSONObject(i);
String code=jo.getString("dictCode");
String value=jo.getString("dictValue");
map.put(code,value);
}
return map;
}
public static void findAttendanceByProject(String appId,String token,String projectId){
String path="/webapi/project/findAttendanceByProject";
@ -327,6 +386,7 @@ public class AttendanceJgwTask {
JSONObject json=arr.getJSONObject(i);
SurProjectAttendanceUser user=SurProjectAttendanceUser.createFromJgw(json);
user.setVendorsCode(it.getVendorsCode());
user.setCfgid(it.getId());
user.setAppId(appId);
attendanceUserService.add(user);