提交代码
parent
f845d6e42f
commit
ca300ff472
|
@ -21,6 +21,7 @@ import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.AuthRsaUtils;
|
import com.ruoyi.common.utils.AuthRsaUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.common.utils.bean.BeanUtils;
|
||||||
import com.ruoyi.common.utils.http.HttpClientUtil;
|
import com.ruoyi.common.utils.http.HttpClientUtil;
|
||||||
import com.ruoyi.common.utils.sign.Md5Utils;
|
import com.ruoyi.common.utils.sign.Md5Utils;
|
||||||
import com.ruoyi.framework.web.service.SysLoginService;
|
import com.ruoyi.framework.web.service.SysLoginService;
|
||||||
|
@ -29,6 +30,9 @@ import com.ruoyi.system.service.ISysUserService;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceGroup;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceGroup;
|
||||||
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
import com.yanzhu.jh.project.domain.SurProjectAttendanceUser;
|
||||||
|
import com.yanzhu.jh.project.domain.vo.LabourDataVo;
|
||||||
|
import com.yanzhu.jh.project.domain.vo.LabourGroupVO;
|
||||||
|
import com.yanzhu.jh.project.domain.vo.LabourUserVO;
|
||||||
import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService;
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService;
|
||||||
import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService;
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceGroupService;
|
||||||
import com.yanzhu.jh.project.service.ISurProjectAttendanceUserService;
|
import com.yanzhu.jh.project.service.ISurProjectAttendanceUserService;
|
||||||
|
@ -42,6 +46,9 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.validation.ConstraintViolation;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.Validation;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -149,7 +156,13 @@ public class LabourApiController extends BaseController {
|
||||||
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
||||||
try {
|
try {
|
||||||
SurProjectAttendanceGroup surProjectAttendanceGroup = JSONObject.parseObject(req.getData(), SurProjectAttendanceGroup.class);
|
SurProjectAttendanceGroup surProjectAttendanceGroup = JSONObject.parseObject(req.getData(), SurProjectAttendanceGroup.class);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceGroup.getServerid()) && surProjectAttendanceGroup.getCompanyId()!=null && StringUtils.isNotEmpty(surProjectAttendanceGroup.getCompanyTypeId()) && StringUtils.isNotEmpty(surProjectAttendanceGroup.getCompanyName()) && StringUtils.isNotEmpty(surProjectAttendanceGroup.getName())){
|
LabourGroupVO labourGroupVO = new LabourGroupVO();
|
||||||
|
BeanUtils.copyBeanProp(labourGroupVO,surProjectAttendanceGroup);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourGroupVO, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
// 查询当前班组是否已推送
|
// 查询当前班组是否已推送
|
||||||
SurProjectAttendanceGroup searchModel = new SurProjectAttendanceGroup();
|
SurProjectAttendanceGroup searchModel = new SurProjectAttendanceGroup();
|
||||||
searchModel.setAppId(sysApplyConfig.getAppId());
|
searchModel.setAppId(sysApplyConfig.getAppId());
|
||||||
|
@ -171,11 +184,14 @@ public class LabourApiController extends BaseController {
|
||||||
surProjectAttendanceGroupService.insertSurProjectAttendanceGroup(surProjectAttendanceGroup);
|
surProjectAttendanceGroupService.insertSurProjectAttendanceGroup(surProjectAttendanceGroup);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception(messages);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
|
@ -194,8 +210,6 @@ public class LabourApiController extends BaseController {
|
||||||
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
||||||
@PostMapping("/v1/pushLabourGroupList")
|
@PostMapping("/v1/pushLabourGroupList")
|
||||||
public AjaxResult pushLabourGroupList(@Validated @RequestBody LabourSignetVo req) {
|
public AjaxResult pushLabourGroupList(@Validated @RequestBody LabourSignetVo req) {
|
||||||
// 失败集合
|
|
||||||
List<Integer> failServiceIdList = new ArrayList<>();
|
|
||||||
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
||||||
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
||||||
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
||||||
|
@ -206,36 +220,43 @@ public class LabourApiController extends BaseController {
|
||||||
List<SurProjectAttendanceGroup> saveList = new ArrayList<>();
|
List<SurProjectAttendanceGroup> saveList = new ArrayList<>();
|
||||||
List<SurProjectAttendanceGroup> surProjectAttendanceGroupList = JSON.parseArray(req.getData(),SurProjectAttendanceGroup.class);
|
List<SurProjectAttendanceGroup> surProjectAttendanceGroupList = JSON.parseArray(req.getData(),SurProjectAttendanceGroup.class);
|
||||||
if(CollectionUtils.isNotEmpty(surProjectAttendanceGroupList)){
|
if(CollectionUtils.isNotEmpty(surProjectAttendanceGroupList)){
|
||||||
// 批量删除已保存数据
|
|
||||||
List<String> params = new ArrayList<>();
|
|
||||||
for(SurProjectAttendanceGroup surProjectAttendanceGroup:surProjectAttendanceGroupList){
|
|
||||||
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceGroup.getServerid());
|
|
||||||
}
|
|
||||||
surProjectAttendanceGroupService.deleteSurProjectAttendanceGroupByParams(params);
|
|
||||||
for(int i=0;i<surProjectAttendanceGroupList.size();i++){
|
for(int i=0;i<surProjectAttendanceGroupList.size();i++){
|
||||||
SurProjectAttendanceGroup surProjectAttendanceGroup = surProjectAttendanceGroupList.get(i);
|
SurProjectAttendanceGroup surProjectAttendanceGroup = surProjectAttendanceGroupList.get(i);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceGroup.getServerid()) && surProjectAttendanceGroup.getCompanyId()!=null && StringUtils.isNotEmpty(surProjectAttendanceGroup.getCompanyTypeId()) && StringUtils.isNotEmpty(surProjectAttendanceGroup.getCompanyName()) && StringUtils.isNotEmpty(surProjectAttendanceGroup.getName())){
|
LabourGroupVO labourGroupVO = new LabourGroupVO();
|
||||||
|
BeanUtils.copyBeanProp(labourGroupVO,surProjectAttendanceGroup);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourGroupVO, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
surProjectAttendanceGroup.setAppId(sysApplyConfig.getAppId());
|
surProjectAttendanceGroup.setAppId(sysApplyConfig.getAppId());
|
||||||
surProjectAttendanceGroup.setCfgid(sysApplyConfig.getCfgId());
|
surProjectAttendanceGroup.setCfgid(sysApplyConfig.getCfgId());
|
||||||
surProjectAttendanceGroup.setCreateBy(sysApplyConfig.getAppId());
|
surProjectAttendanceGroup.setCreateBy(sysApplyConfig.getAppId());
|
||||||
surProjectAttendanceGroup.setCreateTime(new Date());
|
surProjectAttendanceGroup.setCreateTime(new Date());
|
||||||
saveList.add(surProjectAttendanceGroup);
|
saveList.add(surProjectAttendanceGroup);
|
||||||
}else{
|
}else{
|
||||||
failServiceIdList.add(i);
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception("["+i+"]"+messages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 批量删除已保存数据
|
||||||
|
List<String> params = new ArrayList<>();
|
||||||
|
for(SurProjectAttendanceGroup surProjectAttendanceGroup:surProjectAttendanceGroupList){
|
||||||
|
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceGroup.getServerid());
|
||||||
|
}
|
||||||
|
surProjectAttendanceGroupService.deleteSurProjectAttendanceGroupByParams(params);
|
||||||
surProjectAttendanceGroupService.batchSurProjectAttendanceGroup(saveList);
|
surProjectAttendanceGroupService.batchSurProjectAttendanceGroup(saveList);
|
||||||
}else{
|
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
}
|
}
|
||||||
return success(failServiceIdList);
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -256,8 +277,13 @@ public class LabourApiController extends BaseController {
|
||||||
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
||||||
try {
|
try {
|
||||||
SurProjectAttendanceUser surProjectAttendanceUser = JSONObject.parseObject(req.getData(), SurProjectAttendanceUser.class);
|
SurProjectAttendanceUser surProjectAttendanceUser = JSONObject.parseObject(req.getData(), SurProjectAttendanceUser.class);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceUser.getWorkerId()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getName()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getPhone()) && surProjectAttendanceUser.getGroupId()!=null && surProjectAttendanceUser.getCompanyId()!=null
|
LabourUserVO labourUserVO = new LabourUserVO();
|
||||||
&& StringUtils.isNotEmpty(surProjectAttendanceUser.getGroupName()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getWorkTypeName()) && surProjectAttendanceUser.getGender()!=null && StringUtils.isNotEmpty(surProjectAttendanceUser.getRecentPhoto()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getNativePlace()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getEnterDate()) && surProjectAttendanceUser.getState()!=null){
|
BeanUtils.copyBeanProp(labourUserVO,surProjectAttendanceUser);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourUserVO, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
// 查询当前人员是否已推送
|
// 查询当前人员是否已推送
|
||||||
SurProjectAttendanceUser searchModel = new SurProjectAttendanceUser();
|
SurProjectAttendanceUser searchModel = new SurProjectAttendanceUser();
|
||||||
searchModel.setAppId(sysApplyConfig.getAppId());
|
searchModel.setAppId(sysApplyConfig.getAppId());
|
||||||
|
@ -279,11 +305,14 @@ public class LabourApiController extends BaseController {
|
||||||
surProjectAttendanceUserService.insertSurProjectAttendanceUser(surProjectAttendanceUser);
|
surProjectAttendanceUserService.insertSurProjectAttendanceUser(surProjectAttendanceUser);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception(messages);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
|
@ -302,8 +331,6 @@ public class LabourApiController extends BaseController {
|
||||||
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
||||||
@PostMapping("/v1/pushLabourUserList")
|
@PostMapping("/v1/pushLabourUserList")
|
||||||
public AjaxResult pushLabourUserList(@Validated @RequestBody LabourSignetVo req) {
|
public AjaxResult pushLabourUserList(@Validated @RequestBody LabourSignetVo req) {
|
||||||
// 失败集合
|
|
||||||
List<Integer> failServiceIdList = new ArrayList<>();
|
|
||||||
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
||||||
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
||||||
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
||||||
|
@ -314,36 +341,43 @@ public class LabourApiController extends BaseController {
|
||||||
List<SurProjectAttendanceUser> saveList = new ArrayList<>();
|
List<SurProjectAttendanceUser> saveList = new ArrayList<>();
|
||||||
List<SurProjectAttendanceUser> surProjectAttendanceUserList = JSON.parseArray(req.getData(),SurProjectAttendanceUser.class);
|
List<SurProjectAttendanceUser> surProjectAttendanceUserList = JSON.parseArray(req.getData(),SurProjectAttendanceUser.class);
|
||||||
if(CollectionUtils.isNotEmpty(surProjectAttendanceUserList)){
|
if(CollectionUtils.isNotEmpty(surProjectAttendanceUserList)){
|
||||||
// 批量删除已保存数据
|
|
||||||
List<String> params = new ArrayList<>();
|
|
||||||
for(SurProjectAttendanceUser surProjectAttendanceUser:surProjectAttendanceUserList){
|
|
||||||
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceUser.getWorkerId());
|
|
||||||
}
|
|
||||||
surProjectAttendanceUserService.deleteSurProjectAttendanceUserByParams(params);
|
|
||||||
for(int i=0;i<surProjectAttendanceUserList.size();i++){
|
for(int i=0;i<surProjectAttendanceUserList.size();i++){
|
||||||
SurProjectAttendanceUser surProjectAttendanceUser = surProjectAttendanceUserList.get(i);
|
SurProjectAttendanceUser surProjectAttendanceUser = surProjectAttendanceUserList.get(i);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceUser.getWorkerId()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getName()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getPhone()) && surProjectAttendanceUser.getGroupId()!=null && surProjectAttendanceUser.getCompanyId()!=null
|
LabourUserVO labourUserVO = new LabourUserVO();
|
||||||
&& StringUtils.isNotEmpty(surProjectAttendanceUser.getGroupName()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getWorkTypeName()) && surProjectAttendanceUser.getGender()!=null && StringUtils.isNotEmpty(surProjectAttendanceUser.getRecentPhoto()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getNativePlace()) && StringUtils.isNotEmpty(surProjectAttendanceUser.getEnterDate()) && surProjectAttendanceUser.getState()!=null){ surProjectAttendanceUser.setAppId(sysApplyConfig.getAppId());
|
BeanUtils.copyBeanProp(labourUserVO,surProjectAttendanceUser);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourUserVO, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
surProjectAttendanceUser.setCfgid(sysApplyConfig.getCfgId());
|
surProjectAttendanceUser.setCfgid(sysApplyConfig.getCfgId());
|
||||||
surProjectAttendanceUser.setCreateBy(sysApplyConfig.getAppId());
|
surProjectAttendanceUser.setCreateBy(sysApplyConfig.getAppId());
|
||||||
surProjectAttendanceUser.setCreateTime(new Date());
|
surProjectAttendanceUser.setCreateTime(new Date());
|
||||||
saveList.add(surProjectAttendanceUser);
|
saveList.add(surProjectAttendanceUser);
|
||||||
}else{
|
}else{
|
||||||
failServiceIdList.add(i);
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception("["+i+"]"+messages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 批量删除已保存数据
|
||||||
|
List<String> params = new ArrayList<>();
|
||||||
|
for(SurProjectAttendanceUser surProjectAttendanceUser:surProjectAttendanceUserList){
|
||||||
|
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceUser.getWorkerId());
|
||||||
|
}
|
||||||
|
//删除后新增
|
||||||
|
surProjectAttendanceUserService.deleteSurProjectAttendanceUserByParams(params);
|
||||||
surProjectAttendanceUserService.batchSurProjectAttendanceUser(saveList);
|
surProjectAttendanceUserService.batchSurProjectAttendanceUser(saveList);
|
||||||
}else{
|
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
}
|
}
|
||||||
return success(failServiceIdList);
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -364,7 +398,13 @@ public class LabourApiController extends BaseController {
|
||||||
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
if(req.getDataSign(sysApplyConfig.getPrivateKey())){
|
||||||
try {
|
try {
|
||||||
SurProjectAttendanceData surProjectAttendanceData = JSONObject.parseObject(req.getData(), SurProjectAttendanceData.class);
|
SurProjectAttendanceData surProjectAttendanceData = JSONObject.parseObject(req.getData(), SurProjectAttendanceData.class);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceData.getWorkerId()) && StringUtils.isNotEmpty(surProjectAttendanceData.getServerid()) && StringUtils.isNotEmpty(surProjectAttendanceData.getAttendanceType()) && surProjectAttendanceData.getAttendanceTime()!=null){
|
LabourDataVo labourDataVo = new LabourDataVo();
|
||||||
|
BeanUtils.copyBeanProp(labourDataVo,surProjectAttendanceData);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourDataVo, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
// 查询当前班组人员考勤是否已推送
|
// 查询当前班组人员考勤是否已推送
|
||||||
SurProjectAttendanceData searchModel = new SurProjectAttendanceData();
|
SurProjectAttendanceData searchModel = new SurProjectAttendanceData();
|
||||||
searchModel.setAppId(sysApplyConfig.getAppId());
|
searchModel.setAppId(sysApplyConfig.getAppId());
|
||||||
|
@ -387,11 +427,15 @@ public class LabourApiController extends BaseController {
|
||||||
surProjectAttendanceDataService.insertSurProjectAttendanceData(surProjectAttendanceData);
|
surProjectAttendanceDataService.insertSurProjectAttendanceData(surProjectAttendanceData);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception(messages);
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
|
@ -410,8 +454,6 @@ public class LabourApiController extends BaseController {
|
||||||
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
@RateLimiter(time = 30, count = 10, limitType = LimitType.IP)
|
||||||
@PostMapping("/v1/pushLabourDataList")
|
@PostMapping("/v1/pushLabourDataList")
|
||||||
public AjaxResult pushLabourDataList(@Validated @RequestBody LabourSignetVo req) {
|
public AjaxResult pushLabourDataList(@Validated @RequestBody LabourSignetVo req) {
|
||||||
// 失败集合
|
|
||||||
List<Integer> failServiceIdList = new ArrayList<>();
|
|
||||||
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
SysApplyConfig sysApplyConfig = redisCache.getCacheObject(CacheConstants.YANZHU_SYSTEM_CONFIG+super.getUsername());
|
||||||
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
if(StringUtils.equals(ShiFouEnum.SHI.getCode(),sysApplyConfig.getIsDel())){
|
||||||
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
throw new ServiceException(HttpStatusEnum.DISABLE.getInfo(),HttpStatusEnum.DISABLE.getCode());
|
||||||
|
@ -422,41 +464,48 @@ public class LabourApiController extends BaseController {
|
||||||
List<SurProjectAttendanceData> saveList = new ArrayList<>();
|
List<SurProjectAttendanceData> saveList = new ArrayList<>();
|
||||||
List<SurProjectAttendanceData> surProjectAttendanceDataList = JSON.parseArray(req.getData(),SurProjectAttendanceData.class);
|
List<SurProjectAttendanceData> surProjectAttendanceDataList = JSON.parseArray(req.getData(),SurProjectAttendanceData.class);
|
||||||
if(CollectionUtils.isNotEmpty(surProjectAttendanceDataList)){
|
if(CollectionUtils.isNotEmpty(surProjectAttendanceDataList)){
|
||||||
// 批量删除已保存数据
|
|
||||||
List<String> params = new ArrayList<>();
|
|
||||||
for(SurProjectAttendanceData surProjectAttendanceData:surProjectAttendanceDataList){
|
|
||||||
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceData.getServerid()+"-"+surProjectAttendanceData.getWorkerId());
|
|
||||||
}
|
|
||||||
surProjectAttendanceDataService.deleteSurProjectAttendanceDataByParams(params);
|
|
||||||
for(int i=0;i<surProjectAttendanceDataList.size();i++){
|
for(int i=0;i<surProjectAttendanceDataList.size();i++){
|
||||||
SurProjectAttendanceData surProjectAttendanceData = surProjectAttendanceDataList.get(i);
|
SurProjectAttendanceData surProjectAttendanceData = surProjectAttendanceDataList.get(i);
|
||||||
if(StringUtils.isNotEmpty(surProjectAttendanceData.getWorkerId()) && StringUtils.isNotEmpty(surProjectAttendanceData.getServerid()) && StringUtils.isNotEmpty(surProjectAttendanceData.getAttendanceType()) && surProjectAttendanceData.getAttendanceTime()!=null){
|
LabourDataVo labourDataVo = new LabourDataVo();
|
||||||
|
BeanUtils.copyBeanProp(labourDataVo,surProjectAttendanceData);
|
||||||
|
// 手动检测转换后的实体
|
||||||
|
Set<ConstraintViolation<@Valid Object>> validateSet = Validation.buildDefaultValidatorFactory()
|
||||||
|
.getValidator()
|
||||||
|
.validate(labourDataVo, new Class[0]);
|
||||||
|
if(CollectionUtils.isEmpty(validateSet)){
|
||||||
surProjectAttendanceData.setAppId(sysApplyConfig.getAppId());
|
surProjectAttendanceData.setAppId(sysApplyConfig.getAppId());
|
||||||
surProjectAttendanceData.setCfgid(sysApplyConfig.getCfgId());
|
surProjectAttendanceData.setCfgid(sysApplyConfig.getCfgId());
|
||||||
surProjectAttendanceData.setCreateBy(sysApplyConfig.getAppId());
|
surProjectAttendanceData.setCreateBy(sysApplyConfig.getAppId());
|
||||||
surProjectAttendanceData.setCreateTime(new Date());
|
surProjectAttendanceData.setCreateTime(new Date());
|
||||||
saveList.add(surProjectAttendanceData);
|
saveList.add(surProjectAttendanceData);
|
||||||
}else{
|
}else{
|
||||||
failServiceIdList.add(i);
|
String messages = validateSet.stream()
|
||||||
|
.map(ConstraintViolation::getMessage)
|
||||||
|
.reduce((m1, m2) -> m1 + ";" + m2)
|
||||||
|
.orElse("参数输入有误!");
|
||||||
|
throw new Exception("["+i+"]"+messages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 批量删除已保存数据
|
||||||
|
List<String> params = new ArrayList<>();
|
||||||
|
for(SurProjectAttendanceData surProjectAttendanceData:surProjectAttendanceDataList){
|
||||||
|
params.add(sysApplyConfig.getAppId()+"-"+surProjectAttendanceData.getServerid()+"-"+surProjectAttendanceData.getWorkerId());
|
||||||
|
}
|
||||||
|
surProjectAttendanceDataService.deleteSurProjectAttendanceDataByParams(params);
|
||||||
surProjectAttendanceDataService.batchSurProjectAttendanceData(saveList);
|
surProjectAttendanceDataService.batchSurProjectAttendanceData(saveList);
|
||||||
}else{
|
|
||||||
throw new ServiceException(HttpStatusEnum.DARA_EXCEPTION.getInfo(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
log.error(e.getMessage());
|
throw new ServiceException(e.getMessage(),HttpStatusEnum.DARA_EXCEPTION.getCode());
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_EXCEPTION.getInfo(),HttpStatusEnum.SINGET_EXCEPTION.getCode());
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
throw new ServiceException(HttpStatusEnum.SINGET_TIMEOUT.getInfo(),HttpStatusEnum.SINGET_TIMEOUT.getCode());
|
||||||
}
|
}
|
||||||
return success(failServiceIdList);
|
return success();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMIBL0C+sN2oZEaCscc8gaEjXv87F/Ggml4XcjFmWaw8xQ0vfwGzY6wdG6eTMLW0FV3GSSxs2lsVJnrjkHNAnqFoMGn3RHcHnrIlAm4+ALt8S4rQ1TIgqzuasuVykUkGunTDYzAEcObTkZ70ZToj8qQwRCkskfgbUIiw4XpXqS2QIDAQAB";
|
private static final String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMIBL0C+sN2oZEaCscc8gaEjXv87F/Ggml4XcjFmWaw8xQ0vfwGzY6wdG6eTMLW0FV3GSSxs2lsVJnrjkHNAnqFoMGn3RHcHnrIlAm4+ALt8S4rQ1TIgqzuasuVykUkGunTDYzAEcObTkZ70ZToj8qQwRCkskfgbUIiw4XpXqS2QIDAQAB";
|
||||||
private static final String baseUrl = "http://62.234.3.186:8090/jhapi";
|
private static final String baseUrl = "http://127.0.0.1:8090/jhapi";
|
||||||
private static final String token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijk1OWIwODAzLTU3NjEtNDBlOS1iYWUxLWJhNzQ0NjkyNmNkMCJ9.BKEaL5vGknNX6aVwYqG1xlJqv9haByoCD4Qo5alXXPWY3PkQsyKuLCN-Iw2ZHM3B4MX9XahrS2sT9Y3RjmuWXA";
|
private static final String token = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjMyZTJlYmY2LTE1NjktNDk1OS1iZDY4LTM1NWZhZGQxNjNiMyJ9.TM1mm-Nxr3g5HkUNt5gaDdN_nHKcQ8OiZYX6K1M5K8odLounSBxXzFlBzy3BndyhzkUmPbSIAO8yMD9up-FTYQ";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推送,修改班组信息【示例代码】
|
* 推送,修改班组信息【示例代码】
|
||||||
|
@ -494,6 +543,11 @@ public class LabourApiController extends BaseController {
|
||||||
public static void pushLabourGroup(){
|
public static void pushLabourGroup(){
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
map.put("serverid","1");
|
map.put("serverid","1");
|
||||||
|
map.put("companyId",123);
|
||||||
|
map.put("companyName","1222222222222222222222222");
|
||||||
|
map.put("companyTypeId","1");
|
||||||
|
map.put("name","12");
|
||||||
|
map.put("isDel",1);
|
||||||
String jsonString = JSONObject.toJSONString(map);
|
String jsonString = JSONObject.toJSONString(map);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
|
@ -522,13 +576,29 @@ public class LabourApiController extends BaseController {
|
||||||
* 批量推送班组信息【示例代码】
|
* 批量推送班组信息【示例代码】
|
||||||
*/
|
*/
|
||||||
public static void pushLabourGroupList(List<Map<String,Object>> datas){
|
public static void pushLabourGroupList(List<Map<String,Object>> datas){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("serverid","1");
|
||||||
|
map.put("companyId",123);
|
||||||
|
map.put("companyName","1222222222222222222222222");
|
||||||
|
map.put("companyTypeId","1");
|
||||||
|
map.put("name","12");
|
||||||
|
map.put("isDel",1);
|
||||||
|
datas.add(map);
|
||||||
|
Map<String,Object> map1 = new HashMap<>();
|
||||||
|
map1.put("serverid","1");
|
||||||
|
map1.put("companyId",123);
|
||||||
|
map1.put("companyName","1222222222222222222222222");
|
||||||
|
map1.put("companyTypeId","1");
|
||||||
|
map1.put("name","12");
|
||||||
|
map1.put("isDel",1);
|
||||||
|
datas.add(map1);
|
||||||
String jsonString = JSONObject.toJSONString(datas);
|
String jsonString = JSONObject.toJSONString(datas);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
// 明文信息->公钥加密
|
// 明文信息->公钥加密
|
||||||
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, Md5Utils.hash(jsonString)+timestamp);
|
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, Md5Utils.hash(jsonString)+timestamp);
|
||||||
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
||||||
String url = baseUrl + "/api/labour/v1/pushLabourGroup";
|
String url = baseUrl + "/api/labour/v1/pushLabourGroupList";
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
body.put("sign",encryptByPublicKeyStr);
|
body.put("sign",encryptByPublicKeyStr);
|
||||||
body.put("data",jsonString);
|
body.put("data",jsonString);
|
||||||
|
@ -554,11 +624,27 @@ public class LabourApiController extends BaseController {
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
map.put("workerId","1");
|
map.put("workerId","1");
|
||||||
map.put("name","张三");
|
map.put("name","张三");
|
||||||
|
map.put("phone","张三");
|
||||||
|
map.put("groupId",1);
|
||||||
|
map.put("companyId",1);
|
||||||
|
map.put("groupName","张三112");
|
||||||
|
map.put("workTypeName","张三112");
|
||||||
|
map.put("specWorkType",1);
|
||||||
|
map.put("typeName",1);
|
||||||
|
map.put("ethnic","1213");
|
||||||
|
map.put("gender",1);
|
||||||
|
map.put("recentPhoto","http:///api/labour/v1/pushLabourUser/123");
|
||||||
|
map.put("nativePlace","张三111");
|
||||||
|
map.put("enterDate",1);
|
||||||
|
map.put("state",1);
|
||||||
|
map.put("isDel",1);
|
||||||
String jsonString = JSONObject.toJSONString(map);
|
String jsonString = JSONObject.toJSONString(map);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
|
String s = Md5Utils.hash(jsonString)+timestamp;
|
||||||
|
log.info("签名明文...{}" , s);
|
||||||
// 明文信息->公钥加密
|
// 明文信息->公钥加密
|
||||||
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, Md5Utils.hash(jsonString)+timestamp);
|
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, s);
|
||||||
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
||||||
String url = baseUrl + "/api/labour/v1/pushLabourUser";
|
String url = baseUrl + "/api/labour/v1/pushLabourUser";
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
@ -582,6 +668,42 @@ public class LabourApiController extends BaseController {
|
||||||
* 批量推送人员信息【示例代码】
|
* 批量推送人员信息【示例代码】
|
||||||
*/
|
*/
|
||||||
public static void pushLabourUserList(List<Map<String,Object>> datas){
|
public static void pushLabourUserList(List<Map<String,Object>> datas){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("workerId","1");
|
||||||
|
map.put("name","张三");
|
||||||
|
map.put("phone","张三");
|
||||||
|
map.put("groupId",1);
|
||||||
|
map.put("companyId",1);
|
||||||
|
map.put("groupName","张三112");
|
||||||
|
map.put("workTypeName","张三112");
|
||||||
|
map.put("specWorkType",1);
|
||||||
|
map.put("typeName",1);
|
||||||
|
map.put("ethnic","1213");
|
||||||
|
map.put("gender",1);
|
||||||
|
map.put("recentPhoto","http:///api/labour/v1/pushLabourUser/123");
|
||||||
|
map.put("nativePlace","张三111");
|
||||||
|
map.put("enterDate",1);
|
||||||
|
map.put("state",1);
|
||||||
|
map.put("isDel",1);
|
||||||
|
datas.add(map);
|
||||||
|
Map<String,Object> map1 = new HashMap<>();
|
||||||
|
map1.put("workerId","1");
|
||||||
|
map1.put("name","张三");
|
||||||
|
map1.put("phone","张三");
|
||||||
|
map1.put("groupId",1);
|
||||||
|
map1.put("companyId",1);
|
||||||
|
map1.put("groupName","张三112");
|
||||||
|
map1.put("workTypeName","张三112");
|
||||||
|
map1.put("specWorkType",1);
|
||||||
|
map1.put("typeName",1);
|
||||||
|
map1.put("ethnic","1213");
|
||||||
|
map1.put("gender",1);
|
||||||
|
map1.put("recentPhoto","http:///api/labour/v1/pushLabourUser/123");
|
||||||
|
map1.put("nativePlace","张三111");
|
||||||
|
map1.put("enterDate",1);
|
||||||
|
map1.put("state",1);
|
||||||
|
map1.put("isDel",1);
|
||||||
|
datas.add(map1);
|
||||||
String jsonString = JSONObject.toJSONString(datas);
|
String jsonString = JSONObject.toJSONString(datas);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
|
@ -614,6 +736,11 @@ public class LabourApiController extends BaseController {
|
||||||
Map<String,Object> map = new HashMap<>();
|
Map<String,Object> map = new HashMap<>();
|
||||||
map.put("serverid","1");
|
map.put("serverid","1");
|
||||||
map.put("workerId","1");
|
map.put("workerId","1");
|
||||||
|
map.put("companyId",1);
|
||||||
|
map.put("attendanceType","E");
|
||||||
|
map.put("attendanceTime","2022-11-22 11:11:11");
|
||||||
|
map.put("identification","11231231232132");
|
||||||
|
map.put("isDel",1);
|
||||||
String jsonString = JSONObject.toJSONString(map);
|
String jsonString = JSONObject.toJSONString(map);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
|
@ -642,11 +769,31 @@ public class LabourApiController extends BaseController {
|
||||||
* 批量推送班组人员出勤信息【示例代码】
|
* 批量推送班组人员出勤信息【示例代码】
|
||||||
*/
|
*/
|
||||||
public static void pushLabourDataList(List<Map<String,Object>> datas){
|
public static void pushLabourDataList(List<Map<String,Object>> datas){
|
||||||
|
Map<String,Object> map = new HashMap<>();
|
||||||
|
map.put("serverid","1");
|
||||||
|
map.put("workerId","1");
|
||||||
|
map.put("companyId",1);
|
||||||
|
map.put("attendanceType","E");
|
||||||
|
map.put("attendanceTime","2022-11-22 11:11:11");
|
||||||
|
map.put("identification","11231231232132");
|
||||||
|
map.put("isDel",1);
|
||||||
|
datas.add(map);
|
||||||
|
Map<String,Object> map1 = new HashMap<>();
|
||||||
|
map1.put("serverid","1");
|
||||||
|
map1.put("workerId","1");
|
||||||
|
map1.put("companyId",1);
|
||||||
|
map1.put("attendanceType","E");
|
||||||
|
map1.put("attendanceTime","2022-11-22 11:11:11");
|
||||||
|
map1.put("identification","11231231232132");
|
||||||
|
map1.put("isDel",1);
|
||||||
|
datas.add(map1);
|
||||||
String jsonString = JSONObject.toJSONString(datas);
|
String jsonString = JSONObject.toJSONString(datas);
|
||||||
String timestamp = String.valueOf(System.currentTimeMillis());
|
String timestamp = String.valueOf(System.currentTimeMillis());
|
||||||
try {
|
try {
|
||||||
// 明文信息->公钥加密
|
// 明文信息->公钥加密
|
||||||
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, Md5Utils.hash(jsonString)+timestamp);
|
String s = Md5Utils.hash(jsonString)+timestamp;
|
||||||
|
log.info("签名明文...{}" , s);
|
||||||
|
String encryptByPublicKeyStr = AuthRsaUtils.encryptByPublicKey(publicKey, s);
|
||||||
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
log.info("公钥加密...{}" , encryptByPublicKeyStr);
|
||||||
String url = baseUrl + "/api/labour/v1/pushLabourDataList";
|
String url = baseUrl + "/api/labour/v1/pushLabourDataList";
|
||||||
Map<String, Object> body = new HashMap<>();
|
Map<String, Object> body = new HashMap<>();
|
||||||
|
@ -668,7 +815,7 @@ public class LabourApiController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
getToken();
|
pushLabourUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,7 @@ public class LabourSignetVo {
|
||||||
String decryptByPrivateKey = AuthRsaUtils.decryptByPrivateKey(privateKey,sign);
|
String decryptByPrivateKey = AuthRsaUtils.decryptByPrivateKey(privateKey,sign);
|
||||||
String privateDataStr = Md5Utils.hash(data) + timestamp;
|
String privateDataStr = Md5Utils.hash(data) + timestamp;
|
||||||
log.info("签名值...{}",privateDataStr);
|
log.info("签名值...{}",privateDataStr);
|
||||||
|
log.info("解密值...{}",decryptByPrivateKey);
|
||||||
if (StringUtils.equals(privateDataStr, decryptByPrivateKey)) {
|
if (StringUtils.equals(privateDataStr, decryptByPrivateKey)) {
|
||||||
signFlag = true;
|
signFlag = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,7 +102,7 @@ spring:
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 1
|
database: 1
|
||||||
# 密码
|
# 密码
|
||||||
password: 123456
|
password: sadklfasjfdlui_290sad^&F@&#&&*@^&*$
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lettuce:
|
lettuce:
|
||||||
|
|
|
@ -647,7 +647,8 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
setDataTypeLvl1(row, val){
|
setDataTypeLvl1(row, val){
|
||||||
updateProjectChecking({id:row.id,dataTypeLvl1:val});
|
row.dataTypeLvl2=null;
|
||||||
|
updateProjectChecking({id:row.id,dataTypeLvl1:val,dataTypeLvl2:null});
|
||||||
},
|
},
|
||||||
setDataTypeLvl2(row, val){
|
setDataTypeLvl2(row, val){
|
||||||
updateProjectChecking({id:row.id,dataTypeLvl2:val});
|
updateProjectChecking({id:row.id,dataTypeLvl2:val});
|
||||||
|
|
|
@ -280,7 +280,7 @@
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dict.type.project_checking_data_type_lvl2"
|
v-for="dict in dict.type.project_checking_data_type_lvl2"
|
||||||
v-show="form.dataTypeLvl1 == dict.raw.cssClass"
|
v-show="form.dataTypeLvl1 == dict.raw.remark"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
|
|
@ -457,6 +457,7 @@ export default {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.form.trainType = 1;
|
this.form.trainType = 1;
|
||||||
|
this.form.deptId = this.activeName;
|
||||||
this.form.isDel = 0;
|
this.form.isDel = 0;
|
||||||
addWorkTrain(this.form).then((response) => {
|
addWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("添加成功");
|
this.$modal.msgSuccess("添加成功");
|
||||||
|
|
|
@ -457,6 +457,7 @@ export default {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.form.trainType = 0;
|
this.form.trainType = 0;
|
||||||
|
this.form.deptId = this.activeName;
|
||||||
this.form.isDel = 0;
|
this.form.isDel = 0;
|
||||||
addWorkTrain(this.form).then((response) => {
|
addWorkTrain(this.form).then((response) => {
|
||||||
this.$modal.msgSuccess("添加成功");
|
this.$modal.msgSuccess("添加成功");
|
||||||
|
|
|
@ -89,11 +89,11 @@ public class SurProjectAttendanceData extends BaseEntity
|
||||||
private String other;
|
private String other;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@Excel(name = "")
|
@Excel(name = "数据状态")
|
||||||
private Long state;
|
private Long state;
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
@Excel(name = "")
|
@Excel(name = "数据是否有效")
|
||||||
private Long isDel;
|
private Long isDel;
|
||||||
|
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
|
@ -16,11 +16,11 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** $column.columnComment */
|
/** id */
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** $column.columnComment */
|
/** cfgid */
|
||||||
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
|
@Excel(name = "cfgid")
|
||||||
private Long cfgid;
|
private Long cfgid;
|
||||||
|
|
||||||
/** 注册应用ID */
|
/** 注册应用ID */
|
||||||
|
@ -104,7 +104,7 @@ public class SurProjectAttendanceGroup extends BaseEntity
|
||||||
private Long exitDate;
|
private Long exitDate;
|
||||||
|
|
||||||
/** 是否有效 */
|
/** 是否有效 */
|
||||||
@Excel(name = "是否有效", readConverterExp = "$column.readConverterExp()")
|
@Excel(name = "是否有效")
|
||||||
private Long isDel;
|
private Long isDel;
|
||||||
|
|
||||||
/** 时间戳 */
|
/** 时间戳 */
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
package com.yanzhu.jh.project.domain.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 劳务实名制管理对象
|
||||||
|
*
|
||||||
|
* @author JiangYuQi
|
||||||
|
* @date 2024-01-22
|
||||||
|
*/
|
||||||
|
public class LabourDataVo extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 数据id */
|
||||||
|
@NotBlank(message = "考勤数据ID不能为空")
|
||||||
|
@Size(max = 64, message = "考勤数据ID最大长度64位")
|
||||||
|
private String serverid;
|
||||||
|
|
||||||
|
/** 工人Id */
|
||||||
|
@NotBlank(message = "工人ID不能为空")
|
||||||
|
@Size(max = 64, message = "工人ID最大长度64位")
|
||||||
|
private String workerId;
|
||||||
|
|
||||||
|
/** 分包商id */
|
||||||
|
@NotNull(message = "分包商ID不能为空")
|
||||||
|
private Long companyId;
|
||||||
|
|
||||||
|
/** 进门还是出门E进,L出 */
|
||||||
|
@NotBlank(message = "进出门不能为空")
|
||||||
|
@Pattern(regexp = "E|L", message = "进出门类型格式异常,E进|L出")
|
||||||
|
private String attendanceType;
|
||||||
|
|
||||||
|
/** 考勤时间yyyy-MM-dd HH:mm:ss */
|
||||||
|
@NotBlank(message = "考勤时间不能为空")
|
||||||
|
@Size(min = 18,max = 20, message = "考勤时间格式异常YYYY-MM-dd HH:mm:ss")
|
||||||
|
private String attendanceTime;
|
||||||
|
|
||||||
|
/** 身份证号 */
|
||||||
|
@NotBlank(message = "身份证号不能为空")
|
||||||
|
@Size(max = 32, message = "身份证号最大长度为32位")
|
||||||
|
private String identification;
|
||||||
|
|
||||||
|
/** 数据是否有效 */
|
||||||
|
@NotNull(message = "数据是否有效不能为空")
|
||||||
|
@Max(value = 1, message = "数据是否有效格式异常,0有效|1无效")
|
||||||
|
private Long isDel;
|
||||||
|
|
||||||
|
public String getServerid() {
|
||||||
|
return serverid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerid(String serverid) {
|
||||||
|
this.serverid = serverid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorkerId() {
|
||||||
|
return workerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkerId(String workerId) {
|
||||||
|
this.workerId = workerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAttendanceType() {
|
||||||
|
return attendanceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttendanceType(String attendanceType) {
|
||||||
|
this.attendanceType = attendanceType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAttendanceTime() {
|
||||||
|
return attendanceTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAttendanceTime(String attendanceTime) {
|
||||||
|
this.attendanceTime = attendanceTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdentification() {
|
||||||
|
return identification;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIdentification(String identification) {
|
||||||
|
this.identification = identification;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIsDel() {
|
||||||
|
return isDel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsDel(Long isDel) {
|
||||||
|
this.isDel = isDel;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,85 @@
|
||||||
|
package com.yanzhu.jh.project.domain.vo;
|
||||||
|
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
public class LabourGroupVO {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 工人id */
|
||||||
|
@NotBlank(message = "班组主键ID不能为空")
|
||||||
|
@Size(max = 64, message = "班组主键最大64位")
|
||||||
|
private String serverid;
|
||||||
|
|
||||||
|
/** 分包商id */
|
||||||
|
@NotNull(message = "分包商ID不能为空")
|
||||||
|
private Long companyId;
|
||||||
|
|
||||||
|
/** 分包商名称 */
|
||||||
|
@NotBlank(message = "分包商名称不能为空")
|
||||||
|
@Size(max = 64, message = "分包商名称最大64位")
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
/** 分包商类型不能为空 */
|
||||||
|
@NotBlank(message = "分包商类型不能为空")
|
||||||
|
@Pattern(regexp = "1|2|3|4|5|6|7|8", message = "分包商类型错误,1总包|2劳务分包|8监理")
|
||||||
|
private String companyTypeId;
|
||||||
|
|
||||||
|
/** 班组名称 */
|
||||||
|
@NotBlank(message = "班组名称不能为空")
|
||||||
|
@Size(max = 64, message = "班组名称最大64位")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 数据是否有效 */
|
||||||
|
@NotNull(message = "数据是否有效不能为空")
|
||||||
|
@Max(value = 1, message = "数据是否有效格式异常,0有效|1无效")
|
||||||
|
private Long isDel;
|
||||||
|
|
||||||
|
public String getServerid() {
|
||||||
|
return serverid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerid(String serverid) {
|
||||||
|
this.serverid = serverid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanyName() {
|
||||||
|
return companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyName(String companyName) {
|
||||||
|
this.companyName = companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanyTypeId() {
|
||||||
|
return companyTypeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyTypeId(String companyTypeId) {
|
||||||
|
this.companyTypeId = companyTypeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIsDel() {
|
||||||
|
return isDel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsDel(Long isDel) {
|
||||||
|
this.isDel = isDel;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,216 @@
|
||||||
|
package com.yanzhu.jh.project.domain.vo;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Max;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
|
public class LabourUserVO {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 工人id */
|
||||||
|
@NotBlank(message = "工人ID不能为空")
|
||||||
|
@Size(max = 64, message = "工人ID最大长度64位")
|
||||||
|
private String workerId;
|
||||||
|
|
||||||
|
/** 姓名 */
|
||||||
|
@NotBlank(message = "工人姓名不能为空")
|
||||||
|
@Size(max = 32, message = "工人ID最大长度32位")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 民族 */
|
||||||
|
@NotBlank(message = "工人民族不能为空")
|
||||||
|
@Size(max = 32, message = "工人民族最大长度32位")
|
||||||
|
private String ethnic;
|
||||||
|
|
||||||
|
/** 籍贯 */
|
||||||
|
@NotBlank(message = "工人籍贯不能为空")
|
||||||
|
@Size(max = 128, message = "工人籍贯最大长度128位")
|
||||||
|
private String nativePlace;
|
||||||
|
|
||||||
|
/** 性别0:男 1:女 */
|
||||||
|
@NotNull(message = "工人性别不能为空")
|
||||||
|
@Max(value = 1, message = "工人性别格式异常")
|
||||||
|
private Long gender;
|
||||||
|
|
||||||
|
/** 联系电话 */
|
||||||
|
@NotBlank(message = "联系电话不能为空")
|
||||||
|
@Size(max = 32, message = "联系电话最大32位")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/** 近照 */
|
||||||
|
@NotBlank(message = "工人近照不能为空")
|
||||||
|
@Size(max = 255, message = "工人近照URL最大255位")
|
||||||
|
private String recentPhoto;
|
||||||
|
|
||||||
|
/** 所属班组ID */
|
||||||
|
@NotNull(message = "所属班组ID不能为空")
|
||||||
|
private Long groupId;
|
||||||
|
|
||||||
|
/** 所属班组 */
|
||||||
|
@NotBlank(message = "所属班组不能为空")
|
||||||
|
@Size(max = 64, message = "所属名称最大64位")
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
/** 工种名称 */
|
||||||
|
@NotBlank(message = "工种名称不能为空")
|
||||||
|
@Size(max = 64, message = "工种名称最大64位")
|
||||||
|
private String workTypeName;
|
||||||
|
|
||||||
|
/** 是否特殊工种 */
|
||||||
|
@NotNull(message = "是否特殊工种不能为空")
|
||||||
|
@Max(value = 1, message = "是否特殊工种格式异常,0否|1是")
|
||||||
|
private Integer specWorkType;
|
||||||
|
|
||||||
|
/** 进退场状态0:进场,1:退场 */
|
||||||
|
@NotNull(message = "进退场状态不能为空")
|
||||||
|
@Max(value = 1, message = "进退场状态格式异常,0进场|1退场")
|
||||||
|
private Long state;
|
||||||
|
|
||||||
|
/** 进场日期 */
|
||||||
|
@NotBlank(message = "进场日期不能为空")
|
||||||
|
@Size(max = 32, message = "进场日期格式异常")
|
||||||
|
private String enterDate;
|
||||||
|
|
||||||
|
/** 分包商id */
|
||||||
|
@NotNull(message = "分包商ID不能为空")
|
||||||
|
private Long companyId;
|
||||||
|
|
||||||
|
/** 分包商名称 */
|
||||||
|
@Size(max = 64, message = "分包商名称最大64位")
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
/** 数据是否有效 */
|
||||||
|
@NotNull(message = "数据是否有效不能为空")
|
||||||
|
@Max(value = 1, message = "数据是否有效格式异常,0有效|1无效")
|
||||||
|
private Long isDel;
|
||||||
|
|
||||||
|
public String getWorkerId() {
|
||||||
|
return workerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkerId(String workerId) {
|
||||||
|
this.workerId = workerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEthnic() {
|
||||||
|
return ethnic;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEthnic(String ethnic) {
|
||||||
|
this.ethnic = ethnic;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNativePlace() {
|
||||||
|
return nativePlace;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNativePlace(String nativePlace) {
|
||||||
|
this.nativePlace = nativePlace;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGender() {
|
||||||
|
return gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGender(Long gender) {
|
||||||
|
this.gender = gender;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhone() {
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhone(String phone) {
|
||||||
|
this.phone = phone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRecentPhoto() {
|
||||||
|
return recentPhoto;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRecentPhoto(String recentPhoto) {
|
||||||
|
this.recentPhoto = recentPhoto;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGroupId() {
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupId(Long groupId) {
|
||||||
|
this.groupId = groupId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGroupName() {
|
||||||
|
return groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupName(String groupName) {
|
||||||
|
this.groupName = groupName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWorkTypeName() {
|
||||||
|
return workTypeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWorkTypeName(String workTypeName) {
|
||||||
|
this.workTypeName = workTypeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSpecWorkType() {
|
||||||
|
return specWorkType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpecWorkType(Integer specWorkType) {
|
||||||
|
this.specWorkType = specWorkType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(Long state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnterDate() {
|
||||||
|
return enterDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnterDate(String enterDate) {
|
||||||
|
this.enterDate = enterDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCompanyId() {
|
||||||
|
return companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyId(Long companyId) {
|
||||||
|
this.companyId = companyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanyName() {
|
||||||
|
return companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyName(String companyName) {
|
||||||
|
this.companyName = companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIsDel() {
|
||||||
|
return isDel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsDel(Long isDel) {
|
||||||
|
this.isDel = isDel;
|
||||||
|
}
|
||||||
|
}
|
|
@ -194,14 +194,7 @@ public class WorkTrainServiceImpl implements IWorkTrainService
|
||||||
}else{
|
}else{
|
||||||
deptid = SecurityUtils.getDeptId();
|
deptid = SecurityUtils.getDeptId();
|
||||||
}
|
}
|
||||||
|
dept.setDeptId(deptid);
|
||||||
SysDept sysDept = sysDeptMapper.selectDeptById(deptid);
|
|
||||||
if(DeptTypeEnum.JTGS.getCode().equals(sysDept.getTypeFlag()) || DeptTypeEnum.ZGS.getCode().equals(sysDept.getTypeFlag())){
|
|
||||||
SurProject surProject = surProjectMapper.selectSurProjectById(workTrain.getProjectId());
|
|
||||||
dept.setDeptId(surProject.getDeptId());
|
|
||||||
}else{
|
|
||||||
dept.setDeptId(sysDept.getDeptId());
|
|
||||||
}
|
|
||||||
dept.setIsMain(PublicStateEnum.YES.getCode());
|
dept.setIsMain(PublicStateEnum.YES.getCode());
|
||||||
workTrainDeptList.add(dept);
|
workTrainDeptList.add(dept);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue