diff --git a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteFileService.java b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteFileService.java index 1a736406..6ec3cf17 100644 --- a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteFileService.java +++ b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteFileService.java @@ -2,6 +2,7 @@ package com.yanzhu.system.api; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; @@ -26,4 +27,14 @@ public interface RemoteFileService */ @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R upload(@RequestPart(value = "file") MultipartFile file); + + /** + * 指定上传文件 + * @param proPackage 项目包 + * @param dirs 目录 + * @param file 文件 + * @return + */ + @PostMapping(value = "/upload/{proPackage}/dirs/{dirs}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R dirsUploadFile(@PathVariable("proPackage") String proPackage, @PathVariable("dirs") String dirs, @RequestPart(value = "file") MultipartFile file); } diff --git a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteFileFallbackFactory.java b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteFileFallbackFactory.java index 60cce79b..48965e58 100644 --- a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteFileFallbackFactory.java +++ b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteFileFallbackFactory.java @@ -30,6 +30,12 @@ public class RemoteFileFallbackFactory implements FallbackFactory dirsUploadFile(String proPackage, String dirs, MultipartFile file) + { + return R.fail("上传文件失败:" + throwable.getMessage()); + } }; } } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftPostEnums.java similarity index 92% rename from yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java rename to yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftPostEnums.java index 17683de9..6d02ce29 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftPostEnums.java @@ -1,4 +1,4 @@ -package com.yanzhu.manage.enums; +package com.yanzhu.common.core.enums; /** * 工种岗位枚举 diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftTypeEnums.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftTypeEnums.java similarity index 92% rename from yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftTypeEnums.java rename to yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftTypeEnums.java index 1b5e6a9f..1185153e 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftTypeEnums.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/CraftTypeEnums.java @@ -1,4 +1,4 @@ -package com.yanzhu.manage.enums; +package com.yanzhu.common.core.enums; /** * 工种类型 diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/DeptGroupEnums.java similarity index 92% rename from yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java rename to yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/DeptGroupEnums.java index 7ebf73d9..47a5bf24 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/DeptGroupEnums.java @@ -1,4 +1,4 @@ -package com.yanzhu.manage.enums; +package com.yanzhu.common.core.enums; /** * 单位班组枚举 diff --git a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/ShiFouEnum.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/ShiFouEnum.java deleted file mode 100644 index 0b30ca6a..00000000 --- a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/ShiFouEnum.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yanzhu.common.core.enums; - - -import com.yanzhu.common.core.text.Convert; - -/** - * 是否状态 - * - * @author JiangYuQi - */ -public enum ShiFouEnum { - - FOU("0", "否"), SHI("1", "是"); - - private final String code; - private final String info; - - ShiFouEnum(String code, String info) - { - this.code = code; - this.info = info; - } - - public String getCode() - { - return code; - } - - public String getInfo() - { - return info; - } - - public Long getLongCode() - { - return Convert.toLong(code); - } - -} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/SubDeptsEnums.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/SubDeptsEnums.java similarity index 94% rename from yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/SubDeptsEnums.java rename to yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/SubDeptsEnums.java index 07692914..6d585271 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/SubDeptsEnums.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/SubDeptsEnums.java @@ -1,4 +1,4 @@ -package com.yanzhu.manage.enums; +package com.yanzhu.common.core.enums; /** * 单位类型枚举 diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/UserPostEnums.java similarity index 96% rename from yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java rename to yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/UserPostEnums.java index 30e493f8..945be4a2 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/enums/UserPostEnums.java @@ -1,4 +1,4 @@ -package com.yanzhu.manage.enums; +package com.yanzhu.common.core.enums; /** * 用户岗位 diff --git a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/DateUtils.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/DateUtils.java index b4116de1..bf33b6e6 100644 --- a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/DateUtils.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/DateUtils.java @@ -29,7 +29,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", - "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM", "yyyy年MM月dd日"}; /** * 获取当前Date型日期 @@ -78,11 +78,16 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return parseDateToStr(format, new Date()); } - public static final String dateTime(final Date date) + public static final String date(final Date date) { return parseDateToStr(YYYY_MM_DD, date); } + public static final String dateTime(final Date date) + { + return parseDateToStr(YYYY_MM_DD_HH_MM_SS, date); + } + public static final String parseDateToStr(final String format, final Date date) { return new SimpleDateFormat(format).format(date); @@ -110,12 +115,21 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils } /** - * 日期路径 即年/月/日 如20180808 + * 日期格式字符串 */ - public static final String dateTime() + public static final String dateStr() { Date now = new Date(); - return DateFormatUtils.format(now, "yyyyMMdd"); + return DateFormatUtils.format(now, YYYY_MM_DD); + } + + /** + * 时间格式字符串 + */ + public static final String dateTimeStr() + { + Date now = new Date(); + return DateFormatUtils.format(now, YYYY_MM_DD_HH_MM_SS); } /** @@ -149,7 +163,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils /** * 计算时间差 * - * @param endTime 最后时间 + * @param endDate 最后时间 * @param startTime 开始时间 * @return 时间差(天/小时/分钟) */ diff --git a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/file/FileUtils.java b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/file/FileUtils.java index 14acc086..60e3480a 100644 --- a/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/file/FileUtils.java +++ b/yanzhu-common/yanzhu-common-core/src/main/java/com/yanzhu/common/core/utils/file/FileUtils.java @@ -1,6 +1,8 @@ package com.yanzhu.common.core.utils.file; import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import javax.servlet.http.HttpServletRequest; @@ -12,6 +14,8 @@ import com.yanzhu.common.core.utils.uuid.IdUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.ArrayUtils; +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.web.multipart.MultipartFile; /** * 文件处理工具类 @@ -332,4 +336,60 @@ public class FileUtils String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); return encode.replaceAll("\\+", "%20"); } + + /** + * 下载文件为Multipart + * @param fileUrl + * @return + * @throws IOException + */ + public static byte[] downloadFileToFileBytes(String fileUrl) throws IOException { + // 通过 URL 获取文件 + URL url = new URL(fileUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + // 获取输入流 + try (InputStream inputStream = connection.getInputStream()) { + // 将输入流转换为字节数组 + byte[] fileBytes = readInputStream(inputStream); + return fileBytes; + } + } + + /** + * 下载文件为Multipart + * @param fileUrl + * @return + * @throws IOException + */ + public static MultipartFile downloadFileToMultipart(String fileUrl) throws IOException { + // 通过 URL 获取文件 + URL url = new URL(fileUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + + // 获取输入流 + try (InputStream inputStream = connection.getInputStream()) { + // 将输入流转换为字节数组 + byte[] fileBytes = readInputStream(inputStream); + // 创建 MockMultipartFile 对象 + return new MockMultipartFile("file", System.currentTimeMillis()+".jpg", "image/jpeg", fileBytes); + } + } + + /** + * 读取文件流 + * @param inputStream + * @return + * @throws IOException + */ + private static byte[] readInputStream(InputStream inputStream) throws IOException { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int length; + while ((length = inputStream.read(buffer)) != -1) { + byteArrayOutputStream.write(buffer, 0, length); + } + return byteArrayOutputStream.toByteArray(); + } } diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/controller/SysFileController.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/controller/SysFileController.java index 2d0309d5..15a7e784 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/controller/SysFileController.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/controller/SysFileController.java @@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @@ -98,13 +99,14 @@ public class SysFileController /** * 文件上传请求 */ - @PostMapping("uploadPath") - public R uploadPath(MultipartFile file, String path) + @PostMapping("/upload/{proPackage}/dirs/{dirs}") + public R dirsUploadFile(@PathVariable("busKey") String proPackage, @PathVariable("dirs") String dirs, MultipartFile file) { try { + String catalog = "/"+proPackage+"/"+dirs; // 上传并返回访问地址 - String url = sysFileService.uploadFile(file); + String url = sysFileService.dirsUploadFile(catalog,file); SysFile sysFile = new SysFile(); sysFile.setName(FileUtils.getName(url)); sysFile.setUrl(url); diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/FastDfsSysFileServiceImpl.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/FastDfsSysFileServiceImpl.java index 4d23a40f..f772fc50 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/FastDfsSysFileServiceImpl.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/FastDfsSysFileServiceImpl.java @@ -40,6 +40,19 @@ public class FastDfsSysFileServiceImpl implements ISysFileService return domain + "/" + storePath.getFullPath(); } + /** + * 文件上传接口 + * + * @param dirs 文件目录 + * @param file 上传的文件 + * @return 访问地址 + * @throws Exception + */ + @Override + public String dirsUploadFile(String dirs, MultipartFile file) throws Exception{ + return null; + } + /** * 签名文件上传接口 * diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/ISysFileService.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/ISysFileService.java index 8aabba25..19a30657 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/ISysFileService.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/ISysFileService.java @@ -18,6 +18,16 @@ public interface ISysFileService */ public String uploadFile(MultipartFile file) throws Exception; + /** + * 文件上传接口 + * + * @param dirs 文件目录 + * @param file 上传的文件 + * @return 访问地址 + * @throws Exception + */ + public String dirsUploadFile(String dirs, MultipartFile file) throws Exception; + /** * 签名文件上传接口 * diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/LocalSysFileServiceImpl.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/LocalSysFileServiceImpl.java index e0cc7da3..95bf4b4d 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/LocalSysFileServiceImpl.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/LocalSysFileServiceImpl.java @@ -47,6 +47,20 @@ public class LocalSysFileServiceImpl implements ISysFileService return localFilePrefix + name; } + /** + * 文件上传接口 + * + * @param dirs 文件目录 + * @param file 上传的文件 + * @return 访问地址 + * @throws Exception + */ + @Override + public String dirsUploadFile(String dirs, MultipartFile file) throws Exception{ + String name = FileUploadUtils.upload(localFilePath+dirs, file); + return localFilePrefix + name; + } + /** * 签名文件上传接口 * diff --git a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/MinioSysFileServiceImpl.java b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/MinioSysFileServiceImpl.java index 9a1dd3cf..df9f2957 100644 --- a/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/MinioSysFileServiceImpl.java +++ b/yanzhu-modules/yanzhu-file/src/main/java/com/yanzhu/file/service/MinioSysFileServiceImpl.java @@ -43,6 +43,19 @@ public class MinioSysFileServiceImpl implements ISysFileService return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName; } + /** + * 文件上传接口 + * + * @param dirs 文件目录 + * @param file 上传的文件 + * @return 访问地址 + * @throws Exception + */ + @Override + public String dirsUploadFile(String dirs, MultipartFile file) throws Exception{ + return null; + } + /** * 签名文件上传接口 * diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ResourcesConfig.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ResourcesConfig.java deleted file mode 100644 index 81ecdf47..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ResourcesConfig.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yanzhu.job.config; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.io.File; - -/** - * 通用映射配置 - * - * @author ruoyi - */ -@Configuration -public class ResourcesConfig implements WebMvcConfigurer -{ - /** - * 上传文件存储在本地的根路径 - */ - @Value("${file.path}") - private String localFilePath; - - /** - * 资源映射路径 前缀 - */ - @Value("${file.prefix}") - public String localFilePrefix; - - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) - { - /** 本地文件上传路径 */ - registry.addResourceHandler(localFilePrefix + "/**") - .addResourceLocations("file:" + localFilePath + File.separator); - } - - /** - * 开启跨域 - */ - @Override - public void addCorsMappings(CorsRegistry registry) { - // 设置允许跨域的路由 - registry.addMapping(localFilePrefix + "/**") - // 设置允许跨域请求的域名 - .allowedOrigins("*") - // 设置允许的方法 - .allowedMethods("GET"); - } - - public String getUploadPath(){ - return (localFilePath+"/upload/").replaceAll("//","/"); - } -} \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ScheduleConfig.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ScheduleConfig.java deleted file mode 100644 index dc840c87..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/config/ScheduleConfig.java +++ /dev/null @@ -1,57 +0,0 @@ -//package com.yanzhu.job.config; -// -//import java.util.Properties; -//import javax.sql.DataSource; -//import org.springframework.context.annotation.Bean; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.scheduling.quartz.SchedulerFactoryBean; -// -///** -// * 定时任务配置(单机部署建议删除此类和qrtz数据库表,默认走内存会最高效) -// * -// * @author ruoyi -// */ -//@Configuration -//public class ScheduleConfig -//{ -// @Bean -// public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) -// { -// SchedulerFactoryBean factory = new SchedulerFactoryBean(); -// factory.setDataSource(dataSource); -// -// // quartz参数 -// Properties prop = new Properties(); -// prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); -// prop.put("org.quartz.scheduler.instanceId", "AUTO"); -// // 线程池配置 -// prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); -// prop.put("org.quartz.threadPool.threadCount", "20"); -// prop.put("org.quartz.threadPool.threadPriority", "5"); -// // JobStore配置 -// prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore"); -// // 集群配置 -// prop.put("org.quartz.jobStore.isClustered", "true"); -// prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); -// prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); -// prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); -// -// // sqlserver 启用 -// // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); -// prop.put("org.quartz.jobStore.misfireThreshold", "12000"); -// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); -// factory.setQuartzProperties(prop); -// -// factory.setSchedulerName("RuoyiScheduler"); -// // 延时启动 -// factory.setStartupDelay(1); -// factory.setApplicationContextSchedulerContextKey("applicationContextKey"); -// // 可选,QuartzScheduler -// // 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 -// factory.setOverwriteExistingJobs(true); -// // 设置自动启动,默认为true -// factory.setAutoStartup(true); -// -// return factory; -// } -//} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceCfg.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceCfg.java similarity index 93% rename from yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceCfg.java rename to yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceCfg.java index 9e6da397..b22d267a 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceCfg.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceCfg.java @@ -12,7 +12,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; * @author ruoyi * @date 2023-09-24 */ -public class QuartzProjectAttendanceCfg extends BaseEntity +public class QuartzProAttendanceCfg extends BaseEntity { private static final long serialVersionUID = 1L; @@ -142,7 +142,17 @@ public class QuartzProjectAttendanceCfg extends BaseEntity private String compName; private String projectName; + private String projectPackage; private String vendorsName; + + public String getProjectPackage() { + return projectPackage; + } + + public void setProjectPackage(String projectPackage) { + this.projectPackage = projectPackage; + } + public String getProjectName() { return projectName; } diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceData.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceData.java new file mode 100644 index 00000000..b717b439 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProAttendanceData.java @@ -0,0 +1,362 @@ +package com.yanzhu.job.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yanzhu.common.core.annotation.Excel; +import com.yanzhu.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; +import java.util.List; + +/** + * 考勤管理对象 attendance_ubi_data + * + * @author yanzhu + * @date 2024-10-12 + */ +public class QuartzProAttendanceData extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 公司ID */ + @Excel(name = "公司ID") + private Long comId; + + /** 项目ID */ + @Excel(name = "项目ID") + private Long projectId; + + /** 用户ID */ + @Excel(name = "用户ID") + private Long userId; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private String userName; + + /** 班组编号(外键) */ + @Excel(name = "班组编号(外键)") + private Long subDeptGroup; + + /** 班组名称 */ + @Excel(name = "班组名称") + private String subDeptGroupName; + + /** 工种类型 */ + @Excel(name = "工种类型") + private String craftType; + + /** 工种岗位 */ + @Excel(name = "工种岗位") + private String craftPost; + + /** 进场时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "进场时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date inTime; + + /** 进场数据 */ + @Excel(name = "进场数据") + private String inData; + + /** 离场时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "离场时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date outTime; + + /** 离场数据 */ + @Excel(name = "离场数据") + private String outData; + + /** 设备NO */ + @Excel(name = "设备NO") + private String deviceNo; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long isDel; + + /** $column.columnComment */ + @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") + private Long state; + + private Long subDeptId; + private String subDeptName; + private String source; + + public Long getSubDeptId() { + return subDeptId; + } + + public void setSubDeptId(Long subDeptId) { + this.subDeptId = subDeptId; + } + + public String getSubDeptName() { + return subDeptName; + } + + public void setSubDeptName(String subDeptName) { + this.subDeptName = subDeptName; + } + + private String comName; + + private List userIds; + + public List getUserIds() { + return userIds; + } + + private List days; + + public List getDays() { + return days; + } + + public void setDays(List days) { + this.days = days; + } + + public void setUserIds(List userIds) { + this.userIds = userIds; + } + + public String getComName() { + return comName; + } + + public void setComName(String comName) { + this.comName = comName; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + private String projectName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setComId(Long comId) + { + this.comId = comId; + } + + public Long getComId() + { + return comId; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getUserName() + { + return userName; + } + public void setSubDeptGroup(Long subDeptGroup) + { + this.subDeptGroup = subDeptGroup; + } + + public Long getSubDeptGroup() + { + return subDeptGroup; + } + public void setSubDeptGroupName(String subDeptGroupName) + { + this.subDeptGroupName = subDeptGroupName; + } + + public String getSubDeptGroupName() + { + return subDeptGroupName; + } + public void setCraftType(String craftType) + { + this.craftType = craftType; + } + + public String getCraftType() + { + return craftType; + } + public void setCraftPost(String craftPost) + { + this.craftPost = craftPost; + } + + public String getCraftPost() + { + return craftPost; + } + public void setInTime(Date inTime) + { + this.inTime = inTime; + } + + public Date getInTime() + { + return inTime; + } + public void setInData(String inData) + { + this.inData = inData; + } + + public String getInData() + { + return inData; + } + public void setOutTime(Date outTime) + { + this.outTime = outTime; + } + + public Date getOutTime() + { + return outTime; + } + public void setOutData(String outData) + { + this.outData = outData; + } + + public String getOutData() + { + return outData; + } + public void setDeviceNo(String deviceNo) + { + this.deviceNo = deviceNo; + } + + public String getDeviceNo() + { + return deviceNo; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + public void setState(Long state) + { + this.state = state; + } + + public Long getState() + { + return state; + } + + public String getAdmitGuid() { + return admitGuid; + } + + public void setAdmitGuid(String admitGuid) { + this.admitGuid = admitGuid; + } + + private String admitGuid; + private String eventGuid; + private String inPhoto; + private String outPhoto; + public String getEventGuid() { + return eventGuid; + } + + public void setEventGuid(String eventGuid) { + this.eventGuid = eventGuid; + } + + public String getInPhoto() { + return inPhoto; + } + + public void setInPhoto(String inPhoto) { + this.inPhoto = inPhoto; + } + + public String getOutPhoto() { + return outPhoto; + } + + public void setOutPhoto(String outPhoto) { + this.outPhoto = outPhoto; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("comId", getComId()) + .append("projectId", getProjectId()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("subDeptGroup", getSubDeptGroup()) + .append("subDeptGroupName", getSubDeptGroupName()) + .append("craftType", getCraftType()) + .append("craftPost", getCraftPost()) + .append("inTime", getInTime()) + .append("inData", getInData()) + .append("outTime", getOutTime()) + .append("outData", getOutData()) + .append("deviceNo", getDeviceNo()) + .append("isDel", getIsDel()) + .append("state", getState()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceData.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceData.java deleted file mode 100644 index 0342c87a..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceData.java +++ /dev/null @@ -1,512 +0,0 @@ -package com.yanzhu.job.domain; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.common.core.annotation.Excel; -import com.yanzhu.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 劳务实名制管理对象 sur_project_attendance_data - * - * @author ruoyi - * @date 2023-09-24 - */ -public class QuartzProjectAttendanceData extends BaseEntity -{ - public QuartzProjectAttendanceData(){ - this.year= DateTime.now().year(); - } - private static final long serialVersionUID = 1L; - - private int year; - - public int getYear() { - return year; - } - - public void setYear(int year) { - this.year = year; - } - - public String getProjectName() { - return projectName; - } - - public void setProjectName(String projectName) { - this.projectName = projectName; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getWorkerName() { - return workerName; - } - - public void setWorkerName(String workerName) { - this.workerName = workerName; - } - - public String getWorkerPhoto() { - return workerPhoto; - } - - public void setWorkerPhoto(String workerPhoto) { - this.workerPhoto = workerPhoto; - } - - public Long getWorkerGender() { - return workerGender; - } - - public void setWorkerGender(Long workerGender) { - this.workerGender = workerGender; - } - - public Long getBirthDate() { - return birthDate; - } - - public void setBirthDate(Long birthDate) { - this.birthDate = birthDate; - } - - 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 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 String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public Integer getSpecWorkType() { - return specWorkType; - } - - public void setSpecWorkType(Integer specWorkType) { - this.specWorkType = specWorkType; - } - - public String getCompanyName() { - return companyName; - } - - public void setCompanyName(String companyName) { - this.companyName = companyName; - } - - public String getAttendanceOutTime() { - return attendanceOutTime; - } - - public void setAttendanceOutTime(String attendanceOutTime) { - this.attendanceOutTime = attendanceOutTime; - } - - - private Long projectId; - @Excel(name = "项目名称") - private String projectName; - - private Long deptId; - @Excel(name = "部门名称") - private String deptName; - @Excel(name = "姓名") - private String workerName; - - private String workerPhoto; - @Excel(name = "性别0:男 1:女") - private Long workerGender; - - private Long birthDate; - @Excel(name = "所属班组") - private String groupName; - @Excel(name = "工种") - private String workTypeName; - @Excel(name = "民族") - private String ethnic; - @Excel(name = "籍贯") - private String nativePlace; - - @Excel(name = "联系电话") - private String phone; - @Excel(name = "是否特殊工种") - private Integer specWorkType; - - private String companyTypeId; - @Excel(name = "分包商名称") - private String companyName; - - private String workerId; - - /** 考勤时间yyyy-MM-dd HH:mm:ss */ - @Excel(name = "考勤时间(进场)") - private String attendanceTime; - - @Excel(name = "考勤时间(离开)") - private String attendanceOutTime; - /** 身份证号 */ - @Excel(name = "身份证号") - private String identification; - - /** */ - private Long id; - - /** 配置项ID,可以获取项目ID和总包ID */ - private Long cfgid; - - /** 注册应用ID */ - private String appId; - - /** 厂商编号参考字典attendance_vendors */ - private String vendorsCode; - - /** 服务端ID */ - private String serverid; - - /** 队伍id */ - private Long teamId; - - /** 工种编码 */ - private String workTypeCode; - - /** 分包商id */ - private String companyId; - - /** 平台对应分包商ID */ - private Long vendorId; - - /** 设备编号 */ - private String deviceCode; - - /** 照片 */ - private String scanPhoto; - - /** */ - private Long isDel; - - private Long subDeptId; - - /** 重要::yanzhu接口接收base64图片 */ - private String scanPhotoBase64; - - /** 重要::yanzhu出门进门逻辑判断 */ - private String attendanceType; - - public String getScanPhotoBase64() { - return scanPhotoBase64; - } - - public void setScanPhotoBase64(String scanPhotoBase64) { - this.scanPhotoBase64 = scanPhotoBase64; - } - - public String getAttendanceType() { - return attendanceType; - } - - public void setAttendanceType(String attendanceType) { - this.attendanceType = attendanceType; - } - - public static QuartzProjectAttendanceData createFromHuazhu(JSONObject j) { - QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); - d.vendorsCode="huazhu"; - d.serverid=j.getString("id"); - d.workerId=j.getString("labourWorkerId"); - long recordTime=j.getLongValue("recordTime",0); - if(recordTime>0){ - if(j.getIntValue("inOrOut",1)==1){ - d.setRemark("E"); - }else{ - d.setRemark("L"); - } - d.attendanceTime= DateUtil.format(DateUtil.date(recordTime),"yyyy-MM-dd HH:mm:ss"); - } - d.identification=j.getString("idCardNo"); - d.teamId=j.getLongValue("teamId",0); - d.workTypeCode=j.getString("workerTypeId"); - d.companyId=j.getString("unitId"); - d.deviceCode=j.getString("deviceNo"); - return d; - } - - public static QuartzProjectAttendanceData createFromJgw(JSONObject j) { - QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); - d.vendorsCode="jgw"; - d.serverid=j.getString("id"); - d.workerId=j.getString("workerId"); - if("2".equals(j.getString("machineType"))){ - d.setRemark("E"); - }else{ - d.setRemark("L"); - } - d.attendanceTime = j.getString("checkinTime"); - - d.teamId=0l; - d.workTypeCode=""; - d.companyId=j.getString("subcontractorId"); - d.deviceCode=j.getString("deviceSerialNo"); - d.isDel=0l; - return d; - } - - public Long getDeptId() { - return deptId; - } - - public void setDeptId(Long deptId) { - this.deptId = deptId; - } - - - public Long getProjectId() { - return projectId; - } - - public void setProjectId(Long projectId) { - this.projectId = projectId; - } - - public Long getSubDeptId() { - return subDeptId; - } - - public void setSubDeptId(Long subDeptId) { - this.subDeptId = subDeptId; - } - - public String getCompanyTypeId() { - return companyTypeId; - } - - public void setCompanyTypeId(String companyTypeId) { - this.companyTypeId = companyTypeId; - } - - public static QuartzProjectAttendanceData create(JSONObject json) { - QuartzProjectAttendanceData d=new QuartzProjectAttendanceData(); - d.attendanceTime=json.getString("time"); - if("E".equals(json.getString("type"))){ - d.setRemark("E"); - }else{ - d.setRemark("L"); - } - d.serverid=json.getString("id"); - d.workerId=json.getString("workerId"); - d.identification=json.getString("identification"); - d.teamId=json.getLong("teamId"); - d.workTypeCode=json.getString("workerTypeId"); - d.companyId=json.getString("companyId"); - d.vendorId=json.getLong("vendorId"); - d.deviceCode=json.getString("deviceCode"); - d.scanPhoto=json.getString("scanPhoto"); - d.isDel=0l; - return d; - } - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setCfgid(Long cfgid) - { - this.cfgid = cfgid; - } - - public Long getCfgid() - { - return cfgid; - } - public void setVendorsCode(String vendorsCode) - { - this.vendorsCode = vendorsCode; - } - - public String getVendorsCode() - { - return vendorsCode; - } - public void setServerid(String serverid) - { - this.serverid = serverid; - } - - public String getServerid() - { - return serverid; - } - public void setWorkerId(String workerId) - { - this.workerId = workerId; - } - - public String getWorkerId() - { - return workerId; - } - - public void setAttendanceTime(String attendanceTime) - { - this.attendanceTime = attendanceTime; - } - - public String getAttendanceTime() - { - return attendanceTime; - } - public void setIdentification(String identification) - { - this.identification = identification; - } - - public String getIdentification() - { - return identification; - } - public void setTeamId(Long teamId) - { - this.teamId = teamId; - } - - public Long getTeamId() - { - return teamId; - } - public void setWorkTypeCode(String workTypeCode) - { - this.workTypeCode = workTypeCode; - } - - public String getWorkTypeCode() - { - return workTypeCode; - } - public void setCompanyId(String companyId) - { - this.companyId = companyId; - } - - public String getCompanyId() - { - return companyId; - } - public void setVendorId(Long vendorId) - { - this.vendorId = vendorId; - } - - public Long getVendorId() - { - return vendorId; - } - - public void setDeviceCode(String deviceCode) - { - this.deviceCode = deviceCode; - } - - public String getDeviceCode() - { - return deviceCode; - } - - - public void setScanPhoto(String scanPhoto) - { - this.scanPhoto = scanPhoto; - } - - public String getScanPhoto() - { - return scanPhoto; - } - - public void setIsDel(Long isDel) - { - this.isDel = isDel; - } - - public Long getIsDel() - { - return isDel; - } - - public String getAppId() { - return appId; - } - - public void setAppId(String appId) { - this.appId = appId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("cfgid", getCfgid()) - .append("vendorsCode", getVendorsCode()) - .append("serverid", getServerid()) - .append("workerId", getWorkerId()) - .append("attendanceTime", getAttendanceTime()) - .append("identification", getIdentification()) - .append("teamId", getTeamId()) - .append("workTypeCode", getWorkTypeCode()) - .append("companyId", getCompanyId()) - .append("vendorId", getVendorId()) - .append("deviceCode", getDeviceCode()) - .append("scanPhoto", getScanPhoto()) - .append("remark", getRemark()) - .append("isDel", getIsDel()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceGroup.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceGroup.java deleted file mode 100644 index a84f3463..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceGroup.java +++ /dev/null @@ -1,429 +0,0 @@ -package com.yanzhu.job.domain; - -import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.common.core.annotation.Excel; -import com.yanzhu.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -/** - * 广联达班组信息对象 sur_project_attendance_group - * - * @author ruoyi - * @date 2023-09-26 - */ -public class QuartzProjectAttendanceGroup extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** id */ - private Long id; - - /** cfgid */ - @Excel(name = "cfgid") - private Long cfgid; - - /** 注册应用ID */ - @Excel(name = "注册应用ID") - private String appId; - - /** 服务器主键id */ - @Excel(name = "服务器主键id") - private String serverid; - - /** 营业执照号 */ - @Excel(name = "营业执照号") - private String bizLicense; - - /** 分包商统一社会信用代码 */ - @Excel(name = "分包商统一社会信用代码") - private String companyCode; - - /** 分包商ID */ - @Excel(name = "分包商ID") - private String companyId; - - /** 分包商名称 */ - @Excel(name = "分包商名称") - private String companyName; - - /** 分包商类型 */ - @Excel(name = "分包商类型") - private String companyTypeId; - - /** 平台对应分包商ID */ - @Excel(name = "平台对应分包商ID") - private Long vendorId; - - /** 班组名称 */ - @Excel(name = "班组名称") - private String name; - - /** 班组长名称 */ - @Excel(name = "班组长名称") - private String leaderName; - - /** 班组长电话 */ - @Excel(name = "班组长电话") - private String leaderPhone; - - /** 队伍Id */ - @Excel(name = "队伍Id") - private Long teamId; - - /** 队伍名称 */ - @Excel(name = "队伍名称") - private String teamName; - - /** 班组类型0:建筑工人班组;1:管理人员班组 */ - @Excel(name = "班组类型0:建筑工人班组;1:管理人员班组") - private Long type; - - /** 班组长对应的工人ID */ - @Excel(name = "班组长对应的工人ID") - private Long leaderId; - - /** 是否删除 */ - @Excel(name = "是否删除") - private Integer deleted; - - /** 基础平台对应班组ID */ - @Excel(name = "基础平台对应班组ID") - private Long platformGroupId; - - /** 基础平台对应队伍ID */ - @Excel(name = "基础平台对应队伍ID") - private Long platformTeamId; - - /** 企业进场日期 */ - @Excel(name = "企业进场日期") - private Long enterDate; - - /** 企业退场日期 */ - @Excel(name = "企业退场日期") - private Long exitDate; - - /** 是否有效 */ - @Excel(name = "是否有效") - private Long isDel; - - /** 时间戳 */ - @Excel(name = "时间戳") - private Long createTimestamp; - - public static QuartzProjectAttendanceGroup createHuazhu(JSONObject j) { - QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); - g.companyId=""+j.getLongValue("unitId",0); - g.companyName=j.getString("unitName"); - g.companyTypeId=j.getString("unitType"); - g.serverid=j.getString("id"); - g.enterDate=j.getLong("enterTime"); - g.exitDate=j.getLong("leaveTime"); - g.isDel=0l; - return g; - } - - public static QuartzProjectAttendanceGroup createJgw(JSONObject j, boolean isDirectlyUnder) { - QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); - g.serverid=j.getString("id"); - if(isDirectlyUnder) { - g.companyId = j.getString("leaderTeamId"); - g.leaderName=j.getString("subcontractorId"); - g.leaderPhone="directly"; - }else{ - g.companyId=j.getString("subcontractorId"); - } - g.companyName=j.getString("corpName"); - g.teamName=j.getString("teamName"); - - g.bizLicense=j.getString("corpCode"); - g.companyCode=j.getString("teamJobtype"); - - g.companyTypeId="0"; - g.enterDate=0l; - g.exitDate=0l; - g.isDel=0l; - return g; - } - - public Long getCreateTimestamp() { - return createTimestamp; - } - - public void setCreateTimestamp(Long createTimestamp) { - this.createTimestamp = createTimestamp; - } - - public static QuartzProjectAttendanceGroup create(JSONObject json) { - QuartzProjectAttendanceGroup g=new QuartzProjectAttendanceGroup(); - g.serverid=json.getString("id"); - g.bizLicense=json.getString("bizLicense"); - g.companyCode=json.getString("companyCode"); - g.companyId=""+json.getLongValue("companyId",0); - g.companyName=json.getString("companyName"); - String typeId=json.getString("companyTypeId"); - if("1".equals(typeId)||"8".equals(typeId)||"9".equals(typeId)){ - typeId=typeId; - }else{ - typeId="2"; - } - g.companyTypeId=typeId; - g.vendorId=json.getLongValue("vendorId",0); - g.name=json.getString("name"); - g.leaderName=json.getString("leaderName"); - g.leaderPhone=json.getString("leaderPhone"); - g.teamId=json.getLongValue("teamId",0); - g.teamName=json.getString("teamName"); - g.type=json.getLongValue("type",0); - g.leaderId=json.getLongValue("leaderId",0); - g.deleted=json.get("deleted")==null?0:(json.getBoolean("deleted")?1:0); - g.platformGroupId=json.getLongValue("platformGroupId",0); - g.platformTeamId=json.getLongValue("platformTeamId",0); - g.enterDate=json.getLongValue("enterDate",0); - g.exitDate=json.getLongValue("exitDate",0); - g.isDel=0l; - return g; - - } - - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setCfgid(Long cfgid) - { - this.cfgid = cfgid; - } - - public Long getCfgid() - { - return cfgid; - } - public void setServerid(String serverid) - { - this.serverid = serverid; - } - - public String getServerid() - { - return serverid; - } - public void setBizLicense(String bizLicense) - { - this.bizLicense = bizLicense; - } - - public String getBizLicense() - { - return bizLicense; - } - public void setCompanyCode(String companyCode) - { - this.companyCode = companyCode; - } - - public String getCompanyCode() - { - return companyCode; - } - public void setCompanyId(String companyId) - { - this.companyId = companyId; - } - - public String getCompanyId() - { - return companyId; - } - public void setCompanyName(String companyName) - { - this.companyName = companyName; - } - - public String getCompanyName() - { - return companyName; - } - public void setCompanyTypeId(String companyTypeId) - { - this.companyTypeId = companyTypeId; - } - - public String getCompanyTypeId() - { - return companyTypeId; - } - public void setVendorId(Long vendorId) - { - this.vendorId = vendorId; - } - - public Long getVendorId() - { - return vendorId; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setLeaderName(String leaderName) - { - this.leaderName = leaderName; - } - - public String getLeaderName() - { - return leaderName; - } - public void setLeaderPhone(String leaderPhone) - { - this.leaderPhone = leaderPhone; - } - - public String getLeaderPhone() - { - return leaderPhone; - } - public void setTeamId(Long teamId) - { - this.teamId = teamId; - } - - public Long getTeamId() - { - return teamId; - } - public void setTeamName(String teamName) - { - this.teamName = teamName; - } - - public String getTeamName() - { - return teamName; - } - public void setType(Long type) - { - this.type = type; - } - - public Long getType() - { - return type; - } - public void setLeaderId(Long leaderId) - { - this.leaderId = leaderId; - } - - public Long getLeaderId() - { - return leaderId; - } - public void setDeleted(Integer deleted) - { - this.deleted = deleted; - } - - public Integer getDeleted() - { - return deleted; - } - public void setPlatformGroupId(Long platformGroupId) - { - this.platformGroupId = platformGroupId; - } - - public Long getPlatformGroupId() - { - return platformGroupId; - } - public void setPlatformTeamId(Long platformTeamId) - { - this.platformTeamId = platformTeamId; - } - - public Long getPlatformTeamId() - { - return platformTeamId; - } - public void setEnterDate(Long enterDate) - { - this.enterDate = enterDate; - } - - public Long getEnterDate() - { - return enterDate; - } - public void setExitDate(Long exitDate) - { - this.exitDate = exitDate; - } - - public Long getExitDate() - { - return exitDate; - } - public void setIsDel(Long isDel) - { - this.isDel = isDel; - } - - public Long getIsDel() - { - return isDel; - } - - public String getAppId() { - return appId; - } - - public void setAppId(String appId) { - this.appId = appId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("cfgid", getCfgid()) - .append("serverid", getServerid()) - .append("bizLicense", getBizLicense()) - .append("companyCode", getCompanyCode()) - .append("companyId", getCompanyId()) - .append("companyName", getCompanyName()) - .append("companyTypeId", getCompanyTypeId()) - .append("vendorId", getVendorId()) - .append("name", getName()) - .append("leaderName", getLeaderName()) - .append("leaderPhone", getLeaderPhone()) - .append("teamId", getTeamId()) - .append("teamName", getTeamName()) - .append("type", getType()) - .append("leaderId", getLeaderId()) - .append("deleted", getDeleted()) - .append("createTimestamp", getCreateTimestamp()) - .append("platformGroupId", getPlatformGroupId()) - .append("platformTeamId", getPlatformTeamId()) - .append("enterDate", getEnterDate()) - .append("exitDate", getExitDate()) - .append("remark", getRemark()) - .append("isDel", getIsDel()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceUser.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceUser.java deleted file mode 100644 index dd9589bf..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/domain/QuartzProjectAttendanceUser.java +++ /dev/null @@ -1,733 +0,0 @@ -package com.yanzhu.job.domain; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.common.core.annotation.Excel; -import com.yanzhu.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; - -import java.util.Date; -import java.util.List; - -/** - * 考勤人员基本属性对象 sur_project_attendance_user - * - * @author ruoyi - * @date 2023-09-24 - */ -public class QuartzProjectAttendanceUser extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - - /** */ - private Long id; - - /** 配置项ID,可以获取项目ID和总包ID */ - - private Long cfgid; - - /** 注册应用ID */ - - private String appId; - - /** 厂商编号参考字典attendance_vendors */ - - private String vendorsCode; - - /** 工人id */ - @Excel(name = "工人id") - private String workerId; - - /** 项目工人履历id对于旧劳务,这个字段相当于工人的projectWorkerId,管理人员的registerManagerId */ - - private Long laborWorkerId; - - /** 人员类别0:工人,1:管理人员 */ - @Excel(name = "人员类别0:工人,1:管理人员") - private Long workerCategory; - - /** 工号 */ - - private Long qrCode; - - /** 姓名 */ - @Excel(name = "姓名") - private String name; - - /** 民族 */ - @Excel(name = "民族") - private String ethnic; - - /** 籍贯 */ - @Excel(name = "籍贯") - private String nativePlace; - - /** 性别0:男 1:女 */ - @Excel(name = "性别0:男 1:女") - private Long gender; - - /** 出生日期时间戳 */ - @Excel(name = "出生日期时间戳") - private Long birthDate; - - /** 联系电话 */ - @Excel(name = "联系电话") - private String phone; - - /** 学历 */ - @Excel(name = "学历") - private String degreeName; - - /** 身份证照 */ - @Excel(name = "身份证照") - private String photo; - - /** 近照 */ - - private String recentPhoto; - - /** 所属班组ID */ - - private String groupId; - - /** 所属班组 */ - @Excel(name = "所属班组") - private String groupName; - - /** 是否班组长 */ - @Excel(name = "是否班组长") - private Integer leader; - - /** 工种编码 */ - @Excel(name = "工种编码") - private String workTypeCode; - - /** 工种 */ - @Excel(name = "工种") - private String workTypeName; - - /** 是否特殊工种 */ - @Excel(name = "是否特殊工种") - private Integer specWorkType; - - /** 安全帽编号 */ - @Excel(name = "安全帽编号") - private String hatCode; - - /** 进退场状态0:进场,1:退场 */ - @Excel(name = "进退场状态0:进场,1:退场") - private Long state; - - /** 进场日期 */ - @Excel(name = "进场日期") - private String enterDate; - - /** 退场日期 */ - @Excel(name = "退场日期") - private String exitDate; - - /** 分包商id */ - @Excel(name = "分包商id") - private String companyId; - - /** 分包商名称 */ - @Excel(name = "分包商名称") - private String companyName; - - /** 平台对应分包商ID */ - @Excel(name = "平台对应分包商ID") - private Long vendorId; - - /** 队伍id */ - @Excel(name = "队伍id") - private Integer teamId; - - /** 队伍名称 */ - @Excel(name = "队伍名称") - private String teamName; - - /** 进场方式0:自动,1:手动2:拍照 */ - @Excel(name = "进场方式0:自动,1:手动2:拍照") - private String enterType; - - /** 服务返回的JSON */ - @Excel(name = "服务返回的JSON") - private String other; - - /** 是否有效 */ - @Excel(name = "是否有效") - private Long isDel; - - /** 人员部门类型 */ - @Excel(name = "人员部门类型") - private String companyTypeId; - - /** 重要::yanzhu接口接收base64图片 */ - private String recentPhotoBase64; - - public String getRecentPhotoBase64() { - return recentPhotoBase64; - } - - public void setRecentPhotoBase64(String recentPhotoBase64) { - this.recentPhotoBase64 = recentPhotoBase64; - } - - @Excel(name = "进场时间") - private Date inTime; - @Excel(name = "离场时间") - private Date outTime; - - public static QuartzProjectAttendanceUser createFromHuazhu(JSONObject j) { - QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); - u.workerId=j.getString("id"); - u.name=j.getString("name"); - u.ethnic=j.getString("nationalName"); - u.nativePlace=j.getString("provinceName")+j.getString("cityName"); - u.gender=j.getLongValue("sex",0)==0l?1l:0l; - u.birthDate=j.getLongValue("birthday",0); - u.phone=j.getString("phone"); - u.degreeName=j.getString("levelOfEducation"); - u.recentPhoto=j.getString("profile"); - u.groupId=j.getString("teamId"); - u.groupName=j.getString("teamName"); - u.workTypeCode=j.getString("workerTypeId"); - u.workTypeName=j.getString("workerTypeName"); - u.state=j.getLongValue("status",1)==2l?0l:1l; - long enterTime=j.getLong("enterTime"); - if(enterTime>0){ - u.enterDate= DateUtil.format(DateUtil.date(enterTime),"yyyy-MM-dd HH:mm:ss"); - } - long leaveTime=j.getLong("leaveTime"); - if(leaveTime>0) { - u.exitDate = DateUtil.format(DateUtil.date(leaveTime), "yyyy-MM-dd HH:mm:ss"); - } - u.vendorId=j.getLongValue("unitProjectId",0); - u.companyId=""+j.getLongValue("unitId",0); - u.companyName=j.getString("unitName"); - u.teamName=j.getString("teamName"); - return u; - } - - public static QuartzProjectAttendanceUser createFromJgw(JSONObject j) { - QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); - u.workerId=j.getString("workerId"); - u.name=j.getString("name"); - u.ethnic=j.getString("minor"); - u.phone=j.getString("workPhone"); - u.nativePlace=j.getString("address"); - u.gender=j.getLongValue("sex",0)==0l?1l:0l; - String tmp=j.getString("birthday"); - if(StrUtil.isNotEmpty(tmp)) { - try { - u.birthDate = DateUtil.parse(tmp).getTime(); - }catch (Exception ex){ - - } - } - u.photo=j.getString("headImage"); - u.degreeName=j.getString("education"); - u.recentPhoto=j.getString("vaildPhoto"); - u.groupId=""; - u.groupName=""; - u.workTypeCode=""; - u.workTypeName=j.getString("jobtype"); - u.state="01".equals( j.getString("workerStatus"))?0l:1l; - String workDate=j.getString("workDate"); - if(!StrUtil.isEmpty(workDate)){ - u.enterDate=workDate; - } - u.vendorId=0l; - u.companyId=j.getString("subcontractorId"); - u.companyName=""; - u.teamName=""; - u.isDel=0l; - JSONArray ja=j.getJSONArray("corpName"); - if(ja!=null && ja.size()>0){ - Object obj=ja.get(0); - if(obj!=null){ - u.companyName=obj.toString(); - } - } - - u.leader=j.getInteger("isAdmin")==1?1:0; - return u; - } - - public Date getInTime() { - return inTime; - } - - public void setInTime(Date inTime) { - this.inTime = inTime; - } - - public Date getOutTime() { - return outTime; - } - - public void setOutTime(Date outTime) { - this.outTime = outTime; - } - - private Long projectId; - private Long subDeptId; - private Long deptId; - - private List workerIds; - - public List getWorkerIds() { - return workerIds; - } - - public void setWorkerIds(List workerIds) { - this.workerIds = workerIds; - } - - private int size; - - public int getSize() { - return size; - } - - public void setSize(int size) { - this.size = size; - } - - public int getIndex() { - return index; - } - - public void setIndex(int index) { - this.index = index; - } - - private int index; - public Long getProjectId() { - return projectId; - } - - public void setProjectId(Long projectId) { - this.projectId = projectId; - } - - public Long getSubDeptId() { - return subDeptId; - } - - public void setSubDeptId(Long subDeptId) { - this.subDeptId = subDeptId; - } - - public Long getDeptId() { - return deptId; - } - - public void setDeptId(Long deptId) { - this.deptId = deptId; - } - - public static QuartzProjectAttendanceUser create(JSONObject json) { - QuartzProjectAttendanceUser u=new QuartzProjectAttendanceUser(); - u.workerId=json.getString("workerId"); - u.laborWorkerId=json.getLongValue("laborWorkerId",0); - u.workerCategory=json.getLongValue("workerCategory",0); - u.qrCode=json.getLongValue("qrCode",0); - u.name=json.getString("name"); - u.ethnic=json.getString("ethnic"); - u.nativePlace=json.getString("nativePlace"); - u.gender=json.getLongValue("gender",0); - u.birthDate=json.getLongValue("birthDate",0); - u.phone=json.getString("phone"); - u.recentPhoto=json.getString("recentPhoto"); - u.groupId=json.getString("groupId"); - u.groupName=json.getString("groupName"); - u.leader=json.getBooleanValue("leader",false)?1:0; - u.workTypeCode=json.getString("workTypeCode"); - u.workTypeName=json.getString("workTypeName"); - u.specWorkType=json.getBooleanValue("specWorkType",false)?1:0; - u.hatCode=json.getString("hatCode"); - u.state=json.getLongValue("status",0); - u.enterDate=json.getString("enterDate"); - u.exitDate=json.getString("exitDate"); - u.companyId=""+json.getLongValue("companyId",0); - u.companyName=json.getString("companyName"); - u.vendorId=json.getLongValue("vendorId",0); - u.teamId=json.getInteger("teamId"); - u.teamName=json.getString("teamName"); - u.enterType=json.getString("enterType"); - u.isDel=0l; - return u; - } - public void setId(Long id) - { - this.id = id; - } - - public Long getId() - { - return id; - } - public void setCfgid(Long cfgid) - { - this.cfgid = cfgid; - } - - public Long getCfgid() - { - return cfgid; - } - public void setVendorsCode(String vendorsCode) - { - this.vendorsCode = vendorsCode; - } - - public String getVendorsCode() - { - return vendorsCode; - } - public void setWorkerId(String workerId) - { - this.workerId = workerId; - } - - public String getWorkerId() - { - return workerId; - } - public void setLaborWorkerId(Long laborWorkerId) - { - this.laborWorkerId = laborWorkerId; - } - - public Long getLaborWorkerId() - { - return laborWorkerId; - } - public void setWorkerCategory(Long workerCategory) - { - this.workerCategory = workerCategory; - } - - public Long getWorkerCategory() - { - return workerCategory; - } - public void setQrCode(Long qrCode) - { - this.qrCode = qrCode; - } - - public Long getQrCode() - { - return qrCode; - } - public void setName(String name) - { - this.name = name; - } - - public String getName() - { - return name; - } - public void setEthnic(String ethnic) - { - this.ethnic = ethnic; - } - - public String getEthnic() - { - return ethnic; - } - public void setNativePlace(String nativePlace) - { - this.nativePlace = nativePlace; - } - - public String getNativePlace() - { - return nativePlace; - } - public void setGender(Long gender) - { - this.gender = gender; - } - - public Long getGender() - { - return gender; - } - public void setBirthDate(Long birthDate) - { - this.birthDate = birthDate; - } - - public Long getBirthDate() - { - return birthDate; - } - public void setPhone(String phone) - { - this.phone = phone; - } - - public String getPhone() - { - return phone; - } - public void setDegreeName(String degreeName) - { - this.degreeName = degreeName; - } - - public String getDegreeName() - { - return degreeName; - } - public void setPhoto(String photo) - { - this.photo = photo; - } - - public String getPhoto() - { - return photo; - } - public void setRecentPhoto(String recentPhoto) - { - this.recentPhoto = recentPhoto; - } - - public String getRecentPhoto() - { - return recentPhoto; - } - public void setGroupId(String groupId) - { - this.groupId = groupId; - } - - public String getGroupId() - { - return groupId; - } - public void setGroupName(String groupName) - { - this.groupName = groupName; - } - - public String getGroupName() - { - return groupName; - } - public void setLeader(Integer leader) - { - this.leader = leader; - } - - public Integer getLeader() - { - return leader; - } - public void setWorkTypeCode(String workTypeCode) - { - this.workTypeCode = workTypeCode; - } - - public String getWorkTypeCode() - { - return workTypeCode; - } - public void setWorkTypeName(String workTypeName) - { - this.workTypeName = workTypeName; - } - - public String getWorkTypeName() - { - return workTypeName; - } - public void setSpecWorkType(Integer specWorkType) - { - this.specWorkType = specWorkType; - } - - public Integer getSpecWorkType() - { - return specWorkType; - } - public void setHatCode(String hatCode) - { - this.hatCode = hatCode; - } - - public String getHatCode() - { - return hatCode; - } - public void setState(Long state) - { - this.state = state; - } - - public Long getState() - { - return state; - } - public void setEnterDate(String enterDate) - { - this.enterDate = enterDate; - } - - public String getEnterDate() - { - return enterDate; - } - public void setExitDate(String exitDate) - { - this.exitDate = exitDate; - } - - public String getExitDate() - { - return exitDate; - } - public void setCompanyId(String companyId) - { - this.companyId = companyId; - } - - public String getCompanyId() - { - return companyId; - } - public void setCompanyName(String companyName) - { - this.companyName = companyName; - } - - public String getCompanyName() - { - return companyName; - } - public void setVendorId(Long vendorId) - { - this.vendorId = vendorId; - } - - public Long getVendorId() - { - return vendorId; - } - public void setTeamId(Integer teamId) - { - this.teamId = teamId; - } - - public Integer getTeamId() - { - return teamId; - } - public void setTeamName(String teamName) - { - this.teamName = teamName; - } - - public String getTeamName() - { - return teamName; - } - public void setEnterType(String enterType) - { - this.enterType = enterType; - } - - public String getEnterType() - { - return enterType; - } - public void setOther(String other) - { - this.other = other; - } - - public String getOther() - { - return other; - } - public void setIsDel(Long isDel) - { - this.isDel = isDel; - } - - public Long getIsDel() - { - return isDel; - } - - public String getAppId() { - return appId; - } - - public void setAppId(String appId) { - this.appId = appId; - } - - public String getCompanyTypeId() { - return companyTypeId; - } - - public void setCompanyTypeId(String companyTypeId) { - this.companyTypeId = companyTypeId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("cfgid", getCfgid()) - .append("vendorsCode", getVendorsCode()) - .append("workerId", getWorkerId()) - .append("laborWorkerId", getLaborWorkerId()) - .append("workerCategory", getWorkerCategory()) - .append("qrCode", getQrCode()) - .append("name", getName()) - .append("ethnic", getEthnic()) - .append("nativePlace", getNativePlace()) - .append("gender", getGender()) - .append("birthDate", getBirthDate()) - .append("phone", getPhone()) - .append("degreeName", getDegreeName()) - .append("photo", getPhoto()) - .append("recentPhoto", getRecentPhoto()) - .append("groupId", getGroupId()) - .append("groupName", getGroupName()) - .append("leader", getLeader()) - .append("workTypeCode", getWorkTypeCode()) - .append("workTypeName", getWorkTypeName()) - .append("specWorkType", getSpecWorkType()) - .append("hatCode", getHatCode()) - .append("state", getState()) - .append("enterDate", getEnterDate()) - .append("exitDate", getExitDate()) - .append("companyId", getCompanyId()) - .append("companyName", getCompanyName()) - .append("vendorId", getVendorId()) - .append("teamId", getTeamId()) - .append("teamName", getTeamName()) - .append("enterType", getEnterType()) - .append("other", getOther()) - .append("remark", getRemark()) - .append("isDel", getIsDel()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceCfgMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceCfgMapper.java new file mode 100644 index 00000000..833a0523 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceCfgMapper.java @@ -0,0 +1,31 @@ +package com.yanzhu.job.mapper; + +import com.yanzhu.job.domain.QuartzProAttendanceCfg; + +import java.util.List; + +/** + * 项目考勤配置Mapper接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface QuartzProAttendanceCfgMapper +{ + + /** + * 查询项目考勤配置信息 + * @param cfgId 项目考勤主键 + * @return + */ + public QuartzProAttendanceCfg selectProAttendanceCfgByCfgId(Long cfgId); + + /** + * 查询项目考勤配置列表 + * + * @param quartzProAttendanceCfg 项目考勤配置 + * @return 项目考勤配置集合 + */ + public List selectProAttendanceCfgList(QuartzProAttendanceCfg quartzProAttendanceCfg); + +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceDataMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceDataMapper.java new file mode 100644 index 00000000..2e9afeef --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProAttendanceDataMapper.java @@ -0,0 +1,54 @@ +package com.yanzhu.job.mapper; + +import com.yanzhu.job.domain.QuartzProAttendanceData; + +import java.util.List; + +/** + * 劳务实名制管理Mapper接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface QuartzProAttendanceDataMapper +{ + /** + * 查询考勤管理 + * + * @param id 考勤管理主键 + * @return 考勤管理 + */ + public QuartzProAttendanceData selectProAttendanceDataById(Long id); + + /** + * 查询考勤管理列表 + * + * @param quartzProAttendanceData 考勤管理 + * @return 考勤管理集合 + */ + public List selectProAttendanceDataList(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 新增考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + public int insertProAttendanceData(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 修改考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + public int updateProAttendanceData(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 删除考勤管理 + * + * @param id 考勤管理主键 + * @return 结果 + */ + public int deleteProAttendanceDataById(Long id); +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceCfgMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceCfgMapper.java deleted file mode 100644 index 77ec6228..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceCfgMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yanzhu.job.mapper; - -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; - -import java.util.List; - -/** - * 项目考勤配置Mapper接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface QuartzProjectAttendanceCfgMapper -{ - - /** - * 查询项目考勤配置信息 - * @param cfgId 项目考勤主键 - * @return - */ - public QuartzProjectAttendanceCfg selectSurProjectAttendanceCfgByCfgId(Long cfgId); - - /** - * 查询项目考勤配置列表 - * - * @param quartzProjectAttendanceCfg 项目考勤配置 - * @return 项目考勤配置集合 - */ - public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceDataMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceDataMapper.java deleted file mode 100644 index 13689133..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceDataMapper.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.yanzhu.job.mapper; - -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 劳务实名制管理Mapper接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface QuartzProjectAttendanceDataMapper -{ - /** - * 查询劳务实名制管理 - * - * @param id 劳务实名制管理主键 - * @return 劳务实名制管理 - */ - public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id); - - /** - * 查询劳务实名制管理列表 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理集合 - */ - public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 查询考勤信息 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理集合 - */ - public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData); - /** - * 新增劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 修改劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 删除劳务实名制管理 - * - * @param id 劳务实名制管理主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataById(Long id); - - /** - * 批量删除劳务实名制管理 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataByIds(Long[] ids); - - /** - * 批量删除劳务实名制管理 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataByParams(List list); - - /** - * 批量新增劳务实名制考勤管理 - * - * @param quartzProjectAttendanceDataList 劳务实名制考勤管理列表 - * @return 结果 - */ - public int batchSurProjectAttendanceData(@Param("list") List quartzProjectAttendanceDataList, @Param("year") String year); - - public Long getLastServerId(QuartzProjectAttendanceData where); - - List groupAllByComany(QuartzProjectAttendanceData where); - List groupByComany(QuartzProjectAttendanceData where); - - public Long getHuazhuPage(QuartzProjectAttendanceData where); - - - public List> initOtherData(Map data); - - public List> initHuaZhuData(Map data); - - public String findHuaZhuCompanyType(String deptName); - - public List todayAttendance(QuartzProjectAttendanceData where); - - /** - * 统计人员数据 - * @param where - * @return - */ - public List> findGroupAllByDays(QuartzProjectAttendanceData where); - - /** - * 统计所有数据 - * @param where - * @return - */ - public List> findGroupAllByParams(QuartzProjectAttendanceData where); - - /** - * 统计考勤数据 - * @param where - * @return - */ - public List> groupDataByParams(QuartzProjectAttendanceData where); - - /** - * 考勤数据列表 - * @param where - * @return - */ - public List attendanceDataList(QuartzProjectAttendanceData where); - - public List groupTodayCompanyTypeId(QuartzProjectAttendanceData where); -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceGroupMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceGroupMapper.java deleted file mode 100644 index 00c5cf2b..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceGroupMapper.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yanzhu.job.mapper; - - -import com.yanzhu.job.domain.QuartzProjectAttendanceGroup; - -import java.util.List; - -/** - * 广联达班组信息Mapper接口 - * - * @author ruoyi - * @date 2023-09-26 - */ -public interface QuartzProjectAttendanceGroupMapper -{ - /** - * 查询广联达班组信息 - * - * @param id 广联达班组信息主键 - * @return 广联达班组信息 - */ - public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id); - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息集合 - */ - public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息集合 - */ - public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 新增广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 修改广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 删除广联达班组信息 - * - * @param id 广联达班组信息主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupById(Long id); - - /** - * 批量删除广联达班组信息 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupByIds(Long[] ids); - - /** - * 批量删除广联达班组信息 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupByParams(List list); - - /** - * 批量新增广联达班组信息 - * - * @param quartzProjectAttendanceGroupList 广联达班组信息列表 - * @return 结果 - */ - public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList); -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceUserMapper.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceUserMapper.java deleted file mode 100644 index 97f5cf53..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/mapper/QuartzProjectAttendanceUserMapper.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.yanzhu.job.mapper; - - -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import com.yanzhu.job.domain.QuartzProjectAttendanceUser; - -import java.util.List; -import java.util.Map; - -/** - * 考勤人员基本属性Mapper接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface QuartzProjectAttendanceUserMapper -{ - /** - * 查询考勤人员基本属性 - * - * @param id 考勤人员基本属性主键 - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id); - - /** - * 查询考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 查询[研筑]考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 查询考勤人员基本属性列表 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 考勤人员基本属性集合 - */ - public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - - public List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - /** - * 新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 修改考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 删除考勤人员基本属性 - * - * @param id 考勤人员基本属性主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserById(Long id); - - /** - * 批量删除考勤人员基本属性 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserByIds(Long[] ids); - - /** - * 批量删除考勤人员基本属性 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserByParams(List list); - - /** - * 批量新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 - * @return 结果 - */ - public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList); - - /** - * 下面三个方法完成考勤记录分页查询 - * countAttendance 获取总记录条数 - * queryAttendanceUsers 获取当前页workerIds - * queryAttendanceByUserIds 根据workerIds查询一页数据然后组装 - * @param where - * @return - */ - public List queryAttendanceByUserIds(QuartzProjectAttendanceUser where); - public long countAttendance(QuartzProjectAttendanceCfg where); - public List queryAttendanceUsers(QuartzProjectAttendanceUser where); - - public long countTodayAttendance(QuartzProjectAttendanceUser where); - - - public List todayAttendance(QuartzProjectAttendanceUser where); - public List todayAttendanceData(List list); - - public List todayAttendanceOtherData(Map data); - - /** - * 在岗工人查询 - * @param where - * @return - */ - List queryWorkerOnDuty(QuartzProjectAttendanceUser where); - - /** - * 统计人员数据 - * @param where - * @return - */ - public List> groupUserByParams(QuartzProjectAttendanceUser where); - - /** - * 在岗工人查询 - * @param where - * @return - */ - public List attendanceUserList(QuartzProjectAttendanceUser where); - - /** - * 统计人员数据 - * @param projectId - * @return - */ - public List> findUserAllByDays(Long projectId); - - /** - * 按部门汇总在岗人数 - * @param where - * @return - */ - List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where); - /** - * 按部门汇总在岗|离岗人数 - * @param where - * @return - */ - List groupByWorkerByDept(QuartzProjectAttendanceUser where); - /** - * 在岗|离岗工人查询 - * @param where - * @return - */ - List queryWorkerByState(QuartzProjectAttendanceUser where); - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceCfgService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceCfgService.java new file mode 100644 index 00000000..99ed7fa4 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceCfgService.java @@ -0,0 +1,24 @@ +package com.yanzhu.job.service; + +import com.yanzhu.job.domain.QuartzProAttendanceCfg; + +import java.util.List; + +/** + * 项目考勤配置Service接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface IQuartzProAttendanceCfgService +{ + + /** + * 查询项目考勤配置列表 + * + * @param quartzProAttendanceCfg 项目考勤配置 + * @return 项目考勤配置集合 + */ + public List selectProAttendanceCfgList(QuartzProAttendanceCfg quartzProAttendanceCfg); + +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceDataService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceDataService.java new file mode 100644 index 00000000..2492368c --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProAttendanceDataService.java @@ -0,0 +1,54 @@ +package com.yanzhu.job.service; + +import com.yanzhu.job.domain.QuartzProAttendanceData; + +import java.util.List; + +/** + * 劳务实名制管理Service接口 + * + * @author ruoyi + * @date 2023-09-24 + */ +public interface IQuartzProAttendanceDataService +{ + /** + * 查询考勤管理 + * + * @param id 考勤管理主键 + * @return 考勤管理 + */ + public QuartzProAttendanceData selectProAttendanceDataById(Long id); + + /** + * 查询考勤管理列表 + * + * @param quartzProAttendanceData 考勤管理 + * @return 考勤管理集合 + */ + public List selectProAttendanceDataList(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 新增考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + public int insertProAttendanceData(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 修改考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + public int updateProAttendanceData(QuartzProAttendanceData quartzProAttendanceData); + + /** + * 删除考勤管理 + * + * @param id 考勤管理主键 + * @return 结果 + */ + public int deleteProAttendanceDataById(Long id); +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceCfgService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceCfgService.java deleted file mode 100644 index bbea4371..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceCfgService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yanzhu.job.service; - -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; - -import java.util.List; - -/** - * 项目考勤配置Service接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface IQuartzProjectAttendanceCfgService -{ - - /** - * 查询项目考勤配置列表 - * - * @param quartzProjectAttendanceCfg 项目考勤配置 - * @return 项目考勤配置集合 - */ - public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg); - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceDataService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceDataService.java deleted file mode 100644 index 70513719..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceDataService.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.yanzhu.job.service; - - -import com.yanzhu.job.domain.QuartzProjectAttendanceData; - -import java.util.List; -import java.util.Map; - -/** - * 劳务实名制管理Service接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface IQuartzProjectAttendanceDataService -{ - /** - * 查询劳务实名制管理 - * - * @param id 劳务实名制管理主键 - * @return 劳务实名制管理 - */ - public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id); - - /** - * 查询劳务实名制管理列表 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理集合 - */ - public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 查询考勤信息 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理集合 - */ - public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 新增劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 修改劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData); - - /** - * 批量删除劳务实名制管理 - * - * @param ids 需要删除的劳务实名制管理主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataByIds(Long[] ids); - - /** - * 删除劳务实名制管理信息 - * - * @param id 劳务实名制管理主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataById(Long id); - - /** - * 批量删除劳务实名制管理 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceDataByParams(List list); - - /** - * 批量新增劳务实名制考勤管理 - * - * @param quartzProjectAttendanceDataList 劳务实名制管理考勤列表 - * @return 结果 - */ - public int batchSurProjectAttendanceData(List quartzProjectAttendanceDataList); - - public void add(QuartzProjectAttendanceData sdata); - - public String getLastServerId(QuartzProjectAttendanceData where); - - public List groupByComany(QuartzProjectAttendanceData where); - - public Long getHuazhuPage( QuartzProjectAttendanceData where); - - public List groupAllByComany(QuartzProjectAttendanceData where); - - - public List> initHuaZhuData(Map data); - - List todayAttendance(QuartzProjectAttendanceData where); - - /** - * 统计所有数据 - * @param where - * @return - */ - public List> groupAllByParams(QuartzProjectAttendanceData where); - - /** - * 统计人员数据 - * @param where - * @return - */ - public List> findGroupAllByDays(QuartzProjectAttendanceData where); - - /** - * 考勤数据列表 - * @param where - * @return - */ - public List attendanceDataList(QuartzProjectAttendanceData where); - - /** - * 统计考勤数据 - * @param where - * @return - */ - public List> groupDataByParams(QuartzProjectAttendanceData where); - - List groupTodayCompanyTypeId(QuartzProjectAttendanceData where); - - /** - * 指增加 - * @param addList - */ - void addList(List addList); -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceGroupService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceGroupService.java deleted file mode 100644 index 2c811190..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceGroupService.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.yanzhu.job.service; - - -import com.yanzhu.job.domain.QuartzProjectAttendanceGroup; - -import java.util.List; - -/** - * 广联达班组信息Service接口 - * - * @author ruoyi - * @date 2023-09-26 - */ -public interface IQuartzProjectAttendanceGroupService -{ - /** - * 查询广联达班组信息 - * - * @param id 广联达班组信息主键 - * @return 广联达班组信息 - */ - public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id); - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息集合 - */ - public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息集合 - */ - public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 新增广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 修改广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup); - - /** - * 批量删除广联达班组信息 - * - * @param ids 需要删除的广联达班组信息主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupByIds(Long[] ids); - - /** - * 删除广联达班组信息信息 - * - * @param id 广联达班组信息主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupById(Long id); - - /** - * 批量删除广联达班组信息 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceGroupByParams(List list); - - /** - * 批量新增广联达班组信息 - * - * @param quartzProjectAttendanceGroupList 广联达班组信息列表 - * @return 结果 - */ - public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList); - - public void add(QuartzProjectAttendanceGroup group); - - /** - * 更新济工网的分组类型 - * @param group - */ - public void updateJgw(QuartzProjectAttendanceGroup group); -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceUserService.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceUserService.java deleted file mode 100644 index 4a2265a0..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/IQuartzProjectAttendanceUserService.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.yanzhu.job.service; - - -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import com.yanzhu.job.domain.QuartzProjectAttendanceUser; - -import java.util.List; -import java.util.Map; - -/** - * 考勤人员基本属性Service接口 - * - * @author ruoyi - * @date 2023-09-24 - */ -public interface IQuartzProjectAttendanceUserService -{ - /** - * 查询考勤人员基本属性 - * - * @param id 考勤人员基本属性主键 - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id); - - /** - * 查询考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 查询[研筑]考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 查询考勤人员基本属性列表 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 考勤人员基本属性集合 - */ - public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 修改考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 批量删除考勤人员基本属性 - * - * @param ids 需要删除的考勤人员基本属性主键集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserByIds(Long[] ids); - - /** - * 删除考勤人员基本属性信息 - * - * @param id 考勤人员基本属性主键 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserById(Long id); - - /** - * 批量删除考勤人员基本属性 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - public int deleteSurProjectAttendanceUserByParams(List list); - - /** - * 批量新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 - * @return 结果 - */ - public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList); - - public void add(QuartzProjectAttendanceUser user); - - public List queryAttendanceData(QuartzProjectAttendanceUser where); - - public long countTodayAttendance(QuartzProjectAttendanceUser where); - - public List todayAttendance(QuartzProjectAttendanceUser where); - - public long countAttendance(QuartzProjectAttendanceUser where); - - /** - * 济工网人员查询 - * @param quartzProjectAttendanceUser - * @return - */ - public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - - /** - * 在岗工人查询 - * @param where - * @return - */ - public List queryWorkerOnDuty(QuartzProjectAttendanceUser where); - - /** - * 统计人员数据 - * @param where - * @return - */ - public List> groupUserByParams(QuartzProjectAttendanceUser where); - - /** - * 在岗工人查询 - * @param where - * @return - */ - public List attendanceUserList(QuartzProjectAttendanceUser where); - - /** - * 统计人员数据 - * @param projectId - * @return - */ - public List> findUserAllByDays(Long projectId); - - /** - * 按部门汇总在岗人数 - * @param where - * @return - */ - List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where); - - List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser); - /** - * 按部门汇总在岗|离岗人数 - * @param where - * @return - */ - List groupByWorkerByDept(QuartzProjectAttendanceUser where); - /** - * 在岗|离岗工人查询 - * @param where - * @return - */ - List queryWorkerByState(QuartzProjectAttendanceUser where); -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceCfgServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceCfgServiceImpl.java new file mode 100644 index 00000000..fa97c2f9 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceCfgServiceImpl.java @@ -0,0 +1,36 @@ +package com.yanzhu.job.service.impl; + +import com.yanzhu.job.domain.QuartzProAttendanceCfg; +import com.yanzhu.job.mapper.QuartzProAttendanceCfgMapper; +import com.yanzhu.job.service.IQuartzProAttendanceCfgService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 项目考勤配置Service业务层处理 + * + * @author ruoyi + * @date 2023-09-24 + */ +@Service +public class QuartzProAttendanceCfgServiceImpl implements IQuartzProAttendanceCfgService +{ + + @Autowired + private QuartzProAttendanceCfgMapper quartzProjectAttendanceCfgMapper; + + /** + * 查询项目考勤配置列表 + * R + * @param quartzProAttendanceCfg 项目考勤配置 + * @return 项目考勤配置 + */ + @Override + public List selectProAttendanceCfgList(QuartzProAttendanceCfg quartzProAttendanceCfg) + { + return quartzProjectAttendanceCfgMapper.selectProAttendanceCfgList(quartzProAttendanceCfg); + } + +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceDataServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceDataServiceImpl.java new file mode 100644 index 00000000..50a95613 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProAttendanceDataServiceImpl.java @@ -0,0 +1,78 @@ +package com.yanzhu.job.service.impl; + +import com.yanzhu.job.domain.QuartzProAttendanceData; +import com.yanzhu.job.mapper.QuartzProAttendanceDataMapper; +import com.yanzhu.job.service.IQuartzProAttendanceDataService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 劳务实名制管理Service业务层处理 + * + * @author ruoyi + * @date 2023-09-24 + */ +@Service +public class QuartzProAttendanceDataServiceImpl implements IQuartzProAttendanceDataService +{ + @Autowired + private QuartzProAttendanceDataMapper quartzProAttendanceDataMapper; + + /** + * 查询考勤管理 + * + * @param id 考勤管理主键 + * @return 考勤管理 + */ + @Override + public QuartzProAttendanceData selectProAttendanceDataById(Long id){ + return quartzProAttendanceDataMapper.selectProAttendanceDataById(id); + } + + /** + * 查询考勤管理列表 + * + * @param quartzProAttendanceData 考勤管理 + * @return 考勤管理集合 + */ + @Override + public List selectProAttendanceDataList(QuartzProAttendanceData quartzProAttendanceData){ + return quartzProAttendanceDataMapper.selectProAttendanceDataList(quartzProAttendanceData); + } + + /** + * 新增考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + @Override + public int insertProAttendanceData(QuartzProAttendanceData quartzProAttendanceData){ + return quartzProAttendanceDataMapper.insertProAttendanceData(quartzProAttendanceData); + } + + /** + * 修改考勤管理 + * + * @param quartzProAttendanceData 考勤管理 + * @return 结果 + */ + @Override + public int updateProAttendanceData(QuartzProAttendanceData quartzProAttendanceData){ + return quartzProAttendanceDataMapper.updateProAttendanceData(quartzProAttendanceData); + } + + /** + * 删除考勤管理 + * + * @param id 考勤管理主键 + * @return 结果 + */ + @Override + public int deleteProAttendanceDataById(Long id){ + return quartzProAttendanceDataMapper.deleteProAttendanceDataById(id); + } + +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsGroupServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsGroupServiceImpl.java index ec8deef0..27c04806 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsGroupServiceImpl.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsGroupServiceImpl.java @@ -4,9 +4,6 @@ import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.job.domain.QuartzProSubdeptsGroup; import com.yanzhu.job.mapper.QuartzProSubdeptsGroupMapper; import com.yanzhu.job.service.IQuartzProSubdeptsGroupService; -import com.yanzhu.system.api.RemoteUserService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,14 +20,9 @@ import java.util.List; public class QuartzProSubdeptsGroupServiceImpl implements IQuartzProSubdeptsGroupService { - @Autowired - private RemoteUserService remoteUserService; - @Autowired private QuartzProSubdeptsGroupMapper quartzProSubdeptsGroupMapper; - private static final Logger log = LoggerFactory.getLogger(QuartzProSubdeptsGroupServiceImpl.class); - /** * 查询分包单位班组 * diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsServiceImpl.java index 013fa3e6..05cc0db0 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsServiceImpl.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsServiceImpl.java @@ -4,7 +4,6 @@ import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.job.domain.QuartzProSubdepts; import com.yanzhu.job.mapper.QuartzProSubdeptsMapper; import com.yanzhu.job.service.IQuartzProSubdeptsService; -import com.yanzhu.system.api.RemoteUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,9 +20,6 @@ import java.util.List; public class QuartzProSubdeptsServiceImpl implements IQuartzProSubdeptsService { - @Autowired - private RemoteUserService remoteUserService; - @Autowired private QuartzProSubdeptsMapper quartzProSubdeptsMapper; diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsUsersServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsUsersServiceImpl.java index f1ee6083..2fed3f12 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsUsersServiceImpl.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProSubdeptsUsersServiceImpl.java @@ -1,23 +1,12 @@ package com.yanzhu.job.service.impl; -import com.yanzhu.common.core.constant.SecurityConstants; -import com.yanzhu.common.core.enums.ApproveStatus; -import com.yanzhu.common.core.enums.UseStateEnums; -import com.yanzhu.common.core.enums.UserTypeEnums; -import com.yanzhu.common.core.utils.DateUtils; -import com.yanzhu.common.core.utils.StringUtils; -import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.job.domain.QuartzProSubdeptsUsers; import com.yanzhu.job.mapper.QuartzProSubdeptsUsersMapper; import com.yanzhu.job.service.IQuartzProSubdeptsUsersService; -import com.yanzhu.system.api.RemoteUserService; -import com.yanzhu.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.io.File; import java.util.List; -import java.util.Objects; /** * 分包单位工人Service业务层处理 @@ -28,9 +17,6 @@ import java.util.Objects; @Service public class QuartzProSubdeptsUsersServiceImpl implements IQuartzProSubdeptsUsersService { - @Autowired - private RemoteUserService remoteUserService; - @Autowired private QuartzProSubdeptsUsersMapper quartzProSubdeptsUsersMapper; @@ -65,122 +51,7 @@ public class QuartzProSubdeptsUsersServiceImpl implements IQuartzProSubdeptsUser */ @Override public int insertQuartzProSubdeptsUsers(QuartzProSubdeptsUsers quartzProSubdeptsUsers) { -// if (StringUtils.isEmpty(quartzProSubdeptsUsers.getCardType())) { -// quartzProSubdeptsUsers.setCardType("1"); -// } -// if (StringUtils.isEmpty(quartzProSubdeptsUsers.getUserSex())) { -// quartzProSubdeptsUsers.setUserSex(StringUtils.judgeGender(quartzProSubdeptsUsers.getCardCode())); -// } -// quartzProSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode()); -// quartzProSubdeptsUsers.setUseDate(DateUtils.getNowDate()); -// quartzProSubdeptsUsers.setCreateBy(SecurityUtils.getUsername()); -// quartzProSubdeptsUsers.setCreateTime(DateUtils.getNowDate()); -// quartzProSubdeptsUsers.setSubStep(2L); -// quartzProSubdeptsUsers.setApproveStatus(ApproveStatus.passed.getCode()); -// -// // 参建单位信息 -// ProProjectInfoSubdepts subDepts = proProjectInfoSubdeptsMapper.selectProProjectInfoSubdeptsById(quartzProSubdeptsUsers.getSubDeptId()); -// if (quartzProSubdeptsUsers.getComId() == null) { -// quartzProSubdeptsUsers.setComId(subDepts.getComId()); -// } -// quartzProSubdeptsUsers.setSubDeptType(subDepts.getSubDeptType()); -// -// SysUser sysUser = new SysUser(); -// sysUser.setComId(subDepts.getComId()); -// sysUser.setDeptId(subDepts.getProjectId()); -// sysUser.setUserName(quartzProSubdeptsUsers.getUserPhone()); -// sysUser.setNickName(quartzProSubdeptsUsers.getUserName()); -// sysUser.setPhonenumber(quartzProSubdeptsUsers.getUserPhone()); -// sysUser.setUpdateBy(SecurityUtils.getUsername()); -// sysUser.setUpdateTime(DateUtils.getNowDate()); -// sysUser.setUserInfos(quartzProSubdeptsUsers.getUserInfos()); -// -// String subDeptType = quartzProSubdeptsUsers.getSubDeptType(); -// // 判断单位类型 -// if (Objects.nonNull(subDeptType)) { -// if (Objects.equals(SubDeptsEnums.JSDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.JSDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.JSDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.JLDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.JLDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.JLDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.SGDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.SGDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.SGDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.ZYFB.getCode(), subDeptType) || Objects.equals(SubDeptsEnums.LWFB.getCode(), subDeptType)) { -// //判断工种岗位设置用户岗位...PC需要单独设置 -// if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.WTDL.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBWTDL.getCode()); -// quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.WTDL.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.XMJL.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); -// quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.XMJL.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.AQZY.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); -// quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.AQRY.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.CLZY.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); -// quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLRY.getCode()); -// } else { -// sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.LWGR.getCode()); -// } -// } else if (Objects.equals(SubDeptsEnums.CLFB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.CLFBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLFBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.HQFB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.HQFBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.HQFBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.TSSB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.TSSBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.TSSBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.KTDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.KTDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.KTDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.SJDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.SJDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.SJDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.QTDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.OTHERS.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.QTDWGL.getCode()); -// } -// } -// -// sysUser.setActiveProjectId(quartzProSubdeptsUsers.getProjectId()); -// Long userId = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER).getData(); -// quartzProSubdeptsUsers.setUserId(userId); -// int res = quartzProSubdeptsUsersMapper.insertQuartzProSubdeptsUsers(quartzProSubdeptsUsers); -// String userPost = quartzProSubdeptsUsers.getUserPost(); -// if (res > 0 && (Objects.equals(UserPostEnums.WTDL.getCode(), userPost) || Objects.equals(UserPostEnums.XMJL.getCode(), userPost) || Objects.equals(UserPostEnums.BZZ.getCode(), userPost))) { -// // 生成二维码 -// try { -// String accessToken = wxMaService.getAccessToken(); -// String filePath = DateUtils.datePath() + "/" + System.currentTimeMillis() + ".png"; -// String savePath = ProfileConfig.profilePath + "/" + filePath; -// String profilePath = ProfileConfig.profile + "/" + filePath; -// log.info("accessToken...{}", accessToken); -// // 生成二维码 -// if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.WTDL.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=2&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } else if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.XMJL.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=3&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } else if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.BZZ.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=4&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } -// quartzProSubdeptsUsers.setQrCode(profilePath); -// quartzProSubdeptsUsersMapper.updateQuartzProSubdeptsUsers(quartzProSubdeptsUsers); -// } catch (Exception e) { -// log.error(e.getMessage()); -// } -// } - return 0; + return quartzProSubdeptsUsersMapper.insertQuartzProSubdeptsUsers(quartzProSubdeptsUsers); } /** @@ -191,120 +62,6 @@ public class QuartzProSubdeptsUsersServiceImpl implements IQuartzProSubdeptsUser */ @Override public int updateQuartzProSubdeptsUsers(QuartzProSubdeptsUsers quartzProSubdeptsUsers) { - // 参建单位信息 -// ProProjectInfoSubdepts subDepts = proProjectInfoSubdeptsMapper.selectProProjectInfoSubdeptsById(quartzProSubdeptsUsers.getSubDeptId()); -// quartzProSubdeptsUsers.setSubDeptType(subDepts.getSubDeptType()); -// -// SysUser sysUser = new SysUser(); -// sysUser.setComId(subDepts.getComId()); -// sysUser.setDeptId(subDepts.getProjectId()); -// sysUser.setUserName(quartzProSubdeptsUsers.getUserPhone()); -// sysUser.setNickName(quartzProSubdeptsUsers.getUserName()); -// sysUser.setPhonenumber(quartzProSubdeptsUsers.getUserPhone()); -// sysUser.setUpdateBy(SecurityUtils.getUsername()); -// sysUser.setUpdateTime(DateUtils.getNowDate()); -// sysUser.setUserInfos(quartzProSubdeptsUsers.getUserInfos()); -// -// String subDeptType = quartzProSubdeptsUsers.getSubDeptType(); -// // 判断单位类型 -// if (Objects.nonNull(subDeptType)) { -// if (Objects.equals(SubDeptsEnums.JSDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.JSDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.JSDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.JLDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.JLDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.JLDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.SGDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.SGDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.SGDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.ZYFB.getCode(), subDeptType) || Objects.equals(SubDeptsEnums.LWFB.getCode(), subDeptType)) { -// //判断工种岗位设置用户岗位...PC需要单独设置 -// if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.WTDL.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBWTDL.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.WTDL.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.XMJL.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.XMJL.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.AQZY.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.AQRY.getCode()); -// } else if (Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.CLZY.getCode())) { -// sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLRY.getCode()); -// } else { -// sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.LWGR.getCode()); -// } -// } else if (Objects.equals(SubDeptsEnums.CLFB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.CLFBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLFBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.HQFB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.HQFBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.HQFBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.TSSB.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.TSSBRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.TSSBGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.KTDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.KTDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.KTDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.SJDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.SJDWRY.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.SJDWGL.getCode()); -// } else if (Objects.equals(SubDeptsEnums.QTDW.getCode(), subDeptType)) { -// sysUser.setUserType(UserTypeEnums.OTHERS.getCode()); -// quartzProSubdeptsUsers.setUserPost(UserPostEnums.QTDWGL.getCode()); -// } -// } -// -// sysUser.setActiveProjectId(quartzProSubdeptsUsers.getProjectId()); -// remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER).getData(); -// -// QuartzProSubdeptsUsers old = quartzProSubdeptsUsersMapper.selectQuartzProSubdeptsUsersById(quartzProSubdeptsUsers.getId()); -// quartzProSubdeptsUsers.setUserId(old.getUserId()); -// quartzProSubdeptsUsers.setQrCode(old.getQrCode()); -// quartzProSubdeptsUsers.setAdmitGuid(old.getAdmitGuid()); -// quartzProSubdeptsUsers.setFaceGuid(old.getFaceGuid()); -// quartzProSubdeptsUsers.setUpdateBy(SecurityUtils.getUsername()); -// quartzProSubdeptsUsers.setUpdateTime(DateUtils.getNowDate()); -// -// /** -// * 考勤需要信息改变时推送信息... -// */ -// if (!Objects.equals(quartzProSubdeptsUsers.getUserName(), old.getUserName()) || !Objects.equals(quartzProSubdeptsUsers.getCardCode(), old.getCardCode()) || -// !Objects.equals(quartzProSubdeptsUsers.getUserPhone(), old.getUserPhone()) || !Objects.equals(quartzProSubdeptsUsers.getUserPicture(), old.getUserPicture())) { -// uniService.syncUniUser(quartzProSubdeptsUsers, false); -// } -// -// if (!Objects.equals(old.getUserPost(), quartzProSubdeptsUsers.getUserPost())) { -// String userPost = quartzProSubdeptsUsers.getUserPost(); -// if (Objects.equals(UserPostEnums.WTDL.getCode(), userPost) || Objects.equals(UserPostEnums.XMJL.getCode(), userPost) || Objects.equals(UserPostEnums.BZZ.getCode(), userPost)) { -// if (!Objects.equals(quartzProSubdeptsUsers.getUserPost(), old.getUserPost()) || StringUtils.isEmpty(quartzProSubdeptsUsers.getQrCode())) { -// // 生成二维码 -// try { -// String accessToken = wxMaService.getAccessToken(); -// String filePath = DateUtils.datePath() + "/" + System.currentTimeMillis() + ".png"; -// String savePath = ProfileConfig.profilePath + "/" + filePath; -// String profilePath = ProfileConfig.profile + "/" + filePath; -// log.info("accessToken...{}", accessToken); -// // 生成二维码 -// if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.WTDL.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=2&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } else if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.XMJL.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=3&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } else if (Objects.equals(quartzProSubdeptsUsers.getUserPost(), UserPostEnums.BZZ.getCode())) { -// File file = wxMaService.getQrcodeService().createQrcode("pages/project_qr/index?SIGID=4&QRPID=" + quartzProSubdeptsUsers.getProjectId() + "&PARID=" + quartzProSubdeptsUsers.getId(), 280); -// FileUtil.copyFile(file, new File(savePath)); -// } -// quartzProSubdeptsUsers.setQrCode(profilePath); -// return quartzProSubdeptsUsersMapper.updateQuartzProSubdeptsUsers(quartzProSubdeptsUsers); -// } catch (Exception e) { -// log.error(e.getMessage()); -// } -// } -// } -// } return quartzProSubdeptsUsersMapper.updateQuartzProSubdeptsUsers(quartzProSubdeptsUsers); } diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceCfgServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceCfgServiceImpl.java deleted file mode 100644 index e4e1427e..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceCfgServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yanzhu.job.service.impl; - -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; -import com.yanzhu.job.mapper.QuartzProjectAttendanceCfgMapper; -import com.yanzhu.job.service.IQuartzProjectAttendanceCfgService; -import com.yanzhu.job.service.ISysApplyConfigService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 项目考勤配置Service业务层处理 - * - * @author ruoyi - * @date 2023-09-24 - */ -@Service -public class QuartzProjectAttendanceCfgServiceImpl implements IQuartzProjectAttendanceCfgService -{ - - @Autowired - private ISysApplyConfigService sysApplyConfigService; - - @Autowired - private QuartzProjectAttendanceCfgMapper quartzProjectAttendanceCfgMapper; - - /** - * 查询项目考勤配置列表 - * R - * @param quartzProjectAttendanceCfg 项目考勤配置 - * @return 项目考勤配置 - */ - @Override - public List selectSurProjectAttendanceCfgList(QuartzProjectAttendanceCfg quartzProjectAttendanceCfg) - { - return quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgList(quartzProjectAttendanceCfg); - } - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceDataServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceDataServiceImpl.java deleted file mode 100644 index a2ce9aae..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceDataServiceImpl.java +++ /dev/null @@ -1,489 +0,0 @@ -package com.yanzhu.job.service.impl; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.StrUtil; -import com.yanzhu.common.core.utils.DateUtils; -import com.yanzhu.common.core.utils.StringUtils; -import com.yanzhu.common.security.utils.SecurityUtils; -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import com.yanzhu.job.domain.QuartzProjectAttendanceGroup; -import com.yanzhu.job.domain.QuartzProjectAttendanceUser; -import com.yanzhu.job.mapper.QuartzProjectAttendanceCfgMapper; -import com.yanzhu.job.mapper.QuartzProjectAttendanceDataMapper; -import com.yanzhu.job.mapper.QuartzProjectAttendanceGroupMapper; -import com.yanzhu.job.mapper.QuartzProjectAttendanceUserMapper; -import com.yanzhu.job.service.IQuartzProjectAttendanceDataService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 劳务实名制管理Service业务层处理 - * - * @author ruoyi - * @date 2023-09-24 - */ -@Service -public class QuartzProjectAttendanceDataServiceImpl implements IQuartzProjectAttendanceDataService -{ - @Autowired - private QuartzProjectAttendanceDataMapper quartzProjectAttendanceDataMapper; - - @Autowired - private QuartzProjectAttendanceUserMapper quartzProjectAttendanceUserMapper; - - @Autowired - private QuartzProjectAttendanceGroupMapper quartzProjectAttendanceGroupMapper; - - @Autowired - private QuartzProjectAttendanceCfgMapper quartzProjectAttendanceCfgMapper; - - - /** - * 查询劳务实名制管理 - * - * @param id 劳务实名制管理主键 - * @return 劳务实名制管理 - */ - @Override - public QuartzProjectAttendanceData selectSurProjectAttendanceDataById(Long id) - { - return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataById(id); - } - - /** - * 查询劳务实名制管理列表 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理 - */ - @Override - public List selectSurProjectAttendanceDataList(QuartzProjectAttendanceData quartzProjectAttendanceData) - { - return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataList(quartzProjectAttendanceData); - } - - /** - * 查询考勤信息 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 劳务实名制管理集合 - */ - @Override - public QuartzProjectAttendanceData findCurrentAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData){ - return quartzProjectAttendanceDataMapper.findCurrentAttendanceData(quartzProjectAttendanceData); - } - - @Override - public List selectSurProjectAttendanceDataListEx(QuartzProjectAttendanceData quartzProjectAttendanceData) - { - return quartzProjectAttendanceDataMapper.selectSurProjectAttendanceDataListEx(quartzProjectAttendanceData); - } - - /** - * 新增劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - @Override - public int insertSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData) - { - String userName= SecurityUtils.getUsername(); - quartzProjectAttendanceData.setCreateBy(StrUtil.isEmpty(userName)?"task":userName); - quartzProjectAttendanceData.setCreateTime(DateUtils.getNowDate()); - - return quartzProjectAttendanceDataMapper.insertSurProjectAttendanceData(quartzProjectAttendanceData); - } - - /** - * 修改劳务实名制管理 - * - * @param quartzProjectAttendanceData 劳务实名制管理 - * @return 结果 - */ - @Override - public int updateSurProjectAttendanceData(QuartzProjectAttendanceData quartzProjectAttendanceData) - { - String userName=SecurityUtils.getUsername(); - quartzProjectAttendanceData.setUpdateBy(StrUtil.isEmpty(userName)?"task":userName); - - quartzProjectAttendanceData.setUpdateTime(DateUtils.getNowDate()); - return quartzProjectAttendanceDataMapper.updateSurProjectAttendanceData(quartzProjectAttendanceData); - } - - /** - * 批量删除劳务实名制管理 - * - * @param ids 需要删除的劳务实名制管理主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceDataByIds(Long[] ids) - { - return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataByIds(ids); - } - - /** - * 删除劳务实名制管理信息 - * - * @param id 劳务实名制管理主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceDataById(Long id) - { - return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataById(id); - } - - /** - * 批量删除劳务实名制管理 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceDataByParams(List list) { - return quartzProjectAttendanceDataMapper.deleteSurProjectAttendanceDataByParams(list); - } - - /** - * 批量新增劳务实名制考勤管理 - * - * @param quartzProjectAttendanceDataList 劳务实名制考勤管理列表 - * @return 结果 - */ - @Override - public int batchSurProjectAttendanceData(List quartzProjectAttendanceDataList) { - return quartzProjectAttendanceDataMapper.batchSurProjectAttendanceData(quartzProjectAttendanceDataList,DateUtils.dateTimeNow(DateUtils.YYYY)); - } - - @Override - public void add(QuartzProjectAttendanceData sdata) { - if(StringUtils.isEmpty(sdata.getWorkerId()) || StringUtils.isEmpty(sdata.getAttendanceTime())){ - return; - } - QuartzProjectAttendanceData where=new QuartzProjectAttendanceData(); - where.setVendorsCode(sdata.getVendorsCode()); - where.setCfgid(sdata.getCfgid()); - where.setWorkerId(sdata.getWorkerId()); - where.setAttendanceTime(sdata.getAttendanceTime()); - List list=selectSurProjectAttendanceDataListEx(where); - if(list.size()==0){ - //设置考勤其它参数 - //查询人员信息 - QuartzProjectAttendanceUser userWhere=new QuartzProjectAttendanceUser(); - userWhere.setWorkerId(sdata.getWorkerId()); - List uList= quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(userWhere); - if(uList.size()==0){ - return; - } - QuartzProjectAttendanceUser user=uList.get(0); - sdata.setWorkerName(user.getName()); - String photo=user.getPhoto(); - if(StrUtil.isEmpty(photo)){ - photo=user.getRecentPhoto(); - } - - sdata.setWorkerPhoto(photo); - sdata.setWorkerGender(user.getGender());; - sdata.setGroupName(user.getGroupName()); - sdata.setWorkTypeName(user.getWorkTypeName()); - sdata.setEthnic(user.getEthnic()); - sdata.setNativePlace(user.getNativePlace()); - sdata.setPhone(user.getPhone()); - sdata.setSpecWorkType(user.getSpecWorkType()); - if("jgw".equals(sdata.getVendorsCode())) { - sdata.setCompanyId(user.getCompanyId()); - } - //查询分组信息 - QuartzProjectAttendanceGroup groupWhere=new QuartzProjectAttendanceGroup(); - groupWhere.setCfgid(sdata.getCfgid()); - groupWhere.setCompanyId(sdata.getCompanyId()); - List gList= quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(groupWhere); - if(gList.size()==0){ - return; - } - QuartzProjectAttendanceGroup group=gList.get(0); - sdata.setCompanyName(group.getCompanyName()); - sdata.setCompanyTypeId(group.getCompanyTypeId()); - //查询华筑的分组信息 - if("huazhu".equals(sdata.getVendorsCode())){ - sdata.setWorkerGender(sdata.getWorkerGender()); - sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 - } - if("jgw".equals(sdata.getVendorsCode())){ - //sdata.setWorkTypeName(group.getCompanyCode()); - //sdata.setCompanyName(user.getCompanyName()); - sdata.setWorkTypeName(user.getWorkTypeName()); - sdata.setCompanyName(group.getCompanyName()); - sdata.setGroupName(group.getTeamName()); - } - //查询项目部门信息 - QuartzProjectAttendanceCfg cfg = quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgByCfgId(sdata.getCfgid()); - sdata.setProjectId(cfg.getProjectId()); - sdata.setDeptId(cfg.getDeptId()); - sdata.setProjectName(cfg.getProjectName()); - sdata.setDeptName(cfg.getDeptName()); - if(sdata.getCompanyTypeId()==null){ - sdata.setCompanyTypeId("0"); - } - insertSurProjectAttendanceData(sdata); - }else{ - sdata.setId(list.get(0).getId()); - QuartzProjectAttendanceData upData=list.get(0); - String dt1=upData.getAttendanceTime(); // - String dt2=upData.getAttendanceOutTime(); - String dt3=sdata.getAttendanceTime(); - if (StrUtil.isEmpty(dt3)) { - return; - } - long time3=DateUtil.parse(dt3).getTime(); - if(StrUtil.isEmpty(dt2)){ - upData.setAttendanceOutTime(dt3); - //比较 dt1,dt2 进行交换 - long time2=DateUtil.parse(dt3).getTime(); - long time1=DateUtil.parse(dt1).getTime(); - if(time1>time2){ - upData.setAttendanceTime(dt3); - upData.setAttendanceOutTime(dt1); - } - }else{ - long time2=DateUtil.parse(dt2).getTime(); - long time1=DateUtil.parse(dt1).getTime(); - //比较 dt3dt3 - if(time3dt2 out->dt3 - if(time3>time2){ - upData.setAttendanceOutTime(dt3); - } - } - //upData.setAttendanceOutTime(sdata.getAttendanceTime()); - if("jgw".equals(upData.getVendorsCode())){ - upData.setRemark(sdata.getRemark()); - } - updateSurProjectAttendanceData(upData); - } - } - - private String getHuazhuCompanyTypeId(String groupName) { - return quartzProjectAttendanceDataMapper.findHuaZhuCompanyType(groupName); - } - - @Override - public String getLastServerId(QuartzProjectAttendanceData where) { - return ""+ quartzProjectAttendanceDataMapper.getLastServerId(where); - } - - @Override - public List groupByComany(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.groupByComany(where); - } - - @Override - public Long getHuazhuPage( QuartzProjectAttendanceData attWhere) { - return quartzProjectAttendanceDataMapper.getHuazhuPage(attWhere); - } - - @Override - public List groupAllByComany(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.groupAllByComany(where); - } - - - @Override - public List> initHuaZhuData(Map data) { - List> dataList = new ArrayList<>(); - List> list = quartzProjectAttendanceDataMapper.initHuaZhuData(data); - if(StringUtils.isNotEmpty(list)){ - List workerIds = list.stream().map(Map -> Map.get("workerId").toString()).collect(Collectors.toList()); - data.put("list",workerIds); - List datas= quartzProjectAttendanceUserMapper.todayAttendanceOtherData(data); - for (Map map:list) { - for(QuartzProjectAttendanceUser sau:datas){ - if(Objects.equals(map.get("workerId").toString(),sau.getWorkerId())){ - map.put("inTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getInTime())); - map.put("outTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,sau.getOutTime())); - dataList.add(map); - } - } - } - } - return dataList; - } - - @Override - public List todayAttendance(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.todayAttendance(where); - } - - /** - * 统计所有数据 - * @param where - * @return - */ - @Override - public List> groupAllByParams(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.findGroupAllByParams(where); - } - - /** - * 统计人员数据 - * @param where - * @return - */ - @Override - public List> findGroupAllByDays(QuartzProjectAttendanceData where){ - return quartzProjectAttendanceDataMapper.findGroupAllByDays(where); - } - - /** - * 统计考勤数据 - * @param where - * @return - */ - @Override - public List> groupDataByParams(QuartzProjectAttendanceData where){ - return quartzProjectAttendanceDataMapper.groupDataByParams(where); - } - - /** - * 考勤数据列表 - * @param where - * @return - */ - @Override - public List attendanceDataList(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.attendanceDataList(where); - } - - @Override - public List groupTodayCompanyTypeId(QuartzProjectAttendanceData where) { - return quartzProjectAttendanceDataMapper.groupTodayCompanyTypeId(where); - } - - /** - * 批量增加 - * @param addList - */ - @Override - public void addList(List addList) { - if(addList.size()==0){ - return; - } - QuartzProjectAttendanceData where=new QuartzProjectAttendanceData(); - where.setVendorsCode(addList.get(0).getVendorsCode()); - where.setCfgid(addList.get(0).getCfgid()); - where.setAttendanceTime(addList.get(0).getAttendanceTime()); - List oldList=selectSurProjectAttendanceDataListEx(where); - for(QuartzProjectAttendanceData sdata:addList){ - List list=oldList.stream().filter(d->d.getWorkerId().equals(sdata.getWorkerId())).collect(Collectors.toList()); - if(list.size()==0){ - //设置考勤其它参数 - //查询人员信息 - QuartzProjectAttendanceUser userWhere=new QuartzProjectAttendanceUser(); - userWhere.setWorkerId(sdata.getWorkerId()); - List uList= quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(userWhere); - if(uList.size()==0){ - return; - } - QuartzProjectAttendanceUser user=uList.get(0); - sdata.setWorkerName(user.getName()); - String photo=user.getPhoto(); - if(StrUtil.isEmpty(photo)){ - photo=user.getRecentPhoto(); - } - - sdata.setWorkerPhoto(photo); - sdata.setWorkerGender(user.getGender());; - sdata.setGroupName(user.getGroupName()); - sdata.setWorkTypeName(user.getWorkTypeName()); - sdata.setEthnic(user.getEthnic()); - sdata.setNativePlace(user.getNativePlace()); - sdata.setPhone(user.getPhone()); - sdata.setSpecWorkType(user.getSpecWorkType()); - if("jgw".equals(sdata.getVendorsCode())) { - sdata.setCompanyId(user.getCompanyId()); - } - //查询分组信息 - QuartzProjectAttendanceGroup groupWhere=new QuartzProjectAttendanceGroup(); - groupWhere.setCfgid(sdata.getCfgid()); - groupWhere.setCompanyId(sdata.getCompanyId()); - List gList= quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(groupWhere); - if(gList.size()==0){ - return; - } - QuartzProjectAttendanceGroup group=gList.get(0); - sdata.setCompanyName(group.getCompanyName()); - sdata.setCompanyTypeId(group.getCompanyTypeId()); - //查询华筑的分组信息 - if("huazhu".equals(sdata.getVendorsCode())){ - sdata.setWorkerGender(sdata.getWorkerGender()); - sdata.setCompanyTypeId(getHuazhuCompanyTypeId(group.getCompanyName()));//获取华筑的分包商类型 - } - if("jgw".equals(sdata.getVendorsCode())){ - //sdata.setWorkTypeName(group.getCompanyCode()); - //sdata.setCompanyName(user.getCompanyName()); - sdata.setWorkTypeName(user.getWorkTypeName()); - sdata.setCompanyName(group.getCompanyName()); - sdata.setGroupName(group.getTeamName()); - } - //查询项目部门信息 - QuartzProjectAttendanceCfg cfg = quartzProjectAttendanceCfgMapper.selectSurProjectAttendanceCfgByCfgId(sdata.getCfgid()); - sdata.setProjectId(cfg.getProjectId()); - sdata.setDeptId(cfg.getDeptId()); - sdata.setProjectName(cfg.getProjectName()); - sdata.setDeptName(cfg.getDeptName()); - if(sdata.getCompanyTypeId()==null){ - sdata.setCompanyTypeId("0"); - } - insertSurProjectAttendanceData(sdata); - }else{ - sdata.setId(list.get(0).getId()); - QuartzProjectAttendanceData upData=list.get(0); - String dt1=upData.getAttendanceTime(); // - String dt2=upData.getAttendanceOutTime(); - String dt3=sdata.getAttendanceTime(); - if (StrUtil.isEmpty(dt3)) { - return; - } - long time3=DateUtil.parse(dt3).getTime(); - if(StrUtil.isEmpty(dt2)){ - upData.setAttendanceOutTime(dt3); - //比较 dt1,dt2 进行交换 - long time2=DateUtil.parse(dt3).getTime(); - long time1=DateUtil.parse(dt1).getTime(); - if(time1>time2){ - upData.setAttendanceTime(dt3); - upData.setAttendanceOutTime(dt1); - } - }else{ - long time2=DateUtil.parse(dt2).getTime(); - long time1=DateUtil.parse(dt1).getTime(); - //比较 dt3dt3 - if(time3dt2 out->dt3 - if(time3>time2){ - upData.setAttendanceOutTime(dt3); - } - } - //upData.setAttendanceOutTime(sdata.getAttendanceTime()); - if("jgw".equals(upData.getVendorsCode())){ - upData.setRemark(sdata.getRemark()); - } - updateSurProjectAttendanceData(upData); - } - } - } - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceGroupServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceGroupServiceImpl.java deleted file mode 100644 index 547bee56..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceGroupServiceImpl.java +++ /dev/null @@ -1,166 +0,0 @@ -package com.yanzhu.job.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.yanzhu.common.core.utils.DateUtils; -import com.yanzhu.common.security.utils.SecurityUtils; -import com.yanzhu.job.domain.QuartzProjectAttendanceGroup; -import com.yanzhu.job.mapper.QuartzProjectAttendanceGroupMapper; -import com.yanzhu.job.service.IQuartzProjectAttendanceGroupService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * 广联达班组信息Service业务层处理 - * - * @author ruoyi - * @date 2023-09-26 - */ -@Service -public class QuartzProjectAttendanceGroupServiceImpl implements IQuartzProjectAttendanceGroupService -{ - @Autowired - private QuartzProjectAttendanceGroupMapper quartzProjectAttendanceGroupMapper; - - /** - * 查询广联达班组信息 - * - * @param id 广联达班组信息主键 - * @return 广联达班组信息 - */ - @Override - public QuartzProjectAttendanceGroup selectSurProjectAttendanceGroupById(Long id) - { - return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupById(id); - } - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息 - */ - @Override - public List selectSurProjectAttendanceGroupViewList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) - { - return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupViewList(quartzProjectAttendanceGroup); - } - - /** - * 查询广联达班组信息列表 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 广联达班组信息集合 - */ - public List selectSurProjectAttendanceGroupList(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) { - return quartzProjectAttendanceGroupMapper.selectSurProjectAttendanceGroupList(quartzProjectAttendanceGroup); - } - /** - * 新增广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - @Override - public int insertSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) - { - String userName= SecurityUtils.getUsername(); - quartzProjectAttendanceGroup.setCreateBy(StrUtil.isEmpty(userName)?"task":userName); - quartzProjectAttendanceGroup.setCreateTime(DateUtils.getNowDate()); - return quartzProjectAttendanceGroupMapper.insertSurProjectAttendanceGroup(quartzProjectAttendanceGroup); - } - - /** - * 修改广联达班组信息 - * - * @param quartzProjectAttendanceGroup 广联达班组信息 - * @return 结果 - */ - @Override - public int updateSurProjectAttendanceGroup(QuartzProjectAttendanceGroup quartzProjectAttendanceGroup) - { - String userName= SecurityUtils.getUsername(); - quartzProjectAttendanceGroup.setUpdateBy(StrUtil.isEmpty(userName)?"task":userName); - - quartzProjectAttendanceGroup.setUpdateTime(DateUtils.getNowDate()); - return quartzProjectAttendanceGroupMapper.updateSurProjectAttendanceGroup(quartzProjectAttendanceGroup); - } - - /** - * 批量删除广联达班组信息 - * - * @param ids 需要删除的广联达班组信息主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceGroupByIds(Long[] ids) - { - return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupByIds(ids); - } - - /** - * 删除广联达班组信息信息 - * - * @param id 广联达班组信息主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceGroupById(Long id) - { - return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupById(id); - } - - /** - * 批量删除广联达班组信息 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceGroupByParams(List list) { - return quartzProjectAttendanceGroupMapper.deleteSurProjectAttendanceGroupByParams(list); - } - - /** - * 批量新增广联达班组信息 - * - * @param quartzProjectAttendanceGroupList 广联达班组信息列表 - * @return 结果 - */ - @Override - public int batchSurProjectAttendanceGroup(List quartzProjectAttendanceGroupList) { - return quartzProjectAttendanceGroupMapper.batchSurProjectAttendanceGroup(quartzProjectAttendanceGroupList); - } - - @Override - public void add(QuartzProjectAttendanceGroup group) { - QuartzProjectAttendanceGroup where=new QuartzProjectAttendanceGroup(); - where.setServerid(group.getServerid()); - where.setCfgid(group.getCfgid()); - List list=selectSurProjectAttendanceGroupList(where); - if(list.size()==0){ - insertSurProjectAttendanceGroup(group); - }else{ - group.setId(list.get(0).getId()); - updateSurProjectAttendanceGroup(group); - } - } - - /** - * 更新济工网的分组类型 - * @param group - */ - @Override - public void updateJgw(QuartzProjectAttendanceGroup group) { - QuartzProjectAttendanceGroup where=new QuartzProjectAttendanceGroup(); - where.setBizLicense(group.getBizLicense()); - where.setCompanyName(group.getCompanyName()); - where.setCfgid(group.getCfgid()); - List list=selectSurProjectAttendanceGroupList(where); - for(QuartzProjectAttendanceGroup g:list){ - g.setCompanyTypeId(group.getCompanyTypeId()); - updateSurProjectAttendanceGroup(g); - } - } -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceUserServiceImpl.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceUserServiceImpl.java deleted file mode 100644 index ef5d564a..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/service/impl/QuartzProjectAttendanceUserServiceImpl.java +++ /dev/null @@ -1,315 +0,0 @@ -package com.yanzhu.job.service.impl; - -import com.yanzhu.common.core.utils.DateUtils; -import com.yanzhu.common.core.utils.StringUtils; -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import com.yanzhu.job.domain.QuartzProjectAttendanceUser; -import com.yanzhu.job.mapper.QuartzProjectAttendanceUserMapper; -import com.yanzhu.job.service.IQuartzProjectAttendanceUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -/** - * 考勤人员基本属性Service业务层处理 - * - * @author ruoyi - * @date 2023-09-24 - */ -@Service -public class QuartzProjectAttendanceUserServiceImpl implements IQuartzProjectAttendanceUserService -{ - @Autowired - private QuartzProjectAttendanceUserMapper quartzProjectAttendanceUserMapper; - - /** - * 查询考勤人员基本属性 - * - * @param id 考勤人员基本属性主键 - * @return 考勤人员基本属性 - */ - @Override - public QuartzProjectAttendanceUser selectSurProjectAttendanceUserById(Long id) - { - return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserById(id); - } - - /** - * 查询考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - @Override - public QuartzProjectAttendanceUser findCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { - return quartzProjectAttendanceUserMapper.findCurrentAttendanceUser(quartzProjectAttendanceUser); - } - - /** - * 查询[研筑]考勤人员信息 - * - * @param quartzProjectAttendanceUser - * @return 考勤人员基本属性 - */ - public QuartzProjectAttendanceUser findYzCurrentAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser){ - return quartzProjectAttendanceUserMapper.findYzCurrentAttendanceUser(quartzProjectAttendanceUser); - } - - /** - * 查询考勤人员基本属性列表 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 考勤人员基本属性 - */ - @Override - public List selectSurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser) - { - return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserList(quartzProjectAttendanceUser); - } - - /** - * 新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - @Override - public int insertSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) - { - if(StringUtils.isEmpty(quartzProjectAttendanceUser.getCreateBy())){ - quartzProjectAttendanceUser.setCreateBy("task"); - quartzProjectAttendanceUser.setCreateTime(DateUtils.getNowDate()); - } - return quartzProjectAttendanceUserMapper.insertSurProjectAttendanceUser(quartzProjectAttendanceUser); - } - - /** - * 修改考勤人员基本属性 - * - * @param quartzProjectAttendanceUser 考勤人员基本属性 - * @return 结果 - */ - @Override - public int updateSurProjectAttendanceUser(QuartzProjectAttendanceUser quartzProjectAttendanceUser) - { - if(StringUtils.isEmpty(quartzProjectAttendanceUser.getCreateBy())){ - quartzProjectAttendanceUser.setUpdateBy("task"); - } - quartzProjectAttendanceUser.setUpdateTime(DateUtils.getNowDate()); - return quartzProjectAttendanceUserMapper.updateSurProjectAttendanceUser(quartzProjectAttendanceUser); - } - - /** - * 批量删除考勤人员基本属性 - * - * @param ids 需要删除的考勤人员基本属性主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceUserByIds(Long[] ids) - { - return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserByIds(ids); - } - - /** - * 删除考勤人员基本属性信息 - * - * @param id 考勤人员基本属性主键 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceUserById(Long id) - { - return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserById(id); - } - - /** - * 批量删除考勤人员基本属性 - * - * @param list 需要删除的数据参数集合 - * @return 结果 - */ - @Override - public int deleteSurProjectAttendanceUserByParams(List list) { - return quartzProjectAttendanceUserMapper.deleteSurProjectAttendanceUserByParams(list); - } - - /** - * 批量新增考勤人员基本属性 - * - * @param quartzProjectAttendanceUserList 考勤人员基本属性列表 - * @return 结果 - */ - @Override - public int batchSurProjectAttendanceUser(List quartzProjectAttendanceUserList) { - return quartzProjectAttendanceUserMapper.batchSurProjectAttendanceUser(quartzProjectAttendanceUserList); - } - - @Override - public void add(QuartzProjectAttendanceUser user) { - QuartzProjectAttendanceUser where=new QuartzProjectAttendanceUser(); - where.setWorkerId(user.getWorkerId()); - where.setCfgid(user.getCfgid()); - List list=selectSurProjectAttendanceUserList(where); - if(list.size()==0){ - insertSurProjectAttendanceUser(user); - }else{ - QuartzProjectAttendanceUser old=list.get(0); - if(user.getVendorsCode().equals("jgw")){ - user.setCompanyId(old.getCompanyId()); - String oldNav=old.getNativePlace(); - String newNav=user.getNativePlace(); - if(oldNav==null || !oldNav.equals(newNav)){ - old.setNativePlace(newNav); - } - } - user.setId(old.getId()); - updateSurProjectAttendanceUser(user); - } - } - - @Override - public List queryAttendanceData(QuartzProjectAttendanceUser where) { - List list= quartzProjectAttendanceUserMapper.queryAttendanceUsers(where); - List workerIds=new ArrayList<>(); - for(QuartzProjectAttendanceUser u: list){ - workerIds.add(u.getWorkerId()); - } - where.setWorkerIds(workerIds); - List datas= quartzProjectAttendanceUserMapper.todayAttendanceData(workerIds); - for (QuartzProjectAttendanceUser u:list) { - u.setInTime(findDate(datas,u,"E")); - u.setOutTime(findDate(datas,u,"L")); - } - return list; - } - - @Override - public long countTodayAttendance(QuartzProjectAttendanceUser where) { - return quartzProjectAttendanceUserMapper.countTodayAttendance(where); - } - - @Override - public List todayAttendance(QuartzProjectAttendanceUser where) { - if(where.getIndex()<1){ - where.setIndex(1); - } - where.setIndex((where.getIndex()-1)* where.getSize()); - List list= quartzProjectAttendanceUserMapper.todayAttendance(where); - List workerIds=new ArrayList<>(); - for(QuartzProjectAttendanceUser u: list){ - workerIds.add(u.getWorkerId()); - } - List datas= quartzProjectAttendanceUserMapper.todayAttendanceData(workerIds); - for (QuartzProjectAttendanceUser u:list) { - u.setInTime(findDate(datas,u,"E")); - u.setOutTime(findDate(datas,u,"L")); - } - return list; - } - - @Override - public long countAttendance(QuartzProjectAttendanceUser user) { - QuartzProjectAttendanceCfg where=new QuartzProjectAttendanceCfg(); - where.setCreateBy(user.getCreateBy()); - where.setDeptId(user.getSubDeptId()); - where.setProjectId(user.getProjectId()); - return quartzProjectAttendanceUserMapper.countAttendance(where); - } - - @Override - public List selectSurProjectAttendanceUserListJgw(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { - return quartzProjectAttendanceUserMapper.selectSurProjectAttendanceUserListJgw(quartzProjectAttendanceUser); - } - - /** - * 在岗工人查询 - * @param where - * @return - */ - @Override - public List queryWorkerOnDuty(QuartzProjectAttendanceUser where) { - return quartzProjectAttendanceUserMapper.queryWorkerOnDuty(where); - } - - /** - * 统计人员数据 - * @param where - * @return - */ - public List> groupUserByParams(QuartzProjectAttendanceUser where){ - return quartzProjectAttendanceUserMapper.groupUserByParams(where); - } - - /** - * 在岗工人查询 - * @param where - * @return - */ - @Override - public List attendanceUserList(QuartzProjectAttendanceUser where){ - return quartzProjectAttendanceUserMapper.attendanceUserList(where); - } - - /** - * 统计人员数据 - * @param projectId - * @return - */ - @Override - public List> findUserAllByDays(Long projectId){ - return quartzProjectAttendanceUserMapper.findUserAllByDays(projectId); - } - - /** - * 按部门汇总在岗人数 - * @param where - * @return - */ - @Override - public List groupByWorkerOnDutyByDept(QuartzProjectAttendanceUser where) { - return quartzProjectAttendanceUserMapper.groupByWorkerOnDutyByDept(where); - } - - @Override - public List querySurProjectAttendanceUserList(QuartzProjectAttendanceUser quartzProjectAttendanceUser) { - return quartzProjectAttendanceUserMapper.querySurProjectAttendanceUserList(quartzProjectAttendanceUser); - } - /** - * 按部门汇总在岗|离岗人数 - * @param where - * @return - */ - @Override - public List groupByWorkerByDept(QuartzProjectAttendanceUser where) { - return quartzProjectAttendanceUserMapper.groupByWorkerByDept(where); - } - /** - * 在岗|离岗工人查询 - * @param where - * @return - */ - @Override - public List queryWorkerByState(QuartzProjectAttendanceUser where) { - return quartzProjectAttendanceUserMapper.queryWorkerByState(where); - } - - private Date findDate(List datas, QuartzProjectAttendanceUser u, String type) { - for (QuartzProjectAttendanceUser user:datas) { - if(user.getWorkerId().equals(u.getWorkerId()) && user.getName().equals(type)){ - if(type.equals("L")){ - return user.getOutTime(); - }else{ - return user.getInTime(); - } - } - } - return null; - } - -} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceHuazhuTask.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceHuazhuTask.java index 3b0a5766..ba0f45f1 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceHuazhuTask.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceHuazhuTask.java @@ -1,351 +1,346 @@ -package com.yanzhu.job.task; - -import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.job.domain.QuartzProjectAttendanceCfg; -import com.yanzhu.job.domain.QuartzProjectAttendanceData; -import com.yanzhu.job.domain.QuartzProjectAttendanceGroup; -import com.yanzhu.job.domain.QuartzProjectAttendanceUser; -import com.yanzhu.job.service.IQuartzProjectAttendanceCfgService; -import com.yanzhu.job.service.IQuartzProjectAttendanceDataService; -import com.yanzhu.job.service.IQuartzProjectAttendanceGroupService; -import com.yanzhu.job.service.IQuartzProjectAttendanceUserService; -import okhttp3.*; -import org.apache.logging.log4j.util.Strings; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component("attendanceHuazhuTask") -public class AttendanceHuazhuTask { - - @Autowired - IQuartzProjectAttendanceUserService attendanceUserService; - - @Autowired - IQuartzProjectAttendanceCfgService attendanceCfgService; - - @Autowired - IQuartzProjectAttendanceDataService attendanceDataService; - - @Autowired - IQuartzProjectAttendanceGroupService attendanceGroupService; - - public static void main(String[] args) { - //String host="http://tapi.huazhukeji.cn:82/hz-labour"; - String host="http://api.1357.cn/hz-labour"; - //String path="/api/open/labour/findWorkerTypeByPage"; - String path="/api/open/labour/findCardRecordByPage"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)) - .newBuilder(); - - - long startTime=DateUtil.date(DateUtil.parse("2024-03-16")).getTime(); - long endTime=startTime+3600l*1000*24*1; - Map headerParams=new HashMap<>(); - headerParams.put("appId","8024283707153666851"); - headerParams.put("appSecret","2070308b49399d94b401d98adeaa5b342aa81627"); - headerParams.put("Content-Type","application/json"); - - Map params = new HashMap<>(); - params.put("orgId","1666339529033805825"); - params.put("tenantId","1666337067184893953"); - params.put("workerId","7119618933040091136"); - params.put("size","200"); - params.put("current","1"); - params.put("startTime",startTime); - params.put("endTime",endTime); - - Request request = new Request.Builder() - .url(urlBuilder.build()) - .post(toFormBody(params)).headers(setHeaderParams(headerParams)) - .build(); - String data=AttendanceTask.getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONObject joData= jo.getJSONObject("data"); - JSONArray arr=joData.getJSONArray("records"); - long pages=joData.getLong("pages"); - if(arr!=null && arr.size()>0){ - for(int i=0;i map=new HashMap<>(); - - map.put("appId","8024283707153666851"); - map.put("secret","2070308b49399d94b401d98adeaa5b342aa81627"); - map.put("projectId","1666339529033805825"); - map.put("tenantId","1666337067184893953"); - JSONObject jo=JSON.parseObject(JSON.toJSONString(map)); - int page=1; - QuartzProjectAttendanceCfg it=new QuartzProjectAttendanceCfg(); - it.setId(0l);; - //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); - //long p=jo.getLongValue("page",1); - //jo.put("page",1); - //System.out.println(p); - //System.out.println(jo.toString()); - new AttendanceHuazhuTask().doSyncGroup(jo,1,it); - //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); - } - private static RequestBody toFormBody(Map params ){ - String json=JSON.toJSONString(params); - return RequestBody.create( - MediaType.parse("application/json"),json ); - } - private static Headers setHeaderParams(Map headerParams) { - Headers headers = null; - Headers.Builder headersbuilder = new Headers.Builder(); - if (headerParams != null && headerParams.size() > 0) { - for (String key : headerParams.keySet()) { - if (!Strings.isEmpty(key) && !Strings.isEmpty(headerParams.get(key))) { - //如果参数不是null并且不是"",就拼接起来 - headersbuilder.add(key, headerParams.get(key)); - } - } - } - - headers = headersbuilder.build(); - return headers; - } - - /** - * 同步90天之内的数据 - */ - public void syncLast90DayAttendanceData() { - long endTime=DateUtil.current(); - long startTime=endTime-3600l*1000*24*90; - syncAttendanceData(startTime); - } - - /** - * 同步7天之内的数据 - */ - public void syncLastWeekAttendanceData() { - long endTime=DateUtil.current(); - long startTime=endTime-3600l*1000*24*7; - syncAttendanceData(startTime); - } - - /** - * 同步当天数据 - */ - public void syncAttendanceData(){ - long startTime=DateUtil.date(DateUtil.parse(DateUtil.format(new Date(),"yyyy-MM-dd"))).getTime(); - syncAttendanceData(startTime); - } - - public void syncGroup(){ - QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); - where.setEnabled(1l); - where.setIsDel(0l); - where.setVendorsCode("huazhu"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - doSyncGroup(jo,1,it); - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - private void doSyncGroup(JSONObject jdata, long page, QuartzProjectAttendanceCfg it) { - String path="/api/open/labour/findUnitProjectByPage"; - Request request=getRequest(path,jdata,page); - String data=AttendanceTask.getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONObject joData= jo.getJSONObject("data"); - JSONArray arr=joData.getJSONArray("records"); - long pages=joData.getLong("pages"); - if(arr!=null && arr.size()>0){ - for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - Map map=new HashMap<>(); - long endTime=DateUtil.current(); - - //map.put("endTime",endTime); - map.put("startTime",startTime); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - doSyncAttendanceData(jo,1,it,map); - - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - /** - * 同步所有数据 - */ - public void syncAllAttendanceData(){ - QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); - where.setEnabled(1l); - where.setIsDel(0l); - where.setVendorsCode("huazhu"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - QuartzProjectAttendanceData attWhere=new QuartzProjectAttendanceData(); - attWhere.setId(it.getId()); - Long page=attendanceDataService.getHuazhuPage(attWhere); - if(null==page){ - doSyncAttendanceData(jo,1,it,null); - }else{ - doSyncAttendanceData(jo,page,it,null); - } - - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - private void doSyncAttendanceData(JSONObject jdata, long page, QuartzProjectAttendanceCfg it, Map ps){ - String path="/api/open/labour/findCardRecordByPage"; - Request request=getRequest(path,jdata,page,ps); - String data=AttendanceTask.getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONObject joData= jo.getJSONObject("data"); - JSONArray arr=joData.getJSONArray("records"); - long pages=joData.getLong("pages"); - if(arr!=null && arr.size()>0){ - for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - - doSyncWorker(jo,1,it); - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - public static Request getRequest(String path,JSONObject jo,long page) { - return getRequest(path,jo,page,null); - } - - public static Request getRequest(String path,JSONObject jo,long page,Map ps){ - String appId=jo.getString("appId"); - String secret=jo.getString("secret"); - String projectId=jo.getString("projectId"); - String tenantId=jo.getString("tenantId"); - String host="http://api.1357.cn/hz-labour"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)) - .newBuilder(); - - Map headerParams=new HashMap<>(); - headerParams.put("appId",appId); - headerParams.put("appSecret",secret); - headerParams.put("Content-Type","application/json"); - - Map params = new HashMap<>(); - params.put("orgId",projectId); - params.put("tenantId",tenantId); - params.put("size",500); - params.put("current",page); - if(ps!=null){ - for(String k :ps.keySet()){ - params.put(k,ps.get(k)); - } - } - - Request request = new Request.Builder() - .url(urlBuilder.build()) - .post(toFormBody(params)).headers(setHeaderParams(headerParams)) - .build(); - return request; - } - - private void doSyncWorker(JSONObject jdata, long page, QuartzProjectAttendanceCfg it){ - String path="/api/open/labour/findLabourWorkerByPage"; - Request request=getRequest(path,jdata,page); - String data=AttendanceTask.getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONObject joData= jo.getJSONObject("data"); - JSONArray arr=joData.getJSONArray("records"); - long pages=joData.getLong("pages"); - if(arr!=null && arr.size()>0){ - for(int i=0;i headerParams=new HashMap<>(); +// headerParams.put("appId","8024283707153666851"); +// headerParams.put("appSecret","2070308b49399d94b401d98adeaa5b342aa81627"); +// headerParams.put("Content-Type","application/json"); +// +// Map params = new HashMap<>(); +// params.put("orgId","1666339529033805825"); +// params.put("tenantId","1666337067184893953"); +// params.put("workerId","7119618933040091136"); +// params.put("size","200"); +// params.put("current","1"); +// params.put("startTime",startTime); +// params.put("endTime",endTime); +// +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .post(toFormBody(params)).headers(setHeaderParams(headerParams)) +// .build(); +// String data=AttendanceTask.getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONObject joData= jo.getJSONObject("data"); +// JSONArray arr=joData.getJSONArray("records"); +// long pages=joData.getLong("pages"); +// if(arr!=null && arr.size()>0){ +// for(int i=0;i map=new HashMap<>(); +// +// map.put("appId","8024283707153666851"); +// map.put("secret","2070308b49399d94b401d98adeaa5b342aa81627"); +// map.put("projectId","1666339529033805825"); +// map.put("tenantId","1666337067184893953"); +// JSONObject jo=JSON.parseObject(JSON.toJSONString(map)); +// int page=1; +// QuartzProAttendanceCfg it=new QuartzProAttendanceCfg(); +// it.setId(0l);; +// //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); +// //long p=jo.getLongValue("page",1); +// //jo.put("page",1); +// //System.out.println(p); +// //System.out.println(jo.toString()); +// new AttendanceHuazhuTask().doSyncGroup(jo,1,it); +// //new AttendanceHuazhuTask().doSyncWorker(jo,1,it); +// } +// private static RequestBody toFormBody(Map params ){ +// String json=JSON.toJSONString(params); +// return RequestBody.create( +// MediaType.parse("application/json"),json ); +// } +// private static Headers setHeaderParams(Map headerParams) { +// Headers headers = null; +// Headers.Builder headersbuilder = new Headers.Builder(); +// if (headerParams != null && headerParams.size() > 0) { +// for (String key : headerParams.keySet()) { +// if (!Strings.isEmpty(key) && !Strings.isEmpty(headerParams.get(key))) { +// //如果参数不是null并且不是"",就拼接起来 +// headersbuilder.add(key, headerParams.get(key)); +// } +// } +// } +// +// headers = headersbuilder.build(); +// return headers; +// } +// +// /** +// * 同步90天之内的数据 +// */ +// public void syncLast90DayAttendanceData() { +// long endTime=DateUtil.current(); +// long startTime=endTime-3600l*1000*24*90; +// syncAttendanceData(startTime); +// } +// +// /** +// * 同步7天之内的数据 +// */ +// public void syncLastWeekAttendanceData() { +// long endTime=DateUtil.current(); +// long startTime=endTime-3600l*1000*24*7; +// syncAttendanceData(startTime); +// } +// +// /** +// * 同步当天数据 +// */ +// public void syncAttendanceData(){ +// long startTime=DateUtil.date(DateUtil.parse(DateUtil.format(new Date(),"yyyy-MM-dd"))).getTime(); +// syncAttendanceData(startTime); +// } +// +// public void syncGroup(){ +// QuartzProAttendanceCfg where =new QuartzProAttendanceCfg(); +// where.setEnabled(1l); +// where.setIsDel(0l); +// where.setVendorsCode("huazhu"); +// List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// doSyncGroup(jo,1,it); +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// private void doSyncGroup(JSONObject jdata, long page, QuartzProAttendanceCfg it) { +// String path="/api/open/labour/findUnitProjectByPage"; +// Request request=getRequest(path,jdata,page); +// String data=AttendanceTask.getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONObject joData= jo.getJSONObject("data"); +// JSONArray arr=joData.getJSONArray("records"); +// long pages=joData.getLong("pages"); +// if(arr!=null && arr.size()>0){ +// for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// Map map=new HashMap<>(); +// long endTime=DateUtil.current(); +// +// //map.put("endTime",endTime); +// map.put("startTime",startTime); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// doSyncAttendanceData(jo,1,it,map); +// +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// /** +// * 同步所有数据 +// */ +// public void syncAllAttendanceData(){ +// QuartzProAttendanceCfg where =new QuartzProAttendanceCfg(); +// where.setEnabled(1l); +// where.setIsDel(0l); +// where.setVendorsCode("huazhu"); +// List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// QuartzProjectAttendanceData attWhere=new QuartzProjectAttendanceData(); +// attWhere.setId(it.getId()); +// Long page=attendanceDataService.getHuazhuPage(attWhere); +// if(null==page){ +// doSyncAttendanceData(jo,1,it,null); +// }else{ +// doSyncAttendanceData(jo,page,it,null); +// } +// +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// private void doSyncAttendanceData(JSONObject jdata, long page, QuartzProAttendanceCfg it, Map ps){ +// String path="/api/open/labour/findCardRecordByPage"; +// Request request=getRequest(path,jdata,page,ps); +// String data=AttendanceTask.getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONObject joData= jo.getJSONObject("data"); +// JSONArray arr=joData.getJSONArray("records"); +// long pages=joData.getLong("pages"); +// if(arr!=null && arr.size()>0){ +// for(int i=0;i list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// +// doSyncWorker(jo,1,it); +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// public static Request getRequest(String path,JSONObject jo,long page) { +// return getRequest(path,jo,page,null); +// } +// +// public static Request getRequest(String path,JSONObject jo,long page,Map ps){ +// String appId=jo.getString("appId"); +// String secret=jo.getString("secret"); +// String projectId=jo.getString("projectId"); +// String tenantId=jo.getString("tenantId"); +// String host="http://api.1357.cn/hz-labour"; +// HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)) +// .newBuilder(); +// +// Map headerParams=new HashMap<>(); +// headerParams.put("appId",appId); +// headerParams.put("appSecret",secret); +// headerParams.put("Content-Type","application/json"); +// +// Map params = new HashMap<>(); +// params.put("orgId",projectId); +// params.put("tenantId",tenantId); +// params.put("size",500); +// params.put("current",page); +// if(ps!=null){ +// for(String k :ps.keySet()){ +// params.put(k,ps.get(k)); +// } +// } +// +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .post(toFormBody(params)).headers(setHeaderParams(headerParams)) +// .build(); +// return request; +// } +// +// private void doSyncWorker(JSONObject jdata, long page, QuartzProAttendanceCfg it){ +// String path="/api/open/labour/findLabourWorkerByPage"; +// Request request=getRequest(path,jdata,page); +// String data=AttendanceTask.getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONObject joData= jo.getJSONObject("data"); +// JSONArray arr=joData.getJSONArray("records"); +// long pages=joData.getLong("pages"); +// if(arr!=null && arr.size()>0){ +// for(int i=0;i params = new HashMap<>(); -// params.put("appId", appid); -// params.put("secret", secret); -// params.put("grantType", grantType); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject jo = JSON.parseObject(data); -// JSONObject joData = jo.getJSONObject("data"); -// if (joData != null) { -// return joData.getString("token"); -// -// } -// return null; -// } -// -// /** -// * 同步群组信息 -// */ -// public void syncGroupData() { -// QuartzProjectAttendanceCfg where = new QuartzProjectAttendanceCfg(); -// where.setEnabled(ShiFouEnums.SHI.getCode()); -// where.setIsDel(ShiFouEnums.FOU.getCode()); -// where.setVendorsCode(code); -// List list = attendanceCfgService.selectSurProjectAttendanceCfgList(where); -// for (QuartzProjectAttendanceCfg item : list) { -// String param = item.getVendorsParameter(); -// if (Strings.isNotEmpty(param)) { -// try { -// JSONObject jo = JSON.parseObject(param); -// String appId = jo.getString("appId"); -// String secret = jo.getString("secret"); -// secret = Base64.encode(secret); -// jo.put("secret", secret); -// String token = getToken(appId, secret); -// jo.put("token", token); -// doSyncProContractor(jo, 0l, item); -// doSyncDirectlyUnderGroup(jo, 0l, item); -// } catch (Exception ex) { -// ex.printStackTrace(); -// } -// } -// } -// } -// -// /** -// * 查询参建单位 -// * -// * @param jo 请求参数 -// * @param startId 开始编号 -// * @param it 配置信息 -// */ -// private void doSyncProContractor(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String projectId = jo.getString("appProjectId"); -// String path = "/webapi/project/findProContractorByProjectId"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("rowId", startId); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&rowId=" + startId; -// Request request = new Request.Builder() -// .url(url) -// .get() -// .build(); -// String data = getResult(request); -// JSONObject reData = JSON.parseObject(data); -// JSONObject joData = reData.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("proContractorList"); -// if (arr.size() > 0) { -// long rowId = 0; -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String subDeptType = convertSubDeptType(json.getString("corpType")); -// // 总包单位不同步 -// if(!"1".equals(subDeptType)){ -// rowId = json.getLong("id"); -// QuartzProSubdepts quartzProSubdeptsQuery = new QuartzProSubdepts(); -// quartzProSubdeptsQuery.setComId(it.getComId()); -// quartzProSubdeptsQuery.setProjectId(it.getProjectId()); -// quartzProSubdeptsQuery.setSubDeptCode(json.getString("corpCode")); -// List list = quartzProSubdeptsService.selectQuartzProSubdeptsList(quartzProSubdeptsQuery); -// if(StringUtils.isNotEmpty(list)){ -// QuartzProSubdepts quartzProSubdepts = list.get(0); -// quartzProSubdepts.setSubDeptType(subDeptType); -// quartzProSubdepts.setSubDeptName(json.getString("corpName")); -// quartzProSubdepts.setSubDeptCode(json.getString("corpCode")); -// quartzProSubdepts.setSubDeptLeaderName(json.getString("pmName")); -// quartzProSubdepts.setSubDeptLeaderPhone(json.getString("pmPhone")); -// Map subDeptInfos = new HashMap<>(); -// subDeptInfos.put("busScope",""); -// subDeptInfos.put("signDate",json.getString("registeredTime")); -// subDeptInfos.put("address",json.getString("address")); -// subDeptInfos.put("addressCode",json.getString("addressCode")); -// subDeptInfos.put("postalCode",json.getString("postalCode")); -// subDeptInfos.put("registeredCapital",json.getString("registeredCapital")); -// subDeptInfos.put("paidInCapital",json.getString("paidInCapital")); -// subDeptInfos.put("businessAddress",json.getString("businessAddress")); -// subDeptInfos.put("officePhone",json.getString("officePhone")); -// quartzProSubdepts.setSubDeptInfos(JSON.toJSONString(subDeptInfos)); -// quartzProSubdepts.setSource(code.toUpperCase()); -// quartzProSubdeptsService.updateQuartzProSubdepts(quartzProSubdepts); -// }else{ -// QuartzProSubdepts quartzProSubdepts = new QuartzProSubdepts(); -// quartzProSubdepts.setComId(it.getComId()); -// quartzProSubdepts.setProjectId(it.getProjectId()); -// quartzProSubdepts.setSubDeptType(subDeptType); -// quartzProSubdepts.setSubDeptName(json.getString("corpName")); -// quartzProSubdepts.setSubDeptCode(json.getString("corpCode")); -// quartzProSubdepts.setSubDeptLeaderName(json.getString("pmName")); -// quartzProSubdepts.setSubDeptLeaderPhone(json.getString("pmPhone")); -// Map subDeptInfos = new HashMap<>(); -// subDeptInfos.put("busScope",""); -// subDeptInfos.put("signDate",json.getString("registeredTime")); -// subDeptInfos.put("address",json.getString("address")); -// subDeptInfos.put("addressCode",json.getString("addressCode")); -// subDeptInfos.put("postalCode",json.getString("postalCode")); -// subDeptInfos.put("registeredCapital",json.getString("registeredCapital")); -// subDeptInfos.put("paidInCapital",json.getString("paidInCapital")); -// subDeptInfos.put("businessAddress",json.getString("businessAddress")); -// subDeptInfos.put("officePhone",json.getString("officePhone")); -// quartzProSubdepts.setSubDeptInfos(JSON.toJSONString(subDeptInfos)); -// quartzProSubdepts.setUseStatus(UseStateEnums.IN.getCode()); -// quartzProSubdepts.setApproveStatus(ApproveStatus.passed.getCode()); -// quartzProSubdepts.setSource(code.toUpperCase()); -// quartzProSubdeptsService.insertQuartzProSubdepts(quartzProSubdepts); -// } -// } -// } -// if (arr.size()>=10 && rowId > 0) { -// doSyncProContractor(jo, rowId + 1, it); -// } -// } -// } -// -// /** -// * 转换单位类型 -// * @param corpType -// * @return -// */ -// private String convertSubDeptType(String corpType){ -// String subDeptType; -// switch (corpType){ -// case "001" : subDeptType = "5"; break; -// case "002" : subDeptType = "11"; break; -// case "003" : subDeptType = "6"; break; -// case "004" : subDeptType = "7"; break; -// case "005" : subDeptType = "8"; break; -// case "006" : subDeptType = "4"; break; -// case "007" : subDeptType = "2"; break; -// case "008" : subDeptType = "3"; break; -// case "009" : subDeptType = "1"; break; -// case "010" : subDeptType = "9"; break; -// case "011" : subDeptType = "10"; break; -// default : subDeptType = "99"; break; -// } -// return subDeptType; -// } -// -// /** -// * 查询班组直隶 -// * -// * @param jo 请求参数 -// * @param startId 开始编号 -// * @param it 配置信息 -// */ -// private void doSyncDirectlyUnderGroup(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String projectId = jo.getString("appProjectId"); -// String phone = jo.getString("phone"); -// String subcontractorId = getSubcontractor(appId, token, phone); -// String path = "/webapi/project/findDirectlyUnderTeam"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("subcontractorId", subcontractorId); -// params.put("rowId", startId); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("teamList"); -// if (arr.size() > 0) { -// long rowId = 0; -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String subDeptType = convertSubDeptType(json.getString("corpType")); -// QuartzProSubdeptsGroup quartzProSubdeptsGroupQuery = new QuartzProSubdeptsGroup(); -// quartzProSubdeptsGroupQuery.setComId(it.getComId()); -// quartzProSubdeptsGroupQuery.setProjectId(it.getProjectId()); -// quartzProSubdeptsGroupQuery.setGroupName(json.getString("teamName")); -// List list = quartzProSubdeptsGroupService.selectQuartzProSubdeptsGroupList(quartzProSubdeptsGroupQuery); -// if(StringUtils.isNotEmpty(list)){ -// QuartzProSubdeptsGroup quartzProSubdeptsGroup = list.get(0); -// quartzProSubdeptsGroup -// }else{ -// -// } -// QuartzProjectAttendanceGroup group = QuartzProjectAttendanceGroup.createJgw(json, true); -// group.setCfgid(it.getId()); -// group.setAppId(appId); -// rowId = json.getLong("id"); -// QuartzProjectAttendanceGroup where = new QuartzProjectAttendanceGroup(); -// where.setCompanyId(group.getCompanyId()); -// where.setCfgid(group.getCfgid()); -// //List list = attendanceGroupService.selectSurProjectAttendanceGroupList(where); -// if (list.size() == 0) { -// attendanceGroupService.add(group); -// } else { -// group.setId(list.get(0).getId()); -// //group.setCompanyTypeId(list.get(0).getCompanyTypeId()); -// attendanceGroupService.updateSurProjectAttendanceGroup(group); -// } -// } -// if (rowId > 0) { -// doSyncDirectlyUnderGroup(jo, rowId + 1, it); -// } -// } -// } -// -// /** -// * 转换工种类型 -// * @param jobTypes -// * @return -// */ -// private Map convertSubJobTypes(String jobTypes){ -// Map dataMap = new HashMap<>(); -// switch (jobTypes){ -// case "3001" : dataMap.put("type","2");dataMap.put("post","1015"); break; -// case "3002" : dataMap.put("type","2");dataMap.put("post","1014"); break; -// case "3003" : -// case "3004" : dataMap.put("type","2");dataMap.put("post","2021"); break; -// case "3005" : dataMap.put("type","2");dataMap.put("post","2022"); break; -// case "3006" : dataMap.put("type","2");dataMap.put("post","1013"); break; -// case "3007" : dataMap.put("type","1");dataMap.put("post","1006"); break; -// case "3008" : dataMap.put("type","1");dataMap.put("post","1004"); break; -// case "3009" : dataMap.put("type","1");dataMap.put("post","1001"); break; -// case "3010" : dataMap.put("type","1");dataMap.put("post","1003"); break; -// case "3011" : dataMap.put("type","1");dataMap.put("post","1017"); break; -// case "3012" : dataMap.put("type","1");dataMap.put("post","1007"); break; -// case "3013" : dataMap.put("type","1");dataMap.put("post","1008"); break; -// case "3014" : dataMap.put("type","1");dataMap.put("post","1009"); break; -// case "3015" : dataMap.put("type","1");dataMap.put("post","1012"); break; -// case "3016" : dataMap.put("type","3");dataMap.put("post","3024"); break; -// case "3017" : dataMap.put("type","1");dataMap.put("post","1010"); break; -// case "3018" : dataMap.put("type","3");dataMap.put("post","3025"); break; -// case "3071" : -// case "3019" : dataMap.put("type","2");dataMap.put("post","2017"); break; -// case "3020" : dataMap.put("type","2");dataMap.put("post","2018"); break; -// case "3021" : dataMap.put("type","2");dataMap.put("post","2016"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3032" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// case "3031" : dataMap.put("type","2");dataMap.put("post","2019"); break; -// default : subDeptType = "99"; break; -// } -// return subDeptType; -// } -// -// private String getWorkTypeName(String appid, String token, String type, String key) { -// String ckey = "attendance_jgw_work_type_" + type; -// Object obj = redisService.getCacheObject(ckey); -// HashMap map = null; -// if (obj == null) { -// map = getJobTypeData(appid, token, type); -// if (map != null) { -// redisService.setCacheObject(ckey, map, 1L, TimeUnit.DAYS); -// } else { -// return "未知"; -// } -// } else { -// map = (HashMap) obj; -// } -// if (map.containsKey(key)) { -// return map.get(key); -// } -// return "未知"; -// } -// -// /** -// * 参数组装 -// * -// * @param params -// * @return -// */ -// private static RequestBody toFormBody(Map params) { -// FormBody.Builder builder = new FormBody.Builder(); -// for (String key : params.keySet()) { -// builder.add(key, params.get(key).toString()); -// } -// return builder.build(); -// } -// -// public void clearAlllPhoto() { -// String filePath = resourcesConfig.getUploadPath(); -// String path = filePath + "/jgw"; -// long endTime = DateUtil.current(); -// for (int i = 365; i >= 0; i--) { -// Date dt = DateUtil.date(endTime - 3600l * 1000 * 24 * i); -// String clearPath = path + "/" + DateUtil.format(dt, "YYYY/MM/dd"); -// String url = "/jgw/" + DateUtil.format(dt, "YYYY/MM/dd"); -// clearDatePhone(clearPath, url); -// } -// } -// -// public void clear3DayPhoto() { -// String filePath = resourcesConfig.getUploadPath(); -// String path = filePath + "/jgw"; -// long endTime = DateUtil.current(); -// for (int i = 3; i >= 0; i--) { -// Date dt = DateUtil.date(endTime - 3600l * 1000 * 24 * i); -// String clearPath = path + "/" + DateUtil.format(dt, "YYYY/MM/dd"); -// String url = "/jgw/" + DateUtil.format(dt, "YYYY/MM/dd"); -// clearDatePhone(clearPath, url); -// } -// } -// -// public void clearToDayPhoto() { -// String filePath = resourcesConfig.getUploadPath(); -// String path = filePath + "/jgw"; -// long endTime = DateUtil.current(); -// Date dt = new Date(); -// String clearPath = path + "/" + DateUtil.format(dt, "YYYY/MM/dd"); -// String url = "/jgw/" + DateUtil.format(dt, "YYYY/MM/dd"); -// clearDatePhone(clearPath, url); -// -// } -// -// private void clearDatePhone(String path, String url) { -// File file = new File(path); -// if (file.isDirectory()) { -// QuartzProjectAttendanceData where = new QuartzProjectAttendanceData(); -// where.setScanPhoto(url); -// List list = attendanceDataService.selectSurProjectAttendanceDataList(where); -// List names = new ArrayList<>(); -// for (QuartzProjectAttendanceData it : list) { -// names.add(it.getScanPhoto()); -// } -// for (String f : file.list()) { -// try { -// String name = FileUtils.getName(f); -// if (!findInNames(names, name)) { -// FileUtil.del(path + "/" + f); -// } -// } catch (Exception ex) { -// } -// -// } -// } -// } -// -// private boolean findInNames(List names, String name) { -// for (String it : names) { -// if (it.indexOf(name) >= 0) { -// return true; -// } -// } -// return false; -// } -// -// public static void main(String[] args) { -// Date d1 = DateUtil.date(-86169600000L); -// String d = "sxyzxx2024suc"; -// //System.out.println(Base64.encode(d)); -// //System.out.println(DateTime.now().year()); -// -// String appid = "6a6f24fe35b04ee0bcf31cfb46ed1051"; -// String secret = "c3h5enh4MjAyNHN1Yw=="; -// //String prjId="db955e11ef774e63968a47c3dc2acc15";//"b67f1baa6dca4558a16bf90a4681b82e";// -// //String prjId="cace2f676371427e8f6da20d2924f64e";//泾河新城荟锦坊二期 -// String prjId = "209aa0c01d8248b6a56a0921d1b88c83";//泾河新城锦樾坊项目 -// String phone = "15619028761"; -// String token = getToken(appid, secret); -// if (token == null || token.length() == 0) { -// return; -// } -// //System.out.println(token); -// //System.out.println(DateUtil.format(DateTime.now(),"yyyy-MM-dd")); -// String subcontractorId = new AttendanceJgwTask().getSubcontractor(appid, token, phone); -// String leaderTeamId = "b3774a8cd04c418dabf36bffbf276661"; -// //System.out.println(subcontractorId); -// -// -// //findWorkerByLeader(appid,token,leaderTeamId); -// findDirectlyUnderTeam(appid, token, prjId, subcontractorId, 0); -// //queryProject(appid,token,phone,0);; -// //findAddWorkerByProject(appid,token,prjId,0); -// //findUpdateWorkerByProject(appid,token,prjId,0); -// //findAttendanceByProject(appid,token,prjId,"0"); -// //findTeamByProjectId(appid,token,prjId); -// //findProContractorByProjectId(appid,token,prjId); -// //getJobTypeData(appid,token,"0"); -// //findDirectlyUnderTeam(appid,token,prjId); -// } -// -// public static void findDirectlyUnderTeam(String appId, String token, String projectId, String subcontractorId, int rowId) { -// String path = "/webapi/project/findDirectlyUnderTeam"; -// 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("projectId", projectId); -// params.put("subcontractorId", subcontractorId); -// params.put("rowId", rowId); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// //System.out.println(data); -// JSONObject j = JSON.parseObject(data); -// JSONObject jd = j.getJSONObject("data"); -// JSONArray arr = jd.getJSONArray("teamList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject jo = arr.getJSONObject(i); -// //System.out.println("-->"+jo.getString("teamName")); -// } -// -// } -// } -// -// public static void queryProject(String appId, String token, String phone, int rowId) { -// -// String path = "/webapi/project/queryProject"; -// 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("account", phone); -// params.put("rowId", rowId); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// //System.out.println(data); -// JSONObject j = JSON.parseObject(data); -// JSONObject jd = j.getJSONObject("data"); -// JSONArray arr = jd.getJSONArray("projectList"); -// if (arr.size() > 0) { -// JSONObject jo = arr.getJSONObject(0); -// -// } -// } -// -// public String getSubcontractor(String appId, String token, String phone) { -// String ckey = "attendance_jgw_Subcontractor_" + phone; -// if (redisService != null) { -// Object obj = redisService.getCacheObject(ckey); -// if (obj != null) { -// String str = (String) obj; -// if (StrUtil.isNotEmpty(str)) { -// return str; -// } -// } -// } -// -// String path = "/webapi/project/querySubcontractorByPhone"; -// 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("phone", phone); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// //System.out.println(data); -// JSONObject j = JSON.parseObject(data); -// JSONObject jd = j.getJSONObject("data"); -// JSONArray arr = jd.getJSONArray("subcontractorList"); -// if (arr.size() > 0) { -// JSONObject jo = arr.getJSONObject(0); -// String tmp = jo.getString("subcontractorId"); -// if (StrUtil.isNotEmpty(tmp) && redisService != null) { -// redisService.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); -// return tmp; -// } else { -// return tmp; -// } -// } -// return ""; -// } -// -// 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 = 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 < 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 void findAttendanceByProject(String appId, String token, String projectId, String startId) { -// String path = "/webapi/project/findAttendanceByProject"; -// String time = System.currentTimeMillis() + ""; -// //String startId="0"; -// 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("projectId", projectId); -// params.put("startId", startId); -// params.put("startTime", DateUtil.format(DateTime.now(), "yyyy-MM-dd")); -// params.put("endTime", DateUtil.format(DateUtil.offsetDay(DateTime.now(), 0), "yyyy-MM-dd")); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// //System.out.println(data); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// String endId = joData.getString("endId"); -// JSONArray arr = joData.getJSONArray("workerAttList"); -// if (arr != null && arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String photo = json.getString("signimg"); -// //System.out.println(json.getString("machineType")); -// String photoUrl = getPhoto(appId, token, photo); -// QuartzProjectAttendanceData sdata = QuartzProjectAttendanceData.createFromJgw(json); -// if (sdata.getWorkerId().equals("63e0e09858624979b97291977afe352b")) { -// //System.out.println("--->"+sdata.getRemark()); -// } -// //sdata.setScanPhoto(photoUrl); -// } -// findAttendanceByProject(appId, token, projectId, endId); -// } -// -// } -// -// private String getPhoto(String appId, String token, String photo) { -// String path = "/webapi/dictInfo/getPhoyoAllPaths"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// String tokenSign = Md5Utils.hash(url); -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("filePath", photo); -// -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// String purl = joData.getString("result"); -// byte[] buffer = HttpUtil.downloadBytes(purl); -// String filePath = resourcesConfig.getUploadPath(); -// try { -// String name = FileUtil.getName(photo); -// return "/jgw/" + FileUtils.writeBytes(buffer, filePath + "/jgw", name); -// } catch (Exception ex) { -// return ""; -// } -// } -// -// -// public static void findWorkerByLeader(String appId, String token, String leaderTeamId) { -// String path = "/webapi/project/findWorkerByLeader"; -// String time = System.currentTimeMillis() + ""; -// String startId = "0"; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("leaderTeamId", leaderTeamId); -// url = host + path; -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject jd = j.getJSONObject("data"); -// JSONArray arr = jd.getJSONArray("recordList"); -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// if (json.getString("workerid").equals("56141214ea304fcc95a8098d3bafed0d")) { -// //System.out.println("---1--"); -// } -// } -// } -// -// public static void findProContractorByProjectId(String appId, String token, String projectId) { -// String path = "/webapi/project/findProContractorByProjectId"; -// String time = System.currentTimeMillis() + ""; -// String startId = "0"; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("rowId", startId); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&rowId=" + startId; -// Request request = new Request.Builder() -// .url(url) -// .get() -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("proContractorList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// //System.out.println("-->"+json.getString("teamName")); -// } -// } -// } -// -// public static void findTeamByProjectId(String appId, String token, String projectId) { -// String path = "webapi/project/findTeamByProjectId"; -// String time = System.currentTimeMillis() + ""; -// String startId = "0"; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("rowId", startId); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&rowId=" + startId; -// Request request = new Request.Builder() -// .url(url) -// .get() -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("teamList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// QuartzProjectAttendanceGroup group = QuartzProjectAttendanceGroup.createJgw(json, false); -// group.setBizLicense(json.getString("corpCode")); -// String type = json.getString("corpType"); -// if ("009".equals(type)) { //总包人员 -// group.setCompanyTypeId("1"); -// } else if ("007".equals(type)) {//监理人员 -// group.setCompanyTypeId("8"); -// } else if ("006".equals(type)) {//劳务人员 -// group.setCompanyTypeId("2"); -// } -// if (StrUtil.isNotEmpty(group.getCompanyTypeId())) { -// -// } -// -// } -// } -// } -// -// public static void querySubcontractorByPhone(String appId, String token, String projectId) { -// String path = "webapi/project/querySubcontractorByPhone"; -// String time = System.currentTimeMillis() + ""; -// String startId = "100"; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// String phone = "18171295380"; -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("phone", phone); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&phone=" + phone + "×tamp=" + time; -// Request request = new Request.Builder() -// .url(url) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("teamList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// QuartzProjectAttendanceGroup group = QuartzProjectAttendanceGroup.createJgw(json, true); -// group.setBizLicense(json.getString("corpCode")); -// String type = json.getString("corpType"); -// if ("009".equals(type)) { //总包人员 -// group.setCompanyTypeId("1"); -// } else if ("007".equals(type)) {//监理人员 -// group.setCompanyTypeId("8"); -// } else if ("006".equals(type)) {//劳务人员 -// group.setCompanyTypeId("2"); -// } -// if (StrUtil.isNotEmpty(group.getCompanyTypeId())) { -// -// } -// -// } -// } -// } -// -// public static void findDirectlyUnderTeam(String appId, String token, String projectId) { -// String path = "webapi/project/findDirectlyUnderTeam"; -// String time = System.currentTimeMillis() + ""; -// String startId = "0"; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("subcontractorld", "ddcffe48c6a7413a91bbf6eafbf037a9"); -// params.put("rowId", 0); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&subcontractorld=" + params.get("subcontractorld").toString() + "&rowId=" + startId; -// Request request = new Request.Builder() -// .url(url) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("teamList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// QuartzProjectAttendanceGroup group = QuartzProjectAttendanceGroup.createJgw(json, true); -// group.setBizLicense(json.getString("corpCode")); -// String type = json.getString("corpType"); -// if ("009".equals(type)) { //总包人员 -// group.setCompanyTypeId("1"); -// } else if ("007".equals(type)) {//监理人员 -// group.setCompanyTypeId("8"); -// } else if ("006".equals(type)) {//劳务人员 -// group.setCompanyTypeId("2"); -// } -// if (StrUtil.isNotEmpty(group.getCompanyTypeId())) { -// -// } -// -// } -// } -// } -// -// public static void findAddWorkerByProject(String appId, String token, String projectId, int startId) { -// String path = "/webapi/project/findAddWorkerByProject"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("startId", startId); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject jo = JSON.parseObject(data); -// JSONObject joData = jo.getJSONObject("data"); -// int endId = joData.getInteger("endId"); -// JSONArray arr = joData.getJSONArray("workerList"); -// if (arr.size() > 0) { -// int cnt = 0; -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String idNumber = json.getString("idNumber"); -// if (StrUtil.isEmpty(idNumber)) { -// String a = "xx"; -// } else { -// -// } -// String workerStatus = json.getString("workerStatus"); -// if ("02".equals(workerStatus)) { -// cnt++; -// } -// QuartzProjectAttendanceUser user = QuartzProjectAttendanceUser.createFromJgw(json); -// if (user.getName().equals("唐红吉")) { -// String k = user.getName(); -// JSONArray arr2 = json.getJSONArray("corpName"); -// Object o = arr2.get(0); -// } -// } -// //System.out.println("cnt:"+cnt+","+arr.size()); -// findAddWorkerByProject(appId, token, projectId, endId); -// } -// } -// -// public static void findUpdateWorkerByProject(String appId, String token, String projectId, int startId) { -// String path = "/webapi/project/findUpdateWorkerByProject"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("updateTime", "2024-01-01 00:00:00"); -// //params.put("startId",startId); -// params.put("startId", "32150708"); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject jo = JSON.parseObject(data); -// JSONObject joData = jo.getJSONObject("data"); -// //int endId= joData.getInteger("endId"); -// JSONArray arr = joData.getJSONArray("workerList"); -// if (arr.size() > 0) { -// int cnt = 0; -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String workerStatus = json.getString("workerStatus"); -// if ("02".equals(workerStatus)) { -// cnt++; -// } -// QuartzProjectAttendanceUser user = QuartzProjectAttendanceUser.createFromJgw(json); -// if (user.getName().equals("李文国")) { -// String k = user.getName(); -// JSONArray arr2 = json.getJSONArray("corpName"); -// Object o = arr2.get(0); -// } -// } -// //System.out.println("cnt:"+cnt+","+arr.size()); -// //findAddWorkerByProject(appId, token, projectId, endId); -// } -// } -// -// /** -// * 同步人员信息 -// */ -// public void syncWorker() { -// QuartzProjectAttendanceCfg where = new QuartzProjectAttendanceCfg(); -// where.setEnabled(1l); -// where.setIsDel(0l); -// where.setVendorsCode("jgw"); -// List list = attendanceCfgService.selectSurProjectAttendanceCfgList(where); -// for (QuartzProjectAttendanceCfg it : list) { -// String param = it.getVendorsParameter(); -// if (Strings.isNotEmpty(param)) { -// try { -// JSONObject jo = JSON.parseObject(param); -// String appId = jo.getString("appId"); -// String secret = jo.getString("secret"); -// secret = Base64.encode(secret); -// jo.put("secret", secret); -// String token = getToken(appId, secret); -// jo.put("token", token); -// doSyncWorker(jo, 0l, it); -// } catch (Exception ex) { -// ex.printStackTrace(); -// } -// } -// } -// syncWorkerByLeader(); -// } -// -// /** -// * 同步群组和人的关系 -// */ -// public void syncWorkerByLeader() { -// QuartzProjectAttendanceCfg where = new QuartzProjectAttendanceCfg(); -// where.setEnabled(1l); -// where.setIsDel(0l); -// where.setVendorsCode("jgw"); -// List list = attendanceCfgService.selectSurProjectAttendanceCfgList(where); -// for (QuartzProjectAttendanceCfg it : list) { -// String param = it.getVendorsParameter(); -// if (Strings.isNotEmpty(param)) { -// try { -// JSONObject jo = JSON.parseObject(param); -// String appId = jo.getString("appId"); -// String secret = jo.getString("secret"); -// secret = Base64.encode(secret); -// jo.put("secret", secret); -// String token = getToken(appId, secret); -// jo.put("token", token); -// QuartzProjectAttendanceGroup groupWhere = new QuartzProjectAttendanceGroup(); -// groupWhere.setCfgid(it.getId()); -// groupWhere.setLeaderPhone("directly"); -// List groupList = attendanceGroupService.selectSurProjectAttendanceGroupList(groupWhere); -// for (QuartzProjectAttendanceGroup g : groupList) { -// if (StrUtil.isNotEmpty(g.getLeaderName()) && StrUtil.isNotEmpty(g.getCompanyId())) { -// jo.put("subcontractorId", g.getLeaderName()); -// jo.put("leaderTeamId", g.getCompanyId()); -// jo.put("companyName", g.getCompanyName()); -// dosyncWorkerByLeader(jo, 0l, it); -// } -// } -// } catch (Exception ex) { -// ex.printStackTrace(); -// } -// } -// } -// } -// -// private void dosyncWorkerByLeader(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String path = "/webapi/project/findWorkerByLeader"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// String leaderTeamId = jo.getString("leaderTeamId"); -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("leaderTeamId", leaderTeamId); -// params.put("subcontractorId", jo.getString("subcontractorId")); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject jd = j.getJSONObject("data"); -// JSONArray arr = jd.getJSONArray("recordList"); -// if (arr != null && arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String workerId = json.getString("workerId"); -// QuartzProjectAttendanceUser userWhere = new QuartzProjectAttendanceUser(); -// userWhere.setWorkerId(workerId); -// userWhere.setCfgid(it.getId()); -// List userList = attendanceUserService.selectSurProjectAttendanceUserList(userWhere); -// if (userList.size() > 0) { -// QuartzProjectAttendanceUser upUser = userList.get(0); -// upUser.setCompanyId(json.getString("leaderTeamId")); -// upUser.setWorkTypeName(json.getString("jobType")); -// upUser.setCompanyName(jo.getString("companyName")); -// attendanceUserService.updateSurProjectAttendanceUser(upUser); -// } -// } -// } -// } -// -// private void doSyncWorker(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String projectId = jo.getString("appProjectId"); -// String path = "/webapi/project/findAddWorkerByProject"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("startId", startId); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// long endId = joData.getLong("endId"); -// JSONArray arr = joData.getJSONArray("workerList"); -// if (arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// QuartzProjectAttendanceUser user = QuartzProjectAttendanceUser.createFromJgw(json); -// user.setVendorsCode(it.getVendorsCode()); -// user.setCfgid(it.getId()); -// user.setAppId(appId); -// String idNumber = json.getString("idNumber");//身份证 -// if (StrUtil.isNotEmpty(idNumber) && idNumber.length() > 6) { -// try { -// long idStr = Long.parseLong(idNumber.substring(0, 6)); -// String natstr = getNative(idStr); -// if (StrUtil.isNotEmpty(natstr)) { -// user.setNativePlace(natstr); -// } -// } catch (Exception ex) { -// -// } -// } -// attendanceUserService.add(user); -// } -// doSyncWorker(jo, endId, it); -// } -// } -// -// -// -// -// -// /** -// * 查询班组 -// * -// * @param jo -// * @param startId -// * @param it -// */ -// private void doSyncGroup(JSONObject jo, long startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String projectId = jo.getString("appProjectId"); -// String path = "/webapi/project/findTeamByProjectId"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("rowId", startId); -// url = host + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&rowId=" + startId; -// Request request = new Request.Builder() -// .url(url) -// .get() -// .build(); -// String data = getResult(request); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// JSONArray arr = joData.getJSONArray("teamList"); -// if (arr.size() > 0) { -// long rowId = 0; -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// QuartzProjectAttendanceGroup group = QuartzProjectAttendanceGroup.createJgw(json, false); -// group.setCfgid(it.getId()); -// group.setAppId(appId); -// rowId = json.getLong("id"); -// QuartzProjectAttendanceGroup where = new QuartzProjectAttendanceGroup(); -// where.setCompanyId(group.getCompanyId()); -// where.setCfgid(group.getCfgid()); -// List list = attendanceGroupService.selectSurProjectAttendanceGroupList(where); -// if (list.size() == 0) { -// attendanceGroupService.add(group); -// } -// } -// if (rowId > 0) { -// doSyncGroup(jo, rowId + 1, it); -// } -// } -// } -// -// /** -// * 同步当天数据 -// */ -// public void syncAttendanceData() { -// String dtStart = DateUtil.format(DateTime.now(), "yyyy-MM-dd"); -// String dtEnd = dtStart; -// syncAttendanceData(dtStart, dtEnd); -// clearToDayPhoto(); -// } -// -// /** -// * 同步7天之内数据 -// */ -// public void syncLastWeekAttendanceData() { -// String dtEnd = DateUtil.format(DateTime.now(), "yyyy-MM-dd"); -// String dtStart = DateUtil.format(DateUtil.offsetDay(DateTime.now(), -7), "yyyy-MM-dd"); -// syncAttendanceData(dtStart, dtEnd); -// } -// -// /** -// * 同步30天内数据 -// */ -// public void syncLast30DayAttendanceData() { -// String dtEnd = DateUtil.format(DateTime.now(), "yyyy-MM-dd"); -// String dtStart = DateUtil.format(DateUtil.offsetDay(DateTime.now(), -30), "yyyy-MM-dd"); -// syncAttendanceData(dtStart, dtEnd); -// } -// -// -// private void syncAttendanceData(String dtStart, String dtEnd) { -// QuartzProjectAttendanceCfg where = new QuartzProjectAttendanceCfg(); -// where.setEnabled(1l); -// where.setIsDel(0l); -// where.setVendorsCode("jgw"); -// List list = attendanceCfgService.selectSurProjectAttendanceCfgList(where); -// for (QuartzProjectAttendanceCfg it : list) { -// String param = it.getVendorsParameter(); -// if (Strings.isNotEmpty(param)) { -// try { -// JSONObject jo = JSON.parseObject(param); -// String appId = jo.getString("appId"); -// String secret = jo.getString("secret"); -// secret = Base64.encode(secret); -// jo.put("secret", secret); -// String token = getToken(appId, secret); -// jo.put("token", token); -// jo.put("startTime", dtStart); -// jo.put("endTime", dtEnd); -// doSyncAttendanceData(jo, "0", it); -// } catch (Exception ex) { -// ex.printStackTrace(); -// } -// } -// } -// } -// -// private void doSyncAttendanceData(JSONObject jo, String startId, QuartzProjectAttendanceCfg it) { -// String appId = jo.getString("appId"); -// String token = jo.getString("token"); -// String projectId = jo.getString("appProjectId"); -// String startTime = jo.getString("startTime"); -// String endTime = jo.getString("endTime"); -// String path = "/webapi/project/findAttendanceByProject"; -// String time = System.currentTimeMillis() + ""; -// String url = host + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; -// -// String tokenSign = Md5Utils.hash(url); -// Map params = new HashMap<>(); -// params.put("appId", appId); -// params.put("timestamp", time); -// params.put("tokenSign", tokenSign); -// params.put("projectId", projectId); -// params.put("startId", startId); -// params.put("startTime", startTime); -// params.put("endTime", endTime); -// Request request = new Request.Builder() -// .url(host + path) -// .post(toFormBody(params)) -// .build(); -// String data = getResult(request); -// //System.out.println(data); -// JSONObject j = JSON.parseObject(data); -// JSONObject joData = j.getJSONObject("data"); -// String endId = joData.getString("endId"); -// JSONArray arr = joData.getJSONArray("workerAttList"); -// //List addList=new ArrayList<>(); -// if (arr != null && arr.size() > 0) { -// for (int i = 0; i < arr.size(); i++) { -// JSONObject json = arr.getJSONObject(i); -// String photo = json.getString("signimg"); -// String photoUrl = getPhoto(appId, token, photo); -// QuartzProjectAttendanceData sdata = QuartzProjectAttendanceData.createFromJgw(json); -// sdata.setScanPhoto(photoUrl); -// sdata.setCfgid(it.getId()); -// sdata.setAppId(appId); -// if (sdata.getWorkerId().equals("63e0e09858624979b97291977afe352b")) { -// //System.out.println("--->"+sdata.getRemark()); -// } -// sdata.setVendorsCode(it.getVendorsCode()); -// attendanceDataService.add(sdata); -// //addList.add(sdata); -// } -// //attendanceDataService.addList(addList); -// doSyncAttendanceData(jo, endId, it); -// } -// } -// -// /** -// * 查询籍贯映射 -// * -// * @param id 籍贯编号 -// * @return -// */ -// private String getNative(long id) { -// String ckey = "attendance_jgw_native_" + id; -// Object obj = redisService.getCacheObject(ckey); -// String tmp = ""; -// if (obj != null) { -// tmp = obj.toString(); -// if (StrUtil.isNotEmpty(tmp)) { -// return tmp; -// } -// } -// List list = sysNativeService.selectSysNativeListById(id); -// if (list.size() == 0) { -// id = id / 100 * 100; -// list = sysNativeService.selectSysNativeListById(id); -// if (list.size() == 0) { -// id = id / 10000 * 10000; -// list = sysNativeService.selectSysNativeListById(id); -// } -// } -// if (list.size() == 0) { -// tmp = ""; -// } else { -// tmp = list.get(0).getAddress(); -// } -// redisService.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); -// return tmp; -// } -// -// /** -// * 获取请求结果 -// * @param request -// * @return -// */ -// public static String getResult(Request request) { -// OkHttpClient client = new OkHttpClient.Builder() -// .sslSocketFactory(SSLSocketClient.getSSLSocketFactory(), SSLSocketClient.getX509TrustManager()) -// .hostnameVerifier(SSLSocketClient.getHostnameVerifier()) -// .build(); -// Response response; -// try { -// response = client.newCall(request).execute(); -// if (response.body() != null) { -// return response.body().string(); -// } else { -// throw new RuntimeException(); -// } -// } catch (IOException e) { -// e.printStackTrace(); -// throw new RuntimeException(); -// } -// } -// -//} +package com.yanzhu.job.task; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.yanzhu.common.core.constant.SecurityConstants; +import com.yanzhu.common.core.domain.R; +import com.yanzhu.common.core.enums.*; +import com.yanzhu.common.core.text.Convert; +import com.yanzhu.common.core.utils.DateUtils; +import com.yanzhu.common.core.utils.Md5Utils; +import com.yanzhu.common.core.utils.StringUtils; +import com.yanzhu.common.core.utils.file.FileUtils; +import com.yanzhu.common.redis.service.RedisService; +import com.yanzhu.job.domain.*; +import com.yanzhu.job.service.*; +import com.yanzhu.system.api.RemoteFileService; +import com.yanzhu.system.api.RemoteUserService; +import com.yanzhu.system.api.domain.SysFile; +import com.yanzhu.system.api.domain.SysUser; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; +import org.apache.logging.log4j.util.Strings; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.*; +import java.util.concurrent.TimeUnit; + +/** + * @Description: 济公网数据定时任务 + * @Title: AttendanceJgwTask + * @Package com.yanzhu.job.task + * @Author: JiangYuQi + * @CreateTime: 2024/10/26 17:05 + */ +@Slf4j +@Component("attendanceJgwTask") +public class AttendanceJgwTask { + + @Autowired + private RedisService redisService; + + @Autowired + private ISysNativeService sysNativeService; + + @Autowired + private RemoteFileService remoteFileService; + + @Autowired + private RemoteUserService remoteUserService; + + @Autowired + private IQuartzProSubdeptsService quartzProSubdeptsService; + + @Autowired + private IQuartzProSubdeptsGroupService quartzProSubdeptsGroupService; + + @Autowired + private IQuartzProSubdeptsUsersService quartzProSubdeptsUsersService; + + @Autowired + private IQuartzProAttendanceCfgService quartzProAttendanceCfgService; + + @Autowired + private IQuartzProAttendanceDataService quartzProAttendanceDataService; + + private final String code = "jgw"; + private static final String JGW_HOST = "http://api.gongyoumishu.com:80/gomeetapi/"; + + /** + * 获取访问令牌 + * + * @param appid 应用编号 + * @param secret 应用密钥 + * @return + */ + public static String getToken(String appid, String secret) { + log.info("开始查询济公网TOKEN...{}::{}",appid,secret); + String grantType = "client_credential"; + String path = "/webapi/credential"; + Map params = new HashMap<>(); + params.put("appId", appid); + params.put("secret", secret); + params.put("grantType", grantType); + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject jo = JSON.parseObject(data); + JSONObject joData = jo.getJSONObject("data"); + if (joData != null) { + return joData.getString("token"); + + } + return null; + } + + /** + * 同步单位及班组信息 + */ + public void syncContractorAndGroupData() { + log.info("开始同步济公网单位&班组信息...{}",DateUtils.dateTimeStr()); + QuartzProAttendanceCfg where = new QuartzProAttendanceCfg(); + where.setEnabled(ShiFouEnums.SHI.getCode()); + where.setIsDel(ShiFouEnums.FOU.getCode()); + where.setVendorsCode(code); + List list = quartzProAttendanceCfgService.selectProAttendanceCfgList(where); + for (QuartzProAttendanceCfg item : list) { + String param = item.getVendorsParameter(); + if (Strings.isNotEmpty(param)) { + try { + JSONObject jo = JSON.parseObject(param); + String appId = jo.getString("appId"); + String secret = jo.getString("secret"); + secret = Base64.encode(secret); + jo.put("secret", secret); + String token = getToken(appId, secret); + jo.put("token", token); + doSyncProContractor(jo, 0l, item); + doSyncDirectlyUnderGroup(jo, 0l, item); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + } + + /** + * 查询参建单位 + * + * @param jo 请求参数 + * @param startId 开始编号 + * @param it 配置信息 + */ + private void doSyncProContractor(JSONObject jo, long startId, QuartzProAttendanceCfg it) { + log.info("开始同步济公参建单位信息...rows::{}",startId); + String appId = jo.getString("appId"); + String token = jo.getString("token"); + String projectId = jo.getString("appProjectId"); + String path = "/webapi/project/findProContractorByProjectId"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + + String tokenSign = Md5Utils.hash(url); + + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("projectId", projectId); + params.put("rowId", startId); + url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + tokenSign + "&projectId=" + projectId + "×tamp=" + time + "&rowId=" + startId; + Request request = new Request.Builder() + .url(url) + .get() + .build(); + String data = getResult(request); + JSONObject reData = JSON.parseObject(data); + JSONObject joData = reData.getJSONObject("data"); + JSONArray arr = joData.getJSONArray("proContractorList"); + if (arr.size() > 0) { + long rowId = 0; + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + String subDeptType = convertSubDeptType(json.getString("corpType")); + // 总包单位不同步 + if(!"1".equals(subDeptType)){ + rowId = json.getLong("id"); + QuartzProSubdepts quartzProSubdeptsQuery = new QuartzProSubdepts(); + quartzProSubdeptsQuery.setProjectId(it.getProjectId()); + quartzProSubdeptsQuery.setSubDeptCode(json.getString("corpCode")); + List list = quartzProSubdeptsService.selectQuartzProSubdeptsList(quartzProSubdeptsQuery); + if(StringUtils.isEmpty(list)){ + QuartzProSubdepts quartzProSubdepts = new QuartzProSubdepts(); + quartzProSubdepts.setComId(it.getComId()); + quartzProSubdepts.setProjectId(it.getProjectId()); + quartzProSubdepts.setSubDeptType(subDeptType); + quartzProSubdepts.setSubDeptName(json.getString("corpName")); + quartzProSubdepts.setSubDeptCode(json.getString("corpCode")); + quartzProSubdepts.setSubDeptLeaderName(json.getString("pmName")); + quartzProSubdepts.setSubDeptLeaderPhone(json.getString("pmPhone")); + Map subDeptInfos = new HashMap<>(); + subDeptInfos.put("busScope",""); + subDeptInfos.put("signDate",json.getString("registeredTime")); + subDeptInfos.put("address",json.getString("address")); + subDeptInfos.put("addressCode",json.getString("addressCode")); + subDeptInfos.put("postalCode",json.getString("postalCode")); + subDeptInfos.put("registeredCapital",json.getString("registeredCapital")); + subDeptInfos.put("paidInCapital",json.getString("paidInCapital")); + subDeptInfos.put("businessAddress",json.getString("businessAddress")); + subDeptInfos.put("officePhone",json.getString("officePhone")); + quartzProSubdepts.setSubDeptInfos(JSON.toJSONString(subDeptInfos)); + quartzProSubdepts.setUseStatus(UseStateEnums.IN.getCode()); + quartzProSubdepts.setUseDates(DateUtils.getNowDate()); + quartzProSubdepts.setApproveStatus(ApproveStatus.passed.getCode()); + quartzProSubdepts.setSource(code.toUpperCase()+"::"+json.getString("contractorId")); + quartzProSubdepts.setCreateBy("JGW-TASK"); + quartzProSubdepts.setCreateTime(DateUtils.getNowDate()); + quartzProSubdeptsService.insertQuartzProSubdepts(quartzProSubdepts); + redisService.setCacheObject("doSyncProContractor.contractorId::"+json.getString("contractorId"),quartzProSubdepts,2L,TimeUnit.HOURS); + }else{ + redisService.setCacheObject("doSyncProContractor.contractorId::"+json.getString("contractorId"),list.get(0),2L,TimeUnit.HOURS); + } + } + } + if (arr.size()>=10 && rowId > 0) { + doSyncProContractor(jo, rowId + 1, it); + } + } + } + + /** + * 转换单位类型 + * @param corpType + * @return + */ + private String convertSubDeptType(String corpType){ + String subDeptType; + switch (corpType){ + case "001" : subDeptType = "5"; break; + case "002" : subDeptType = "11"; break; + case "003" : subDeptType = "6"; break; + case "004" : subDeptType = "7"; break; + case "005" : subDeptType = "8"; break; + case "006" : subDeptType = "4"; break; + case "007" : subDeptType = "2"; break; + case "008" : subDeptType = "3"; break; + case "009" : subDeptType = "1"; break; + case "010" : subDeptType = "9"; break; + case "011" : subDeptType = "10"; break; + default : subDeptType = "99"; break; + } + return subDeptType; + } + + /** + * 查询直属班组 + * + * @param jo 请求参数 + * @param startId 开始编号 + * @param it 配置信息 + */ + private void doSyncDirectlyUnderGroup(JSONObject jo, long startId, QuartzProAttendanceCfg it) { + log.info("开始同步济公直属班组信息...rows::{}",startId); + String appId = jo.getString("appId"); + String token = jo.getString("token"); + String projectId = jo.getString("appProjectId"); + String phone = jo.getString("phone"); + String subcontractorId = getSubcontractor(appId, token, phone); + String path = "/webapi/project/findDirectlyUnderTeam"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + + String tokenSign = Md5Utils.hash(url); + + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("projectId", projectId); + params.put("subcontractorId", subcontractorId); + params.put("rowId", startId); + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject j = JSON.parseObject(data); + JSONObject joData = j.getJSONObject("data"); + JSONArray arr = joData.getJSONArray("teamList"); + if (arr.size() > 0) { + long rowId = 0; + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + Map dataMap = convertSubJobTypes(json.getString("corpType")); + QuartzProSubdeptsGroup quartzProSubdeptsGroupQuery = new QuartzProSubdeptsGroup(); + quartzProSubdeptsGroupQuery.setProjectId(it.getProjectId()); + quartzProSubdeptsGroupQuery.setGroupName(json.getString("teamName")); + List list = quartzProSubdeptsGroupService.selectQuartzProSubdeptsGroupList(quartzProSubdeptsGroupQuery); + if(StringUtils.isEmpty(list)){ + QuartzProSubdepts quartzProSubdepts = redisService.getCacheObject("doSyncProContractor.contractorId::"+json.getString("contractorId")); + QuartzProSubdeptsGroup quartzProSubdeptsGroup = new QuartzProSubdeptsGroup(); + quartzProSubdeptsGroup.setComId(it.getComId()); + quartzProSubdeptsGroup.setProjectId(it.getProjectId()); + quartzProSubdeptsGroup.setSubDeptId(quartzProSubdepts.getId()); + quartzProSubdeptsGroup.setSubDeptType(quartzProSubdepts.getSubDeptType()); + quartzProSubdeptsGroup.setSubDeptName(quartzProSubdepts.getSubDeptName()); + quartzProSubdeptsGroup.setSubDeptCode(quartzProSubdepts.getSubDeptCode()); + quartzProSubdeptsGroup.setGroupName(json.getString("teamName")); + if(StringUtils.eqObj(dataMap.get("type"),"2")){ + quartzProSubdeptsGroup.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + }else if(StringUtils.eqObj(dataMap.get("type"),"3")){ + quartzProSubdeptsGroup.setGroupCode(DeptGroupEnums.MANAGE.getCode()); + } + quartzProSubdeptsGroup.setCraftType(dataMap.get("type")); + quartzProSubdeptsGroup.setCraftPost(dataMap.get("post")); + quartzProSubdeptsGroup.setUseStatus(UseStateEnums.IN.getCode()); + quartzProSubdeptsGroup.setApproveStatus(ApproveStatus.passed.getCode()); + quartzProSubdeptsGroup.setIsDel(Convert.toLong(json.getString("deleteFlag"),0L)); + quartzProSubdeptsGroup.setCreateBy("JGW-TASK"); + quartzProSubdeptsGroup.setCreateTime(DateUtils.getNowDate()); + quartzProSubdeptsGroup.setSource(code.toUpperCase()+"::"+json.getString("id")); + quartzProSubdeptsGroupService.insertQuartzProSubdeptsGroup(quartzProSubdeptsGroup); + redisService.setCacheObject("doSyncDirectlyUnderGroup.teamLeaderId::"+json.getString("leaderId"),quartzProSubdeptsGroup,2L,TimeUnit.HOURS); + }else{ + QuartzProSubdeptsGroup quartzProSubdeptsGroup = list.get(0); + quartzProSubdeptsGroup.setIsDel(Convert.toLong(json.getString("deleteFlag"),0L)); + quartzProSubdeptsGroup.setUpdateBy("JGW-TASK"); + quartzProSubdeptsGroup.setUpdateTime(DateUtils.getNowDate()); + quartzProSubdeptsGroupService.updateQuartzProSubdeptsGroup(quartzProSubdeptsGroup); + redisService.setCacheObject("doSyncDirectlyUnderGroup.teamLeaderId::"+json.getString("leaderId"),quartzProSubdeptsGroup,2L,TimeUnit.HOURS); + } + } + if (rowId > 0) { + doSyncDirectlyUnderGroup(jo, rowId + 1, it); + } + } + } + + /** + * 转换工种类型 + * @param jobTypes + * @return + */ + private Map convertSubJobTypes(String jobTypes){ + Map dataMap = new HashMap<>(); + switch (jobTypes){ + case "3001" : dataMap.put("type","2");dataMap.put("post","1015"); break; + case "3002" : dataMap.put("type","2");dataMap.put("post","1014"); break; + case "3003" : + case "3004" : dataMap.put("type","2");dataMap.put("post","2021"); break; + case "3005" : dataMap.put("type","2");dataMap.put("post","2022"); break; + case "3006" : dataMap.put("type","2");dataMap.put("post","1013"); break; + case "3007" : dataMap.put("type","1");dataMap.put("post","1006"); break; + case "3008" : dataMap.put("type","1");dataMap.put("post","1004"); break; + case "3009" : dataMap.put("type","1");dataMap.put("post","1001"); break; + case "3010" : dataMap.put("type","1");dataMap.put("post","1003"); break; + case "3011" : dataMap.put("type","1");dataMap.put("post","1017"); break; + case "3012" : dataMap.put("type","1");dataMap.put("post","1007"); break; + case "3013" : dataMap.put("type","1");dataMap.put("post","1008"); break; + case "3014" : dataMap.put("type","1");dataMap.put("post","1009"); break; + case "3015" : dataMap.put("type","1");dataMap.put("post","1012"); break; + case "3016" : dataMap.put("type","3");dataMap.put("post","3024"); break; + case "3017" : dataMap.put("type","1");dataMap.put("post","1010"); break; + case "3018" : dataMap.put("type","3");dataMap.put("post","3025"); break; + case "3019" : dataMap.put("type","2");dataMap.put("post","2017"); break; + case "3020" : dataMap.put("type","2");dataMap.put("post","2018"); break; + case "3021" : dataMap.put("type","2");dataMap.put("post","2016"); break; + case "3031" : + case "3032" : + case "3042" : dataMap.put("type","2");dataMap.put("post","2019"); break; + case "3072" : + case "3039" : + case "6002" : + case "6003" : + case "6004" : + case "6005" : + case "6006" : + case "6007" : + case "6008" : + case "6009" : + case "6010" : + case "6012" : + case "6013" : + case "6014" : + case "6015" : + case "6016" : + case "6017" : + case "6018" : + case "6019" : + case "6020" : + case "6021" : + case "6022" : + case "6023" : + case "6024" : + case "6025" : + case "6026" : + case "6027" : + case "6028" : + case "6029" : + case "6030" : + case "6031" : + case "6032" : + case "6033" : + case "6034" : + case "6035" : + case "6036" : + case "6037" : + case "6038" : + case "6039" : + case "6040" : + case "6041" : + case "6042" : + case "6043" : + case "6044" : + case "6045" : + case "6046" : + case "6047" : + case "6048" : + case "6049" : + case "6050" : + case "6051" : + case "6052" : + case "6053" : + case "6054" : + case "6055" : + case "6056" : + case "6057" : + case "6058" : + case "6059" : + case "6060" : + case "6061" : + case "6062" : + case "6063" : + case "6064" : + case "6065" : + case "6066" : + case "6067" : + case "6068" : + case "6069" : + case "6070" : + case "6071" : + case "6072" : + case "6073" : + case "6074" : + case "6075" : + case "6076" : + case "6077" : + case "6078" : + case "6079" : + case "6080" : + case "6081" : + case "6082" : + case "6083" : + case "6084" : + case "6085" : + case "6086" : + case "6087" : + case "6088" : + case "6089" : + case "6090" : + case "6091" : + case "6092" : + case "6093" : + case "6094" : + case "6095" : + case "6096" : + case "6097" : + case "6001" : dataMap.put("type","3");dataMap.put("post","4037"); break; + case "6011" : dataMap.put("type","3");dataMap.put("post","3023"); break; + case "3036" : + case "3054" : + case "3056" : + case "3057" : + case "3058" : + case "3059" : + case "3060" : + case "3061" : + case "3062" : + case "3063" : + case "3064" : + case "3065" : + case "3055" : dataMap.put("type","1");dataMap.put("post","8888"); break; + case "3041" : + case "3040" : + case "3037" : + case "3038" : + case "3043" : + case "3044" : + case "3045" : + case "3046" : + case "3047" : + case "3048" : + case "3049" : + case "3050" : + case "3051" : + case "3052" : + case "3053" : + case "3033" : + case "3066" : + case "3067" : + case "3068" : + case "3069" : + case "3070" : + case "3035" : + case "3071" : + case "3034" : dataMap.put("type","2");dataMap.put("post","9999"); break; + default : dataMap.put("type","3");dataMap.put("post","4037"); break; + } + return dataMap; + } + + /** + * 同步人员信息 + */ + public void syncProSubDeptWorker() { + log.info("开始同步济公网人员信息...{}",DateUtils.dateTimeStr()); + QuartzProAttendanceCfg where = new QuartzProAttendanceCfg(); + where.setEnabled(1l); + where.setIsDel(0l); + where.setVendorsCode("jgw"); + List list = quartzProAttendanceCfgService.selectProAttendanceCfgList(where); + for (QuartzProAttendanceCfg it : list) { + String param = it.getVendorsParameter(); + if (Strings.isNotEmpty(param)) { + try { + JSONObject jo = JSON.parseObject(param); + String appId = jo.getString("appId"); + String secret = jo.getString("secret"); + secret = Base64.encode(secret); + jo.put("secret", secret); + String token = getToken(appId, secret); + jo.put("token", token); + doSyncProSubDeptWorker(jo, 0l, it); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + } + + /** + * 同步人员信息 + */ + private void doSyncProSubDeptWorker(JSONObject jo, long startId, QuartzProAttendanceCfg it) { + log.info("开始同步济公网人员信息...rows::{}",startId); + String appId = jo.getString("appId"); + String token = jo.getString("token"); + String projectId = jo.getString("appProjectId"); + String path = "/webapi/project/findAddWorkerByProject"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + + String tokenSign = Md5Utils.hash(url); + + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("projectId", projectId); + params.put("startId", startId); + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject j = JSON.parseObject(data); + JSONObject joData = j.getJSONObject("data"); + long endId = joData.getLong("endId"); + JSONArray arr = joData.getJSONArray("workerList"); + if (arr.size() > 0) { + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + QuartzProSubdeptsUsers quartzProSubdeptsUsersQuery = new QuartzProSubdeptsUsers(); + quartzProSubdeptsUsersQuery.setProjectId(it.getProjectId()); + quartzProSubdeptsUsersQuery.setUserPhone(json.getString("workPhone")); + List list = quartzProSubdeptsUsersService.selectQuartzProSubdeptsUsersList(quartzProSubdeptsUsersQuery); + if(StringUtils.isEmpty(list)){ + String userPicture = ""; + String cardImgPos = ""; + String cardImgInv = ""; + try { + // 下载入场近照 + MultipartFile userPictureMultipartFile = FileUtils.downloadFileToMultipart(json.getString("headImage")); + userPicture = remoteFileService.dirsUploadFile(it.getProjectPackage(),"jgw",userPictureMultipartFile).getData().getUrl(); + // 下载证件正面 + MultipartFile cardImgPosMultipartFile = FileUtils.downloadFileToMultipart(json.getString("idFront")); + cardImgPos = remoteFileService.dirsUploadFile(it.getProjectPackage(),"jgw",cardImgPosMultipartFile).getData().getUrl(); + // 下载证件反面 + MultipartFile cardImgInvMultipartFile = FileUtils.downloadFileToMultipart(json.getString("idBack")); + cardImgInv = remoteFileService.dirsUploadFile(it.getProjectPackage(),"jgw",cardImgInvMultipartFile).getData().getUrl(); + }catch (Exception e){ + e.printStackTrace(); + } + QuartzProSubdeptsGroup quartzProSubdeptsGroup = redisService.getCacheObject("doSyncDirectlyUnderGroup.teamLeaderId::"+json.getString("teamLeaderId")); + QuartzProSubdeptsUsers quartzProSubdeptsUsers = new QuartzProSubdeptsUsers(); + quartzProSubdeptsUsers.setComId(it.getComId()); + quartzProSubdeptsUsers.setProjectId(it.getProjectId()); + quartzProSubdeptsUsers.setSubDeptId(quartzProSubdeptsGroup.getSubDeptId()); + quartzProSubdeptsUsers.setSubDeptType(quartzProSubdeptsGroup.getSubDeptType()); + quartzProSubdeptsUsers.setSubDeptName(quartzProSubdeptsGroup.getSubDeptName()); + quartzProSubdeptsUsers.setSubDeptGroup(quartzProSubdeptsGroup.getId()); + quartzProSubdeptsUsers.setSubDeptGroupName(quartzProSubdeptsGroup.getGroupName()); + quartzProSubdeptsUsers.setUserName(json.getString("name")); + quartzProSubdeptsUsers.setCardType("1"); + quartzProSubdeptsUsers.setCardCode(json.getString("idNumber")); + quartzProSubdeptsUsers.setUserSex(json.getString("sex")); + Map userInfos = new HashMap<>(); + userInfos.put("nation",json.getString("minor")); + userInfos.put("birthDay",DateUtils.date(DateUtils.parseDate(json.getString("birthday")))); + long idStr = Long.parseLong(quartzProSubdeptsUsers.getCardCode().substring(0, 6)); + String natStr = getNative(idStr); + userInfos.put("nativePlace",natStr); + userInfos.put("address",json.getString("address")); + userInfos.put("emergencyContact", json.getString("urgentLinkman")); + userInfos.put("contactPhone",json.getString("urgentLinkManPhone")); + userInfos.put("bankName", json.getString("bankName")); + userInfos.put("bankCardNo", json.getString("bankCardid")); + userInfos.put("bankOffice",json.getString("branchName")); + userInfos.put("cardImgPos",cardImgPos); + userInfos.put("cardImgInv",cardImgInv); + quartzProSubdeptsUsers.setUserPicture(userPicture); + String adminCraftPost = convertAdminType(json.getString("adminType")); + if(StringUtils.isEmpty(adminCraftPost)){ + //判断是否有岗位2 + adminCraftPost = convertJobType2(json.getString("jobType2")); + } + quartzProSubdeptsUsers.setCraftType(quartzProSubdeptsGroup.getCraftType()); + quartzProSubdeptsUsers.setCraftPost(StringUtils.isNotEmpty(adminCraftPost)?adminCraftPost:quartzProSubdeptsGroup.getCraftPost()); + quartzProSubdeptsUsers.setApproveStatus(ApproveStatus.passed.getCode()); + quartzProSubdeptsUsers.setUseStatus(StringUtils.eqObj(json.getString("workerStatus"),"01")?UseStateEnums.IN.getCode() : UseStateEnums.OUT.getCode()); + quartzProSubdeptsUsers.setUseDate(DateUtils.parseDate(json.getString("workDate"))); + quartzProSubdeptsUsers.setSubStep(1L); + quartzProSubdeptsUsers.setIsDel(ShiFouEnums.FOU.getCode()); + quartzProSubdeptsUsers.setCreateBy("JGW-TASK"); + quartzProSubdeptsUsers.setCreateTime(DateUtils.getNowDate()); + quartzProSubdeptsUsers.setSource(code.toUpperCase()+"::"+json.getString("workerId")); + quartzProSubdeptsUsers = registerUserInfo(quartzProSubdeptsUsers); + quartzProSubdeptsUsersService.insertQuartzProSubdeptsUsers(quartzProSubdeptsUsers); + }else{ + QuartzProSubdeptsUsers quartzProSubdeptsUsers = list.get(0); + quartzProSubdeptsUsers.setUseStatus(StringUtils.eqObj(json.getString("workerStatus"),"01")?UseStateEnums.IN.getCode() : UseStateEnums.OUT.getCode()); + quartzProSubdeptsUsers.setUpdateBy("JGW-TASK"); + quartzProSubdeptsUsers.setUpdateTime(DateUtils.getNowDate()); + quartzProSubdeptsUsersService.updateQuartzProSubdeptsUsers(quartzProSubdeptsUsers); + } + } + doSyncProSubDeptWorker(jo, endId, it); + } + } + + /** + * 转换工种岗位 + * @return + */ + private String convertAdminType(String adminType){ + if(StringUtils.isNotEmpty(adminType)){ + String craftPost = ""; + switch (adminType){ + case "1009": + case "1010": + case "1011": + case "1012": + case "1013": + case "1014": + case "1015": craftPost = "3023"; break; + case "1016": + case "1017": + case "1018": craftPost = "3024"; break; + case "1019": + case "1020": + case "1021": + case "1022": + case "1023": + case "1024": + case "1025": + case "1026": + case "1027": + case "1028": + case "1029": + case "1030": + case "1031": + case "1032": craftPost = "3025"; break; + default: craftPost=""; break; + } + return craftPost; + } + return null; + } + + /** + * 岗位类型2 + * @param jobType2 + * @return + */ + private String convertJobType2(String jobType2){ + if(StringUtils.isNotEmpty(jobType2)){ + String craftPost = ""; + switch (jobType2){ + case "1": + case "2": + case "3": + case "4": craftPost = "3024"; break; + case "5": + case "6": + case "7": + case "8": craftPost = "3025"; break; + default: craftPost=""; break; + } + return craftPost; + } + return null; + } + + /** + * 注册用户信息 + */ + private QuartzProSubdeptsUsers registerUserInfo(QuartzProSubdeptsUsers quartzProSubdeptsUsers){ + //判断是否为班组长 + String workId = quartzProSubdeptsUsers.getSource().split("::")[1]; + QuartzProSubdeptsGroup quartzProSubdeptsGroup = redisService.getCacheObject("doSyncDirectlyUnderGroup.teamLeaderId::"+workId); + + SysUser sysUser = new SysUser(); + sysUser.setComId(quartzProSubdeptsUsers.getComId()); + sysUser.setDeptId(quartzProSubdeptsUsers.getProjectId()); + sysUser.setUserName(quartzProSubdeptsUsers.getUserPhone()); + sysUser.setNickName(quartzProSubdeptsUsers.getUserName()); + sysUser.setPhonenumber(quartzProSubdeptsUsers.getUserPhone()); + sysUser.setUpdateBy("JGW-TASK"); + sysUser.setUpdateTime(DateUtils.getNowDate()); + sysUser.setUserInfos(quartzProSubdeptsUsers.getUserInfos()); + + String subDeptType = quartzProSubdeptsUsers.getSubDeptType(); + // 判断单位类型 + if(Objects.nonNull(subDeptType)){ + if(Objects.equals(SubDeptsEnums.JSDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.JSDWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.JSDWGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.JLDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.JLDWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.JLDWGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.SGDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.SGDWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.SGDWGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.ZYFB.getCode(),subDeptType) || Objects.equals(SubDeptsEnums.LWFB.getCode(),subDeptType)){ + //判断工种岗位设置用户岗位...PC需要单独设置 + if(Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.WTDL.getCode())){ + sysUser.setUserType(UserTypeEnums.FBWTDL.getCode()); + quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.WTDL.getCode()); + }else if(Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.XMJL.getCode())){ + sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); + quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.XMJL.getCode()); + }else if(Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.AQZY.getCode())){ + sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); + quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.AQRY.getCode()); + }else if(Objects.equals(quartzProSubdeptsUsers.getCraftPost(), CraftPostEnums.CLZY.getCode())){ + sysUser.setUserType(UserTypeEnums.FBCLRY.getCode()); + quartzProSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLRY.getCode()); + }else{ + // 判断班组长权限 + if(quartzProSubdeptsGroup!=null){ + sysUser.setUserType(UserTypeEnums.FBBZZZ.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.BZZ.getCode()); + }else{ + sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.LWGR.getCode()); + } + } + }else if(Objects.equals(SubDeptsEnums.CLFB.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.CLFBRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.CLFBGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.HQFB.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.HQFBRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.HQFBGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.TSSB.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.TSSBRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.TSSBGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.KTDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.KTDWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.KTDWGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.SJDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.SJDWRY.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.SJDWGL.getCode()); + }else if(Objects.equals(SubDeptsEnums.QTDW.getCode(),subDeptType)){ + sysUser.setUserType(UserTypeEnums.OTHERS.getCode()); + quartzProSubdeptsUsers.setUserPost(UserPostEnums.QTDWGL.getCode()); + } + } + Long userId= remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER).getData(); + quartzProSubdeptsUsers.setUserId(userId); + // 如果当前人员是班组长,更新班组信息 + if(quartzProSubdeptsGroup!=null){ + quartzProSubdeptsGroup.setGroupLeaderName(quartzProSubdeptsUsers.getUserName()); + quartzProSubdeptsGroup.setGroupLeaderCode(quartzProSubdeptsUsers.getCardCode()); + quartzProSubdeptsGroup.setGroupLeaderPhone(quartzProSubdeptsUsers.getUserPhone()); + quartzProSubdeptsGroupService.updateQuartzProSubdeptsGroup(quartzProSubdeptsGroup); + } + return quartzProSubdeptsUsers; + } + + /** + * 参数组装 + * + * @param params + * @return + */ + private static RequestBody toFormBody(Map params) { + FormBody.Builder builder = new FormBody.Builder(); + for (String key : params.keySet()) { + builder.add(key, params.get(key).toString()); + } + return builder.build(); + } + + /** + * 查询项目经理(手机号码) + * @param appId + * @param token + * @param phone + * @return + */ + private String getSubcontractor(String appId, String token, String phone) { + String ckey = "attendance_jgw_Subcontractor_" + phone; + if (redisService != null) { + Object obj = redisService.getCacheObject(ckey); + if (obj != null) { + String str = (String) obj; + if (StrUtil.isNotEmpty(str)) { + return str; + } + } + } + String path = "/webapi/project/querySubcontractorByPhone"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + String tokenSign = Md5Utils.hash(url); + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("phone", phone); + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject j = JSON.parseObject(data); + JSONObject jd = j.getJSONObject("data"); + JSONArray arr = jd.getJSONArray("subcontractorList"); + if (arr.size() > 0) { + JSONObject jo = arr.getJSONObject(0); + String tmp = jo.getString("subcontractorId"); + if (StrUtil.isNotEmpty(tmp) && redisService != null) { + redisService.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); + return tmp; + } else { + return tmp; + } + } + return ""; + } + + /** + * 同步之前考勤数据 + */ + public void syncBeforeAttendanceData(String dtStart, String dtEnd, Long cfgId) { + log.info("开始同步济公网人员考勤信息...{}::{}::{}",dtStart,dtEnd,cfgId); + QuartzProAttendanceCfg where = new QuartzProAttendanceCfg(); + where.setEnabled(1l); + where.setIsDel(0l); + where.setVendorsCode("jgw"); + if(cfgId!=null){ + where.setId(cfgId); + } + List list = quartzProAttendanceCfgService.selectProAttendanceCfgList(where); + for (QuartzProAttendanceCfg it : list) { + String param = it.getVendorsParameter(); + if (Strings.isNotEmpty(param)) { + try { + JSONObject jo = JSON.parseObject(it.getVendorsParameter()); + String appId = jo.getString("appId"); + String secret = jo.getString("secret"); + secret = Base64.encode(secret); + jo.put("secret", secret); + String token = getToken(appId, secret); + jo.put("token", token); + jo.put("startTime", dtStart); + jo.put("endTime", dtEnd); + doSyncAttendanceData(jo, "0", it); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + } + + /** + * 同步当前考勤数据 + */ + public void syncNowAttendanceData() { + log.info("开始同步济公网人员考勤信息...{}",DateUtils.dateTimeStr()); + String dtStart = DateUtils.getDate(); + String dtEnd = DateUtils.getDate(); + QuartzProAttendanceCfg where = new QuartzProAttendanceCfg(); + where.setEnabled(1l); + where.setIsDel(0l); + where.setVendorsCode("jgw"); + List list = quartzProAttendanceCfgService.selectProAttendanceCfgList(where); + for (QuartzProAttendanceCfg it : list) { + String param = it.getVendorsParameter(); + if (Strings.isNotEmpty(param)) { + try { + JSONObject jo = JSON.parseObject(it.getVendorsParameter()); + String appId = jo.getString("appId"); + String secret = jo.getString("secret"); + secret = Base64.encode(secret); + jo.put("secret", secret); + String token = getToken(appId, secret); + jo.put("token", token); + jo.put("startTime", dtStart); + jo.put("endTime", dtEnd); + doSyncAttendanceData(jo, "0", it); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + } + } + + /** + * 同步考勤数据 + * @param jo + * @param startId + * @param it + */ + private void doSyncAttendanceData(JSONObject jo, String startId, QuartzProAttendanceCfg it) { + log.info("开始同步济公网人员考勤数据...rows:{}",startId); + String appId = jo.getString("appId"); + String token = jo.getString("token"); + String projectId = jo.getString("appProjectId"); + String startTime = jo.getString("startTime"); + String endTime = jo.getString("endTime"); + String path = "/webapi/project/findAttendanceByProject"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + + String tokenSign = Md5Utils.hash(url); + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("projectId", projectId); + params.put("startId", startId); + params.put("startTime", startTime); + params.put("endTime", endTime); + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject j = JSON.parseObject(data); + JSONObject joData = j.getJSONObject("data"); + String endId = joData.getString("endId"); + JSONArray arr = joData.getJSONArray("workerAttList"); + if (arr != null && arr.size() > 0) { + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + String machineType = Convert.toStr(json.getString("machineType"),"1"); + QuartzProSubdeptsUsers quartzProSubdeptsUsersQuery = new QuartzProSubdeptsUsers(); + quartzProSubdeptsUsersQuery.setProjectId(it.getProjectId()); + quartzProSubdeptsUsersQuery.setSource(code.toUpperCase()+"::"+json.getString("workerId")); + List queryUserList = quartzProSubdeptsUsersService.selectQuartzProSubdeptsUsersList(quartzProSubdeptsUsersQuery); + if(queryUserList!=null && queryUserList.size()>0){ + QuartzProSubdeptsUsers quartzProSubdeptsUsers = queryUserList.get(0); + QuartzProAttendanceData quartzProAttendanceDataQuery = new QuartzProAttendanceData(); + quartzProAttendanceDataQuery.setProjectId(quartzProSubdeptsUsers.getProjectId()); + quartzProAttendanceDataQuery.setSubDeptId(quartzProSubdeptsUsers.getSubDeptId()); + quartzProAttendanceDataQuery.setUserId(quartzProSubdeptsUsers.getUserId()); + quartzProAttendanceDataQuery.setSearchValue(json.getString("signDate")); + List attendanceDataList = quartzProAttendanceDataService.selectProAttendanceDataList(quartzProAttendanceDataQuery); + if(attendanceDataList!=null && attendanceDataList.size()>0){ + QuartzProAttendanceData quartzProAttendanceData = attendanceDataList.get(0); + if(machineType.equals("2")){ + //签进 + if(quartzProAttendanceData.getOutTime()==null && quartzProAttendanceData.getInData()==null){ + quartzProAttendanceData.setInTime(DateUtils.parseDate(json.getString("checkinTime"))); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setInPhoto(checkPhoto); + } + }else if(machineType.equals("3")){ + //签出 + quartzProAttendanceData.setOutTime(DateUtils.parseDate(json.getString("checkinTime"))); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setOutPhoto(checkPhoto); + }else{ + //默认 + if(quartzProAttendanceData.getInData()==null){ + quartzProAttendanceData.setInTime(DateUtils.parseDate(json.getString("checkinTime"))); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setInPhoto(checkPhoto); + }else{ + quartzProAttendanceData.setOutTime(DateUtils.parseDate(json.getString("checkinTime"))); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setOutPhoto(checkPhoto); + } + } + quartzProAttendanceData.setUpdateBy("JGW-TASK"); + quartzProAttendanceData.setUpdateTime(DateUtils.getNowDate()); + quartzProAttendanceDataService.updateProAttendanceData(quartzProAttendanceData); + }else{ + QuartzProAttendanceData quartzProAttendanceData = new QuartzProAttendanceData(); + quartzProAttendanceData.setComId(quartzProSubdeptsUsers.getComId()); + quartzProAttendanceData.setComName(quartzProSubdeptsUsers.getComName()); + quartzProAttendanceData.setProjectId(quartzProSubdeptsUsers.getProjectId()); + quartzProAttendanceData.setProjectName(quartzProSubdeptsUsers.getProjectName()); + quartzProAttendanceData.setSubDeptId(quartzProSubdeptsUsers.getSubDeptId()); + quartzProAttendanceData.setSubDeptName(quartzProSubdeptsUsers.getSubDeptName()); + quartzProAttendanceData.setUserId(quartzProSubdeptsUsers.getUserId()); + quartzProAttendanceData.setUserName(quartzProSubdeptsUsers.getUserName()); + quartzProAttendanceData.setSubDeptGroup(quartzProSubdeptsUsers.getSubDeptGroup()); + quartzProAttendanceData.setSubDeptGroupName(quartzProSubdeptsUsers.getSubDeptGroupName()); + quartzProAttendanceData.setCraftType(quartzProSubdeptsUsers.getCraftType()); + quartzProAttendanceData.setCraftPost(quartzProSubdeptsUsers.getCraftPost()); + Date checkinTime = DateUtils.parseDate(json.getString("checkinTime")); + if(machineType.equals("2")){ + //签进 + quartzProAttendanceData.setInTime(checkinTime); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setInPhoto(checkPhoto); + }else if(machineType.equals("3")){ + //签出 + quartzProAttendanceData.setOutTime(checkinTime); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setOutPhoto(checkPhoto); + }else{ + //默认 + quartzProAttendanceData.setInTime(checkinTime); + String checkPhoto = getPhoto(appId, token, it.getProjectPackage(), json.getString("signimg")); + quartzProAttendanceData.setInPhoto(checkPhoto); + } + quartzProAttendanceData.setDeviceNo(json.getString("deviceSerialNo")); + quartzProAttendanceData.setCreateBy("JGW-TASK"); + quartzProAttendanceData.setCreateTime(checkinTime); + quartzProAttendanceData.setSource(quartzProSubdeptsUsers.getSource()); + quartzProAttendanceDataService.insertProAttendanceData(quartzProAttendanceData); + } + } + } + doSyncAttendanceData(jo, endId, it); + } + } + + /** + * 查询照片 + * @param appId + * @param token + * @param photo + * @return + */ + private String getPhoto(String appId, String token, String proPackage, String photo) { + String path = "/webapi/dictInfo/getPhoyoAllPaths"; + String time = System.currentTimeMillis() + ""; + String url = JGW_HOST + path + "?appId=" + appId + "&tokenSign=" + token + "×tamp=" + time; + String tokenSign = Md5Utils.hash(url); + Map params = new HashMap<>(); + params.put("appId", appId); + params.put("timestamp", time); + params.put("tokenSign", tokenSign); + params.put("filePath", photo); + + Request request = new Request.Builder() + .url(JGW_HOST + path) + .post(toFormBody(params)) + .build(); + String data = getResult(request); + JSONObject j = JSON.parseObject(data); + JSONObject json = j.getJSONObject("data"); + try { + MultipartFile multipartFile = FileUtils.downloadFileToMultipart(json.getString("result")); + R result = remoteFileService.dirsUploadFile(proPackage,"jgw",multipartFile); + return result.getData().getUrl(); + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + /** + * 查询籍贯映射 + * + * @param id 籍贯编号 + * @return + */ + private String getNative(long id) { + String ckey = "attendance_jgw_native_" + id; + Object obj = redisService.getCacheObject(ckey); + String tmp = ""; + if (obj != null) { + tmp = obj.toString(); + if (StrUtil.isNotEmpty(tmp)) { + return tmp; + } + } + List list = sysNativeService.selectSysNativeListById(id); + if (list.size() == 0) { + id = id / 100 * 100; + list = sysNativeService.selectSysNativeListById(id); + if (list.size() == 0) { + id = id / 10000 * 10000; + list = sysNativeService.selectSysNativeListById(id); + } + } + if (list.size() == 0) { + tmp = ""; + } else { + tmp = list.get(0).getAddress(); + } + redisService.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); + return tmp; + } + + /** + * 获取请求结果 + * @param request + * @return + */ + public static String getResult(Request request) { + OkHttpClient client = new OkHttpClient.Builder() + .sslSocketFactory(SSLSocketClient.getSSLSocketFactory(), SSLSocketClient.getX509TrustManager()) + .hostnameVerifier(SSLSocketClient.getHostnameVerifier()) + .build(); + Response response; + try { + response = client.newCall(request).execute(); + if (response.body() != null) { + return response.body().string(); + } else { + throw new RuntimeException(); + } + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException(); + } + } + +} diff --git a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceTask.java b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceTask.java index 0699da5c..579f5df5 100644 --- a/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceTask.java +++ b/yanzhu-modules/yanzhu-job/src/main/java/com/yanzhu/job/task/AttendanceTask.java @@ -1,327 +1,327 @@ -package com.yanzhu.job.task; - -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson2.JSON; -import com.alibaba.fastjson2.JSONArray; -import com.alibaba.fastjson2.JSONObject; -import com.yanzhu.common.redis.service.RedisService; -import com.yanzhu.job.domain.*; -import com.yanzhu.job.service.*; -import okhttp3.HttpUrl; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import org.apache.commons.codec.digest.DigestUtils; -import org.apache.logging.log4j.util.Strings; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -@Component("attendanceTask") -public class AttendanceTask { - - @Autowired - private RedisService redisCache; - - @Autowired - private ISysNativeService sysNativeService; - - @Autowired - IQuartzProjectAttendanceUserService attendanceUserService; - - @Autowired - IQuartzProjectAttendanceCfgService attendanceCfgService; - - @Autowired - IQuartzProjectAttendanceDataService attendanceDataService; - - @Autowired - IQuartzProjectAttendanceGroupService attendanceGroupService; - - private String getNative(long id){ - String ckey="attendance_jgw_native_"+id; - Object obj=redisCache.getCacheObject(ckey); - String tmp=""; - if(obj!=null){ - tmp=obj.toString(); - if(StrUtil.isNotEmpty(tmp)){ - return tmp; - } - } - List list=sysNativeService.selectSysNativeListById(id); - if(list.size()==0){ - id=id/100*100; - list=sysNativeService.selectSysNativeListById(id); - if(list.size()==0){ - id=id/10000*10000; - list=sysNativeService.selectSysNativeListById(id); - } - } - if(list.size()==0){ - tmp=""; - }else{ - tmp= list.get(0).getAddress(); - } - redisCache.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); - return tmp; - } - - public void syncWorker(){ - QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); - where.setEnabled(1l); - where.setIsDel(0l); - where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - String appId=jo.getString("appId"); - String secret=jo.getString("secret"); - String projectId=jo.getString("projectId"); - doSyncWorker(appId,secret,projectId,1,it); - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - public void syncGroup(){ - QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); - where.setEnabled(1l); - where.setIsDel(0l); - where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - String appId=jo.getString("appId"); - String secret=jo.getString("secret"); - String projectId=jo.getString("projectId"); - doSyncGroup(appId,secret,projectId,it); - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - private void doSyncGroup(String appId, String secret, String projectId, QuartzProjectAttendanceCfg it) { - Map params = new HashMap<>(); - params.put("projectId", projectId); - params.put("appid",appId); - String sign = getSign(params,secret); - String host="https://glm.glodon.com/api/open"; - params.put("sign",sign); - String path="/worker/allGroup"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); - params.forEach((s, o) -> { - urlBuilder.addQueryParameter(s, (String) o); - }); - Request request = new Request.Builder() - .url(urlBuilder.build()) - .build(); - String data = getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONArray arr=jo.getJSONArray("data"); - if(arr!=null && arr.size()>0) { - for (int i = 0; i < arr.size(); i++) { - JSONObject json=arr.getJSONObject(i); - QuartzProjectAttendanceGroup group= QuartzProjectAttendanceGroup.create(json); - group.setAppId(appId); - group.setCfgid(it.getId()); - attendanceGroupService.add(group); - } - } - } - - private void doSyncWorker(String appid, String secret, String projectld, int page, QuartzProjectAttendanceCfg it){ - Map params = new HashMap<>(); - params.put("projectId", projectld); - params.put("start", "2000-01-01 00:00:00"); - params.put("end", "2099-01-01 00:00:00"); - params.put("pageNo",""+page); - params.put("pageSize", "1000"); - params.put("appid",appid); - String sign = getSign(params,secret); - String host="https://glm.glodon.com/api/open"; - params.put("sign",sign); - String path="/worker/new/allWorkerInfo"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); - params.forEach((s, o) -> { - urlBuilder.addQueryParameter(s, (String) o); - }); - Request request = new Request.Builder() - .url(urlBuilder.build()) - .build(); - String data = getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONArray arr=jo.getJSONArray("data"); - if(arr!=null && arr.size()>0){ - for(int i=0;i6){ - try { - long idStr = Long.parseLong(idNumber.substring(0, 6)); - String natstr=getNative(idStr); - if(StrUtil.isNotEmpty(natstr)){ - user.setNativePlace(natstr); - } - }catch (Exception ex){ - - } - } - user.setVendorsCode(it.getVendorsCode()); - user.setCfgid(it.getId()); - user.setAppId(appid); - attendanceUserService.add(user); - } - } - if(arr.size()==1000){ - doSyncWorker(appid,secret,projectld,page+1,it); - } - } - - public void syncAttendanceData(){ - QuartzProjectAttendanceCfg where =new QuartzProjectAttendanceCfg(); - where.setEnabled(1l); - where.setIsDel(0l); - where.setVendorsCode("gld"); - List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); - for(QuartzProjectAttendanceCfg it :list){ - String param= it.getVendorsParameter(); - if(Strings.isNotEmpty(param)){ - try{ - JSONObject jo=JSON.parseObject(param); - String appId=jo.getString("appId"); - String secret=jo.getString("secret"); - String projectId=jo.getString("projectId"); - QuartzProjectAttendanceData dwhere=new QuartzProjectAttendanceData(); - dwhere.setCfgid(it.getId()); - String startId=attendanceDataService.getLastServerId(dwhere); - doSyncAttendanceData(appId,secret,projectId,startId,it); - }catch (Exception ex){ - ex.printStackTrace(); - } - } - } - } - - private void doSyncAttendanceData(String appid, String secret, String projectId, String id, QuartzProjectAttendanceCfg it){ - Map params = new HashMap<>(); - params.put("projectId", projectId); - params.put("startId",""+id); - params.put("pageSize", "500"); - params.put("appid",appid); - String sign = getSign(params,secret); - String host="https://glm.glodon.com/api/open"; - params.put("sign",sign); - String path="/attendance/card"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); - params.forEach((s, o) -> { - urlBuilder.addQueryParameter(s, (String) o); - }); - Request request = new Request.Builder() - .url(urlBuilder.build()) - .build(); - String data = getResult(request); - JSONObject jo= JSON.parseObject(data); - JSONArray arr=jo.getJSONArray("data"); - String lastId= "0"; - if(arr!=null && arr.size()>0){ - for(int i=0;i"+id+","+lastId); - if(arr.size()==500){ - doSyncAttendanceData(appid,secret,projectId,lastId,it); - } - } - public static void main(String[] args){ - - System.out.println("-------1--------->AttendanceUserTask.syncWorker"); - Map params = new HashMap<>(); - params.put("projectId", "709599705953792"); - params.put("start", "2000-01-01 00:00:00"); - params.put("end", "2099-01-01 00:00:00"); - params.put("pageNo","1"); - params.put("pageSize", "1000"); - //params.put("pageNo", "1"); - params.put("startId", "0"); - params.put("appid","f24454233c5346fe82df6b8dd35e9d6d"); - String sign = getSign(params,"754619e2a33491b84a4d47838d2ffc0a"); - System.out.println("--->"+sign); - params.put("sign",sign); - String host="https://glm.glodon.com/api/open"; - String path="/worker/new/allWorkerInfo"; - HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); - params.forEach((s, o) -> { - urlBuilder.addQueryParameter(s, (String) o); - }); - Request request = new Request.Builder() - .url(urlBuilder.build()) - .build(); - String data = getResult(request); - //System.out.println("data:"+data); - JSONObject jo= JSON.parseObject(data); - JSONArray jsonArray=jo.getJSONArray("data"); - for(int i=0;i paramsMap,String appSecret){ - List paramsList = new ArrayList<>(); - paramsMap.forEach((s, o) -> { - String stringBuilder = s + o; - paramsList.add(stringBuilder); - }); - StringBuilder beforeMd5 = new StringBuilder(); - beforeMd5.append(appSecret); - paramsList.stream() - .sorted(String::compareTo) - .collect(Collectors.toList()) - .forEach(beforeMd5::append); - beforeMd5.append(appSecret); - return DigestUtils.md5Hex(beforeMd5.toString()).toUpperCase(); - } -} +//package com.yanzhu.job.task; +// +//import cn.hutool.core.util.StrUtil; +//import com.alibaba.fastjson2.JSON; +//import com.alibaba.fastjson2.JSONArray; +//import com.alibaba.fastjson2.JSONObject; +//import com.yanzhu.common.redis.service.RedisService; +//import com.yanzhu.job.domain.*; +//import com.yanzhu.job.service.*; +//import okhttp3.HttpUrl; +//import okhttp3.OkHttpClient; +//import okhttp3.Request; +//import okhttp3.Response; +//import org.apache.commons.codec.digest.DigestUtils; +//import org.apache.logging.log4j.util.Strings; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Component; +// +//import java.io.IOException; +//import java.util.*; +//import java.util.concurrent.TimeUnit; +//import java.util.stream.Collectors; +// +//@Component("attendanceTask") +//public class AttendanceTask { +// +// @Autowired +// private RedisService redisCache; +// +// @Autowired +// private ISysNativeService sysNativeService; +// +// @Autowired +// IQuartzProjectAttendanceUserService attendanceUserService; +// +// @Autowired +// IQuartzProAttendanceCfgService attendanceCfgService; +// +// @Autowired +// IQuartzProAttendanceDataService attendanceDataService; +// +// @Autowired +// IQuartzProjectAttendanceGroupService attendanceGroupService; +// +// private String getNative(long id){ +// String ckey="attendance_jgw_native_"+id; +// Object obj=redisCache.getCacheObject(ckey); +// String tmp=""; +// if(obj!=null){ +// tmp=obj.toString(); +// if(StrUtil.isNotEmpty(tmp)){ +// return tmp; +// } +// } +// List list=sysNativeService.selectSysNativeListById(id); +// if(list.size()==0){ +// id=id/100*100; +// list=sysNativeService.selectSysNativeListById(id); +// if(list.size()==0){ +// id=id/10000*10000; +// list=sysNativeService.selectSysNativeListById(id); +// } +// } +// if(list.size()==0){ +// tmp=""; +// }else{ +// tmp= list.get(0).getAddress(); +// } +// redisCache.setCacheObject(ckey, tmp, 1L, TimeUnit.DAYS); +// return tmp; +// } +// +// public void syncWorker(){ +// QuartzProAttendanceCfg where =new QuartzProAttendanceCfg(); +// where.setEnabled(1l); +// where.setIsDel(0l); +// where.setVendorsCode("gld"); +// List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// String appId=jo.getString("appId"); +// String secret=jo.getString("secret"); +// String projectId=jo.getString("projectId"); +// doSyncWorker(appId,secret,projectId,1,it); +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// public void syncGroup(){ +// QuartzProAttendanceCfg where =new QuartzProAttendanceCfg(); +// where.setEnabled(1l); +// where.setIsDel(0l); +// where.setVendorsCode("gld"); +// List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// String appId=jo.getString("appId"); +// String secret=jo.getString("secret"); +// String projectId=jo.getString("projectId"); +// doSyncGroup(appId,secret,projectId,it); +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// private void doSyncGroup(String appId, String secret, String projectId, QuartzProAttendanceCfg it) { +// Map params = new HashMap<>(); +// params.put("projectId", projectId); +// params.put("appid",appId); +// String sign = getSign(params,secret); +// String host="https://glm.glodon.com/api/open"; +// params.put("sign",sign); +// String path="/worker/allGroup"; +// HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); +// params.forEach((s, o) -> { +// urlBuilder.addQueryParameter(s, (String) o); +// }); +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .build(); +// String data = getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONArray arr=jo.getJSONArray("data"); +// if(arr!=null && arr.size()>0) { +// for (int i = 0; i < arr.size(); i++) { +// JSONObject json=arr.getJSONObject(i); +// QuartzProjectAttendanceGroup group= QuartzProjectAttendanceGroup.create(json); +// group.setAppId(appId); +// group.setCfgid(it.getId()); +// attendanceGroupService.add(group); +// } +// } +// } +// +// private void doSyncWorker(String appid, String secret, String projectld, int page, QuartzProAttendanceCfg it){ +// Map params = new HashMap<>(); +// params.put("projectId", projectld); +// params.put("start", "2000-01-01 00:00:00"); +// params.put("end", "2099-01-01 00:00:00"); +// params.put("pageNo",""+page); +// params.put("pageSize", "1000"); +// params.put("appid",appid); +// String sign = getSign(params,secret); +// String host="https://glm.glodon.com/api/open"; +// params.put("sign",sign); +// String path="/worker/new/allWorkerInfo"; +// HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); +// params.forEach((s, o) -> { +// urlBuilder.addQueryParameter(s, (String) o); +// }); +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .build(); +// String data = getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONArray arr=jo.getJSONArray("data"); +// if(arr!=null && arr.size()>0){ +// for(int i=0;i6){ +// try { +// long idStr = Long.parseLong(idNumber.substring(0, 6)); +// String natstr=getNative(idStr); +// if(StrUtil.isNotEmpty(natstr)){ +// user.setNativePlace(natstr); +// } +// }catch (Exception ex){ +// +// } +// } +// user.setVendorsCode(it.getVendorsCode()); +// user.setCfgid(it.getId()); +// user.setAppId(appid); +// attendanceUserService.add(user); +// } +// } +// if(arr.size()==1000){ +// doSyncWorker(appid,secret,projectld,page+1,it); +// } +// } +// +// public void syncAttendanceData(){ +// QuartzProAttendanceCfg where =new QuartzProAttendanceCfg(); +// where.setEnabled(1l); +// where.setIsDel(0l); +// where.setVendorsCode("gld"); +// List list=attendanceCfgService.selectSurProjectAttendanceCfgList(where); +// for(QuartzProAttendanceCfg it :list){ +// String param= it.getVendorsParameter(); +// if(Strings.isNotEmpty(param)){ +// try{ +// JSONObject jo=JSON.parseObject(param); +// String appId=jo.getString("appId"); +// String secret=jo.getString("secret"); +// String projectId=jo.getString("projectId"); +// QuartzProjectAttendanceData dwhere=new QuartzProjectAttendanceData(); +// dwhere.setCfgid(it.getId()); +// String startId=attendanceDataService.getLastServerId(dwhere); +// doSyncAttendanceData(appId,secret,projectId,startId,it); +// }catch (Exception ex){ +// ex.printStackTrace(); +// } +// } +// } +// } +// +// private void doSyncAttendanceData(String appid, String secret, String projectId, String id, QuartzProAttendanceCfg it){ +// Map params = new HashMap<>(); +// params.put("projectId", projectId); +// params.put("startId",""+id); +// params.put("pageSize", "500"); +// params.put("appid",appid); +// String sign = getSign(params,secret); +// String host="https://glm.glodon.com/api/open"; +// params.put("sign",sign); +// String path="/attendance/card"; +// HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); +// params.forEach((s, o) -> { +// urlBuilder.addQueryParameter(s, (String) o); +// }); +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .build(); +// String data = getResult(request); +// JSONObject jo= JSON.parseObject(data); +// JSONArray arr=jo.getJSONArray("data"); +// String lastId= "0"; +// if(arr!=null && arr.size()>0){ +// for(int i=0;i"+id+","+lastId); +// if(arr.size()==500){ +// doSyncAttendanceData(appid,secret,projectId,lastId,it); +// } +// } +// public static void main(String[] args){ +// +// System.out.println("-------1--------->AttendanceUserTask.syncWorker"); +// Map params = new HashMap<>(); +// params.put("projectId", "709599705953792"); +// params.put("start", "2000-01-01 00:00:00"); +// params.put("end", "2099-01-01 00:00:00"); +// params.put("pageNo","1"); +// params.put("pageSize", "1000"); +// //params.put("pageNo", "1"); +// params.put("startId", "0"); +// params.put("appid","f24454233c5346fe82df6b8dd35e9d6d"); +// String sign = getSign(params,"754619e2a33491b84a4d47838d2ffc0a"); +// System.out.println("--->"+sign); +// params.put("sign",sign); +// String host="https://glm.glodon.com/api/open"; +// String path="/worker/new/allWorkerInfo"; +// HttpUrl.Builder urlBuilder = Objects.requireNonNull(HttpUrl.parse(host + path)).newBuilder(); +// params.forEach((s, o) -> { +// urlBuilder.addQueryParameter(s, (String) o); +// }); +// Request request = new Request.Builder() +// .url(urlBuilder.build()) +// .build(); +// String data = getResult(request); +// //System.out.println("data:"+data); +// JSONObject jo= JSON.parseObject(data); +// JSONArray jsonArray=jo.getJSONArray("data"); +// for(int i=0;i paramsMap,String appSecret){ +// List paramsList = new ArrayList<>(); +// paramsMap.forEach((s, o) -> { +// String stringBuilder = s + o; +// paramsList.add(stringBuilder); +// }); +// StringBuilder beforeMd5 = new StringBuilder(); +// beforeMd5.append(appSecret); +// paramsList.stream() +// .sorted(String::compareTo) +// .collect(Collectors.toList()) +// .forEach(beforeMd5::append); +// beforeMd5.append(appSecret); +// return DigestUtils.md5Hex(beforeMd5.toString()).toUpperCase(); +// } +//} diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzDevIotMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzDevIotMapper.xml index d284903f..94a4de04 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzDevIotMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzDevIotMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -33,7 +33,7 @@ select id, cfg_id, com_id, project_id, device_sn, device_name, factory_name, contact_person, contact_person_phone, levels, leakage_current, rated_temperature, short_circuit_current, rated_current, rated_voltage, online_status, is_del, create_by, create_time, update_by, update_time, remark from dev_iot_config_point - and cfg_id = #{cfgId} @@ -43,7 +43,7 @@ - + insert into dev_iot_config_point cfg_id, @@ -93,7 +93,7 @@ - + update dev_iot_config_point cfg_id = #{cfgId}, @@ -128,7 +128,7 @@ where dic.is_del = '0' - + insert into dev_iot_datas cfg_id, @@ -202,7 +202,7 @@ - + insert into dev_iot_warning cfg_id, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceCfgMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceCfgMapper.xml similarity index 72% rename from yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceCfgMapper.xml rename to yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceCfgMapper.xml index 3ab67e57..f38a68fd 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceCfgMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceCfgMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -20,14 +20,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + - + select pac.id, pac.com_id, pac.project_id, pac.vendors_code, pac.vendors_parameter, pac.enabled, pac.state, pac.remark, pac.is_del, pac.create_by, pac.create_time, pac.update_by - , pac.update_time,dp.`dept_name` comp_name,pp.`project_name`,dic.`dict_label` vendors_name,sd.sub_dept_name dept_name,pac.dept_id + , pac.update_time, dp.`dept_name` as comp_name, pp.`project_name`, pp.project_package as dic.`dict_label` as vendors_name, sd.sub_dept_name as dept_name, pac.dept_id from attendance_cfg pac left join sys_dept dp on pac.`com_id` = dp.`dept_id` left join pro_project_info pp on pac.`project_id` = pp.`id` @@ -35,9 +36,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dict_data dic on pac.`vendors_code` = dic.`dict_value` and dic.`dict_type`='attendance_vendors' - + + and pac.id = #{id} and pac.com_id = #{comId} and pac.project_id = #{projectId} and pac.vendors_code = #{vendorsCode} @@ -47,8 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + where pac.id = #{id} diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceDataMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceDataMapper.xml new file mode 100644 index 00000000..7576ee98 --- /dev/null +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProAttendanceDataMapper.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, comId, projectId, userId, userName, sub_dept_group, sub_dept_group_name, craft_type, craft_post,admitGuid, + eventGuid, inPhoto ,outPhoto, comName, projectName, sub_dept_id, sub_dept_name, + inTime, outTime, deviceNo, is_del, state, remark, create_by, create_time, update_by, update_time, source from attendance_ubi_data + + + + + + + + insert into attendance_ubi_data + + comId, + projectId, + userId, + userName, + sub_dept_group, + sub_dept_group_name, + craft_type, + craft_post, + inTime, + inData, + outTime, + outData, + deviceNo, + is_del, + sub_dept_id, + sub_dept_name, + comName, + projectName, + admitGuid, + eventGuid, + inPhoto, + outPhoto, + state, + remark, + create_by, + create_time, + update_by, + update_time, + source, + + + #{comId}, + #{projectId}, + #{userId}, + #{userName}, + #{subDeptGroup}, + #{subDeptGroupName}, + #{craftType}, + #{craftPost}, + #{inTime}, + #{inData}, + #{outTime}, + #{outData}, + #{deviceNo}, + #{isDel}, + #{subDeptId}, + #{subDeptName}, + #{comName}, + #{projectName}, + #{admitGuid}, + #{eventGuid}, + #{inPhoto}, + #{outPhoto}, + #{state}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{source}, + + + + + update attendance_ubi_data + + comId = #{comId}, + projectId = #{projectId}, + userId = #{userId}, + userName = #{userName}, + sub_dept_group = #{subDeptGroup}, + sub_dept_group_name = #{subDeptGroupName}, + craft_type = #{craftType}, + craft_post = #{craftPost}, + inTime = #{inTime}, + inData = #{inData}, + outTime = #{outTime}, + outData = #{outData}, + deviceNo = #{deviceNo}, + is_del = #{isDel}, + sub_dept_id = #{subDeptId}, + sub_dept_name = #{subDeptName}, + comName = #{comName}, + projectName = #{projectName}, + admitGuid = #{admitGuid}, + eventGuid = #{eventGuid}, + inPhoto = #{inPhoto}, + outPhoto = #{outPhoto}, + state = #{state}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + source = #{source}, + + where id = #{id} + + + + delete from attendance_ubi_data where id = #{id} + + + \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsGroupMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsGroupMapper.xml index 7850ac84..b94f1f52 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsGroupMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsGroupMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -43,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dept sd on sd.dept_id = psg.com_id - and psg.com_id = #{comId} @@ -51,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pi.project_name = #{projectName} and psg.sub_dept_id = #{subDeptId} and psg.sub_dept_type = #{subDeptType} + and psg.source = #{source} and psg.is_del != 2 order by psg.id desc @@ -61,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where psg.id = #{id} - + insert into pro_project_info_subdepts_group com_id, @@ -115,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update pro_project_info_subdepts_group com_id = #{comId}, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsMapper.xml index b67dccdc..ad2ada66 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProSubdeptsMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -44,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dict_data sdd on sdd.dict_value = ps.sub_dept_type and sdd.dict_type = 'sub_dept_type' - and ps.com_id = #{comId} @@ -53,6 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ps.sub_dept_type = #{subDeptType} and ps.sub_dept_name like concat('%', #{subDeptName}, '%') and ps.sub_dept_code = #{subDeptCode} + and ps.source = #{source} and ps.is_del = 0 order by ps.id desc @@ -63,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where ps.id = #{id} - + insert into pro_project_info_subdepts com_id, @@ -121,7 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update pro_project_info_subdepts com_id = #{comId}, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceDataMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceDataMapper.xml deleted file mode 100644 index 97b29be6..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceDataMapper.xml +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select - id, - cfgid, - app_id, - projectId, - projectName, - deptId, - deptName, - vendors_code, - serverid, - workerId, - workerName, - identification, - workerPhoto, - workerGender, - birthDate, - ethnic, - nativePlace, - phone, - workTypeName, - specWorkType, - groupName, - companyTypeId, - companyName, - attendance_time, - attendance_out_time, - scanPhoto, - teamId, - workTypeCode, - companyId, - vendorId, - device_code, - is_del, - create_by, - create_time, - update_by, - update_time, - remark - from sur_project_attendance_data_${year} - - - - - - - - - - - - insert into sur_project_attendance_data_${year} - - cfgid, - app_id, - projectId, - projectName, - deptId, - deptName, - vendors_code, - serverid, - workerId, - workerName, - identification, - workerPhoto, - workerGender, - birthDate, - ethnic, - nativePlace, - phone, - workTypeName, - specWorkType, - groupName, - companyTypeId, - companyName, - attendance_time, - attendance_out_time, - scanPhoto, - teamId, - workTypeCode, - companyId, - vendorId, - device_code, - is_del, - create_by, - create_time, - update_by, - update_time, - remark, - - - #{cfgid}, - #{appId}, - #{projectId}, - #{projectName}, - #{deptId}, - #{deptName}, - #{vendorsCode}, - #{serverid}, - #{workerId}, - #{workerName}, - #{identification}, - #{workerPhoto}, - #{workerGender}, - #{birthDate}, - #{ethnic}, - #{nativePlace}, - #{phone}, - #{workTypeName}, - #{specWorkType}, - #{groupName}, - #{companyTypeId}, - #{companyName}, - #{attendanceTime}, - #{attendanceOutTime}, - #{scanPhoto}, - #{teamId}, - #{workTypeCode}, - #{companyId}, - #{vendorId}, - #{deviceCode}, - #{isDel}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - #{remark}, - - - - - update sur_project_attendance_data_${year} - - cfgid = #{cfgid}, - app_id = #{appId}, - projectId = #{projectId}, - projectName = #{projectName}, - deptId = #{deptId}, - deptName = #{deptName}, - vendors_code = #{vendorsCode}, - serverid = #{serverid}, - workerId = #{workerId}, - workerName = #{workerName}, - identification = #{identification}, - workerPhoto = #{workerPhoto}, - workerGender = #{workerGender}, - birthDate = #{birthDate}, - ethnic = #{ethnic}, - nativePlace = #{nativePlace}, - phone = #{phone}, - workTypeName = #{workTypeName}, - specWorkType = #{specWorkType}, - groupName = #{groupName}, - companyTypeId = #{companyTypeId}, - companyName = #{companyName}, - attendance_time = #{attendanceTime}, - attendance_out_time = #{attendanceOutTime}, - scanPhoto = #{scanPhoto}, - teamId = #{teamId}, - workTypeCode = #{workTypeCode}, - companyId = #{companyId}, - vendorId = #{vendorId}, - device_code = #{deviceCode}, - is_del = #{isDel}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - remark = #{remark}, - - where id = #{id} - - - - delete from sur_project_attendance_data_${year} where id = #{id} - - - - delete from sur_project_attendance_data_${year} where id in - - #{id} - - - - - delete from sur_project_attendance_data_${year} where CONCAT(app_id,'-',serverid,'-',workerId) in - - #{item} - - - - - insert into sur_project_attendance_data_${year}( id, cfgid, app_id, projectId, projectName, deptId, deptName, vendors_code, serverid, workerId, workerName, identification, workerPhoto, workerGender, birthDate, ethnic, nativePlace, phone, workTypeName, specWorkType, groupName, companyTypeId, - companyName, attendance_time, attendance_out_time, scanPhoto, teamId,workTypeCode, companyId, vendorId, device_code, is_del, create_by, create_time, update_by, update_time) values - - ( #{item.id}, #{item.cfgid},#{item.appId}, #{item.projectId}, #{item.projectName}, #{item.deptId}, #{item.deptName}, #{item.vendorsCode}, #{item.serverid}, #{item.workerId}, #{item.workerName}, #{item.identification},#{item.workerPhoto}, #{item.workerGender}, #{item.birthDate},#{item.ethnic}, #{item.nativePlace}, #{item.phone}, #{item.workTypeName}, #{item.specWorkType}, #{item.groupName}, #{item.companyTypeId}, - #{item.companyName}, #{item.attendanceTime}, #{item.attendanceOutTime}, #{item.scanPhoto},#{item.teamId}, #{item.workTypeCode}, #{item.companyId}, #{item.vendorId}, #{item.deviceCode},#{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceGroupMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceGroupMapper.xml deleted file mode 100644 index d5072469..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceGroupMapper.xml +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - select id, cfgid, app_id, serverid, bizLicense, companyCode, companyId, companyName, companyTypeId, vendorId, name, leaderName, leaderPhone, teamId, teamName, type, leaderId, deleted, createTimestamp, platformGroupId, platformTeamId, enterDate, exitDate, remark, is_del, create_by, create_time, update_by, update_time - from view_sur_project_attendance_group - - - - - - - - - - insert into sur_project_attendance_group - - cfgid, - app_id, - serverid, - bizLicense, - companyCode, - companyId, - companyName, - companyTypeId, - vendorId, - name, - leaderName, - leaderPhone, - teamId, - teamName, - type, - leaderId, - deleted, - createTimestamp, - platformGroupId, - platformTeamId, - enterDate, - exitDate, - remark, - is_del, - create_by, - create_time, - update_by, - update_time, - - - #{cfgid}, - #{appId}, - #{serverid}, - #{bizLicense}, - #{companyCode}, - #{companyId}, - #{companyName}, - #{companyTypeId}, - #{vendorId}, - #{name}, - #{leaderName}, - #{leaderPhone}, - #{teamId}, - #{teamName}, - #{type}, - #{leaderId}, - #{deleted}, - #{createTimestamp}, - #{platformGroupId}, - #{platformTeamId}, - #{enterDate}, - #{exitDate}, - #{remark}, - #{isDel}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - - - - - update sur_project_attendance_group - - cfgid = #{cfgid}, - app_id = #{appId}, - serverid = #{serverid}, - bizLicense = #{bizLicense}, - companyCode = #{companyCode}, - companyId = #{companyId}, - companyName = #{companyName}, - companyTypeId = #{companyTypeId}, - vendorId = #{vendorId}, - name = #{name}, - leaderName = #{leaderName}, - leaderPhone = #{leaderPhone}, - teamId = #{teamId}, - teamName = #{teamName}, - type = #{type}, - leaderId = #{leaderId}, - deleted = #{deleted}, - createTimestamp = #{createTimestamp}, - platformGroupId = #{platformGroupId}, - platformTeamId = #{platformTeamId}, - enterDate = #{enterDate}, - exitDate = #{exitDate}, - remark = #{remark}, - is_del = #{isDel}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - - where id = #{id} - - - - delete from sur_project_attendance_group where id = #{id} - - - - delete from sur_project_attendance_group where id in - - #{id} - - - - - delete from sur_project_attendance_group where CONCAT(app_id,'-',serverid) in - - #{item} - - - - - insert into sur_project_attendance_group(id,cfgid,app_id,serverid,bizLicense,companyCode,companyId,companyName,companyTypeId,vendorId,name,leaderName,leaderPhone,teamId,teamName,type,leaderId,deleted,createTimestamp,platformGroupId,platformTeamId,enterDate,exitDate,remark,create_by,create_time,update_by,update_time) values - - (#{item.id}, #{item.cfgid}, #{item.appId}, #{item.serverid}, #{item.bizLicense}, #{item.companyCode}, #{item.companyId}, #{item.companyName},#{item.companyTypeId}, #{item.vendorId}, #{item.name}, #{item.leaderName}, #{item.leaderPhone}, #{item.teamId}, #{item.teamName}, #{item.type}, #{item.leaderId}, #{item.deleted}, #{item.createTimestamp}, #{item.platformGroupId}, #{item.platformTeamId}, #{item.enterDate}, - #{item.exitDate}, #{item.remark}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) - - - - \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceUserMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceUserMapper.xml deleted file mode 100644 index 7f1de729..00000000 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzProjectAttendanceUserMapper.xml +++ /dev/null @@ -1,740 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT * FROM ( - SELECT a.*,b.project_id,b.dept_id - FROM sur_project_attendance_user a,attendance_cfg b - WHERE a.cfgid=b.id ) - sur_project_attendance_user - - - - - - - - - - - - - insert into sur_project_attendance_user - - cfgid, - app_id, - vendors_code, - workerId, - laborWorkerId, - workerCategory, - qrCode, - name, - ethnic, - nativePlace, - gender, - birthDate, - phone, - degreeName, - photo, - recentPhoto, - groupId, - groupName, - leader, - workTypeCode, - workTypeName, - specWorkType, - hatCode, - state, - enterDate, - exitDate, - companyId, - companyName, - vendorId, - teamId, - teamName, - enterType, - other, - remark, - is_del, - create_by, - create_time, - update_by, - update_time, - - - #{cfgid}, - #{appId}, - #{vendorsCode}, - #{workerId}, - #{laborWorkerId}, - #{workerCategory}, - #{qrCode}, - #{name}, - #{ethnic}, - #{nativePlace}, - #{gender}, - #{birthDate}, - #{phone}, - #{degreeName}, - #{photo}, - #{recentPhoto}, - #{groupId}, - #{groupName}, - #{leader}, - #{workTypeCode}, - #{workTypeName}, - #{specWorkType}, - #{hatCode}, - #{state}, - #{enterDate}, - #{exitDate}, - #{companyId}, - #{companyName}, - #{vendorId}, - #{teamId}, - #{teamName}, - #{enterType}, - #{other}, - #{remark}, - #{isDel}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - - - - - update sur_project_attendance_user - - cfgid = #{cfgid}, - app_id = #{appId}, - vendors_code = #{vendorsCode}, - workerId = #{workerId}, - laborWorkerId = #{laborWorkerId}, - workerCategory = #{workerCategory}, - qrCode = #{qrCode}, - name = #{name}, - ethnic = #{ethnic}, - nativePlace = #{nativePlace}, - gender = #{gender}, - birthDate = #{birthDate}, - phone = #{phone}, - degreeName = #{degreeName}, - photo = #{photo}, - recentPhoto = #{recentPhoto}, - groupId = #{groupId}, - groupName = #{groupName}, - leader = #{leader}, - workTypeCode = #{workTypeCode}, - workTypeName = #{workTypeName}, - specWorkType = #{specWorkType}, - hatCode = #{hatCode}, - state = #{state}, - enterDate = #{enterDate}, - exitDate = #{exitDate}, - companyId = #{companyId}, - companyName = #{companyName}, - vendorId = #{vendorId}, - teamId = #{teamId}, - teamName = #{teamName}, - enterType = #{enterType}, - other = #{other}, - remark = #{remark}, - is_del = #{isDel}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - - where id = #{id} - - - - delete from sur_project_attendance_user where id = #{id} - - - - delete from sur_project_attendance_user where id in - - #{id} - - - - - delete from sur_project_attendance_user where CONCAT(app_id,'-',workerId) in - - #{item} - - - - - insert into sur_project_attendance_user( id, cfgid, vendors_code, workerId, laborWorkerId, workerCategory, qrCode, name, ethnic, nativePlace, gender, birthDate, phone, degreeName, photo, recentPhoto, groupId, groupName, leader, workTypeCode, workTypeName, specWorkType, hatCode, state, enterDate, exitDate, companyId, companyName, vendorId, teamId, teamName, enterType, other, remark, is_del, create_by, create_time, update_by, update_time) values - - ( #{item.id}, #{item.cfgid}, #{item.vendorsCode}, #{item.workerId}, #{item.laborWorkerId}, #{item.workerCategory}, #{item.qrCode}, #{item.name}, #{item.ethnic}, #{item.nativePlace}, #{item.gender}, #{item.birthDate}, #{item.phone}, #{item.degreeName}, #{item.photo}, #{item.recentPhoto}, #{item.groupId}, #{item.groupName}, #{item.leader}, #{item.workTypeCode}, #{item.workTypeName}, #{item.specWorkType}, #{item.hatCode}, #{item.state}, #{item.enterDate}, #{item.exitDate}, #{item.companyId}, #{item.companyName}, #{item.vendorId}, #{item.teamId}, #{item.teamName}, #{item.enterType}, #{item.other}, #{item.remark}, #{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzSubdeptsUsersMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzSubdeptsUsersMapper.xml index be1c663e..6c8b8c1a 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzSubdeptsUsersMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/QuartzSubdeptsUsersMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -56,10 +56,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select psu.id, psu.par_id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, pdept.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group, + select psu.id, psu.par_id, psu.com_id, sd.dept_name as com_name, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, pdept.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group, psu.sub_dept_group_name, psu.user_name, psu.card_type, psu.card_code, psu.user_sex, psu.user_picture, psu.user_phone, psu.degree_grade, dic4.dict_label as degree_grade_name, psu.user_infos, psu.craft_type, dic1.dict_label as craft_type_name, psu.craft_post, dic2.dict_label as craft_post_name, psu.edu_status, psu.edu_file_path, psu.edu_date, psu.approve_status, psu.use_date, psu.use_status, psu.admit_guid, psu.qr_code, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time, - psu.remark, psu.face_guid, psu.source, sd.dept_name com_name,psu.work_type + psu.remark, psu.face_guid, psu.source, psu.work_type from pro_project_info_subdepts_users psu left join pro_project_info pi on pi.id = psu.project_id left join pro_project_info_subdepts pdept on psu.sub_dept_id=pdept.id @@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dict_data dic4 on psu.`degree_grade`=dic4.`dict_value` and dic4.`dict_type`='educational_type' - and psu.com_id = #{comId} @@ -97,6 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and psu.user_phone = #{userPhone} and psu.approve_status = ]]> 100 and psu.is_del = #{isDel} + and psu.source = #{source} and psu.is_del != 2 order by psu.id desc @@ -112,7 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where psu.project_id = #{proId} and psu.user_id = #{userId} - + insert into pro_project_info_subdepts_users par_id, @@ -202,7 +203,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update pro_project_info_subdepts_users par_id = #{parId}, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysApplyConfigMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysApplyConfigMapper.xml index 37baad0f..76043900 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysApplyConfigMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysApplyConfigMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dept sd on sac.dept_id = sd.dept_id - and sac.cfg_id = #{cfgId} @@ -47,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where sac.id = #{id} - + insert into sys_apply_config id, @@ -83,7 +83,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update sys_apply_config cfg_type = #{cfgType}, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobLogMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobLogMapper.xml index 2de8ab3f..202a2c92 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobLogMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobLogMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_job_log - @@ -68,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" truncate table sys_job_log - + insert into sys_job_log( job_log_id, job_name, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobMapper.xml index 659f1be3..5c1ac1f1 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysJobMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_job - @@ -63,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update sys_job job_name = #{jobName}, @@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where job_id = #{jobId} - + insert into sys_job( job_id, job_name, diff --git a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysNativeMapper.xml b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysNativeMapper.xml index c960a26a..93a95413 100644 --- a/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysNativeMapper.xml +++ b/yanzhu-modules/yanzhu-job/src/main/resources/mapper/job/SysNativeMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java index 7a3d8a4f..07804656 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java @@ -17,8 +17,8 @@ import com.yanzhu.common.security.annotation.InnerAuth; import com.yanzhu.common.security.annotation.RequiresPermissions; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers; -import com.yanzhu.manage.enums.SubDeptsEnums; -import com.yanzhu.manage.enums.UserPostEnums; +import com.yanzhu.common.core.enums.SubDeptsEnums; +import com.yanzhu.common.core.enums.UserPostEnums; import com.yanzhu.manage.service.IProProjectInfoSubdeptsUsersService; import com.yanzhu.manage.service.IUniService; import com.yanzhu.security.utils.DictUtils; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/device/DevTowerProjectConfigController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/device/DevTowerProjectConfigController.java index 2a9eb065..2c0a233f 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/device/DevTowerProjectConfigController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/device/DevTowerProjectConfigController.java @@ -7,10 +7,8 @@ import com.yanzhu.common.core.web.page.TableDataInfo; import com.yanzhu.common.log.annotation.Log; import com.yanzhu.common.log.enums.BusinessType; import com.yanzhu.common.security.annotation.RequiresPermissions; -import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.device.domain.DevTowerProjectConfig; import com.yanzhu.manage.service.IDevTowerProjectConfigService; -import com.yanzhu.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -38,12 +36,6 @@ public class DevTowerProjectConfigController extends BaseController public TableDataInfo list(DevTowerProjectConfig where) { startPage(); - SysUser sysUser=SecurityUtils.getLoginUser().getSysUser(); - where.setComId(sysUser.getActiveComId()); - where.setProjectId(sysUser.getActiveProjectId()); - if(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.isGSAdmin()) { - where.setProjectId(null); - } List list = devTowerProjectConfigService.selectDevTowerProjectConfigList(where); return getDataTable(list); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WxController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WxController.java index 089e01d2..d48ba556 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WxController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WxController.java @@ -5,11 +5,10 @@ import com.yanzhu.common.core.web.controller.BaseController; import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.*; -import com.yanzhu.manage.enums.SubDeptsEnums; -import com.yanzhu.manage.enums.UserPostEnums; +import com.yanzhu.common.core.enums.SubDeptsEnums; +import com.yanzhu.common.core.enums.UserPostEnums; import com.yanzhu.manage.service.*; import com.yanzhu.security.utils.DictUtils; -import com.yanzhu.system.api.domain.SysUser; import com.yanzhu.system.api.model.LoginUser; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java index 8d1d4866..58c1db1c 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/AttendanceUbiDataServiceImpl.java @@ -8,20 +8,17 @@ import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.yanzhu.common.core.context.SecurityContextHolder; import com.yanzhu.common.core.enums.ShiFouEnums; -import com.yanzhu.common.core.enums.UserTypeEnums; import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.AttendanceUbiData; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers; -import com.yanzhu.manage.domain.SurProjectAttendanceData; -import com.yanzhu.manage.enums.SubDeptsEnums; -import com.yanzhu.manage.enums.UserPostEnums; +import com.yanzhu.common.core.enums.SubDeptsEnums; +import com.yanzhu.common.core.enums.UserPostEnums; import com.yanzhu.manage.mapper.AttendanceUbiDataMapper; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsUsersMapper; import com.yanzhu.manage.service.IAttendanceUbiDataService; import com.yanzhu.system.api.domain.SysDictData; -import com.yanzhu.system.api.domain.SysUser; import com.yanzhu.system.mapper.SysDictDataMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BusExamUserServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BusExamUserServiceImpl.java index 500f9f73..777a7768 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BusExamUserServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/BusExamUserServiceImpl.java @@ -11,7 +11,7 @@ import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.*; -import com.yanzhu.manage.enums.CraftTypeEnums; +import com.yanzhu.common.core.enums.CraftTypeEnums; import com.yanzhu.manage.mapper.BusExamInfoMapper; import com.yanzhu.manage.mapper.BusExamQuestionMapper; import com.yanzhu.manage.mapper.BusExamUserMapper; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java index 9ce5de77..d041fe97 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoServiceImpl.java @@ -23,8 +23,6 @@ import com.yanzhu.system.api.domain.SysRole; import com.yanzhu.system.api.domain.SysRoleDept; import com.yanzhu.system.api.domain.SysUser; import net.sourceforge.pinyin4j.PinyinHelper; -import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; -import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -370,24 +368,23 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService * @return */ private String projectPackage(String name,Long deptId){ - // 设置不带声调的输出选项 - HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); - format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); - - StringBuilder output = new StringBuilder(); - for (char c : name.toCharArray()) { - try { - String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format); - if (pinyinArray != null && pinyinArray.length > 0) { - output.append(pinyinArray[0]); - } else { - output.append(c); - } - } catch (Exception e) { - output.append(c); + StringBuilder firstLetters = new StringBuilder(); + for (int i = 0; i < name.length(); i++) { + char ch = name.charAt(i); + if (Character.isWhitespace(ch)) { + continue; // 跳过空格 + } + // 获取拼音首字母 + String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch); + if (pinyinArray != null) { + // 取拼音的首字母并转为大写 + firstLetters.append(pinyinArray[0].charAt(0)); + } else { + // 如果是非汉字字符,直接添加 + firstLetters.append(ch); } } - output.append("_"+deptId); - return output.toString(); + firstLetters.append("_"+deptId); + return firstLetters.toString(); } } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsGroupServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsGroupServiceImpl.java index f6bf02ef..483cac3e 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsGroupServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsGroupServiceImpl.java @@ -1,7 +1,6 @@ package com.yanzhu.manage.service.impl; import cn.binarywang.wx.miniapp.api.WxMaService; -import com.yanzhu.common.core.annotation.Excel; import com.yanzhu.common.core.constant.SecurityConstants; import com.yanzhu.common.core.enums.*; import com.yanzhu.common.core.exception.ServiceException; @@ -12,7 +11,7 @@ import com.yanzhu.manage.config.ProfileConfig; import com.yanzhu.manage.domain.ProProjectInfoSubdepts; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsGroup; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers; -import com.yanzhu.manage.enums.UserPostEnums; +import com.yanzhu.common.core.enums.UserPostEnums; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsGroupMapper; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsMapper; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsUsersMapper; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsServiceImpl.java index 1e3aed79..030fea27 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsServiceImpl.java @@ -1,13 +1,11 @@ package com.yanzhu.manage.service.impl; import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.hutool.core.util.NumberUtil; import com.yanzhu.common.core.constant.CacheConstants; import com.yanzhu.common.core.constant.SecurityConstants; import com.yanzhu.common.core.domain.R; import com.yanzhu.common.core.enums.*; import com.yanzhu.common.core.exception.ServiceException; -import com.yanzhu.common.core.text.Convert; import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.redis.service.RedisService; @@ -17,7 +15,6 @@ import com.yanzhu.manage.domain.ProProjectInfo; import com.yanzhu.manage.domain.ProProjectInfoSubdepts; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsGroup; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers; -import com.yanzhu.manage.enums.*; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsGroupMapper; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsMapper; import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsUsersMapper; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java index 54bafec5..5e53d54e 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java @@ -2,7 +2,6 @@ package com.yanzhu.manage.service.impl; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.hutool.core.util.NumberUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.yanzhu.common.core.constant.SecurityConstants; @@ -619,7 +618,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); proProjectInfoSubdeptsUsers.setUserPost(UserPostEnums.AQRY.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getCraftPost(), CraftPostEnums.CLZY.getCode())){ - sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); + sysUser.setUserType(UserTypeEnums.FBCLRY.getCode()); proProjectInfoSubdeptsUsers.setUserPost(UserPostEnums.CLRY.getCode()); }else{ sysUser.setUserType(UserTypeEnums.FBLWRY.getCode());