考勤推送金蝶调整
This commit is contained in:
parent
d4658848cf
commit
20e4492b6b
@ -29,7 +29,7 @@ public class InsertAndUpdateMybatisHandler implements MetaObjectHandler {
|
||||
try {
|
||||
name = SecurityUtils.getUsername();
|
||||
} catch (Exception e) {
|
||||
log.error("获取当前登录用户异常"+e.getMessage());
|
||||
//log.error("获取当前登录用户异常"+e.getMessage());
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(metaObject)){
|
||||
mySetFieldValByName("createBy", name,metaObject);
|
||||
@ -57,7 +57,7 @@ public class InsertAndUpdateMybatisHandler implements MetaObjectHandler {
|
||||
try {
|
||||
name = SecurityUtils.getUsername();
|
||||
} catch (Exception e) {
|
||||
log.error("获取当前登录用户异常"+e.getMessage());
|
||||
//log.error("获取当前登录用户异常"+e.getMessage());
|
||||
}
|
||||
if(ObjectUtils.isNotEmpty(metaObject)){
|
||||
mySetFieldValByName("updateBy",name,metaObject);
|
||||
|
||||
@ -2,6 +2,8 @@ package com.evo.kingdeeUtils;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.evo.common.utils.Collections;
|
||||
import com.evo.common.utils.DateUtils;
|
||||
import com.evo.common.utils.spring.SpringUtils;
|
||||
import com.evo.kingdeeUtils.exception.KingdeeException;
|
||||
@ -9,6 +11,8 @@ import com.evo.kingdeeUtils.kenum.BaseEnum;
|
||||
import com.evo.kingdeeUtils.kenum.KingdeeParamsEnum;
|
||||
import com.evo.kingdeeUtils.mapper.LogKingDeeMapper;
|
||||
import com.evo.kingdeeUtils.vo.LogKingDee;
|
||||
import com.google.gson.Gson;
|
||||
import com.kingdee.bos.webapi.entity.RepoRet;
|
||||
import com.kingdee.bos.webapi.sdk.K3CloudApi;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -31,8 +35,7 @@ import java.util.stream.Collectors;
|
||||
@Slf4j
|
||||
public class KingdeeRequestUtils {
|
||||
|
||||
/***
|
||||
* 员工保存接口
|
||||
/*** 员工保存接口
|
||||
* @param params
|
||||
* 参数说明对照关系: key-value
|
||||
* FName-员工姓名
|
||||
@ -40,12 +43,32 @@ public class KingdeeRequestUtils {
|
||||
* FNumber-岗位编号
|
||||
* FPostDept_FNumber_岗位所属部门编号
|
||||
*/
|
||||
public static void employeeSave(Map<String, String> params){
|
||||
request(params, KingdeeParamsEnum.Employee.SAVE);
|
||||
public static String employeeSave(Map<String, String> params){
|
||||
return getSaveResultInfo(request(params, KingdeeParamsEnum.Employee.SAVE));
|
||||
}
|
||||
/*** 员工保存接口(没岗位的保存)
|
||||
* @param params
|
||||
* 参数说明对照关系: key-value
|
||||
* FName-员工姓名
|
||||
* FStaffNumber-员工编号
|
||||
* FNumber-岗位编号
|
||||
* FPostDept_FNumber_岗位所属部门编号
|
||||
*/
|
||||
public static String employeeSaveEmptyJob(Map<String, String> params){
|
||||
return getSaveResultInfo(request(params, KingdeeParamsEnum.Employee.SAVE_EMPTY_DEPT));
|
||||
}
|
||||
|
||||
/***
|
||||
* 员工禁用接口
|
||||
private static String getSaveResultInfo(JSONArray resultArray){
|
||||
Map<String, Object> resultMap = Collections.emptyMap();
|
||||
if(resultArray != null && resultArray.size() > 0){
|
||||
JSONObject result = resultArray.getJSONObject(0);
|
||||
resultMap.put("FID", result.getInteger("FID"));
|
||||
}
|
||||
return JSON.toJSONString(resultMap);
|
||||
}
|
||||
|
||||
|
||||
/** 员工禁用接口
|
||||
* @param params
|
||||
* 参数说明对照关系: key-value
|
||||
* userCode-员工编码 (多个使用,分割, 即: 001,002,003)
|
||||
@ -53,8 +76,7 @@ public class KingdeeRequestUtils {
|
||||
public static void employeeDisabled(Map<String, String> params){
|
||||
excuteOperation(params, KingdeeParamsEnum.Employee.DISABLED);
|
||||
}
|
||||
/***
|
||||
* 员工反禁用接口
|
||||
/** 员工反禁用接口
|
||||
* @param params
|
||||
* 参数说明对照关系: key-value
|
||||
* userCode-员工编码 (多个使用,分割, 即: 001,002,003)
|
||||
@ -71,32 +93,51 @@ public class KingdeeRequestUtils {
|
||||
* FNumber-员工编号
|
||||
* deptCode-部门编号
|
||||
* jobCode-岗位编号
|
||||
*
|
||||
*
|
||||
|
||||
*/
|
||||
public static void updateJobInfo(Map<String, String> params){
|
||||
if(StringUtils.isNotEmpty(params.get("oldJobCode"))){
|
||||
public static String updateJobInfo(Map<String, String> params){
|
||||
if((StringUtils.isEmpty(params.get("FSTAFFID")) || "null".equals(params.get("FSTAFFID"))) && StringUtils.isNotEmpty(params.get("oldJobCode")) && !"null".equals(params.get("oldJobCode"))){
|
||||
String result = executeBillQuery(params, KingdeeParamsEnum.JobInfo.DOCUMENT_INQUIRY);
|
||||
JSONArray resJS = JSON.parseArray(result);
|
||||
if(resJS.size() > 0){
|
||||
params.put("FSTAFFID", resJS.getJSONArray(0).getString(0));
|
||||
}
|
||||
}
|
||||
request(params, KingdeeParamsEnum.JobInfo.UPDATE);
|
||||
if(StringUtils.isEmpty(params.get("FSTAFFID")) || "null".equals(params.get("FSTAFFID"))){
|
||||
params.put("FSTAFFID", "0");
|
||||
}
|
||||
return getJobResultInfo(request(params, KingdeeParamsEnum.JobInfo.UPDATE));
|
||||
}
|
||||
|
||||
private static String getJobResultInfo(JSONArray resultArray){
|
||||
Map<String, Object> resultMap = Collections.emptyMap();
|
||||
if(resultArray != null && resultArray.size() > 0){
|
||||
JSONObject result = resultArray.getJSONObject(0);
|
||||
resultMap.put("FSTAFFID", result.getInteger("FSTAFFID"));
|
||||
}
|
||||
return JSON.toJSONString(resultMap);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static void request(Map<String, String> params, BaseEnum paramEnum){
|
||||
private static JSONArray request(Map<String, String> params, BaseEnum paramEnum){
|
||||
log.error("{}====> 接口调用, 参数为:{} ", paramEnum.getDes(), JSON.toJSONString(params));
|
||||
String requestParam = buildParams(params, paramEnum);
|
||||
String resultJson = "";
|
||||
|
||||
JSONArray resultArray = new JSONArray("");
|
||||
try {
|
||||
K3CloudApi client = new K3CloudApi();
|
||||
resultJson = client.save(paramEnum.getFromId(), requestParam);
|
||||
System.out.println(resultJson);
|
||||
log.info("{}====>接口返回结果: {}", paramEnum.getDes(), resultJson);
|
||||
|
||||
//用于记录结果
|
||||
Gson gson = new Gson();
|
||||
//对返回结果进行解析和校验
|
||||
RepoRet repoRet = gson.fromJson(resultJson, RepoRet.class);
|
||||
if (repoRet.getResult().getResponseStatus().isIsSuccess()) {
|
||||
JSONObject jo = JSON.parseObject(resultJson);
|
||||
JSONObject result = jo.getJSONObject("Result");
|
||||
resultArray = result.getJSONArray("NeedReturnData");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
resultJson = e.getMessage();
|
||||
log.error("{}====>请求错误: {}", paramEnum.getDes(), e.getMessage());
|
||||
@ -105,7 +146,7 @@ public class KingdeeRequestUtils {
|
||||
//记录日志
|
||||
instLog(paramEnum, params, requestParam, resultJson);
|
||||
}
|
||||
|
||||
return resultArray;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ public enum KingdeeParamsEnum {
|
||||
public static final String REQUEST_PARAM_SUFFIX="_param";
|
||||
|
||||
public enum JobInfo implements BaseEnum{
|
||||
UPDATE("岗位信息修改", "BD_NEWSTAFF", Collections.asMap("userCode","员工编号不能为空","deptCode","部门编号不能为空","jobCode","岗位编号不能为空", "FSTAFFID","修改的业务单据DI不能为空"),"{\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"true\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"true\",\"ValidateFlag\":\"true\",\"NumberSearch\":\"true\",\"IsAutoAdjustField\":\"true\",\"InterationFlags\":\"\",\"IgnoreInterationFlag\":\"\",\"IsControlPrecision\":\"false\",\"ValidateRepeatJson\":\"false\",\"Model\":{\"FSTAFFID\":FSTAFFID"+REQUEST_PARAM_SUFFIX+",\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"FPerson\":{\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\"},\"FDept\":{\"FNumber\":\"deptCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPosition\":{\"FNumber\":\"jobCode"+REQUEST_PARAM_SUFFIX+"\"},\"FStartDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FEmpInfoId\":{\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPOSTBILLEntity\":{\"FIsFirstPost\":false},\"FOtherEntity\":{},\"FSHRMapEntity\":{}}}"),
|
||||
UPDATE("岗位信息修改", "BD_NEWSTAFF", Collections.asMap("userCode","员工编号不能为空","deptCode","部门编号不能为空","jobCode","岗位编号不能为空", "FSTAFFID","修改的业务单据DI不能为空"),"{\"NeedUpDateFields\":[],\"NeedReturnFields\":[\"FSTAFFID\"],\"IsDeleteEntry\":\"true\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"true\",\"ValidateFlag\":\"true\",\"NumberSearch\":\"true\",\"IsAutoAdjustField\":\"true\",\"InterationFlags\":\"\",\"IgnoreInterationFlag\":\"\",\"IsControlPrecision\":\"false\",\"ValidateRepeatJson\":\"false\",\"Model\":{\"FSTAFFID\":FSTAFFID"+REQUEST_PARAM_SUFFIX+",\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"FPerson\":{\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\"},\"FDept\":{\"FNumber\":\"deptCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPosition\":{\"FNumber\":\"jobCode"+REQUEST_PARAM_SUFFIX+"\"},\"FStartDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FEmpInfoId\":{\"FNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPOSTBILLEntity\":{\"FIsFirstPost\":false},\"FOtherEntity\":{},\"FSHRMapEntity\":{}}}"),
|
||||
DOCUMENT_INQUIRY("单据查询", "BD_NEWSTAFF", Collections.asMap("userCode","员工编号不能为空","oldJobCode","岗位编号不能为空"),"{\"FormId\":\"BD_NEWSTAFF\",\"FieldKeys\":\"FSTAFFID\",\"FilterString\":[{\"Left\":\"\",\"FieldName\":\"FNumber\",\"Compare\":\"17\",\"Value\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"Right\":\"\",\"Logic\":0},{\"Left\":\"\",\"FieldName\":\"FStaffNumber\",\"Compare\":\"17\",\"Value\":\"oldJobCode"+REQUEST_PARAM_SUFFIX+"\",\"Right\":\"\",\"Logic\":0}],\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":2000,\"SubSystemId\":\"\"}"),
|
||||
;
|
||||
String des;
|
||||
@ -66,9 +66,11 @@ public enum KingdeeParamsEnum {
|
||||
* 金蝶请求参数, 员工
|
||||
*/
|
||||
public enum Employee implements BaseEnum {
|
||||
SAVE("员工保存", "BD_Empinfo", "",Collections.asMap("userName","员工姓名不能为空","userCode","员工编号不能为空","jobCode","岗位编号不能为空"),"{\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"true\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"true\",\"ValidateFlag\":\"true\",\"NumberSearch\":\"true\",\"IsAutoSubmitAndAudit\":\"true\",\"IsAutoAdjustField\":\"true\",\"InterationFlags\":\"\",\"IgnoreInterationFlag\":\"\",\"IsControlPrecision\":\"false\",\"ValidateRepeatJson\":\"false\",\"Model\":{\"FID\":0,\"FName\":\"userName"+REQUEST_PARAM_SUFFIX+"\",\"FStaffNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"FCreateSaler\":false,\"FCreateUser\":false,\"FCreateCashier\":false,\"FJoinDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FSHRMapEntity\":{},\"FPostEntity\":[{\"FPostDept\":{\"FNumber\":\"deptCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPost\":{\"FNumber\":\"jobCode"+REQUEST_PARAM_SUFFIX+"\"},\"FStaffStartDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FIsFirstPost\":true,\"FStaffDetails\":0}]}}"),
|
||||
SAVE("员工保存", "BD_Empinfo", "",Collections.asMap("userName","员工姓名不能为空","userCode","员工编号不能为空","jobCode","岗位编号不能为空"),"{\"NeedUpDateFields\":[],\"NeedReturnFields\":[\"FID\"],\"IsDeleteEntry\":\"true\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"true\",\"ValidateFlag\":\"true\",\"NumberSearch\":\"true\",\"IsAutoSubmitAndAudit\":\"true\",\"IsAutoAdjustField\":\"true\",\"InterationFlags\":\"\",\"IgnoreInterationFlag\":\"\",\"IsControlPrecision\":\"false\",\"ValidateRepeatJson\":\"false\",\"Model\":{\"FID\":0,\"FName\":\"userName"+REQUEST_PARAM_SUFFIX+"\",\"FStaffNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"FCreateSaler\":false,\"FCreateUser\":false,\"FCreateCashier\":false,\"FJoinDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FSHRMapEntity\":{},\"FPostEntity\":[{\"FPostDept\":{\"FNumber\":\"deptCode"+REQUEST_PARAM_SUFFIX+"\"},\"FPost\":{\"FNumber\":\"jobCode"+REQUEST_PARAM_SUFFIX+"\"},\"FStaffStartDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FIsFirstPost\":true,\"FStaffDetails\":0}]}}"),
|
||||
SAVE_EMPTY_DEPT("员工保存_岗位为空", "BD_Empinfo", "",Collections.asMap("userName","员工姓名不能为空","userCode","员工编号不能为空"),"{\"NeedUpDateFields\":[],\"NeedReturnFields\":[\"FID\"],\"IsDeleteEntry\":\"true\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"true\",\"ValidateFlag\":\"true\",\"NumberSearch\":\"true\",\"IsAutoSubmitAndAudit\":\"true\",\"IsAutoAdjustField\":\"true\",\"InterationFlags\":\"\",\"IgnoreInterationFlag\":\"\",\"IsControlPrecision\":\"false\",\"ValidateRepeatJson\":\"false\",\"Model\":{\"FID\":0,\"FName\":\"userName"+REQUEST_PARAM_SUFFIX+"\",\"FStaffNumber\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"FCreateSaler\":false,\"FCreateUser\":false,\"FCreateCashier\":false,\"FJoinDate\":\"date"+REQUEST_PARAM_SUFFIX+"\",\"FSHRMapEntity\":{}}}"),
|
||||
DISABLED("员工禁用","BD_Empinfo", "Forbid", Collections.asMap("userCode","员工编码不能为空"),"{\"Numbers\":[userCode"+REQUEST_PARAM_SUFFIX+"],\"Ids\":\"\",\"PkEntryIds\":[],\"UseOrgId\":0,\"NetworkCtrl\":\"\",\"IgnoreInterationFlag\":\"\"}"),
|
||||
REVERSE_DISABLED("员工反禁用","BD_Empinfo", "Enable", Collections.asMap("userCode","员工编码不能为空"),"{\"Numbers\":[userCode"+REQUEST_PARAM_SUFFIX+"],\"Ids\":\"\",\"PkEntryIds\":[],\"UseOrgId\":0,\"NetworkCtrl\":\"\",\"IgnoreInterationFlag\":\"\"}"),
|
||||
DOCUMENT_INQUIRY("单据查询", "BD_Empinfo", "", Collections.asMap("userCode","员工编号不能为空"),"{\"FormId\":\"BD_Empinfo\",\"FieldKeys\":\"FID\",\"FilterString\":[{\"Left\":\"\",\"FieldName\":\"FStaffNumber\",\"Compare\":\"17\",\"Value\":\"userCode"+REQUEST_PARAM_SUFFIX+"\",\"Right\":\"\",\"Logic\":0}],\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":2000,\"SubSystemId\":\"\"}"),
|
||||
;
|
||||
String des;
|
||||
String fromId;
|
||||
|
||||
@ -12,6 +12,7 @@ import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -204,6 +205,9 @@ public class SysStaff extends BaseEntity
|
||||
@TableField(exist = false)
|
||||
private List<Long> subsidyList;
|
||||
|
||||
|
||||
private String extended;
|
||||
|
||||
public List<Long> getSubsidyList() {
|
||||
if(Collections.isEmpty(subsidyList) && StringUtils.isNotEmpty(subsidys)){
|
||||
subsidyList = Collections.asList(subsidys.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.evo.system.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -17,6 +20,7 @@ import com.evo.common.utils.bean.BeanUtils;
|
||||
import com.evo.common.utils.poi.ExcelUtil1;
|
||||
import com.evo.equipment.service.IEqSnDetailService;
|
||||
import com.evo.kingdeeUtils.KingdeeRequestUtils;
|
||||
import com.evo.kingdeeUtils.kenum.KingdeeParamsEnum;
|
||||
import com.evo.personnelMatters.domain.RzSubsidyInfo;
|
||||
import com.evo.personnelMatters.mapper.RzSubsidyInfoMapper;
|
||||
import com.evo.restaurant.service.IRzRestaurantStatisticsService;
|
||||
@ -161,7 +165,11 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
initCheckDevice(sysStaff);
|
||||
//新增员工信息到金蝶
|
||||
if(StringUtils.isNotEmpty(sysStaff.getJobCode())){
|
||||
KingdeeRequestUtils.employeeSave(Collections.asMap("userName", sysStaff.getName(), "userCode", sysStaff.getCode(), "jobCode", sysStaff.getJobCode().split("_")[0],"deptCode", sysStaff.getJobCode().split("_")[1]));
|
||||
sysStaff.setExtended(KingdeeRequestUtils.employeeSave(Collections.asMap("userName", sysStaff.getName(), "userCode", sysStaff.getCode(), "jobCode", sysStaff.getJobCode().split("_")[0],"deptCode", sysStaff.getJobCode().split("_")[1])));
|
||||
updateById(sysStaff);
|
||||
}else if(StringUtils.isEmpty(sysStaff.getJobCode())){
|
||||
sysStaff.setExtended(KingdeeRequestUtils.employeeSaveEmptyJob(Collections.asMap("userName", sysStaff.getName(), "userCode", sysStaff.getCode())));
|
||||
updateById(sysStaff);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
@ -238,7 +246,6 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
if(StringUtils.isNotEmpty(sysStaff.getCode())){
|
||||
KingdeeRequestUtils.employeeDisabled(Collections.asMap("userCode","\""+sysStaff.getCode()+"\""));
|
||||
}
|
||||
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
@ -267,7 +274,40 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
if(StringUtils.isNotEmpty(old_staff.getJobCode())){
|
||||
oldPositionNum = old_staff.getJobCode().split("_")[0];
|
||||
}
|
||||
KingdeeRequestUtils.updateJobInfo(Collections.asMap( "userCode", sysStaff.getCode(), "deptCode", deptNum, "jobCode", positionNum, "oldJobCode", oldPositionNum));
|
||||
String fstaffId = "";
|
||||
String fid = null;
|
||||
JSONObject extended = new JSONObject();
|
||||
if(StringUtils.isNotEmpty(sysStaff.getExtended())){
|
||||
extended = JSON.parseObject(sysStaff.getExtended());
|
||||
fstaffId = extended.getString("FSTAFFID");
|
||||
fid = extended.getString("FID");
|
||||
}
|
||||
|
||||
|
||||
//都为空, 不确定金蝶是否存在员工信息
|
||||
if(StringUtils.isEmpty(fid) && StringUtils.isEmpty(fstaffId)){
|
||||
//查询金蝶的表单
|
||||
String result = KingdeeRequestUtils.executeBillQuery(Collections.asMap("userCode", sysStaff.getCode()), KingdeeParamsEnum.Employee.DOCUMENT_INQUIRY);
|
||||
JSONArray resJS = JSON.parseArray(result);
|
||||
if(resJS.size() > 0){
|
||||
fid = resJS.getJSONArray(0).getString(0);
|
||||
extended.put("FID", fid);
|
||||
}
|
||||
}
|
||||
//如果fid还为空, 则证明金蝶不存在员工信息
|
||||
if(StringUtils.isEmpty(fid)){
|
||||
if(StringUtils.isNotEmpty(sysStaff.getJobCode())){
|
||||
sysStaff.setExtended(KingdeeRequestUtils.employeeSave(Collections.asMap("userName", sysStaff.getName(), "userCode", sysStaff.getCode(), "jobCode", sysStaff.getJobCode().split("_")[0],"deptCode", sysStaff.getJobCode().split("_")[1])));
|
||||
}else if(StringUtils.isEmpty(sysStaff.getJobCode())){
|
||||
sysStaff.setExtended(KingdeeRequestUtils.employeeSaveEmptyJob(Collections.asMap("userName", sysStaff.getName(), "userCode", sysStaff.getCode())));
|
||||
}
|
||||
}else{
|
||||
String result = KingdeeRequestUtils.updateJobInfo(Collections.asMap( "userCode", sysStaff.getCode(), "deptCode", deptNum, "jobCode", positionNum, "oldJobCode", oldPositionNum,"FSTAFFID", fstaffId));
|
||||
if(StringUtils.isNotEmpty(result)){
|
||||
extended.put("FSTAFFID",JSON.parseObject(result).getString("FSTAFFID"));
|
||||
sysStaff.setExtended(extended.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
//判断员工更换公司
|
||||
if(!old_staff.getCompanyName().equals(sysStaff.getCompanyName())) {
|
||||
@ -293,8 +333,7 @@ public class SysStaffServiceImpl extends ServiceImpl<SysStaffMapper, SysStaff> i
|
||||
|
||||
sysStaff.setUpdateTime(DateUtils.getNowDate());
|
||||
sysStaff.setUpdateBy(SecurityUtils.getUsername());
|
||||
int i= getBaseMapper().updateSysStaff(sysStaff);
|
||||
if(i < 1){
|
||||
if(!updateById(sysStaff)){
|
||||
return AjaxResult.error();
|
||||
}
|
||||
//修改考勤统计
|
||||
|
||||
@ -103,7 +103,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="selectRzLeaveDetailByUserIdAndDate" resultMap="RzLeaveDetailResult">
|
||||
select d.*
|
||||
from rz_leave_detail d left join rz_leave l on d.leave_id = l.id,
|
||||
from rz_leave_detail d left join rz_leave l on d.leave_id = l.id
|
||||
where l.user_id = #{userId}
|
||||
and l.del_flag = '0'
|
||||
and DATE_FORMAT( d.leave_start_time, '%Y%m%d' ) <= DATE_FORMAT(#{date} , '%Y%m%d' )
|
||||
|
||||
@ -76,6 +76,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="isOvertimePay != null and isOvertimePay != ''"> and ss.is_overtime_pay = #{isOvertimePay}</if>
|
||||
<if test="zsFlag != null and zsFlag != ''"> and ss.zs_flag = #{zsFlag}</if>
|
||||
<if test="companyName != null and companyName != ''"> and ss.company_name = #{companyName}</if>
|
||||
|
||||
order by create_time desc
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user