瀏覽代碼

云之家认证接口开发,数据库密码加密

9060 1 年之前
父節點
當前提交
2b1c4481d5
共有 62 個文件被更改,包括 402 次插入7205 次删除
  1. 116 52
      app/workSheetSystem/pom.xml
  2. 2 0
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/WorkSheetSystemApplication.java
  3. 7 4
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/Swagger2Config.java
  4. 30 0
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/YunzhijiaURLConfig.java
  5. 0 47
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/AuthorizeControtor.java
  6. 0 50
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/CTWORAttendanceTypeController.java
  7. 0 676
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/EmployeeReportingController.java
  8. 0 38
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/ExceptionController.java
  9. 0 56
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/ProjectController.java
  10. 0 63
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/THRATSWorkCalendarItemController.java
  11. 0 59
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/UserController.java
  12. 0 52
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/WeiXinAuthorizeController.java
  13. 0 70
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/WorkSheetController.java
  14. 0 35
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/AppProJect.java
  15. 0 182
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/CTWORAttendanceType.java
  16. 0 312
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/CTWORWorkSheet.java
  17. 0 61
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBook.java
  18. 0 125
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBooking.java
  19. 0 76
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBookingEntry.java
  20. 0 70
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/Poject.java
  21. 0 17
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/CTWORAttendanceTypeMapper.java
  22. 0 135
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/CTWORAttendanceTypeMapper.xml
  23. 0 70
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/EmployeeReportingMapper.java
  24. 0 588
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/EmployeeReportingMapper.xml
  25. 0 12
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.java
  26. 0 13
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.xml
  27. 0 44
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.java
  28. 0 566
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.xml
  29. 0 6
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/SaveLeaveBillMapper.java
  30. 0 11
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/SaveLeaveBillMapper.xml
  31. 0 34
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/THRATSWorkCalendarItemMapper.java
  32. 0 59
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/THRATSWorkCalendarItemMapper.xml
  33. 0 55
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/UserMapper.java
  34. 0 50
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/UserMapper.xml
  35. 0 95
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/WorkSheetMapper.java
  36. 0 71
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/WorkSheetMapper.xml
  37. 0 19
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/CTWORAttendanceTypeService.java
  38. 0 22
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/FeishuAuthorizeService.java
  39. 5 1
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/PersonService.java
  40. 0 8
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/THRATSWorkCalendarItemService.java
  41. 0 41
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/UserService.java
  42. 0 373
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/WorkSheetService.java
  43. 13 0
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/YunzhijiaService.java
  44. 0 51
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/CTWORAttendanceTypeServiceImpl.java
  45. 0 1532
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/EmployeeReportingServiceImpl.java
  46. 0 149
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/FeishuAuthorizeServiceImpl.java
  47. 16 9
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonServiceImpl.java
  48. 0 181
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/ProjectServiceImpl.java
  49. 0 17
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/SaveLeaveBillServiceImpl.java
  50. 0 40
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/THRATSWorkCalendarItemServiceImpl.java
  51. 0 307
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/WeiXinAuthorizeServiceImpl.java
  52. 124 0
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/YunzhijiaServiceImpl.java
  53. 53 0
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/shiro/DecryptEnvironmentPostProcessor.java
  54. 0 196
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/util/ExpiryMap.java
  55. 0 63
      app/workSheetSystem/src/main/java/com/qy/worksheetsystem/util/ZcWeChatExUtil.java
  56. 二進制
      app/workSheetSystem/src/main/resources/7494583_oa.ysstech.com.pfx
  57. 2 0
      app/workSheetSystem/src/main/resources/META-INF/spring.factories
  58. 0 92
      app/workSheetSystem/src/main/resources/application.YSSyml
  59. 0 110
      app/workSheetSystem/src/main/resources/application.Yss86yml
  60. 0 105
      app/workSheetSystem/src/main/resources/application.localyml
  61. 23 24
      app/workSheetSystem/src/main/resources/application.yml
  62. 11 11
      app/workSheetSystem/src/main/resources/logback-spring.xml

+ 116 - 52
app/workSheetSystem/pom.xml

@@ -17,16 +17,18 @@
         <java.version>1.8</java.version>
     </properties>
     <dependencies>
-        <!--SpringBoot 的aop 模块-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-aop</artifactId>
-        </dependency>
+
         <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
             <version>5.8.17</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit.vintage</groupId>
+                    <artifactId>junit-vintage-engine</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <!--mysql数据库驱动-->
 <!--        <dependency>-->
@@ -34,10 +36,7 @@
 <!--            <artifactId>mysql-connector-java</artifactId>-->
 <!--            <scope>runtime</scope>-->
 <!--        </dependency>-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jdbc</artifactId>
-        </dependency>
+
 <!--        <dependency>-->
 <!--            <groupId>com.alibaba</groupId>-->
 <!--            <artifactId>druid-spring-boot-starter</artifactId>-->
@@ -67,11 +66,11 @@
             <version>3.2.0</version>
         </dependency>
 
-        <!--<dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
             <version>33.2.0-jre</version>
-        </dependency> -->
+        </dependency>
         <!--<dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
@@ -80,43 +79,51 @@
        <!-- 集成swagger接口文档 -->
         <dependency>
             <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.7.0</version>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
         </dependency>
-        <!-- swagger-ui -->
         <dependency>
             <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.7.0</version>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
         </dependency>
-
+        <!--SpringBoot 的aop 模块-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-
+            <artifactId>spring-boot-starter-aop</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.2.2</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jdbc</artifactId>
         </dependency>
+        <!-- <dependency>
+             <groupId>org.springframework.boot</groupId>
+             <artifactId>spring-boot-starter-web</artifactId>
+         </dependency>-->
+          <dependency>
+              <groupId>org.springframework.boot</groupId>
+              <artifactId>spring-boot-starter-web</artifactId>
+              <exclusions>
+                  <exclusion>
+                      <groupId>org.springframework.boot</groupId>
+                      <artifactId>spring-boot-starter-tomcat</artifactId>
+                  </exclusion>
+              </exclusions>
+          </dependency>
         <dependency>
-            <groupId>com.oracle</groupId>
-            <artifactId>ojdbc8</artifactId>
-            <version>12.2.0.1.0</version>
-
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>com.microsoft.sqlserver</groupId>-->
-<!--            <artifactId>mssql-jdbc</artifactId>-->
-<!--            <scope>runtime</scope>-->
-<!--        </dependency>-->
+
+         <dependency>
+             <groupId>org.mybatis.spring.boot</groupId>
+             <artifactId>mybatis-spring-boot-starter</artifactId>
+             <version>2.2.2</version>
+         </dependency>
         <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-cache</artifactId>
         </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
@@ -126,22 +133,40 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter</artifactId>
         </dependency>
+         <!--  <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc8</artifactId>
+            <version>12.2.0.1.0</version>
+            <scope>runtime</scope>
+     </dependency>-->
         <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper</artifactId>
-            <version>5.3.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.7</version>
-        </dependency>
-        <dependency>
-            <groupId>com.github.pagehelper</groupId>
-            <artifactId>pagehelper-spring-boot-starter</artifactId>
-            <version>1.4.7</version>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+            <version>12.8.1.jre8</version>
+
         </dependency>
-        <!-- https://mvnrepository.com/artifact/axis/axis -->
+       <dependency>
+           <groupId>org.projectlombok</groupId>
+           <artifactId>lombok</artifactId>
+           <optional>true</optional>
+       </dependency>
+
+       <dependency>
+           <groupId>com.github.pagehelper</groupId>
+           <artifactId>pagehelper</artifactId>
+           <version>5.3.3</version>
+       </dependency>
+       <dependency>
+           <groupId>org.apache.commons</groupId>
+           <artifactId>commons-lang3</artifactId>
+           <version>3.7</version>
+       </dependency>
+       <dependency>
+           <groupId>com.github.pagehelper</groupId>
+           <artifactId>pagehelper-spring-boot-starter</artifactId>
+           <version>1.4.7</version>
+       </dependency>
+       <!-- https://mvnrepository.com/artifact/axis/axis -->
         <dependency>
             <groupId>axis</groupId>
             <artifactId>axis</artifactId>
@@ -151,14 +176,29 @@
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>
+
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cache</artifactId>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>1.2.3</version> <!-- 使用最新的版本 -->
+        </dependency>
+        <dependency>
+            <groupId>com.kingdee.ksql</groupId>   <!--自定义-->
+            <artifactId>ksql-sdk</artifactId>  <!--自定义-->
+            <version>0.0.1-SNAPSHOT</version>  <!--自定义-->
+            <scope>system</scope>
+            <!--jar包路径 注意:这里用的是  {pom.basedir}-->
+            <systemPath>${pom.basedir}/lib/ksql.jar</systemPath>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <version>3.8.2</version>
+            </plugin>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
@@ -169,6 +209,30 @@
                             <artifactId>lombok</artifactId>
                         </exclude>
                     </excludes>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.asciidoctor</groupId>
+                <artifactId>asciidoctor-maven-plugin</artifactId>
+                <version>1.5.6</version>
+                <configuration>
+                    <!--上一步生成的asciidoc文件路径-->
+                    <sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
+                    <!--HTML生成路径-->
+                    <outputDirectory>src/docs/asciidoc/html</outputDirectory>
+                    <headerFooter>true</headerFooter>
+                    <doctype>book</doctype>
+                    <backend>html</backend>
+                    <sourceHighlighter>coderay</sourceHighlighter>
+                    <attributes>
+                        <!--菜单栏在左边-->
+                        <toc>left</toc>
+                        <!--多标题排列-->
+                        <toclevels>3</toclevels>
+                        <!--自动打数字序号-->
+                        <sectnums>true</sectnums>
+                    </attributes>
                 </configuration>
             </plugin>
         </plugins>
@@ -182,7 +246,7 @@
             <resource>
                 <directory>src/main/resources</directory>
                 <includes>
-                    <include>**/*.* </include>
+                    <include>**/*.*</include>
                 </includes>
             </resource>
         </resources>

+ 2 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/WorkSheetSystemApplication.java

@@ -6,9 +6,11 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cache.annotation.EnableCaching;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
 @ServletComponentScan
 @SpringBootApplication
+@EnableCaching
 @MapperScan(basePackages = "com.qy.worksheetsystem.model.mapper")
 public class WorkSheetSystemApplication {
 

+ 7 - 4
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/Swagger2Config.java

@@ -3,6 +3,7 @@ package com.qy.worksheetsystem.config;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 import springfox.documentation.builders.ApiInfoBuilder;
 import springfox.documentation.builders.PathSelectors;
@@ -26,8 +27,10 @@ import static com.google.common.collect.Lists.newArrayList;
  */
 @Configuration
 @EnableSwagger2
-public class Swagger2Config extends WebMvcConfigurerAdapter {
-
+public class Swagger2Config extends WebMvcConfigurationSupport {
+    //api接口包扫描路径
+    private static final String SWAGGER_SCAN_BASE_PACKAGE = "com.qy.worksheetsystem.controller";
+    private static final String VERSION = "1.0.0";
     @Override
     public void addResourceHandlers(ResourceHandlerRegistry registry) {
 
@@ -43,7 +46,7 @@ public class Swagger2Config extends WebMvcConfigurerAdapter {
         return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())
                 .select()
-                .apis(RequestHandlerSelectors.basePackage("com.qy.worksheetsystem.controller"))
+                .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BASE_PACKAGE))
                 .paths(PathSelectors.any())
                 .build();
     }
@@ -57,7 +60,7 @@ public class Swagger2Config extends WebMvcConfigurerAdapter {
                 //创建人
                 .contact(new Contact("he", "", ""))
                 //版本号
-                .version("1.0")
+                .version(VERSION)
                 //描述
                 .description("报工后台api")
                 .build();

+ 30 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/YunzhijiaURLConfig.java

@@ -0,0 +1,30 @@
+package com.qy.worksheetsystem.config;
+
+/**云之家轻应用
+ * @BelongsProject: workSheetSystem
+ * @BelongsPackage: com.qy.worksheetsystem.config
+ * @Author: lhbj
+ * @CreateTime: 2024-12-02  17:53
+ * @Description: TODO
+ * @Version: 1.0
+ */
+public class YunzhijiaURLConfig {
+    /** 获取accessToken接口
+     * @description:
+     * @author:
+     * @date: 2024/12/2 17:55
+     * @param: null
+     * @return:null
+     **/
+    public static final String getAccessToken="https://www.yunzhijia.com/gateway/oauth2/token/getAccessToken";
+
+    /**根据ticket解析用户身份(单点登录)
+     * @description:
+     * @author: lhbj
+     * @date: 2024/12/2 19:41
+     * @param: null
+     * @return:null
+     **/
+    public static final String acquirecontext="https://www.yunzhijia.com/gateway/ticket/user/acquirecontext?accessToken=";
+
+}

+ 0 - 47
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/AuthorizeControtor.java

@@ -1,47 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.FeishuAuthorizeService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Map;
-
-/**
- * @BelongsProject: workSheetSystem
- * @BelongsPackage: com.qy.worksheetsystem.controller
- * @Author: lhbj
- * @CreateTime: 2024-11-26  20:11
- * @Description: TODO
- * @Version: 1.0
- */
-@Api(value = "飞书" ,tags="飞书")    //将类标记为 Swagger 资源。
-@RestController
-@RequestMapping("/timeSheet")
-public class AuthorizeControtor {
-
-    @Autowired
-    private FeishuAuthorizeService feishuAuthorizeService;
-
-    @ApiOperation(value = "构造网页授权链接", notes = "构造网页授权链接")
-    @RequestMapping(value ="/getRedirectUri",method = RequestMethod.GET)
-    public MessageResult authorize(@RequestParam("redirect_uri") String redirect_uri) {
-        return MessageResult.success().add("url", feishuAuthorizeService.authorize(redirect_uri, "RANDOMSTRING"));
-    }
-    @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
-    @RequestMapping(value ="/getUserInfo",method = RequestMethod.GET)
-    public MessageResult getUserInfo(@RequestParam("redirect_uri") String redirect_uri,@RequestParam("code") String code) {
-        Map<String,String> map = feishuAuthorizeService.getUserInfo(redirect_uri,code);
-        MessageResultV2 messageResult= MessageResultV2.success();
-        messageResult.setData(map);
-        return messageResult;
-    }
-
-
-}

+ 0 - 50
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/CTWORAttendanceTypeController.java

@@ -1,50 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.impl.CTWORAttendanceTypeServiceImpl;
-import com.qy.worksheetsystem.util.JWTUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-import java.util.Map;
-
-@Api(tags = "获取考勤类型:报工接口:3.4")
-@RestController
-@RequestMapping("/timeSheet")
-public class CTWORAttendanceTypeController {
-    @Autowired
-    private CTWORAttendanceTypeServiceImpl attendanceTypeServiceImpl;
-
-    @ApiOperation(value = "获取考勤类型")
-    @GetMapping("/getAttendanceTypeList")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-    })
-    public MessageResult selectIDName(@RequestHeader("token") String token, String state) {
-        String number = JWTUtil.getNumber(token);
-        if(StringUtils.isEmpty(number)){
-            return MessageResult.error("token异常");
-        }
-        if(StringUtils.isEmpty(state)){
-            state="2";
-        }
-        List<Map<String, String>> ctworAttendanceTypes = attendanceTypeServiceImpl.getAttendanceTypeV2(number,state);
-        if (ctworAttendanceTypes.size() == 0) {
-            return MessageResult.error("暂无数据");
-        } else {
-            MessageResultV2 messageResult= MessageResultV2.success();
-            messageResult.setData(ctworAttendanceTypes);
-            return messageResult;
-        }
-    }
-}

+ 0 - 676
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/EmployeeReportingController.java

@@ -1,676 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-
-import com.qy.worksheetsystem.entity.AppProJect;
-import com.qy.worksheetsystem.entity.Poject;
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.impl.EmployeeReportingServiceImpl;
-import com.qy.worksheetsystem.util.JWTUtil;
-
-import com.qy.worksheetsystem.vo.InsertJobBookingEnteyVO;
-import com.qy.worksheetsystem.vo.InsertJobBookingVO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.*;
-
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-
-import java.time.Month;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
-/**
- * description: EmployeeReportingController <br>
- * date: 2022/3/10 14:42 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@RestController
-@RequestMapping("/timeSheet")
-@Api(value = "员工报工", tags = "员工报工")
-public class EmployeeReportingController {
-
-    @Value("${HR.AttendanceType}")
-    private String AttendanceType;
-
-    @Autowired
-    private EmployeeReportingServiceImpl service;
-    @ApiOperation(value = "员工报工专员新增", notes = "员工报工专员新增")
-    @RequestMapping(value = "/insertV3", method = RequestMethod.POST)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-    })
-    public MessageResult insertV3(@RequestHeader("token") String token, @RequestBody InsertJobBookingVO param
-    ) {
-        try {
-            String beginTime = param.getBeginTime();
-            String endTime = param.getEndTime();
-            String workingHours = param.getWorkingHours();
-            String state = param.getState();
-
-//        List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-//        String projectId = param.getProjectId();
-
-            Map<String, Object> map = new HashMap<>();
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-            //校验日期
-            Date beginDate = format.parse(beginTime);
-            map.put("beginDate", beginDate);
-            Date endDate = format.parse(endTime);
-            map.put("endDate", endDate);
-            Map<String, Object> person = service.getShrPersonInfo(number);
-            Date enterDate = (Date) person.get("enterDate");
-            if(enterDate.compareTo(beginDate)>0){
-                return MessageResult.error("不能填报,入职日期之前的日期!");
-            }
-
-            Integer Hours = 0;
-
-            List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-            for (InsertJobBookingEnteyVO enteyVO : attendanceList) {
-                String attendanceType = enteyVO.getAttendanceType();
-                param.setAttendanceType(attendanceType);
-                if(StringUtils.isEmpty(param.getAttendanceType())){
-                    return MessageResult.error("考勤类型为空异常!");
-                }
-                map.put("attendanceType", attendanceType);
-                int Hour = Integer.valueOf(enteyVO.getWorkingHours());
-                Hours += Hour;
-                if (AttendanceType.equals(param.getAttendanceType())) {
-                    MessageResult result = service.checkAttWinter(number, beginTime, endTime, Hour);
-                    if (result.getCode() != 200) {
-                        return result;
-                    }
-                }
-
-            }
-            if (Hours > 8) {
-                return MessageResult.error("报工小时数不能大于8小时");
-            }
-            workingHours = Hours.toString();
-            param.setWorkingHours(workingHours);
-            String projectId = param.getProjectId();
-            if (StringUtils.isBlank(projectId)) {
-                return MessageResult.error("项目id为空");
-            }
-            map.put("number", number);
-            map.put("beginTime", beginTime);
-            map.put("endTime", endTime);
-            //每月7号24点为工时申报截点,不能申报上个月的工时
-
-//            if (!service.checkAvailableDate(beginTime)) {
-//                return MessageResult.error("已过7号,不能填报上个月!");
-//            }
-            map.put("workingHours", workingHours);
-            map.put("projectId", projectId);
-            map.put("state", state);
-            System.out.println(param);
-            List<Map<String, Object>> list = service.getPPWorkDetail(map);
-            StringBuilder errMsg = new StringBuilder();
-            for (Map<String, Object> temp : list) {
-                if (null != temp.get("workingHours")) {
-                    String cfcalendarType = temp.get("cfcalendarType").toString();
-                    String working = temp.get("workingHours").toString();
-                    if (!("0".equals(cfcalendarType))) {
-                        errMsg.append("\r\n");
-                        errMsg.append(temp.get("CFYsName") + "_" + temp.get("CFReportDate") + "员工:" + temp.get("CFNameAndNumber") + ",已填报(休息日/节假日)!");
-                    }
-                    if ((Integer.parseInt(working) + Hours) > 8) {
-                        errMsg.append("\r\n");
-                        errMsg.append(temp.get("CFYsName") + "_" + temp.get("CFReportDate") + "员工:" + temp.get("CFNameAndNumber") + ",已填报" + working + "小时,不能再填报" + workingHours + "; ");
-                    }
-                }
-            }
-            if (errMsg.length() > 1) {
-                MessageResult result = new MessageResult();
-                result.setCode(500);
-                result.setMsg(errMsg.toString());
-                return result;
-            }
-
-            return service.insertV3(number, param);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "员工报工新增", notes = "员工报工新增")
-    @RequestMapping(value = "/insert", method = RequestMethod.POST)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-    })
-    public MessageResult insert(@RequestHeader("token") String token, @RequestBody InsertJobBookingVO param
-    ) {
-        try {
-            String beginTime = param.getBeginTime();
-            String endTime = param.getEndTime();
-            String workingHours = param.getWorkingHours();
-            String state = param.getState();
-
-//        List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-//        String projectId = param.getProjectId();
-
-            Map<String, Object> map = new HashMap<>();
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-            //校验日期
-            Date beginDate = format.parse(beginTime);
-            map.put("beginDate", beginDate);
-            Date endDate = format.parse(endTime);
-            map.put("endDate", endDate);
-            Map<String, Object> person = service.getShrPersonInfo(number);
-            Date enterDate = (Date) person.get("enterDate");
-            if(enterDate.compareTo(beginDate)>0){
-                return MessageResult.error("不能填报,入职日期之前的日期!");
-            }
-
-            Integer Hours = 0;
-
-            List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-            for (InsertJobBookingEnteyVO enteyVO : attendanceList) {
-                String attendanceType = enteyVO.getAttendanceType();
-                param.setAttendanceType(attendanceType);
-                if(StringUtils.isEmpty(param.getAttendanceType())){
-                    return MessageResult.error("考勤类型为空异常!");
-                }
-                map.put("attendanceType", attendanceType);
-                int Hour = Integer.valueOf(enteyVO.getWorkingHours());
-                Hours += Hour;
-                if (AttendanceType.equals(param.getAttendanceType())) {
-                    MessageResult result = service.checkAttWinter(number, beginTime, endTime, Hour);
-                    if (result.getCode() != 200) {
-                        return result;
-                    }
-                }
-
-            }
-            if (Hours > 8) {
-                return MessageResult.error("报工小时数不能大于8小时");
-            }
-            workingHours = Hours.toString();
-            param.setWorkingHours(workingHours);
-            String projectId = param.getProjectId();
-            if (StringUtils.isBlank(projectId)) {
-                return MessageResult.error("项目id为空");
-            }
-            map.put("number", number);
-            map.put("beginTime", beginTime);
-            map.put("endTime", endTime);
-            //每月7号24点为工时申报截点,不能申报上个月的工时
-
-            if (!service.checkAvailableDate(beginTime)) {
-               return MessageResult.error("已过7号,不能填报上个月!");
-            }
-            map.put("workingHours", workingHours);
-            map.put("projectId", projectId);
-            map.put("state", state);
-            System.out.println(param);
-            List<Map<String, Object>> list = service.getPPWorkDetail(map);
-            StringBuilder errMsg = new StringBuilder();
-            for (Map<String, Object> temp : list) {
-                if (null != temp.get("workingHours")) {
-                    String cfcalendarType = temp.get("cfcalendarType").toString();
-                    String working = temp.get("workingHours").toString();
-                    if (!("0".equals(cfcalendarType))) {
-                        errMsg.append("\r\n");
-                        errMsg.append(temp.get("CFYsName") + "_" + temp.get("CFReportDate") + "员工:" + temp.get("CFNameAndNumber") + ",已填报(休息日/节假日)!");
-                    }
-                    if ((Integer.parseInt(working) + Hours) > 8) {
-                        errMsg.append("\r\n");
-                        errMsg.append(temp.get("CFYsName") + "_" + temp.get("CFReportDate") + "员工:" + temp.get("CFNameAndNumber") + ",已填报" + working + "小时,不能再填报" + workingHours + "; ");
-                    }
-                }
-            }
-            if (errMsg.length() > 1) {
-                MessageResult result = new MessageResult();
-                result.setCode(500);
-                result.setMsg(errMsg.toString());
-                return result;
-            }
-
-            return service.insertV2(number, param);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-
-
-    }
-
-    @ApiOperation(value = "3.9 指定日期驳回、通过", notes = "只需要传:detailId,state")
-    @PostMapping("/approvalProject")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-    })
-    public MessageResult approvalProject(@RequestHeader("token") String token, @RequestBody AppProJect appProJect) {
-        try {
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("请登录!");
-            }
-            switch (appProJect.getStatus()) {
-                case "3":
-                    break;
-                case "4":
-                    break;
-                default:
-                    return MessageResult.error("提交状态异常:只能提交(3:通过;4:驳回;);");
-            }
-
-            return service.approvalProject(number, appProJect);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-
-    @ApiOperation(value = "获取员工月份报工明细", notes = "获取员工月份报工明细")
-    @RequestMapping(value = "/getPersonWorkDetail", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "month", value = "报工月份字符串,格式:yyyy-MM", required = true, paramType = "query", dataType = "String")
-    })
-    public MessageResult getPersonWorkDetail(@RequestHeader("token") String token, String month) {
-        try {
-            Map<String, Object> map = new HashMap<>();
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            Map<String, Object> result = service.getPersonWorkDetail(number, month);
-            MessageResult messageResult = MessageResult.success();
-            messageResult.setData(result);
-            return messageResult;
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "获取报工明细数据(审核)", notes = "获取报工明细数据(审核)")
-    @RequestMapping(value = "/getTimeSheetDetail", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "projectId", value = "项目id", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "audited", value = "是否审核", paramType = "query", dataType = "Boolean")
-
-    })
-    public MessageResult getTimeSheetDetail(@RequestHeader("token") String token, String projectId, String month, Boolean audited) {
-        try {
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            String state = "";
-            if (null != audited) {
-                if (audited) {
-                    state = "1";
-                } else {
-                    state = "0";
-                }
-            }
-            Poject poject = service.getTimeSheetDetailV2(number, projectId, month, state);
-            MessageResultV2 messageResult = MessageResultV2.success();
-            messageResult.setData(poject);
-            return messageResult;
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResultV2.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "获取员工当前月份报工单", notes = "获取员工当前月份报工单")
-    @RequestMapping(value = "/getMonthWorkSheet", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "committed", value = "", paramType = "query", dataType = "Boolean")
-
-    })
-    public MessageResult getMonthWorkSheet(@RequestHeader("token") String token, String month, Boolean committed) {
-        try {
-
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            String state = "";
-            if (null != committed) {
-                if (committed) {
-                    state = "1";
-                } else {
-                    state = "0";
-                }
-            }
-            List<Map<String, Object>> list = service.getMonthWorkSheet(number, month, state);
-            MessageResultV2 messageResult = MessageResultV2.success();
-            messageResult.setData(list);
-            return messageResult;
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "删除员工当前月份报工单", notes = "删除员工当前月份报工单")
-    @RequestMapping(value = "/deleteSheet", method = RequestMethod.POST)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-    })
-    public MessageResult deleteSheet(@RequestHeader("token") String token, @RequestBody Map<String, String> timeSheetId) {
-        try {
-
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            String id = (String) timeSheetId.get("timeSheetId");
-            if (StringUtils.isEmpty(id)) {
-                return MessageResult.error("timeSheetId异常");
-            }
-            return service.deleteSheet(number, id);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "获取审核员待办、已办", notes = "获取审核员待办、已办")
-    @RequestMapping(value = "/getAudited", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "audited", value = "是否已经审核", required = true, paramType = "query", dataType = "Boolean"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)",  paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "page", value = "页码", paramType = "query", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "size", value = "每页条数", paramType = "query", required = true, dataType = "Integer")
-    })
-    public MessageResult getAudited(@RequestHeader("token") String token, Boolean audited,String month, Integer page, Integer size) {
-        try {
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            String audit = "";
-            if (null != audited) {
-                if (audited) {
-                    audit = "1";
-                } else {
-                    audit = "0";
-                }
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            return service.getAudited(number, month,audit, page, size);
-
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-    @ApiOperation(value = "new]获取指定员工的审核员待办、已办列表", notes = "new]获取指定员工的审核员待办、已办列表(判断当前审核员是否有该员工的审核权限)")
-    @RequestMapping(value = "/getEmpAudited", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "audited", value = "是否未经审核",  paramType = "query", dataType = "Boolean"),
-            @ApiImplicitParam(name = "empNumber", value = "指定员工工号",  paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)", required = true,  paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "page", value = "页码", paramType = "query", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "size", value = "每页条数", paramType = "query", required = true, dataType = "Integer")
-    })
-    public MessageResult getEmpAudited(@RequestHeader("token") String token, Boolean audited,String empNumber,String month, Integer page, Integer size) {
-        try {
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            String audit = "";
-            if (null != audited) {
-                if ( audited) {
-                    audit = "1";
-                } else {
-                    audit = "0";
-                }
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            return service.getEmpAudited(number,empNumber, audit,month, page, size);
-
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "[new]获取审核员待办相关的员工列表", notes = "[new]获取审核员待办相关的员工列表(判断当前审核员是否有该员工的审核权限)")
-    @RequestMapping(value = "/getEmpList", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "audited", value = "是否已经审核", paramType = "query", dataType = "Boolean"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)", required = true,  paramType = "query", dataType = "String"),
-
-    })
-    public MessageResult getEmpList(@RequestHeader("token") String token, Boolean audited,String month) {
-        try {
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            String audit = "";
-            if (null != audited) {
-                if (audited) {
-                    audit = "1";
-                } else {
-                    audit = "0";
-                }
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("month为空");
-            }
-            if (!(month.length() == 7)) {
-                return MessageResult.error("month(yyyy-MM)格式异常:" + month);
-            }
-            String[] monthArr = month.split("-");
-            if (null == monthArr[0] || null == monthArr[0]) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            if (Integer.parseInt(monthArr[0]) <= 1000 || Integer.parseInt(monthArr[1]) < 1 || Integer.parseInt(monthArr[1]) > 12) {
-                return MessageResult.error("month格式异常:" + month);
-            }
-            return service.getEmpList(number, audit,month, 0, 0);
-
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "根据id获取员工报工信息", notes = "根据id获取员工报工信息")
-    @RequestMapping(value = "/getWorkSheetById", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "timeSheetId", value = "报工id", required = true, paramType = "query", dataType = "String"),
-    })
-    public MessageResult getWorkSheetById(@RequestHeader("token") String token, String timeSheetId) {
-        try {
-
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            if (StringUtils.isEmpty(timeSheetId)) {
-                return MessageResult.error("timeSheetId异常");
-            }
-            return service.getWorkSheetById(number, timeSheetId);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "校验年假", notes = "校验年假")
-    @RequestMapping(value = "/checkAttWinter", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "beginTime", value = "开始时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "endTime", value = "结束时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "workingHour", value = "工时", required = true, paramType = "query", dataType = "Integer"),
-    })
-    public MessageResult checkAttWinter(@RequestHeader("token") String token, String beginTime, String endTime, Integer workingHour) {
-        try {
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            return service.checkAttWinter(number, beginTime, endTime, workingHour);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "校验可填报日期", notes = "校验可填报日期")
-    @RequestMapping(value = "/checkAvailableDate", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "beginTime", value = "开始时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
-    })
-    public MessageResult checkAvailableDate(@RequestHeader("token") String token, String beginTime) {
-        try {
-
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            MessageResultV2 resultV2 = MessageResultV2.success();
-            resultV2.setData(service.checkAvailableDate(beginTime));
-            return resultV2;
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    @ApiOperation(value = "获取员工报工合计", notes = "获取员工报工合计")
-    @RequestMapping(value = "/getJobDayByPerson", method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
-            @ApiImplicitParam(name = "month", value = "月份(yyyy-MM)", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "projectId", value = "项目id", paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "type", value = "考勤类型id", paramType = "query", dataType = "String"),
-    })
-    public MessageResult getJobDayByPerson(@RequestHeader("token") String token, String month, String projectId, String type) {
-        try {
-            String number = JWTUtil.getNumber(token);
-            if (StringUtils.isEmpty(number)) {
-                return MessageResult.error("token异常");
-            }
-            if (StringUtils.isEmpty(month)) {
-                return MessageResult.error("月份不能为空");
-            }
-            String[] monthArr = month.split("-");
-            int year = Integer.parseInt(monthArr[0]);
-            Month month1 = Month.of(Integer.parseInt(monthArr[1]));
-            LocalDate beginDate = LocalDate.of(year, month1, 1);
-            LocalDate endDate = LocalDate.of(Integer.parseInt(monthArr[0]), month1, month1.length(beginDate.isLeapYear()));
-            return service.getJobDayByPerson(number,
-                    beginDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                    endDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                    projectId, type);
-        } catch (Exception e) {
-            log.error(e.getMessage(),e);
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-
-
-}

+ 0 - 38
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/ExceptionController.java

@@ -1,38 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import org.apache.shiro.ShiroException;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @author he
- * @date 2022/2/28
- * @description 对异常进行返回处理
- */
-@RestControllerAdvice
-public class ExceptionController {
-
-    // 捕捉shiro的异常
-    @ExceptionHandler(ShiroException.class)
-    public MessageResult handle401() {
-        return MessageResult.noPermission().add("info", "您没有权限访问!");
-    }
-
-    // 捕捉其他所有异常
-    @ExceptionHandler(Exception.class)
-    public MessageResult globalException(HttpServletRequest request, Throwable ex) {
-        return MessageResult.code(getStatus(request).value()).add("info", "访问出错,无法访问: " + ex.getMessage());
-    }
-
-    private HttpStatus getStatus(HttpServletRequest request) {
-        Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
-        if (statusCode == null) {
-            return HttpStatus.INTERNAL_SERVER_ERROR;
-        }
-        return HttpStatus.valueOf(statusCode);
-    }
-}

+ 0 - 56
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/ProjectController.java

@@ -1,56 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.impl.ProjectServiceImpl;
-import com.qy.worksheetsystem.util.JWTUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-
-/**
- * description: ProjectController <br>
- * date: 2022/3/12 10:15 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@RestController
-@RequestMapping("/timeSheet")
-@Api(value = "员工项目",tags="员工项目")
-public class ProjectController {
-
-    @Autowired
-    private ProjectServiceImpl service;
-
-    @ApiOperation(value = "员工项目", notes = "员工项目")
-    @RequestMapping(value ="/getProjectList",method = RequestMethod.GET)
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-            @ApiImplicitParam(name="id",value="项目id;不传查询员工所有项目信息",defaultValue="",paramType="query",dataType="String"),
-            @ApiImplicitParam(name="month",value="月份(yyyy-MM)",defaultValue="",paramType="query",dataType="String"),
-
-    })
-    public MessageResult getProjectList(@RequestHeader("token") String token,String id,String month) {
-        MessageResult result=null;
-        try {
-            String number = JWTUtil.getNumber(token);
-            if(StringUtils.isEmpty(number)){
-                return MessageResult.error("token异常");
-            }
-            MessageResultV2 messageResult= MessageResultV2.success();
-            messageResult.setData(service.getProjectList(number,id,month));
-            return messageResult;
-        }catch (Exception e){
-            log.error(e.getMessage(),e);
-            result = MessageResult.error(e.getMessage());
-        }
-        return result;
-    }
-}

+ 0 - 63
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/THRATSWorkCalendarItemController.java

@@ -1,63 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.impl.THRATSWorkCalendarItemServiceImpl;
-import com.qy.worksheetsystem.util.DateUtil;
-import com.qy.worksheetsystem.util.JWTUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-@Api(value = "获取工作日历" ,tags="获取工作日历")    //将类标记为 Swagger 资源。
-@RestController
-@RequestMapping("/timeSheet")
-public class THRATSWorkCalendarItemController {
-    @Autowired
-    private THRATSWorkCalendarItemServiceImpl thratsWorkCalendarItemServiceImpl;
-
-    @ApiOperation(value = "获取工作日历")
-    @GetMapping("/getWorkCalendar")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-            @ApiImplicitParam(name="startDate",value="开始日期",required=true,paramType="query",dataType="String"),
-            @ApiImplicitParam(name="endDate",value="结束日期",required=true,paramType="query",dataType="String"),
-            })
-    public MessageResult selectWorkCalendar(@RequestHeader("token") String token,String startDate, String endDate) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        String number = JWTUtil.getNumber(token);
-        if(StringUtils.isEmpty(number)){
-            return MessageResult.error("token异常");
-        }
-        if (DateUtil.isValidDate(startDate, endDate) == false) {
-            return MessageResult.error("请输入正确的日期时间,日期格式例如2022-01-01");
-        }
-
-        Date start = sdf.parse(startDate);
-        Date end = sdf.parse(endDate);
-
-        if (start.getTime() > end.getTime()) {
-            return MessageResult.error("开始时间不能大于结束时间");
-        }
-
-        Map<String, String> map = new HashMap<>();
-        map.put("startDate", startDate);
-        map.put("endDate", endDate);
-        List<Map<String, String>> selectWorkCalendar = thratsWorkCalendarItemServiceImpl.selectWorkCalendar(map);
-        MessageResultV2 messageResult= MessageResultV2.success();
-        messageResult.setData(selectWorkCalendar);
-        return messageResult;
-    }
-}
-

+ 0 - 59
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/UserController.java

@@ -1,59 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.service.UserService;
-import com.qy.worksheetsystem.util.JWTUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.Logical;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.apache.shiro.authz.annotation.RequiresRoles;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.io.UnsupportedEncodingException;
-
-/**
- * @description 测试
- */
-
-@RestController
-@Api(value = "测试Controller")
-public class UserController {
-    @Autowired
-    private UserService userService;
-
-    @ApiOperation(value = "用户登录", notes = "登录--不进行拦截")
-    @PostMapping("/getRedirectUri")
-    public MessageResult login(@RequestParam("number") String number) {
-        String realPassword = userService.getPassword(number);
-        if (realPassword == null) {
-            return MessageResult.fail().add("info", "用户名错误");
-        } else if (!realPassword.equals(number)) {
-            return MessageResult.fail().add("info", "密码错误");
-        } else {
-            return MessageResult.success().add("token", JWTUtil.createToken(number));
-        }
-    }
-
-    @ApiOperation(value = "无权限", notes = "无权限跳转的接口")
-    @RequestMapping(path = "/getRedirectUri/{message}")
-    public MessageResult unauthorized(@PathVariable String message) throws UnsupportedEncodingException {
-        return MessageResult.fail().add("info", message);
-    }
-
-    @ApiOperation(value = "特定用户访问", notes = "拥有 user, admin 角色的用户可以访问下面的页面")
-    @PostMapping("/getMessage")
-    @RequiresRoles(logical = Logical.OR, value = {"user", "admin"})
-    public MessageResult getMessage() {
-        return MessageResult.success().add("info", "成功获得信息!");
-    }
-
-    @ApiOperation(value = "Vip用户访问", notes = "拥有 vip 权限可以访问该页面")
-    @PostMapping("/getVipMessage")
-    @RequiresRoles(logical = Logical.OR, value = {"user", "admin"})
-    @RequiresPermissions("vip")
-    public MessageResult getVipMessage() {
-        return MessageResult.success().add("info", "成功获得 vip 信息!");
-    }
-}

+ 0 - 52
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/WeiXinAuthorizeController.java

@@ -1,52 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.impl.WeiXinAuthorizeServiceImpl;
-import com.qy.worksheetsystem.util.JWTUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Map;
-
-/**
- * description: WeiXinAuthorizeController <br>
- * date: 2022/3/7 14:30 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@RestController
-@RequestMapping("/timeSheet")
-@Api(value = "企业微信",tags="企业微信")
-public class WeiXinAuthorizeController {
-
-    @Autowired
-    private WeiXinAuthorizeServiceImpl weiXinAuthorizeService;
-
-    @ApiOperation(value = "构造网页授权链接", notes = "构造网页授权链接")
-    @RequestMapping(value ="/getRedirectUri",method = RequestMethod.GET)
-    public MessageResult authorize(@RequestParam("redirect_uri") String redirect_uri) {
-        return MessageResult.success().add("url", weiXinAuthorizeService.authorize(redirect_uri, ""));
-    }
-
-    @ApiOperation(value = "获取用户信息", notes = "获取用户信息")
-    @RequestMapping(value ="/getUserInfo",method = RequestMethod.GET)
-    public MessageResult getUserInfo(@RequestParam("code") String code) {
-        Map<String,Object> map = weiXinAuthorizeService.getPersonInfo(code);
-        MessageResult messageResult= MessageResult.success();
-        messageResult.setData(map);
-        return messageResult;
-    }
-    @ApiOperation(value = "获取Token", notes = "获取Token")
-    @RequestMapping(value ="/getToken",method = RequestMethod.GET)
-    public MessageResult getToken(@RequestParam("personNum")String personNum, @RequestParam("userId")String userId){
-        String token = JWTUtil.createToken(personNum,userId);
-        MessageResultV2 messageResult= MessageResultV2.success();
-        messageResult.setData(token);
-        return messageResult;
-    }
-
-}

+ 0 - 70
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/WorkSheetController.java

@@ -1,70 +0,0 @@
-package com.qy.worksheetsystem.controller;
-
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.service.WorkSheetService;
-import com.qy.worksheetsystem.util.JWTUtil;
-import com.qy.worksheetsystem.vo.CancelOnDateVO;
-import com.qy.worksheetsystem.vo.WorkSheetVO;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-
-/**
- * date: 2022/3/19 14:42 <br>
- * author: hjb <br>
- * version: 1.0 <br>
- */
-@RestController
-@RequestMapping("/timeSheet")
-@Api(tags = "报工接口:3.10;3.12")
-public class WorkSheetController {
-
-    @Autowired
-    private WorkSheetService workSheetService;
-
-    @ApiOperation(value = "3.12 员工指定日期撤回", notes = "员工撤回(包括指定日期:指定日期使用detailId,整体单据使用timeSheetId;审核员指定通过的单退回();status不需要传")
-    @PostMapping("/cancelOnDate")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-    })
-    public MessageResult cancelOnDate(@RequestHeader("token") String token,@RequestBody CancelOnDateVO cancelOnDateVO) {
-        String number = JWTUtil.getNumber(token);
-        if(StringUtils.isEmpty(number)){
-            return MessageResult.error("请登录!");
-        }
-        System.out.println(cancelOnDateVO.toString());
-        return workSheetService.cancelOnDate(number,cancelOnDateVO);
-    }
-
-    @ApiOperation(value = "3.10 指定日期驳回、通过", notes = "只需要传:detailId,state")
-    @PostMapping("/appProjectOnDate")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-    })
-    public MessageResult appProjectOnDate(@RequestHeader("token") String token, @RequestBody CancelOnDateVO cancelOnDateVO) {
-        String number = JWTUtil.getNumber(token);
-        if(StringUtils.isEmpty(number)){
-            return MessageResult.error("请登录!");
-        }
-        return workSheetService.appProjectOnDate(number,cancelOnDateVO);
-    }
-
-    @ApiOperation(value = "3.13 员工修改报工数据", notes = "")
-    @PostMapping("/update")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name="token",value="token",required=true,paramType="header",dataType="String"),
-    })
-    public MessageResult update(@RequestHeader("token") String token, @RequestBody WorkSheetVO workSheetVO) {
-        String number = JWTUtil.getNumber(token);
-        if(StringUtils.isEmpty(number)){
-            return MessageResult.error("请登录!");
-        }
-        return workSheetService.update(number,workSheetVO);
-    }
-}

+ 0 - 35
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/AppProJect.java

@@ -1,35 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * description: AppProJect <br>
- * date: 2022/3/21 14:31 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Data
-public class AppProJect {
-    private String status;
-    private String timeSheetIds;
-
-
-    public String getTimeSheetIds() {
-        return timeSheetIds;
-    }
-
-    public void setTimeSheetIds(String timeSheetIds) {
-        this.timeSheetIds = timeSheetIds;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-}

+ 0 - 182
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/CTWORAttendanceType.java

@@ -1,182 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import java.util.Date;
-
-public class CTWORAttendanceType {
-    private String FName_l1;
-    private String FName_l2;
-    private String FName_l3;
-    private String FNumber;
-    private String FDescription_l1;
-    private String FDescription_l2;
-    private String FDescription_l3;
-    private String FSimpleName;
-    private String FID;
-    private String FCreatorID;
-    private Date FCreateTime;
-    private String FLastUpdateUserID;
-    private Date FLastUpdateTime;
-    private String FTreeID;
-    private String FControlUnitID;
-    private String CFAttendanceID;
-    private String CFAttendanceName;
-
-    public CTWORAttendanceType(String FNamel1, String FName_l2, String FName_l3, String FNumber, String FDescription_l1, String FDescription_l2, String FDescription_l3, String FSimpleName, String FID, String FCreatorID, Date FCreateTime, String FLastUpdateUserID, Date FLastUpdateTime, String FTreeID, String FControlUnitID, String CFAttendanceID, String CFAttendanceName) {
-        this.FName_l1 = FNamel1;
-        this.FName_l2 = FName_l2;
-        this.FName_l3 = FName_l3;
-        this.FNumber = FNumber;
-        this.FDescription_l1 = FDescription_l1;
-        this.FDescription_l2 = FDescription_l2;
-        this.FDescription_l3 = FDescription_l3;
-        this.FSimpleName = FSimpleName;
-        this.FID = FID;
-        this.FCreatorID = FCreatorID;
-        this.FCreateTime = FCreateTime;
-        this.FLastUpdateUserID = FLastUpdateUserID;
-        this.FLastUpdateTime = FLastUpdateTime;
-        this.FTreeID = FTreeID;
-        this.FControlUnitID = FControlUnitID;
-        this.CFAttendanceID = CFAttendanceID;
-        this.CFAttendanceName = CFAttendanceName;
-    }
-
-    public CTWORAttendanceType() {
-    }
-
-    public String getFNamel1() {
-        return FName_l1;
-    }
-
-    public void setFNamel1(String FNamel1) {
-        this.FName_l1 = FNamel1;
-    }
-
-    public String getFName_l2() {
-        return FName_l2;
-    }
-
-    public void setFName_l2(String FName_l2) {
-        this.FName_l2 = FName_l2;
-    }
-
-    public String getFName_l3() {
-        return FName_l3;
-    }
-
-    public void setFName_l3(String FName_l3) {
-        this.FName_l3 = FName_l3;
-    }
-
-    public String getFNumber() {
-        return FNumber;
-    }
-
-    public void setFNumber(String FNumber) {
-        this.FNumber = FNumber;
-    }
-
-    public String getFDescription_l1() {
-        return FDescription_l1;
-    }
-
-    public void setFDescription_l1(String FDescription_l1) {
-        this.FDescription_l1 = FDescription_l1;
-    }
-
-    public String getFDescription_l2() {
-        return FDescription_l2;
-    }
-
-    public void setFDescription_l2(String FDescription_l2) {
-        this.FDescription_l2 = FDescription_l2;
-    }
-
-    public String getFDescription_l3() {
-        return FDescription_l3;
-    }
-
-    public void setFDescription_l3(String FDescription_l3) {
-        this.FDescription_l3 = FDescription_l3;
-    }
-
-    public String getFSimpleName() {
-        return FSimpleName;
-    }
-
-    public void setFSimpleName(String FSimpleName) {
-        this.FSimpleName = FSimpleName;
-    }
-
-    public String getFID() {
-        return FID;
-    }
-
-    public void setFID(String FID) {
-        this.FID = FID;
-    }
-
-    public String getFCreatorID() {
-        return FCreatorID;
-    }
-
-    public void setFCreatorID(String FCreatorID) {
-        this.FCreatorID = FCreatorID;
-    }
-
-    public Date getFCreateTime() {
-        return FCreateTime;
-    }
-
-    public void setFCreateTime(Date FCreateTime) {
-        this.FCreateTime = FCreateTime;
-    }
-
-    public String getFLastUpdateUserID() {
-        return FLastUpdateUserID;
-    }
-
-    public void setFLastUpdateUserID(String FLastUpdateUserID) {
-        this.FLastUpdateUserID = FLastUpdateUserID;
-    }
-
-    public Date getFLastUpdateTime() {
-        return FLastUpdateTime;
-    }
-
-    public void setFLastUpdateTime(Date FLastUpdateTime) {
-        this.FLastUpdateTime = FLastUpdateTime;
-    }
-
-    public String getFTreeID() {
-        return FTreeID;
-    }
-
-    public void setFTreeID(String FTreeID) {
-        this.FTreeID = FTreeID;
-    }
-
-    public String getFControlUnitID() {
-        return FControlUnitID;
-    }
-
-    public void setFControlUnitID(String FControlUnitID) {
-        this.FControlUnitID = FControlUnitID;
-    }
-
-    public String getCFAttendanceID() {
-        return CFAttendanceID;
-    }
-
-    public void setCFAttendanceID(String CFAttendanceID) {
-        this.CFAttendanceID = CFAttendanceID;
-    }
-
-    public String getCFAttendanceName() {
-        return CFAttendanceName;
-    }
-
-    public void setCFAttendanceName(String CFAttendanceName) {
-        this.CFAttendanceName = CFAttendanceName;
-    }
-}

+ 0 - 312
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/CTWORWorkSheet.java

@@ -1,312 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import java.util.Date;
-
-public class CTWORWorkSheet {
-    private String FCreatorID;
-    private Date FCreateTime;
-    private String FLastUpdateUserID;
-    private Date FLastUpdateTime;
-    private String FControlUnitID;
-    private String FNumber;
-    private Date FBizDate;
-    private String FHandlerID;
-    private String FDescription;
-    private int FHasEffected;
-    private String FAuditorID;
-    private String FSourceBillID;
-    private String FSourceFunction;
-    private String FID;
-    private String CFPersonID;
-    private String CFPersonNumber;
-    private String CFPersonName;
-    private String CFProjectID;
-    private String CFProjectName;
-    private Date CFReportDate;
-    private String CFReportMonth;
-    private String CFAttendanceID;
-    private String CFAttendanceName;
-    private String CFWorkHourType;
-    private String CFProjectPhase;
-    private String CFWorkingHours;
-    private String CFStatus;
-    private String CFApproverID;
-    private String CFApproverName;
-    private String CFCalendarType;
-
-    public CTWORWorkSheet() {
-    }
-
-    public CTWORWorkSheet(String FCreatorID, Date FCreateTime, String FLastUpdateUserID, Date FLastUpdateTime, String FControlUnitID, String FNumber, Date FBizDate, String FHandlerID, String FDescription, int FHasEffected, String FAuditorID, String FSourceBillID, String FSourceFunction, String FID, String CFPersonID, String CFPersonNumber, String CFPersonName, String CFProjectID, String CFProjectName, Date CFReportDate, String CFReportMonth, String CFAttendanceID, String CFAttendanceName, String CFWorkHourType, String CFProjectPhase, String CFWorkingHours, String CFStatus, String CFApproverID, String CFApproverName, String CFCalendarType) {
-        this.FCreatorID = FCreatorID;
-        this.FCreateTime = FCreateTime;
-        this.FLastUpdateUserID = FLastUpdateUserID;
-        this.FLastUpdateTime = FLastUpdateTime;
-        this.FControlUnitID = FControlUnitID;
-        this.FNumber = FNumber;
-        this.FBizDate = FBizDate;
-        this.FHandlerID = FHandlerID;
-        this.FDescription = FDescription;
-        this.FHasEffected = FHasEffected;
-        this.FAuditorID = FAuditorID;
-        this.FSourceBillID = FSourceBillID;
-        this.FSourceFunction = FSourceFunction;
-        this.FID = FID;
-        this.CFPersonID = CFPersonID;
-        this.CFPersonNumber = CFPersonNumber;
-        this.CFPersonName = CFPersonName;
-        this.CFProjectID = CFProjectID;
-        this.CFProjectName = CFProjectName;
-        this.CFReportDate = CFReportDate;
-        this.CFReportMonth = CFReportMonth;
-        this.CFAttendanceID = CFAttendanceID;
-        this.CFAttendanceName = CFAttendanceName;
-        this.CFWorkHourType = CFWorkHourType;
-        this.CFProjectPhase = CFProjectPhase;
-        this.CFWorkingHours = CFWorkingHours;
-        this.CFStatus = CFStatus;
-        this.CFApproverID = CFApproverID;
-        this.CFApproverName = CFApproverName;
-        this.CFCalendarType = CFCalendarType;
-    }
-
-    public String getFCreatorID() {
-        return FCreatorID;
-    }
-
-    public void setFCreatorID(String FCreatorID) {
-        this.FCreatorID = FCreatorID;
-    }
-
-    public Date getFCreateTime() {
-        return FCreateTime;
-    }
-
-    public void setFCreateTime(Date FCreateTime) {
-        this.FCreateTime = FCreateTime;
-    }
-
-    public String getFLastUpdateUserID() {
-        return FLastUpdateUserID;
-    }
-
-    public void setFLastUpdateUserID(String FLastUpdateUserID) {
-        this.FLastUpdateUserID = FLastUpdateUserID;
-    }
-
-    public Date getFLastUpdateTime() {
-        return FLastUpdateTime;
-    }
-
-    public void setFLastUpdateTime(Date FLastUpdateTime) {
-        this.FLastUpdateTime = FLastUpdateTime;
-    }
-
-    public String getFControlUnitID() {
-        return FControlUnitID;
-    }
-
-    public void setFControlUnitID(String FControlUnitID) {
-        this.FControlUnitID = FControlUnitID;
-    }
-
-    public String getFNumber() {
-        return FNumber;
-    }
-
-    public void setFNumber(String FNumber) {
-        this.FNumber = FNumber;
-    }
-
-    public Date getFBizDate() {
-        return FBizDate;
-    }
-
-    public void setFBizDate(Date FBizDate) {
-        this.FBizDate = FBizDate;
-    }
-
-    public String getFHandlerID() {
-        return FHandlerID;
-    }
-
-    public void setFHandlerID(String FHandlerID) {
-        this.FHandlerID = FHandlerID;
-    }
-
-    public String getFDescription() {
-        return FDescription;
-    }
-
-    public void setFDescription(String FDescription) {
-        this.FDescription = FDescription;
-    }
-
-    public int getFHasEffected() {
-        return FHasEffected;
-    }
-
-    public void setFHasEffected(int FHasEffected) {
-        this.FHasEffected = FHasEffected;
-    }
-
-    public String getFAuditorID() {
-        return FAuditorID;
-    }
-
-    public void setFAuditorID(String FAuditorID) {
-        this.FAuditorID = FAuditorID;
-    }
-
-    public String getFSourceBillID() {
-        return FSourceBillID;
-    }
-
-    public void setFSourceBillID(String FSourceBillID) {
-        this.FSourceBillID = FSourceBillID;
-    }
-
-    public String getFSourceFunction() {
-        return FSourceFunction;
-    }
-
-    public void setFSourceFunction(String FSourceFunction) {
-        this.FSourceFunction = FSourceFunction;
-    }
-
-    public String getFID() {
-        return FID;
-    }
-
-    public void setFID(String FID) {
-        this.FID = FID;
-    }
-
-    public String getCFPersonID() {
-        return CFPersonID;
-    }
-
-    public void setCFPersonID(String CFPersonID) {
-        this.CFPersonID = CFPersonID;
-    }
-
-    public String getCFPersonNumber() {
-        return CFPersonNumber;
-    }
-
-    public void setCFPersonNumber(String CFPersonNumber) {
-        this.CFPersonNumber = CFPersonNumber;
-    }
-
-    public String getCFPersonName() {
-        return CFPersonName;
-    }
-
-    public void setCFPersonName(String CFPersonName) {
-        this.CFPersonName = CFPersonName;
-    }
-
-    public String getCFProjectID() {
-        return CFProjectID;
-    }
-
-    public void setCFProjectID(String CFProjectID) {
-        this.CFProjectID = CFProjectID;
-    }
-
-    public String getCFProjectName() {
-        return CFProjectName;
-    }
-
-    public void setCFProjectName(String CFProjectName) {
-        this.CFProjectName = CFProjectName;
-    }
-
-    public Date getCFReportDate() {
-        return CFReportDate;
-    }
-
-    public void setCFReportDate(Date CFReportDate) {
-        this.CFReportDate = CFReportDate;
-    }
-
-    public String getCFReportMonth() {
-        return CFReportMonth;
-    }
-
-    public void setCFReportMonth(String CFReportMonth) {
-        this.CFReportMonth = CFReportMonth;
-    }
-
-    public String getCFAttendanceID() {
-        return CFAttendanceID;
-    }
-
-    public void setCFAttendanceID(String CFAttendanceID) {
-        this.CFAttendanceID = CFAttendanceID;
-    }
-
-    public String getCFAttendanceName() {
-        return CFAttendanceName;
-    }
-
-    public void setCFAttendanceName(String CFAttendanceName) {
-        this.CFAttendanceName = CFAttendanceName;
-    }
-
-    public String getCFWorkHourType() {
-        return CFWorkHourType;
-    }
-
-    public void setCFWorkHourType(String CFWorkHourType) {
-        this.CFWorkHourType = CFWorkHourType;
-    }
-
-    public String getCFProjectPhase() {
-        return CFProjectPhase;
-    }
-
-    public void setCFProjectPhase(String CFProjectPhase) {
-        this.CFProjectPhase = CFProjectPhase;
-    }
-
-    public String getCFWorkingHours() {
-        return CFWorkingHours;
-    }
-
-    public void setCFWorkingHours(String CFWorkingHours) {
-        this.CFWorkingHours = CFWorkingHours;
-    }
-
-    public String getCFStatus() {
-        return CFStatus;
-    }
-
-    public void setCFStatus(String CFStatus) {
-        this.CFStatus = CFStatus;
-    }
-
-    public String getCFApproverID() {
-        return CFApproverID;
-    }
-
-    public void setCFApproverID(String CFApproverID) {
-        this.CFApproverID = CFApproverID;
-    }
-
-    public String getCFApproverName() {
-        return CFApproverName;
-    }
-
-    public void setCFApproverName(String CFApproverName) {
-        this.CFApproverName = CFApproverName;
-    }
-
-    public String getCFCalendarType() {
-        return CFCalendarType;
-    }
-
-    public void setCFCalendarType(String CFCalendarType) {
-        this.CFCalendarType = CFCalendarType;
-    }
-}

+ 0 - 61
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBook.java

@@ -1,61 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * description: JobBook <br>
- * date: 2022/3/19 12:54 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Data
-public class JobBook {
-    String pId;
-    String empName;
-    String empNumber;
-    String monthRate;
-    List<JobBooking> timeSheetDetail = new ArrayList<>();
-
-    public String getpId() {
-        return pId;
-    }
-
-    public void setpId(String pId) {
-        this.pId = pId;
-    }
-
-    public String getEmpName() {
-        return empName;
-    }
-
-    public void setEmpName(String empName) {
-        this.empName = empName;
-    }
-
-    public String getEmpNumber() {
-        return empNumber;
-    }
-
-    public void setEmpNumber(String empNumber) {
-        this.empNumber = empNumber;
-    }
-
-    public String getMonthRate() {
-        return monthRate;
-    }
-
-    public void setMonthRate(String monthRate) {
-        this.monthRate = monthRate;
-    }
-
-    public List<JobBooking> getTimeSheetDetail() {
-        return timeSheetDetail;
-    }
-
-    public void setTimeSheetDetail(List<JobBooking> timeSheetDetail) {
-        this.timeSheetDetail = timeSheetDetail;
-    }
-}

+ 0 - 125
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBooking.java

@@ -1,125 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- * description: JobBooking <br>
- * date: 2022/3/18 17:30 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Data
-public class JobBooking {
-    String timeSheetId;
-    String title;
-    String attendanceType;
-    String hourTotal;
-    String attendanceTypeName;
-    String status;
-    String workingHours;
-    String projectId;
-    String projectName;
-    String beginDate;
-    String endDate;
-    public String getBeginDate() {
-        return beginDate;
-    }
-
-    public void setBeginDate(String beginDate) {
-        this.beginDate = beginDate;
-    }
-
-    public String getEndDate() {
-        return endDate;
-    }
-
-    public void setEndDate(String endDate) {
-        this.endDate = endDate;
-    }
-
-    public String getAttendanceTypeName() {
-        return attendanceTypeName;
-    }
-
-    public void setAttendanceTypeName(String attendanceTypeName) {
-        this.attendanceTypeName = attendanceTypeName;
-    }
-
-    public String getWorkingHours() {
-        return workingHours;
-    }
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getProjectName() {
-        return projectName;
-    }
-
-    public void setProjectName(String projectName) {
-        this.projectName = projectName;
-    }
-
-    public void setWorkingHours(String workingHours) {
-        this.workingHours = workingHours;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    List<JobBookingEntry> details = new ArrayList<>();
-
-    public String getTimeSheetId() {
-        return timeSheetId;
-    }
-
-    public void setTimeSheetId(String timeSheetId) {
-        this.timeSheetId = timeSheetId;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getAttendanceType() {
-        return attendanceType;
-    }
-
-    public void setAttendanceType(String attendanceType) {
-        this.attendanceType = attendanceType;
-    }
-
-    public String getHourTotal() {
-        return hourTotal;
-    }
-
-    public void setHourTotal(String hourTotal) {
-        this.hourTotal = hourTotal;
-    }
-
-    public List<JobBookingEntry> getDetails() {
-        return details;
-    }
-
-    public void setDetails(List<JobBookingEntry> details) {
-        this.details = details;
-    }
-}

+ 0 - 76
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/JobBookingEntry.java

@@ -1,76 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import lombok.Data;
-
-/**
- * description: JobBookingEntry <br>
- * date: 2022/3/18 17:30 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Data
-public class JobBookingEntry {
-    String detailId;
-    String workingHours;
-    String workCalendarType;
-    String attendanceType;
-    String reportDate;
-    String attendanceTypeName;
-    String status;
-
-    public String getAttendanceTypeName() {
-        return attendanceTypeName;
-    }
-
-    public void setAttendanceTypeName(String attendanceTypeName) {
-        this.attendanceTypeName = attendanceTypeName;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getDetailId() {
-        return detailId;
-    }
-
-    public void setDetailId(String detailId) {
-        this.detailId = detailId;
-    }
-
-    public String getWorkingHours() {
-        return workingHours;
-    }
-
-    public void setWorkingHours(String workingHours) {
-        this.workingHours = workingHours;
-    }
-
-    public String getWorkCalendarType() {
-        return workCalendarType;
-    }
-
-    public void setWorkCalendarType(String workCalendarType) {
-        this.workCalendarType = workCalendarType;
-    }
-
-    public String getAttendanceType() {
-        return attendanceType;
-    }
-
-    public void setAttendanceType(String attendanceType) {
-        this.attendanceType = attendanceType;
-    }
-
-    public String getReportDate() {
-        return reportDate;
-    }
-
-    public void setReportDate(String reportDate) {
-        this.reportDate = reportDate;
-    }
-}

+ 0 - 70
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/entity/Poject.java

@@ -1,70 +0,0 @@
-package com.qy.worksheetsystem.entity;
-
-import lombok.Data;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * description: Poject <br>
- * date: 2022/3/19 12:59 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Data
-public class Poject {
-    String projectId;
-    String projectName;
-    String projectPersonNum;
-    String month;
-    String hourTotal;
-    List<JobBook> detail = new ArrayList<>();
-
-    public String getProjectId() {
-        return projectId;
-    }
-
-    public void setProjectId(String projectId) {
-        this.projectId = projectId;
-    }
-
-    public String getProjectName() {
-        return projectName;
-    }
-
-    public void setProjectName(String projectName) {
-        this.projectName = projectName;
-    }
-
-    public String getProjectPersonNum() {
-        return projectPersonNum;
-    }
-
-    public void setProjectPersonNum(String projectPersonNum) {
-        this.projectPersonNum = projectPersonNum;
-    }
-
-    public String getMonth() {
-        return month;
-    }
-
-    public void setMonth(String month) {
-        this.month = month;
-    }
-
-    public String getHourTotal() {
-        return hourTotal;
-    }
-
-    public void setHourTotal(String hourTotal) {
-        this.hourTotal = hourTotal;
-    }
-
-    public List<JobBook> getDetail() {
-        return detail;
-    }
-
-    public void setDetail(List<JobBook> detail) {
-        this.detail = detail;
-    }
-}

+ 0 - 17
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/CTWORAttendanceTypeMapper.java

@@ -1,17 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-public interface CTWORAttendanceTypeMapper {
-    //获取考勤类型id 和类型名称
-    List<Map<String, String>> selectIDName();
-    List<Map<String, String>> getAttendanceType(@Param("number")String number, @Param("HolidayPolicy")String HolidayPolicy);
-    Map<String,Object> getHolidayLimit(@Param("number")String number, @Param("HolidayPolicy")String HolidayPolicy);
-    List<Map<String, String>> getAttendanceTypeV2(@Param("number")String number,
-                                                  @Param("HolidayPolicy")String HolidayPolicy,
-                                                  @Param("reportDate")String reportDate,
-                                                  @Param("state")String state);
-}

+ 0 - 135
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/CTWORAttendanceTypeMapper.xml

@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.CTWORAttendanceTypeMapper">
-    <select id="selectIDName" resultType="java.util.Map">
-    SELECT
-    FID AS id,
-	FName_l2 AS name
-    FROM
-	CT_WOR_AttendanceType order by fnumber;
-   </select>
-    <select id="getAttendanceType" resultType="java.util.Map" parameterType="String">
-
-        SELECT
-            aType.FID AS id,
-            (aType.FName_l2 +' '+ isnull(CONVERT(varchar,CAST(t.remainLimit as decimal(20,2)))+'h','')) AS name,
-            isnull(CAST(t.remainLimit as decimal(20,2)),0) remainLimit
-        FROM
-            CT_WOR_AttendanceType aType
-                LEFT JOIN (
-                SELECT SUM
-                           ( isnull( t.FRemainLimit, 0 )  ) AS remainLimit,
-                       h.FHolidayTypeID,
-                       p.fnumber
-                FROM
-                    T_HR_ATS_HolidayLimit t
-                        INNER JOIN T_HR_ATS_HolidayPolicy h ON t.FHOLIDAYPOLICYID = h.FID
-                        INNER JOIN T_HR_ATS_HolidayType y ON y.FID = h.FHolidayTypeID
-                        INNER JOIN T_BD_PERSON p ON p.FID = t.FProposerID
-                WHERE
-                    p.fnumber= #{number}
-                  AND t.FHolidayPolicyID= #{HolidayPolicy}
-                  AND t.FDelayDate >=getDate()
-                GROUP BY
-                    h.FHolidayTypeID,
-                    p.fnumber
-            ) t ON t.FHolidayTypeID= aType.CFAttendanceID
-        ORDER BY
-            aType.fnumber
-    </select>
-
-    <select id="getAttendanceTypeV2" resultType="java.util.Map" parameterType="String">
-    SELECT
-    aType.FID AS id,
-    (
-    aType.FName_l2 + ' ' + isnull( CONVERT ( VARCHAR, CAST ( (t.remainLimit-isnull(t2.workinghours,0)) AS DECIMAL ( 20, 2 )))+'h', '') ) AS name,
-    isnull( CAST ((t.remainLimit-isnull(t2.workinghours,0)) AS DECIMAL ( 20, 2 )), 0 ) remainLimit
-    ,t2.workinghours
-    FROM
-    CT_WOR_AttendanceType aType
-    LEFT JOIN (
-    SELECT SUM
-    ( isnull( t.FRemainLimit, 0 )  ) AS remainLimit,
-    h.FHolidayTypeID,
-    p.fnumber
-    FROM
-    T_HR_ATS_HolidayLimit t
-    INNER JOIN T_HR_ATS_HolidayPolicy h ON t.FHOLIDAYPOLICYID = h.FID
-    INNER JOIN T_HR_ATS_HolidayType y ON y.FID = h.FHolidayTypeID
-    INNER JOIN T_BD_PERSON p ON p.FID = t.FProposerID
-    WHERE
-    p.fnumber= #{number}
-    AND t.FHolidayPolicyID = #{HolidayPolicy}
-    AND t.FDelayDate >= getDate()
-    GROUP BY
-    h.FHolidayTypeID,
-    p.fnumber
-    ) t ON t.FHolidayTypeID= aType.CFAttendanceID
-    LEFT JOIN (
-    SELECT SUM
-    ( workinghours ) workinghours,
-    fnumber,CFAttendanceID
-    FROM
-    (
-    SELECT
-    item.CFPersonID,
-    p.fnumber,
-    item.CFReportDate, item.CFAttendanceID,
-    SUM (
-    CONVERT ( INT, item.cfworkinghours )) workinghours
-    FROM
-    CT_WOR_JobBookingEntry item
-    LEFT JOIN t_bd_person p ON p.fid= item.CFPersonID
-    left join (
-        select attType.fid,
-               t.FProposerID
-        from CT_WOR_AttendanceType attType
-                 INNER JOIN T_HR_ATS_HolidayPolicy h ON h.FHolidayTypeID = attType.CFAttendanceID
-                 INNER join (
-            select FHolidayPolicyID,
-                   FProposerID,
-                   count(*) lenNum
-            from T_HR_ATS_HolidayLimit
-            where FDelayDate >= getDate() and FProposerID= #{number}
-            group by FHolidayPolicyID,
-                     FProposerID
-        ) t on t.FHolidayPolicyID = h.fid
-    ) t2 on t2.fid = item.CFAttendanceID
-        and t2.FProposerID = p.fid
-    WHERE
-    p.fnumber= #{number}
-    and t2.fid is not null
-    AND item.CFReportDate &lt;= #{reportDate}
-    AND (item.CFStatus = #{state} or (item.CFStatus = '3' and item.FSourceBillID is null))
-    AND item.
-    GROUP BY item.CFAttendanceID,
-    item.CFReportDate,
-    item.CFPersonID,
-    p.fnumber
-    ) t
-    GROUP BY	t.CFAttendanceID,
-    t.CFPersonID,
-    t.fnumber
-    ) t2 ON t2.fnumber = #{number} and t2.CFAttendanceID=aType.fid
-    ORDER BY
-    aType.fnumber
-    </select>
-    <select id="getHolidayLimit" resultType="java.util.Map" parameterType="String">
-        SELECT SUM
-                   ( isnull( t.FRemainLimit, 0 )  ) AS remainLimit,
-               h.FHolidayTypeID,
-               p.fnumber number
-        FROM
-            T_HR_ATS_HolidayLimit t
-                INNER JOIN T_HR_ATS_HolidayPolicy h ON t.FHOLIDAYPOLICYID = h.FID
-                INNER JOIN T_HR_ATS_HolidayType y ON y.FID = h.FHolidayTypeID
-                INNER JOIN T_BD_PERSON p ON p.FID = t.FProposerID
-        WHERE
-            p.fnumber= #{number}
-          AND t.FHolidayPolicyID= #{HolidayPolicy}
-          AND t.FDelayDate >=getDate()
-        GROUP BY
-            h.FHolidayTypeID,
-            p.fnumber
-    </select>
-</mapper>

+ 0 - 70
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/EmployeeReportingMapper.java

@@ -1,70 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import com.github.pagehelper.Page;
-import com.qy.worksheetsystem.entity.JobBooking;
-import com.qy.worksheetsystem.entity.Poject;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Map;
-
-@Repository
-public interface EmployeeReportingMapper {
-    /**
-     * 通过审核人获取明细信息
-     *
-     * @return
-     */
-    List<Map<String,String>> getReportDateWorkHoursByPerson(@Param("personId")String personId,@Param("reportDate")String reportDate);
-
-    String selectKey();
-    int insertBill(Map<String, String> map);
-
-    int insertEntry(List<Map<String, String>> list);
-    int deleteSheet(@Param("id")String id);
-
-    Map<String,Object> getShrPersonInfo(String number);
-    Map<String,Object> getShrAdminInfo(String fid);
-    List<Map<String,Object>> getPersonWorkDetail(@Param("beginDate")String beginDate,
-                                                 @Param("endDate")String endDate,
-                                                 @Param("personId")String personId);
-    List<Map<String,Object>> getPPWorkDetail(@Param("beginDate")String beginDate,
-                                                 @Param("endDate")String endDate,
-                                                 @Param("personId")String personId,
-                                             @Param("orgId")String orgId);
-    List<Map<String,Object>> getHourTotal(@Param("id")String id,@Param("calendarType")String calendarType);
-
-    List<Map<String,Object>> getHourTotalAll(@Param("id")String id);
-    List<Map<String,Object>> getHourTotalSum(@Param("list")List<String> list,@Param("calendarType")String calendarType);
-    List<Map<String,Object>> getHourTotalSumV2(@Param("list")List<String> list,@Param("calendarType")String calendarType);
-    Poject getTimeJobBooking(@Param("orgId")String orgId,@Param("personId")String personId);
-    List<JobBooking> getTimeJobBookingEntry(@Param("id")String id,@Param("month")String month,
-                                            @Param("state")String state,@Param("OrgID")String OrgID);
-
-    List<Map<String,Object>> getMonthWorkSheet(@Param("number")String number,@Param("month")String month,
-                                               @Param("state")String state);
-
-    List<Map<String,String>> getMonthWorkSheetEntry(@Param("id")String id);
-
-    List<Map<String,String>> getMonthWorkSheetEntryV2(@Param("id")String id);
-
-    Page<Map<String,Object>> getAudited(@Param("list")List<String> list,@Param("audit")String audit,@Param("month")String month);
-
-    List<Map<String,Object>> getAuditedV9(@Param("list")List<String> list,@Param("pidList")List<String> pidList,@Param("audit")String audit);
-
-    List<Map<String,String>> getOrgAndJobBookId(@Param("list")List<String> list,@Param("audit")String audit,@Param("month")String month);
-
-    Map<String,Object> getWorkSheetById(@Param("id")String id);
-
-    Map<String,Object> getJobDayByPerson(@Param("number")String number,@Param("orgid")String orgid,@Param("stratDate")String stratDate,
-                                         @Param("endDate")String endDate,@Param("attID")String attID,
-                                    @Param("status")String status);
-
-    Page<JobBooking> getEmpAuditedV2(@Param("personId")String personId,@Param("audit")String audit,@Param("month")String month);
-
-    List<Map<String,Object>> getEmpAuditedV2Entry(@Param("timeSheetId")String timeSheetId);
-    Page<JobBooking> getEmpAudited(@Param("personId")String personId,@Param("audit")String audit,@Param("month")String month);
-    List<Map<String,Object>> getEmpList(@Param("list")List<String> list,@Param("audit")String audit,@Param("month")String month);
-
-}

+ 0 - 588
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/EmployeeReportingMapper.xml

@@ -1,588 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.EmployeeReportingMapper">
-    <select id="selectKey" resultType="String">
-        select dbo.newbosid('BF63FCE1') as id
-    </select>
-    <delete id="deleteSheet" parameterType="String" >
-        delete from CT_WOR_JobBookingEntry where FParentID=#{id};
-        delete from CT_WOR_JobBooking where fid=#{id};
-    </delete>
-    <insert id="insertBill" parameterType="java.util.Map" >
-        insert
-        into CT_WOR_JobBooking(fid, FCreatorID, FCreateTime,
-                               FLastUpdateUserID, FLastUpdateTime, FControlUnitID,
-                               FDescription, CFPersonID, CFOrgID,
-                               CFYearAndMonth, CFAttendanceID, CFWorkingHours,
-                               CFStatus, CFTitle, CFBeginDate,
-                               CFEndDate, CFPersonNumber, CFNameAndNumber,CFAuditorAndNumber
-                             )
-        values (#{billId}, #{FCreatorID}, GETDATE(),
-                #{FLastUpdateUserID}, GETDATE(), '',
-                #{FDescription}, #{CFPersonID}, #{CFOrgID},
-                #{CFYearAndMonth}, #{CFAttendanceID}, #{CFWorkingHours},
-                #{CFStatus}, #{CFTitle}, #{CFBeginDate},
-                #{CFEndDate}, #{CFPersonNumber}, #{CFNameAndNumber}, #{CFAuditorAndNumber}
-              );
-    </insert>
-    <insert id="insertEntry" parameterType="java.util.List">
-        INSERT
-        into CT_WOR_JobBookingEntry(FSeq,FID,FParentID,
-                                    CFPersonID,CFOrgID,CFReportDate,
-                                    CFYearAndMonth,CFAttendanceID,
-                                    CFWorkingHours,CFStatus,
-                                    CFCalendarType,CFPersonNumber,
-                                    CFNameAndNumber,CFYsName,
-                                    CFYsNumber,CFPersonDeptID,CFApproverID,
-                                    CFAuditorAndNumber
-        )
-        values
-        <foreach collection="list" item="item" index="index" separator=",">
-            (
-               #{item.Fseq},dbo.newbosid('EFAC0011'),#{item.FParentID},
-               #{item.CFPersonID},#{item.CFOrgID},#{item.CFReportDate},
-               #{item.CFYearAndMonth},#{item.CFAttendanceID},
-               #{item.CFWorkingHours},#{item.CFStatus},
-               #{item.CFCalendarType},#{item.CFPersonNumber},
-               #{item.CFNameAndNumber},#{item.CFYsName},
-               #{item.CFYsNumber},#{item.CFPersonDeptID},#{item.CFApproverID}
-               ,#{item.CFAuditorAndNumber}
-              )
-        </foreach>
-    </insert>
-    <select id="getShrPersonInfo" resultType="java.util.Map" parameterType="String">
-        select p.fid personId,p.fnumber personNumber,p.fname_l2 personName,
-               org.fname_l2 orgName,org.fnumber orgNumber,org.fid orgId,post.fid postId,
-               post.fname_l2 postName,post.fnumber postNumber,u.fid userid,
-               org.FEffectDate,org.FLEFFDT,isnull(pp2.FEnterDate,pp.FEnterDate) enterDate,  CONVERT(varchar(10) ,isnull(pp2.FEnterDate,''),120) hiredate,
-               0 isAuditor,
-               btype.fname_l2 btypeName,btype.fid btypeFid
-        from t_bd_person p
-        left join t_pm_user u on u.fpersonid=p.fid
-        left join T_HR_PERSONPOSITION pp on pp.fpersonid=p.fid
-        left join T_HR_EMPLABORRELATION pp2 on pp2.FPersonID=p.fid
-        left join T_HR_BDEmployeeType btype on btype.fid=pp2.FLaborRelationStateID
-        left join t_org_admin org on org.fid=pp.FPERSONDEP
-        left join t_org_position post on post.fid=pp.FPRIMARYPOSITIONID
-
-
-        where p.fnumber=#{number}
-    </select>
-    <select id="getShrAdminInfo" resultType="java.util.Map" parameterType="String">
-        select
-               org.fname_l2 orgName,org.fnumber orgNumber,org.fid orgId,
-               pt.fname_l2 ptName,pt.fnumber ptNumber,pt.fid ptId
-        from t_org_admin org
-                 left join t_org_admin pt on pt.fid=org.FParentID
-              where org.fid=#{fid}
-    </select>
-
-    <select id="getPersonWorkDetail" resultType="java.util.Map" parameterType="String">
-        select CFStatus,count(fid) num
-        from
-            CT_WOR_JobBookingEntry
-        where CFPersonID=#{personId}
-        and CFReportDate &gt;=#{beginDate}
-        and CFReportDate &lt;=#{endDate}
-        group by CFStatus
-    </select>
-    <select id="getPPWorkDetail" resultType="java.util.Map" parameterType="String">
-        select CONVERT(varchar(10) ,CFReportDate, 120 ) CFReportDate,cfcalendarType,
-               CFYsName,CFNameAndNumber,CFYearAndMonth,sum(convert(int,CFWorkingHours)) workingHours
-        from
-            CT_WOR_JobBookingEntry
-        where CFPersonID=#{personId}
-          and CFReportDate &gt;=#{beginDate}
-          and CFReportDate &lt;=#{endDate}
-          and CFOrgID =#{orgId}
-        group by CFReportDate,CFPersonID,CFYearAndMonth,CFNameAndNumber,CFYsName,cfcalendarType
-        order by CFReportDate asc
-    </select>
-    <select id="getTimeJobBooking" resultMap="JobBooking" parameterType="String">
-        select child.fid projectId,(isnull(parent.fname_l2,'') + isnull(child.fname_l2,'')) projectName,
-               child.fnumber childNumber,count(pp.FPersonID) projectPersonNum,
-               '' month,'' hourTotal,
-               p.fname_l2 empName,
-               p.fnumber empNumber,
-               '50%' monthRate,p.fid pId
-        from T_ORG_Admin adcount
-                 left join T_ORG_Admin child on (charindex((adcount.flongnumber+'!'),child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-                 left join T_ORG_Admin parent on child.fid=parent.FParentID
-                 left join T_HR_EmpOrgRelation pp on  pp.FADMINORGID = child.fid and pp.FLEFFDT='2199-12-31'
-                 left join t_bd_person p on p.fid=pp.FPersonID
-                 left join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        where
-            adcount.fid=#{orgId} and child.fid=#{orgId}
-          and mg.CFManagerID=#{personId}
-        group by child.fid,child.fnumber,child.fname_l2,p.fname_l2,p.fnumber,p.fid,parent.fname_l2
-
-    </select>
-    <select id="getTimeJobBookingEntry" resultMap="JobBookingEntry" parameterType="String">
-        select jbk.FID timeSheetId,jbk.CFTitle title,
-               jbk.CFAttendanceID jbkAttendanceType,aType.fname_l2 jbkAttendanceTypeName,
-               jbk.cfworkinghours hourTotal,jbke.FID detailId,
-               jbke.cfworkinghours workingHours,jbke.cfcalendarType workCalendarType,
-               jbke.CFAttendanceID jbkeAttendanceType,jbk.CFStatus jbkStatus,
-               CONVERT(varchar(10) ,jbke.cfreportDate, 120 ) reportDate,
-               CONVERT(varchar(10) ,jbk.CFBeginDate, 120 ) beginDate,
-               CONVERT(varchar(10) ,jbk.CFendDate, 120 ) endDate,
-               aType2.fname_l2 jbkeAttendanceTypeName,jbke.CFStatus jbkeStatus
-        from CT_WOR_JobBooking jbk
-                 left join CT_WOR_JobBookingEntry jbke on jbk.FID=jbke.FParentID
-                 left join t_bd_person p on p.fid=jbke.CFPersonID
-                 left join CT_WOR_AttendanceType aType on aType.fid=jbk.CFAttendanceID
-                 left join CT_WOR_AttendanceType aType2 on aType2.fid=jbke.CFAttendanceID
-        where
-             jbk.CFPersonID=#{id} and jbk.cfyearAndMonth=#{month} and jbk.CFOrgID=#{OrgID}
-        <if test='state != null and state != "" and state == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='state != null and state != "" and state == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-            order by jbk.CFBeginDate asc
-    </select>
-    <resultMap id="JobBooking" type="com.qy.worksheetsystem.entity.Poject" >
-        <id column="projectId" property="projectId"/>
-        <!-- property对应实体类的属性名称,column为数据库字段名 -->
-        <result column="projectName" property="projectName" />
-        <result column="projectPersonNum" property="projectPersonNum" />
-        <result column="month" property="month" />
-        <result column="hourTotal" property="hourTotal" />
-        <collection property="detail" ofType="com.qy.worksheetsystem.entity.JobBook">
-            <id column="pId" property="pId"/>
-            <result column="empName" property="empName"/>
-            <result column="empNumber" property="empNumber"/>
-            <result column="monthRate" property="monthRate"/>
-        </collection>
-    </resultMap>
-    <resultMap id="JobBookingEntry" type="com.qy.worksheetsystem.entity.JobBooking" >
-        <id column="timeSheetId" property="timeSheetId"/>
-        <result column="title" property="title"/>
-        <result column="jbkAttendanceType" property="attendanceType"/>
-        <result column="jbkAttendanceTypeName" property="attendanceTypeName"/>
-        <result column="jbkStatus" property="status"/>
-        <result column="beginDate" property="beginDate"/>
-        <result column="endDate" property="endDate"/>
-        <result column="hourTotal" property="hourTotal"/>
-        <collection property="details" ofType="com.qy.worksheetsystem.entity.JobBookingEntry">
-            <id column="detailId" property="detailId"/>
-            <result column="workingHours" property="workingHours"/>
-            <result column="workCalendarType" property="workCalendarType"/>
-            <result column="jbkeAttendanceType" property="attendanceType"/>
-            <result column="jbkeAttendanceTypeName" property="attendanceTypeName"/>
-            <result column="reportDate" property="reportDate"/>
-            <result column="jbkeStatus" property="status"/>
-        </collection>
-    </resultMap>
-    <select id="getMonthWorkSheet" resultType="java.util.Map" parameterType="String">
-        select jbk.FID timeSheetId,jbk.CFTitle title,
-               org.fid projectId,(parent.fname_l2+org.fname_l2) projectName,
-               jbk.CFAttendanceID attendanceType,
-               aType.fname_l2 attendanceTypeName,
-               jbk.cfworkinghours workingHours,jbk.CFStatus status,'5*8h(工作日)' hourTotal
-        from CT_WOR_JobBooking jbk
-                 left join t_org_admin org on org.fid=jbk.CFOrgID
-                 left join T_ORG_Admin parent on parent.fid=org.FParentID
-                 left join CT_WOR_AttendanceType aType on aType.fid=jbk.CFAttendanceID
-                 left join t_bd_person p on p.fid=jbk.CFPersonID
-        where
-            p.fnumber=#{number} and jbk.cfyearAndMonth=#{month}
-        <if test='state != null and state != "" and state == "0"'>
-            and jbk.CFStatus in('1','4')
-        </if>
-        <if test='state != null and state != "" and state == "1"'>
-            and jbk.CFStatus in('2','3')
-        </if>
-        order by jbk.CFBeginDate asc
-    </select>
-    <select id="getWorkSheetById" resultType="java.util.Map" parameterType="String">
-        select jbk.FID timeSheetId,jbk.CFTitle title,
-        org.fid projectId,(parent.fname_l2+org.fname_l2) projectName,
-        jbk.CFAttendanceID attendanceType,
-        aType.fname_l2 attendanceTypeName,
-        jbk.cfworkinghours workingHours,jbk.CFStatus status,'5*8h(工作日)' hourTotal
-        from CT_WOR_JobBooking jbk
-        left join t_org_admin org on org.fid=jbk.CFOrgID
-        left join T_ORG_Admin parent on org.fid=parent.FParentID
-        left join CT_WOR_AttendanceType aType on aType.fid=jbk.CFAttendanceID
-        left join t_bd_person p on p.fid=jbk.CFPersonID
-        where jbk.fid=#{id}
-
-    </select>
-    <select id="getMonthWorkSheetEntry" resultType="java.util.Map" parameterType="String">
-        select fid detailId,cfworkingHours workingHours,
-               cfCalendarType workCalendarType,CFAttendanceID attendanceType,
-               CONVERT(varchar(10) ,cfreportDate, 120 ) reportDate,FParentID parentId
-        From CT_WOR_JobBookingEntry
-        where FParentID=#{id}
-        order by cfreportDate asc
-    </select>
-    <select id="getMonthWorkSheetEntryV2" resultType="java.util.Map" parameterType="String">
-        select  SUM(convert(int,cfworkinghours)) workingHours,
-                cfCalendarType workCalendarType,
-                CONVERT(varchar(10) ,cfreportDate, 120 ) reportDate
-        From CT_WOR_JobBookingEntry
-        where FParentID=#{id}
-        group by cfreportDate,cfCalendarType
-        order by cfreportDate asc
-    </select>
-    <select id="getHourTotal" resultType="java.util.Map" parameterType="String">
-        select parentId,calendarType,COUNT(*) num,workHours,
-        (CASE calendarType
-        WHEN 0 THEN  convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h'
-        WHEN 1 THEN convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h(休息日)'
-        ELSE convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h(节假日)'
-        end) hourTotal
-        from (
-        select
-        fparentId parentId,cfcalendarType calendarType,
-        cfreportDate reportDate,SUM(convert(int,cfworkinghours)) workHours
-        from CT_WOR_JobBookingEntry
-        where fparentId=#{id}
-        <if test='calendarType != null and calendarType != ""'>
-            and cfcalendarType=#{calendarType}
-        </if>
-        and cfcalendarType!=1
-        group by cfcalendarType,fparentId,cfreportDate
-        ) t
-        group by calendarType,parentId,workHours
-    </select>
-    <select id="getHourTotalAll" resultType="java.util.Map" parameterType="String">
-        select parentId,calendarType,COUNT(*) num,workHours,
-        (CASE calendarType
-        WHEN 0 THEN  convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h'
-        WHEN 1 THEN convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h(休息日)'
-        ELSE convert(varchar,COUNT(*))+'*'+convert(varchar,workHours)+'h(节假日)'
-        end) hourTotal
-        from (
-        select
-        fparentId parentId,cfcalendarType calendarType,
-        cfreportDate reportDate,SUM(convert(int,cfworkinghours)) workHours
-        from CT_WOR_JobBookingEntry
-        where fparentId=#{id}
-        group by cfcalendarType,fparentId,cfreportDate
-        ) t
-        group by calendarType,parentId,workHours
-    </select>
-    <select id="getHourTotalSum" resultType="java.util.Map">
-        select calendarType,COUNT(*) num
-        from (
-                 select
-                     cfcalendarType calendarType,
-                     cfreportDate reportDate,SUM(convert(int,cfworkinghours)) workHours
-                 from CT_WOR_JobBookingEntry
-                 where fparentId in
-                     <foreach item="id" index="index" collection="list" open="(" separator="," close=")">
-                            #{id}
-                     </foreach>
-                    <if test='calendarType != null and calendarType != ""'>
-                        and cfcalendarType=#{calendarType}
-                    </if>
-                 group by cfcalendarType,cfreportDate
-             ) t
-        group by calendarType
-    </select>
-    <select id="getHourTotalSumV2" resultType="java.util.Map">
-        SELECT  count(DISTINCT cfreportDate) as num,cfcalendarType calendarType
-        FROM CT_WOR_JobBookingEntry
-        where 1=1
-        and fparentId in
-        <foreach item="id" index="index" collection="list" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-        <if test='calendarType != null and calendarType != ""'>
-            and cfcalendarType=#{calendarType}
-        </if>
-        GROUP BY cfcalendarType
-    </select>
-    <select id="getOrgAndJobBookId" resultType="java.util.Map">
-        select org.fid orgId,jbk.fid jbkId from
-            T_ORG_Admin org
-            left join CT_WOR_JobBooking jbk on jbk.CFOrgID=org.fid
-        where
-        jbk.CFYearAndMonth is not null
-        and jbk.cfpersonid in
-        <foreach item="id" index="index" collection="list" open="("
-                 separator="," close=")">
-            #{id}
-        </foreach>
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-        and jbk.CFYearAndMonth is not null
-        <if test='month != null and month != ""'>
-            and jbk.CFYearAndMonth = #{month}
-        </if>
-    </select>
-    <select id="getAudited" resultType="java.util.Map">
-        select org.FID projectId,(parent.fname_l2+org.fname_l2) projectName,
-        jbk.CFYearAndMonth yearAndMonth,jbkl.reportNum,
-        isnull(SUM((CASE a.cfcalendarType WHEN 0 THEN isnull(a.dateTotal,0) end)),0) workHours,
-        isnull(SUM((CASE a.cfcalendarType WHEN 2 THEN a.dateTotal end)),0) holidayHours
-        from
-        T_ORG_Admin org
-        left join T_ORG_Admin parent on parent.fid=org.FParentID
-        left join CT_WOR_JobBooking jbk on jbk.CFOrgID=org.fid
-        left join (
-        SELECT  count(DISTINCT cfreportDate) as dateTotal,CFPersonID,cfcalendarType,FParentID
-        FROM CT_WOR_JobBookingEntry
-        where 1=1
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and CFStatus in('3')
-        </if>
-        <!--                 and CFPersonID in-->
-        <!--                <foreach item="id" index="index" collection="list" open="("-->
-        <!--                         separator="," close=")">-->
-        <!--                    #{id}-->
-        <!--                </foreach>-->
-        GROUP BY FParentID,CFPersonID,cfcalendarType
-        )  a on a.FParentID = jbk.FID and a.CFPersonID=jbk.CFPersonID
-        left join (
-        select CFOrgID,COUNT(CFPersonID) reportNum
-        from(
-        select CFOrgID,CFPersonID from
-        CT_WOR_JobBooking
-        where CFPersonID in
-        <foreach item="id" index="index" collection="list" open="("
-                 separator="," close=")">
-            #{id}
-        </foreach>
-        group by CFOrgID,CFPersonID) t
-        group by CFOrgID)
-        jbkl on jbkl.CFOrgID=org.fid
-        where jbk.cfpersonid in
-        <foreach item="id" index="index" collection="list" open="("
-                 separator="," close=")">
-            #{id}
-        </foreach>
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-        and jbk.CFYearAndMonth is not null
-        <if test='month != null and month != ""'>
-            and jbk.CFYearAndMonth = #{month}
-        </if>
-        group by org.FID,org.fname_l2,parent.fname_l2,jbk.CFYearAndMonth,jbkl.reportNum
-    </select>
-    <select id="getAuditedV9" resultType="java.util.Map">
-        select org.FID projectId,(parent.fname_l2+org.fname_l2) projectName,
-               jbk.CFYearAndMonth yearAndMonth,jbkl.reportNum,
-        isnull(SUM((CASE a.cfcalendarType WHEN 0 THEN isnull(a.dateTotal,0) end)),0) workHours,
-        isnull(SUM((CASE a.cfcalendarType WHEN 2 THEN a.dateTotal end)),0) holidayHours
-        from
-            T_ORG_Admin org
-            left join T_ORG_Admin parent on parent.fid=org.FParentID
-                left join CT_WOR_JobBooking jbk on jbk.CFOrgID=org.fid
-                left join (
-                SELECT  count(DISTINCT cfreportDate) as dateTotal,CFPersonID,cfcalendarType,FParentID
-                FROM CT_WOR_JobBookingEntry
-                where 1=1
-                <if test='audit != null and audit != "" and audit == "0"'>
-                    and CFStatus in('2')
-                </if>
-                <if test='audit != null and audit != "" and audit == "1"'>
-                    and CFStatus in('3')
-                </if>
-<!--                and FParentID in-->
-<!--                <foreach item="id" index="index" collection="list" open="("-->
-<!--                         separator="," close=")">-->
-<!--                    #{id}-->
-<!--                </foreach>-->
-                GROUP BY FParentID,CFPersonID,cfcalendarType
-                )  a on a.FParentID = jbk.FID and a.CFPersonID=jbk.CFPersonID
-                left join (
-                    select CFOrgID,COUNT(CFPersonID) reportNum
-                    from(
-                         select CFOrgID,CFPersonID from
-                         CT_WOR_JobBooking
-                        where CFPersonID in
-                        <foreach item="id" index="index" collection="pidList" open="("
-                                 separator="," close=")">
-                            #{id}
-                        </foreach>
-                         group by CFOrgID,CFPersonID) t
-                     group by CFOrgID)
-                jbkl on jbkl.CFOrgID=org.fid
-
-        where jbk.fid in
-        <foreach item="id" index="index" collection="list" open="("
-                 separator="," close=")">
-            #{id}
-        </foreach>
-        group by org.FID,org.fname_l2,parent.fname_l2,jbk.CFYearAndMonth,jbkl.reportNum
-    </select>
-
-    <select id="getReportDateWorkHoursByPerson" resultType="java.util.Map" parameterType="String">
-        select jbk.*
-        from CT_WOR_JobBookingEntry jbk
-        where
-            jbk.CFPersonID=#{personId} and jbk.CFReportDate = #{reportDate}
-        order by jbk.FSeq
-    </select>
-    <select id="getJobDayByPerson" resultType="java.util.Map" parameterType="String">
-        select SUM(workinghours) workinghours, fnumber number,count(*) num from (
-        select item.CFPersonID,p.fnumber,item.CFReportDate,SUM(convert(int,item.cfworkinghours)) workinghours
-        from CT_WOR_JobBookingEntry item
-        left join t_bd_person p on p.fid=item.CFPersonID
-        where
-        p.fnumber=#{number}
-        and item.CFReportDate &lt;=#{endDate}
-        and item.CFReportDate &gt;=#{stratDate}
-        <if test='attID != null and attID != ""'>
-            and item.CFAttendanceID=#{attID}
-        </if>
-        <if test='orgid != null and orgid != ""'>
-            and item.cforgid =#{orgid}
-        </if>
-        <if test='status != null and status != "" '>
-            and item.CFStatus =#{status}
-            and item.FSourceBillID is null
-        </if>
-        group by item.CFReportDate,item.CFPersonID,p.fnumber
-        ) t
-        group by t.CFPersonID,t.fnumber
-    </select>
-    <select id="getEmpAuditedV2Entry" resultMap="empAuditedEntry">
-        select jbk.fid,jbkEny.fid detailId,
-               jbkEny.CFCalendarType workCalendarType,jbkEny.CFWorkingHours workingHoursEny,
-               jbkEny.CFAttendanceID jbkeAttendanceType,aTypeEny.fname_l2 jbkeAttendanceTypeName,
-               CONVERT(varchar(10) ,jbkEny.cfreportDate, 120 ) reportDate
-        from CT_WOR_JobBooking jbk
-        left join CT_WOR_JobBookingEntry jbkEny on jbkEny.FParentID=jbk.fid
-        left join CT_WOR_AttendanceType aTypeEny on aTypeEny.fid=jbkEny.CFAttendanceID
-        where jbk.fid=#{timeSheetId}
-        order by jbkEny.cfreportDate
-    </select>
-
-    <select id="getEmpAuditedV2" resultMap="empAuditedV2">
-        select jbk.fid timeSheetId,jbk.CFTitle title,jbk.CFWorkingHours workingHours,
-        jbk.cforgid projectId,org.fname_l2 projectName,jbk.CFstatus status,
-        jbk.CFAttendanceID attendanceType,aType.fname_l2 attendanceTypeName,
-        CONVERT(varchar(10) ,jbk.CFBeginDate, 120 ) beginDate,
-        CONVERT(varchar(10) ,jbk.CFendDate, 120 ) endDate
-        from CT_WOR_JobBooking jbk
-        left join t_org_admin org on org.fid=jbk.cforgid
-        left join CT_WOR_AttendanceType aType on aType.fid=jbk.CFAttendanceID
-
-        where jbk.cfpersonid =  #{personId}
-
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-
-        <if test='month != null and month != ""'>
-            and jbk.CFYearAndMonth = #{month}
-        </if>
-        order by jbk.CFBeginDate
-    </select>
-
-    <resultMap id="empAuditedEntry" type="com.qy.worksheetsystem.entity.JobBookingEntry">
-        <id column="detailId" property="detailId"/>
-        <result column="workingHoursEny" property="workingHours"/>
-        <result column="workCalendarType" property="workCalendarType"/>
-        <result column="jbkeAttendanceType" property="attendanceType"/>
-        <result column="jbkeAttendanceTypeName" property="attendanceTypeName"/>
-        <result column="reportDate" property="reportDate"/>
-    </resultMap>
-    <resultMap id="empAuditedV2" type="com.qy.worksheetsystem.entity.JobBooking" >
-        <id column="timeSheetId" property="timeSheetId"/>
-        <result column="title" property="title"/>
-        <result column="projectId" property="projectId"/>
-        <result column="projectName" property="projectName"/>
-        <result column="attendanceType" property="attendanceType"/>
-        <result column="attendanceTypeName" property="attendanceTypeName"/>
-        <result column="status" property="status"/>
-        <result column="beginDate" property="beginDate"/>
-        <result column="endDate" property="endDate"/>
-        <result column="workingHours" property="workingHours"/>
-        <collection property="details" ofType="com.qy.worksheetsystem.entity.JobBookingEntry"
-        javaType="java.util.List" select="getEmpAuditedV2Entry" column="timeSheetId"
-        >
-        </collection>
-    </resultMap>
-
-    <select id="getEmpAudited"  resultMap="empAudited"  >
-    select jbk.fid timeSheetId,jbk.CFTitle title,jbk.CFWorkingHours workingHours,
-           jbk.cforgid projectId,org.fname_l2 projectName,jbk.CFstatus status,
-           jbk.CFAttendanceID attendanceType,aType.fname_l2 attendanceTypeName,jbkEny.fid detailId,
-           jbkEny.CFCalendarType workCalendarType,jbkEny.CFWorkingHours workingHoursEny,
-           jbkEny.CFAttendanceID jbkeAttendanceType,aTypeEny.fname_l2 jbkeAttendanceTypeName,
-        CONVERT(varchar(10) ,jbkEny.cfreportDate, 120 ) reportDate,
-        CONVERT(varchar(10) ,jbk.CFBeginDate, 120 ) beginDate,
-        CONVERT(varchar(10) ,jbk.CFendDate, 120 ) endDate
-    from CT_WOR_JobBooking jbk
-    left join t_org_admin org on org.fid=jbk.cforgid
-    left join CT_WOR_AttendanceType aType on aType.fid=jbk.CFAttendanceID
-    left join CT_WOR_JobBookingEntry jbkEny on jbkEny.FParentID=jbk.fid
-    left join CT_WOR_AttendanceType aTypeEny on aTypeEny.fid=jbkEny.CFAttendanceID
-        where jbk.cfpersonid =  #{personId}
-
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-
-        <if test='month != null and month != ""'>
-            and jbk.CFYearAndMonth = #{month}
-        </if>
-    </select>
-
-    <resultMap id="empAudited" type="com.qy.worksheetsystem.entity.JobBooking" >
-        <id column="timeSheetId" property="timeSheetId"/>
-        <result column="title" property="title"/>
-        <result column="projectId" property="projectId"/>
-        <result column="projectName" property="projectName"/>
-        <result column="attendanceType" property="attendanceType"/>
-        <result column="attendanceTypeName" property="attendanceTypeName"/>
-        <result column="status" property="status"/>
-        <result column="beginDate" property="beginDate"/>
-        <result column="endDate" property="endDate"/>
-        <result column="workingHours" property="workingHours"/>
-        <collection property="details" ofType="com.qy.worksheetsystem.entity.JobBookingEntry">
-            <id column="detailId" property="detailId"/>
-            <result column="workingHoursEny" property="workingHours"/>
-            <result column="workCalendarType" property="workCalendarType"/>
-            <result column="jbkeAttendanceType" property="attendanceType"/>
-            <result column="jbkeAttendanceTypeName" property="attendanceTypeName"/>
-            <result column="reportDate" property="reportDate"/>
-        </collection>
-    </resultMap>
-
-    <select id="getEmpList" resultType="java.util.Map"  >
-        select
-        p.fname_l2 empName,p.fnumber empNumber
-        from CT_WOR_JobBooking jbk
-        left join t_bd_person p on p.fid=jbk.CFPersonID
-        where jbk.cfpersonid in
-        <foreach item="id" index="index" collection="list" open="("
-                 separator="," close=")">
-            #{id}
-        </foreach>
-        <if test='audit != null and audit != "" and audit == "0"'>
-            and jbk.CFStatus in('2')
-        </if>
-        <if test='audit != null and audit != "" and audit == "1"'>
-            and jbk.CFStatus in('3')
-        </if>
-
-        <if test='month != null and month != ""'>
-            and jbk.CFYearAndMonth = #{month}
-        </if>
-        group by jbk.CFYearAndMonth,jbk.CFPersonID,p.fname_l2,p.fnumber
-    </select>
-</mapper>

+ 0 - 12
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.java

@@ -1,12 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.Map;
-
-@Repository
-public interface PersonMapper {
-
-    Map<String,String> getPersonByFeiShuId(@Param("feishuid")String feishuid);
-}

+ 0 - 13
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonMapper.xml

@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.ProjectMapper">
-
-    <select id="getPersonByFeiShuId" resultType="java.util.Map">
-        select top 1 p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-               p.cffeishuid feishuid
-        from t_bd_person p
-        where p.cffeishuid=#{feishuid}
-    </select>
-
-
-</mapper>

+ 0 - 44
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.java

@@ -1,44 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * description: ProjectMapper <br>
- * date: 2022/3/12 10:24 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Repository
-public interface ProjectMapper {
-
-     Map<String,String> getProjectListSingle(@Param("number")String number, @Param("id")String id);
-     List<Map<String,String>> getProjectList(@Param("number")String number,
-                                             @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,String>> getProjectListV2(@Param("number")String number,
-                                             @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectByPNumber(@Param("number")String number);
-     List<Map<String,Object>> getProjectByPNumberV2(@Param("number")String number,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectByPNumberV3(@Param("number")String number,@Param("OrgNumber")String OrgNumber);
-
-     List<Map<String,Object>> getProjectListToChild(@Param("number")String number,
-                                                    @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     List<Map<String,Object>> getProjectListToChildV2(@Param("number")String number,
-                                                    @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-     String getProjectListToChildV3(@Param("number")String number,
-                                                      @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-
-     /**
-      * 获取领导下属员工
-      * @param number
-      * @param id
-      * @param OrgNumber
-      * @return
-      */
-     List<String> getProjectListToChildV2ByPid(@Param("number")String number,
-                                                      @Param("id")String id,@Param("OrgNumber")String OrgNumber);
-
-}

+ 0 - 566
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/ProjectMapper.xml

@@ -1,566 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.ProjectMapper">
-
-    <select id="getProjectListSingle" resultType="java.util.Map">
-        select top 1 p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-               org.FID orgId,org.FName_L2 orgName,org.FNumber orgNumber,
-               CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-               CONVERT(varchar(10) , org.FLEFFDT, 120 ) endDate,
-               isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-               p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber
-        from t_bd_person p
-                 left join T_HR_PERSONPOSITION pp on pp.fpersonid=p.fid
-                 left join T_ORG_Admin org on org.fid=pp.FPersonDep
-                 left join T_ORG_POSITION post on post.fid=pp.FPrimaryPositionID
-                 left join T_ORG_POSITION post2 on post2.FAdminOrgUnitID = org.FParentID and post2.FIsRespPosition=1
-                 left join T_HR_PERSONPOSITION pp2 on pp2.FPrimaryPositionID=isnull(org.FResponPositionID,post2.fid)
-                 left join t_bd_person p2 on p2.fid=pp2.fpersonid
-        where p.fnumber=#{number}
-        <if test='id != null and id != ""'>
-            and pp.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectList" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate,
-        post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,
-        wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectListV2" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-    <select id="getProjectListToChildV2" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-
-    </select>
-    <select id="getProjectListToChildV2ByPid" resultType="java.lang.String">
-        select p.fid pid
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp.FADMINORGID=#{id}
-        </if>
-        union
-        select p.fid pid
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        INNER join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        INNER join t_bd_person p2 on p2.fid=mg.CFManagerID
-
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp.FADMINORGID=#{id}
-        </if>
-
-    </select>
-    <select id="getProjectListToChild" resultType="java.util.Map">
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=1
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate,
-        post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-        union
-        select p.fid pid,p.fnumber pNumber,p.fname_l2 pName,
-        org.FID orgId,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        CONVERT(varchar(10) , org.FEFFDT, 120 ) beginDate,
-        CONVERT(varchar(10), org.FLEFFDT, 120 ) endDate,
-        isnull(org.FResponPositionID,post2.fid) responPositionID,org.FParentID,
-        p2.fid managerId,p2.fname_l2 managerName,p2.fnumber managerNumber,
-        CONVERT(varchar(10) ,isnull(pp1.FEnterDate,''), 120 ) enterDate, post.fname_l2,
-        wuser.userid wxUserId
-        from t_bd_person p
-        INNER join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31' and pp.FASSIGNTYPE=0
-        INNER join T_HR_PERSONPOSITION pp1 on pp1.fpersonid=p.fid
-        INNER join T_HR_EMPLABORRELATION ppp2 on ppp2.FPersonID=p.fid
-        INNER join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        INNER join T_ORG_Admin org2 on org.FParentID=org2.fid
-        INNER join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on post2.fid=post.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p2.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp1.FPersonDep in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-        <if test='id != null and id != ""'>
-            and pp1.FPersonDep=#{id}
-        </if>
-    </select>
-
-    <select id="getProjectByPNumber" resultType="java.util.Map" parameterType="String">
-        select child.* from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex((adcount.flongnumber+'!'),child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-        where  adcount.fid in(
-            select pp.FADMINORGID from t_bd_person p
-            inner join T_HR_EmpOrgRelation pp on  pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'
-            where p.fnumber=#{number}
-            )
-    </select>
-    <select id="getProjectByPNumberV2" resultType="java.util.Map">
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=0
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_POSITION post2 on  post.fid=post2.FParentID
-        left join T_HR_EmpOrgRelation parp on parp.FPositionID = post.FParentID and parp.FLEFFDT='2199-12-31' and parp.FASSIGNTYPE=1
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join t_bd_person p2 on p2.fid=parp.fpersonid
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-    </select>
-    <select id="getProjectByPNumberV3" resultType="java.util.Map">
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=1
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-        union
-        select
-        org.FID FID,(org2.fname_l2+'_'+org.FName_L2) orgName,org.FNumber orgNumber,
-        org.FParentID,
-        p.fid managerId,p.fname_l2 managerName,p.fnumber managerNumber,
-        post.fid, post.fname_l2,wuser.userid wxUserId
-        from t_bd_person p
-        left join T_HR_EmpOrgRelation pp on pp.fpersonid=p.fid and pp.FLEFFDT='2199-12-31'  and pp.FASSIGNTYPE=0
-        left join T_ORG_POSITION post on post.fid=pp.FPOSITIONID
-        left join T_ORG_Admin org on org.fid=pp.FADMINORGID
-        left join T_ORG_Admin org2 on org.FParentID=org2.fid
-        left join CT_WK_ManagerInfo mg on mg.CFPersonID=p.fid
-        left join t_bd_person p2 on p2.fid=mg.CFManagerID
-        left join ct_wx_user wuser on wuser.number=p2.fnumber
-        where p.fnumber=#{number}  and p2.fid is not null
-        <if test='OrgNumber != null and OrgNumber != ""'>
-            and pp.FADMINORGID in(select child.fid from T_ORG_Admin adcount
-            left join T_ORG_Admin child on (charindex(adcount.flongnumber+'!',child.flongnumber) = 1 or adcount.flongnumber = child.flongnumber)
-            where adcount.fnumber=#{OrgNumber})
-        </if>
-
-    </select>
-</mapper>

+ 0 - 6
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/SaveLeaveBillMapper.java

@@ -1,6 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-public interface SaveLeaveBillMapper {
-
-
-}

+ 0 - 11
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/SaveLeaveBillMapper.xml

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.SaveLeaveBillMapper">
-    <select id="selectIDName" resultType="java.util.Map">
-        SELECT
-            FID AS id,
-            FName_l2 AS name
-        FROM
-            CT_WOR_AttendanceType order by fnumber;
-    </select>
-</mapper>

+ 0 - 34
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/THRATSWorkCalendarItemMapper.java

@@ -1,34 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.MapKey;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-public interface THRATSWorkCalendarItemMapper {
-    /**
-     * 获取工作日历
-     * @param map  里面存的开始时间和结束时间
-     * @return
-     */
-
-    List<Map<String,String>> selectWorkCalendar(Map map);
-    /**
-     * 获取工作日历
-     * @return
-     */
-
-    List<Map<String,String>> selectWorkCalendarV2(@Param("startDate") String startDate, @Param("endDate") String endDate);
-
-    /**
-     * 获取工作日历
-     * @param calDate  日期
-     * @return
-     */
-
-    Map<String,String> getWorkCalendar(String calDate);
-
-    List<Map<String,Object>> getWorkDay(@Param("startDate") String startDate, @Param("endDate") String endDate);
-
-}

+ 0 - 59
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/THRATSWorkCalendarItemMapper.xml

@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.THRATSWorkCalendarItemMapper">
-    <select id="selectWorkCalendar" parameterType="java.util.Map" resultType="java.util.Map">
-    SELECT
-        item.fid,
-        CONVERT(varchar(20) , item.FDate, 120 ) as FDate,
-        CAST (item.FDayType as varchar) as dateType,
-        item.FWEEK
-    FROM
-	T_HR_ATS_WorkCalendarItem item
-    left join T_HR_ATS_WorkCalendar w on w.fid=item.FCALENDARGROUPID
-    WHERE
-        item.FDate BETWEEN #{startDate}
-        AND #{endDate}
-        AND w.FISDEFAULT=1
-   </select>
-    <select id="selectWorkCalendarV2" parameterType="String" resultType="java.util.Map">
-        SELECT
-            item.fid,
-            CONVERT(varchar(20) , item.FDate, 120 ) as FDate,
-            CAST (item.FDayType as varchar) as dateType,
-            item.FWEEK
-        FROM
-            T_HR_ATS_WorkCalendarItem item
-                left join T_HR_ATS_WorkCalendar w on w.fid=item.FCALENDARGROUPID
-        WHERE
-            item.FDate BETWEEN #{startDate}
-                AND #{endDate}
-          AND w.FISDEFAULT=1
-    </select>
-    <select id="getWorkCalendar" parameterType="String" resultType="java.util.Map">
-        SELECT
-            item.fid,
-            CONVERT(varchar(20) , item.FDate, 120 ) FDate,
-            CAST (item.FDayType as varchar) dateType,
-            item.FWEEK
-        FROM
-            T_HR_ATS_WorkCalendarItem item
-            left join T_HR_ATS_WorkCalendar w on w.fid=item.FCALENDARGROUPID
-        WHERE
-            item.FDate = #{calDate}
-          and w.FISDEFAULT=1
-    </select>
-    <select id="getWorkDay" parameterType="String" resultType="java.util.Map">
-        SELECT
-        count(*) dayLen,
-        item.FDayType
-        FROM
-        T_HR_ATS_WorkCalendarItem item
-        left join T_HR_ATS_WorkCalendar w on w.fid=item.FCALENDARGROUPID
-        WHERE
-        item.FDate &lt;=#{endDate}
-        and item.FDate &gt;=#{startDate}
-        and w.FISDEFAULT=1
-        group by item.FDayType
-    </select>
-
-</mapper>

+ 0 - 55
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/UserMapper.java

@@ -1,55 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-/**
- * @author chen
- * @date 2019/7/23
- * @email 15218979950@163.com
- * @description  mapper接口
- */
-@Repository
-public interface UserMapper {
-    /**
-     * 获得密码
-     */
-    String getPassword(String username);
-
-    /**
-     * 获得角色权限
-     */
-    String getRole(String username);
-
-    /**
-     * 修改密码
-     */
-    void updatePassword(@Param("username") String username, @Param("newPassword") String newPassword);
-
-    /**
-     * 获得存在的用户
-     */
-    List<String> getUser();
-
-    /**
-     * 封号
-     */
-    void banUser(String username);
-
-    /**
-     * 检查用户状态
-     */
-    int checkUserBanStatus(String username);
-
-    /**
-     * 获得用户角色默认的权限
-     */
-    String getRolePermission(String username);
-
-    /**
-     * 获得用户的权限
-     */
-    String getPermission(String username);
-}

+ 0 - 50
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/UserMapper.xml

@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.UserMapper">
-    <select id="getPassword" parameterType="String" resultType="String">
-        SELECT password
-        FROM test_user
-        WHERE username = #{username}
-    </select>
-
-    <select id="getRole" parameterType="String" resultType="String">
-        SELECT role
-        FROM test_user
-        WHERE username = #{username}
-    </select>
-
-    <update id="updatePassword" parameterType="String">
-        UPDATE test_user
-        SET password = #{password}
-        WHERE username = #{username}
-    </update>
-
-    <select id="getUser" resultType="String">
-        SELECT username
-        FROM test_user
-    </select>
-
-    <update id="banUser" parameterType="String">
-        UPDATE test_user
-        SET ban = 1
-        WHERE username = #{username}
-    </update>
-
-    <select id="checkUserBanStatus" parameterType="String" resultType="int">
-        SELECT ban
-        FROM test_user
-        WHERE username = #{username}
-    </select>
-
-    <select id="getRolePermission" parameterType="String" resultType="String">
-        SELECT role.permission
-        FROM test_user, role
-        WHERE username = #{username} AND role.role = user.role
-    </select>
-
-    <select id="getPermission" parameterType="String" resultType="String">
-        SELECT permission
-        FROM test_user
-        WHERE username = #{username}
-    </select>
-</mapper>

+ 0 - 95
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/WorkSheetMapper.java

@@ -1,95 +0,0 @@
-package com.qy.worksheetsystem.model.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Map;
-
-@Repository
-public interface WorkSheetMapper {
-    /**
-     * 通过审核人获取明细信息
-     * @param id
-     * @return
-     */
-    List<Map<String,String>> getReportDateWorkHoursByPerson(@Param("personId")String personId,@Param("reportDate")String reportDate,@Param("id")String id);
-
-
-    /**
-     * 通过审核人获取明细信息
-     * @param id
-     * @return
-     */
-    List<Map<String,String>> getEntryByApproverId(@Param("id")String id);
-
-    /**
-     * 通过parentid获取明细
-     * @param id
-     * @return
-     */
-    List<Map<String,String>> getEntryByParentId(@Param("id")String id);
-
-    /**
-     * 获取明细数据
-     * @param id
-     * @return
-     */
-    Map<String,String> getEntryById(@Param("id")String id);
-    /**
-     * 获取明细数据
-     * @param id
-     * @return
-     */
-    Map<String,Object> getJobBookingById(@Param("id")String id);
-    /**
-     * 更新明细表状态
-     * @param status
-     * @param id
-     * @return
-     */
-    public boolean updateEntryStatusById(@Param("status") Integer status,@Param("id") String id);
-    /**
-     * 更新主表状态
-     * @param status
-     * @param id
-     * @return
-     */
-    public boolean updateStatusById(@Param("status") Integer status,@Param("id") String id);
-
-    /**
-     * 更新主表状态
-     * @param map
-
-     * @return
-     */
-    public boolean updateJobBooking(Map map);
-
-    /**
-     * 更新主表状态
-     * @param map
-     * @return
-     */
-    public boolean updateEntry(Map map);
-    /**
-     * 通过主表id更新明细状态
-     * @param status
-     * @param parentId
-     * @return
-     */
-    public boolean updateEntryStatusByParentId(@Param("status") Integer status,@Param("id") String parentId);
-
-    /**
-     * 根据id更新parentId
-     * @param parentId
-     * @param id
-     * @return
-     */
-    public boolean updateEntryParentIdById(@Param("parentId") String parentId,@Param("id") String id);
-
-
-    public boolean updateEntryAudiByParentId(@Param("status") String status,@Param("id") String id,
-                                             @Param("auditorAndNumber") String auditorAndNumber);
-    public boolean updateStatusAndAuditorById(@Param("status") String status,@Param("id") String id,
-                                              @Param("auditorAndNumber") String auditorAndNumber);
-}

+ 0 - 71
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/WorkSheetMapper.xml

@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qy.worksheetsystem.model.mapper.WorkSheetMapper">
-    <select id="getReportDateWorkHoursByPerson" resultType="java.util.Map" parameterType="String">
-        select jbk.*
-        from CT_WOR_JobBookingEntry jbk
-        where
-            jbk.CFPersonID=#{personId} and CFReportDate = #{reportDate} and FID &lt;&gt; #{id}
-        order by FSeq
-    </select>
-
-    <select id="getEntryByParentId" resultType="java.util.Map" parameterType="String">
-        select jbk.*
-        from CT_WOR_JobBookingEntry jbk
-        where
-            jbk.FParentID=#{id}
-        order by FSeq
-    </select>
-
-    <select id="getEntryById" resultType="java.util.Map" parameterType="String">
-        select jbk.*
-        from CT_WOR_JobBookingEntry jbk
-        where
-            jbk.fid=#{id}
-    </select>
-
-    <select id="getJobBookingById" resultType="java.util.Map" parameterType="String">
-        select *
-        from CT_WOR_JobBooking
-        where
-            fid=#{id}
-    </select>
-
-    <update id="updateEntryStatusById" >
-        update CT_WOR_JobBookingEntry set CFStatus =#{status} where fid = #{id}
-    </update>
-
-    <update id="updateEntryStatusByParentId" >
-        update CT_WOR_JobBookingEntry set CFStatus =#{status} where FParentID = #{id}
-    </update>
-    <update id="updateEntryAudiByParentId" >
-        update CT_WOR_JobBookingEntry set CFStatus =#{status},CFAuditorAndNumber=#{auditorAndNumber} where FParentID = #{id}
-    </update>
-    <update id="updateStatusById" >
-        update CT_WOR_JobBooking set CFStatus =#{status} where fid = #{id}
-    </update>
-    <update id="updateStatusAndAuditorById" >
-        update CT_WOR_JobBooking set CFStatus =#{status},CFAuditorAndNumber=#{auditorAndNumber} where fid = #{id}
-    </update>
-    <update id="updateEntryParentIdById" >
-        update CT_WOR_JobBookingEntry set FParentID =#{parentId} where fid = #{id}
-    </update>
-
-    <update id="updateJobBooking" parameterType="java.util.Map">
-        update CT_WOR_JobBooking set CFTitle =#{CFTitle},
-                                          CFStatus =#{CFStatus},
-                                          CFBeginDate =#{CFBeginDate},
-                                          CFEndDate =#{CFEndDate},
-                                     CFWorkingHours =#{CFWorkingHours},
-                                     CFAttendanceID=#{CFAttendanceID}
-        where fid = #{FID}
-    </update>
-
-    <update id="updateEntry" parameterType="java.util.Map">
-        update CT_WOR_JobBookingEntry set CFAttendanceID =#{CFAttendanceID},
-                                          CFWorkingHours =#{CFWorkingHours},
-                                          CFOrgID =#{CFOrgID},
-                                          CFStatus =#{CFStatus}
-        where fid = #{FID}
-    </update>
-</mapper>

+ 0 - 19
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/CTWORAttendanceTypeService.java

@@ -1,19 +0,0 @@
-package com.qy.worksheetsystem.service;
-
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * service  业务逻辑层
- */
-public interface CTWORAttendanceTypeService {
-    //查询考勤id和类型名称
-    List<Map<String,String>> selectIDName();
-    //查询考勤id和类型名称
-    List<Map<String,String>> getAttendanceType(String number);
-    List<Map<String,String>> getAttendanceTypeV2(String number,String state);
-
-    Map<String,Object> getHolidayLimit(String number);
-}

+ 0 - 22
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/FeishuAuthorizeService.java

@@ -1,22 +0,0 @@
-package com.qy.worksheetsystem.service;
-
-import java.util.Map;
-
-public interface FeishuAuthorizeService {
-    /**
-     * 构造网页授权链接
-     * @param redirect_uri
-     * @param state
-     * @return
-     */
-    public String authorize(String redirect_uri, String state);
-    /**
-     * 获取 user_access_token
-     * @param redirect_uri
-     * @param code
-     * @return
-     */
-    public String getUserAccessToken(String redirect_uri ,String code);
-
-    public Map<String,String> getUserInfo(String redirect_uri,String code);
-}

+ 5 - 1
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/PersonService.java

@@ -10,8 +10,12 @@ import java.util.Map;
  * @Description: TODO
  * @Version: 1.0
  */
+
 public interface PersonService {
 
-   Map<String,String> getPersonByFeiShuId(String feishuid);
+   Map<String,String> getPersonByUserId(String userid);
+
+   Map<String,String> getPersonByOpenId(String openid);
 
+   Map<String,String> getPersonByJobNo(String jobNo);
 }

+ 0 - 8
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/THRATSWorkCalendarItemService.java

@@ -1,8 +0,0 @@
-package com.qy.worksheetsystem.service;
-
-import java.util.List;
-import java.util.Map;
-
-public interface THRATSWorkCalendarItemService {
-    public List<Map<String,String>> selectWorkCalendar(Map map);
-}

+ 0 - 41
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/UserService.java

@@ -1,41 +0,0 @@
-package com.qy.worksheetsystem.service;
-
-import com.qy.worksheetsystem.model.mapper.UserMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * @description
- */
-@Slf4j
-@Service
-public class UserService {
-
-    @Resource
-    private UserMapper userMapper;
-
-    public String getPassword(String username){
-        log.error("======日志测试======");
-        return  userMapper.getPassword(username);
-    }
-
-    public int checkUserBanStatus(String username){
-        return userMapper.checkUserBanStatus(username);
-    }
-
-    public String getRole(String username){
-        return userMapper.getRole(username);
-    }
-
-    public String getRolePermission(String username){
-        return userMapper.getRolePermission(username);
-    }
-
-    public String getPermission(String username){
-        return userMapper.getPermission(username);
-    }
-
-}

+ 0 - 373
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/WorkSheetService.java

@@ -1,373 +0,0 @@
-package com.qy.worksheetsystem.service;
-
-import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import com.google.common.collect.Maps;
-import com.qy.worksheetsystem.model.MessageResult;
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.model.mapper.*;
-import com.qy.worksheetsystem.service.impl.EmployeeReportingServiceImpl;
-import com.qy.worksheetsystem.service.impl.WeiXinAuthorizeServiceImpl;
-import com.qy.worksheetsystem.vo.CancelOnDateVO;
-import com.qy.worksheetsystem.vo.WorkSheetVO;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.time.ZoneId;
-import java.util.*;
-
-/**
- * 报工相关service
- */
-@Slf4j
-@Service
-public class WorkSheetService {
-    @Resource
-    private EmployeeReportingMapper mapper;
-    @Resource
-    private EmployeeReportingServiceImpl service;
-    @Value("${weixin.url}")
-    private String WXUrl;
-    @Resource
-    private THRATSWorkCalendarItemMapper HRWorkmapper;
-    @Resource
-    private WeiXinAuthorizeServiceImpl wXService;
-    @Resource
-    private WorkSheetMapper workSheetMapper;
-    @Resource
-    private ProjectMapper projectMapper;
-    @Value("${HR.OrgNumber}")
-    private String OrgNumber;
-    @Value("${HR.AttendanceType}")
-    private String AttendanceType;
-    @Transactional
-    public synchronized MessageResult cancelOnDate(String number, CancelOnDateVO cancelOnDateVO) {
-        try {
-            if (StrUtil.isNotEmpty(cancelOnDateVO.getDetailId())) {
-                Map map = workSheetMapper.getEntryById(cancelOnDateVO.getDetailId());
-                if (ObjectUtil.isNull(map.get("FID"))) {
-                    return MessageResult.error("未找到报工明细数据!");
-                } else {
-                    if(!"2".equals(map.get("CFStatus").toString())){
-                        return MessageResult.error("只能撤回待审核的数据!");
-                    }else{
-                        cancelOnDateVO.setStatus(1);
-                        this.splitWorkSheet(map,cancelOnDateVO);
-                    }
-
-                }
-                return MessageResult.success();
-            } else if (StrUtil.isNotEmpty(cancelOnDateVO.getTimeSheetId())) {
-                Map map = workSheetMapper.getJobBookingById(cancelOnDateVO.getTimeSheetId());
-                if (ObjectUtil.isNull(map.get("FID"))) {
-                    return MessageResult.error("未找到报工数据!");
-                } else {
-                    if(!"2".equals(map.get("CFStatus").toString())){
-                        return MessageResult.error("只能撤回待审核的数据!");
-                    }else{
-                        workSheetMapper.updateStatusById(1, cancelOnDateVO.getTimeSheetId());
-                        workSheetMapper.updateEntryStatusByParentId(1, cancelOnDateVO.getTimeSheetId());
-                    }
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("====detailId==="+cancelOnDateVO.getDetailId()+"==========timeSheetId======"+cancelOnDateVO.getTimeSheetId());
-            return MessageResult.error("失败!请联系管理员!");
-        }
-        return MessageResult.success();
-    }
-
-    private Map copyMap(Map<String,String> source,Map des){
-        for(String key:source.keySet()){//keySet获取map集合key的集合  然后在遍历key即可
-            des.put(key,source.get(key));
-        }
-        return des;
-    }
-    private synchronized void splitWorkSheet(Map map,CancelOnDateVO cancelOnDateVO){
-        String parentId = map.get("FParentID").toString();
-        Map jobBookingMap = workSheetMapper.getJobBookingById(parentId);
-        DateTime reportDate = DateUtil.parse(map.get("CFReportDate").toString());
-        Calendar reportCalendar = Calendar.getInstance();
-        reportCalendar.setTime(reportDate);
-        List<Map<String, String>> entryByParentId = workSheetMapper.getEntryByParentId(parentId);
-        List<Map<String, String>> beforeList = new ArrayList<>();
-        List<Map<String, String>> afterList = new ArrayList<>();
-        for(int i=0;i<entryByParentId.size();i++){
-            Map temp = entryByParentId.get(i);
-            DateTime temp_date = DateUtil.parse(temp.get("CFReportDate").toString());
-            if(reportDate.getTime() > temp_date.getTime()){
-                beforeList.add(temp);
-            }else if(reportDate.getTime() < temp_date.getTime()){
-                afterList.add(temp);
-            }else{
-
-            }
-        }
-        if(null != beforeList && beforeList.size() >0){
-            Map beforeMap = new HashMap();
-            beforeMap = copyMap(jobBookingMap,beforeMap);
-            String billId = mapper.selectKey();
-            Date CFBeginDate = (Date)beforeMap.get("CFBeginDate");
-            String beginTime = DateUtil.formatDate(CFBeginDate);
-            String endTime ="";
-            Date CFEndDate = (Date)map.get("CFReportDate");
-            Calendar c = Calendar.getInstance();
-            c.setTime(CFEndDate);
-            c.add(Calendar.DAY_OF_MONTH,-1);
-            int begin = Integer.parseInt(beginTime.substring(8,10));
-            endTime = DateUtil.formatDate(c.getTime());
-            int end = Integer.parseInt(endTime.substring(8,10));
-            if(begin == end){
-                endTime = beginTime;
-                beforeMap.put("CFTitle", begin+"号");
-            }else{
-                beforeMap.put("CFTitle", begin+"-"+end+"号");
-            }
-
-            beforeMap.put("billId",billId);
-            beforeMap.put("CFBeginDate",beginTime);
-            beforeMap.put("CFEndDate",endTime);
-            int workHours = 0;
-            for(int i=0;i<beforeList.size();i++){
-                Map tempEntry = beforeList.get(i);
-                workHours = workHours+(tempEntry.get("CFWorkingHours") == null ? 0 : Integer.parseInt(tempEntry.get("CFWorkingHours").toString()));
-                workSheetMapper.updateEntryParentIdById(billId,tempEntry.get("FID").toString());
-            }
-            beforeMap.put("CFWorkingHours",workHours);
-            mapper.insertBill(beforeMap);
-        }
-
-        if(null != afterList && afterList.size() >0){
-            Map afterMap = new HashMap();
-            afterMap = copyMap(jobBookingMap,afterMap);
-            String billId = mapper.selectKey();
-            String beginTime = "";
-            Date CFEndDate = (Date)afterMap.get("CFEndDate");
-            String endTime = DateUtil.formatDate(CFEndDate);
-            Date CFBeginDate = (Date)map.get("CFReportDate");
-            Calendar c = Calendar.getInstance();
-            c.setTime(CFBeginDate);
-            c.add(Calendar.DAY_OF_MONTH,1);
-            beginTime = DateUtil.formatDate(c.getTime());
-            int begin = Integer.parseInt(beginTime.substring(8,10));
-            int end = Integer.parseInt(endTime.substring(8,10));
-            if(begin == end){
-                afterMap.put("CFTitle", begin+"号");
-            }else{
-                afterMap.put("CFTitle", begin+"-"+end+"号");
-            }
-
-            afterMap.put("billId",billId);
-            afterMap.put("CFBeginDate",beginTime);
-            afterMap.put("CFEndDate",endTime);
-            int workHours = 0;
-            for(int i=0;i<afterList.size();i++){
-                Map tempEntry = afterList.get(i);
-                workHours = workHours+(tempEntry.get("CFWorkingHours") == null ? 0 : Integer.parseInt(tempEntry.get("CFWorkingHours").toString()));
-                workSheetMapper.updateEntryParentIdById(billId,tempEntry.get("FID").toString());
-            }
-            afterMap.put("CFWorkingHours",workHours);
-            mapper.insertBill(afterMap);
-        }
-        map.put("CFStatus","1");
-        int report =  Integer.parseInt(map.get("CFReportDate").toString().substring(8,10));
-        jobBookingMap.put("CFTitle",report+"号");
-        jobBookingMap.put("CFStatus",cancelOnDateVO.getStatus());
-        jobBookingMap.put("CFBeginDate",map.get("CFReportDate"));
-        jobBookingMap.put("CFEndDate",map.get("CFReportDate"));
-        jobBookingMap.put("CFWorkingHours",map.get("CFWorkingHours"));
-        workSheetMapper.updateEntryStatusById(cancelOnDateVO.getStatus(),map.get("FID").toString());
-        workSheetMapper.updateJobBooking(jobBookingMap);
-
-    }
-    private void sendWX( String wxUserId,String title, String personName) throws Exception {
-
-        Map<String, Object> wwMap = Maps.newHashMap();
-        Map<String, Object> valMap = Maps.newHashMap();
-        wwMap.put("agentid",wXService.getKs_AgentId());
-        wwMap.put("msgtype","textcard");
-        wwMap.put("touser", wxUserId);
-        wwMap.put("textcard",valMap);
-        valMap.put("title", "报工审批提醒");
-        StringBuilder content = new StringBuilder();
-        content.append("员工"+title+personName+"报工");
-        valMap.put("description", content);
-        valMap.put("url", WXUrl);
-        valMap.put("btntxt", "详情");
-        wXService.sendKSMessage(wwMap);
-    }
-    @Transactional
-    public MessageResult appProjectOnDate(String number, CancelOnDateVO cancelOnDateVO) {
-        try {
-            Map map = workSheetMapper.getEntryById(cancelOnDateVO.getDetailId());
-            if (ObjectUtil.isNull(map.get("FID"))) {
-                return MessageResult.error("未找到报工数据!");
-            } else {
-                Date CFBeginDate =  (Date)map.get("CFReportDate");
-                Instant instant = CFBeginDate.toInstant();
-                ZoneId zoneId = ZoneId.systemDefault();
-                // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
-                LocalDate beginTime = instant.atZone(zoneId).toLocalDate();
-                if (!service.checkAvailableDate(beginTime)) {
-                    return MessageResult.error("已过7号,不能(通过,驳回)上个月的报工!");
-                }
-               // if ("2".equals(map.get("CFStatus").toString())) {
-                    this.splitWorkSheet(map,cancelOnDateVO);
-                    //workSheetMapper.updateStatusById(cancelOnDateVO.getStatus(), cancelOnDateVO.getDetailId());
-              //  } else {
-              //     return MessageResult.error("只能操作待审核数据!");
-              //  }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error("====detailId==="+cancelOnDateVO.getDetailId());
-            return MessageResult.error("失败!请联系管理员!");
-        }
-        return MessageResult.success();
-    }
-
-    public synchronized MessageResult update(String number, WorkSheetVO workSheetVO) {
-//        if(StrUtil.isNotEmpty(workSheetVO.getDetailId())){
-//            Map<String,Object> personInfo =mapper.getShrPersonInfo(number);
-//            String personId = (String) personInfo.get("personId");
-//
-//            //Map<String,Object> adminInfo =mapper.getShrAdminInfo(workSheetVO.getProjectId());
-//            Map map = workSheetMapper.getEntryById(workSheetVO.getDetailId());
-//            Map jobBooking = workSheetMapper.getJobBookingById(map.get("FParentID").toString());
-//            Date CFReportDate = (Date)map.get("CFReportDate");
-//            String reportDate = DateUtil.formatDate(CFReportDate);
-//            List<Map<String, String>> reportDateWorkHoursByPerson = workSheetMapper.getReportDateWorkHoursByPerson(personId, reportDate, workSheetVO.getDetailId());
-//            int hours = Integer.parseInt(workSheetVO.getWorkingHours());
-//            if(null != reportDateWorkHoursByPerson && reportDateWorkHoursByPerson.size() >0){
-//                for(int i = 0; i<reportDateWorkHoursByPerson.size();i++){
-//                    Map temp_map = reportDateWorkHoursByPerson.get(i);
-//                    int temp = Integer.parseInt(temp_map.get("CFWorkingHours").toString());
-//                    hours= hours+temp;
-//                }
-//            }
-//            if(hours>8){
-//                return MessageResult.error("该日报工已超过8小时,请修正!");
-//            }
-//
-//            Map updateMap = new HashMap();
-//            updateMap.put("CFAttendanceID",workSheetVO.getAttendanceType());
-//            updateMap.put("CFWorkingHours",workSheetVO.getWorkingHours());
-//            updateMap.put("CFOrgID",workSheetVO.getProjectId());
-//            updateMap.put("FID",workSheetVO.getDetailId());
-//            workSheetMapper.updateEntry(updateMap);
-//
-//            jobBooking.put("CFAttendanceID",workSheetVO.getAttendanceType());
-//            workSheetMapper.updateJobBooking(jobBooking);
-//        }else
-        try {
-            if (StrUtil.isNotEmpty(workSheetVO.getTimeSheetId())) {
-                Map<String, Object> personInfo = mapper.getShrPersonInfo(number);
-                String personId = (String) personInfo.get("personId");
-                //String personId = "ExRZlC0fRRKToAmpIRmnWoDvfe0=
-                Map jobBooking = workSheetMapper.getJobBookingById(workSheetVO.getTimeSheetId());
-                Date CFBeginDate =  (Date)jobBooking.get("CFBeginDate");
-                Date CFEndDate = (Date) jobBooking.get("CFEndDate");
-                List<Map<String, String>> entryByParentId = workSheetMapper.getEntryByParentId(workSheetVO.getTimeSheetId());
-                if (AttendanceType.equals(workSheetVO.getAttendanceType())) {
-                    Integer hours = Integer.parseInt(workSheetVO.getWorkingHours());
-
-
-                    String beginDate = DateUtil.formatDate(CFBeginDate);
-                    String endDate = DateUtil.formatDate(CFEndDate);
-                    MessageResult result = service.checkAttWinter(number,beginDate, endDate, hours);
-                    if (result.getCode() != 200) {
-                        return result;
-                    }
-                }
-                Instant instant = CFBeginDate.toInstant();
-                ZoneId zoneId = ZoneId.systemDefault();
-                // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
-                LocalDate beginTime = instant.atZone(zoneId).toLocalDate();
-                if (!service.checkAvailableDate(beginTime)) {
-                    return MessageResult.error("已过7号,不能(通过,驳回)上个月的报工!");
-                }
-                for (int i = 0; i < entryByParentId.size(); i++) {
-                    Map entry = entryByParentId.get(i);
-
-                    Date CFReportDate = (Date) entry.get("CFReportDate");
-                    String reportDate = DateUtil.formatDate(CFReportDate);
-                    List<Map<String, String>> reportDateWorkHoursByPerson = workSheetMapper.getReportDateWorkHoursByPerson(personId, reportDate, entry.get("FID").toString());
-                    int hours = Integer.parseInt(workSheetVO.getWorkingHours());
-                    if (null != reportDateWorkHoursByPerson && reportDateWorkHoursByPerson.size() > 0) {
-                        for (int n = 0; n < reportDateWorkHoursByPerson.size(); n++) {
-                            Map temp_map = reportDateWorkHoursByPerson.get(n);
-                            int temp = Integer.parseInt(temp_map.get("CFWorkingHours").toString());
-                            hours = hours + temp;
-                        }
-                    }
-                    if (hours > 8) {
-                        return MessageResult.error("该日报工已超过8小时,请修正!");
-                    }
-                    if(StringUtils.isEmpty(workSheetVO.getAttendanceType())){
-                        return MessageResult.error("考勤类型为空异常!");
-                    }
-
-                    Map<String, String> dateTypeList = HRWorkmapper.getWorkCalendar(reportDate);
-                    entry.put("CFAttendanceID", workSheetVO.getAttendanceType());
-                    String dateType = dateTypeList.get("dateType");
-                    switch (dateType) {
-                        case "0":
-                            entry.put("CFWorkingHours", workSheetVO.getWorkingHours());
-                            break;
-                        case "1":
-                            entry.put("CFWorkingHours", "0");
-                            break;
-                        case "2":
-                            entry.put("CFWorkingHours", "0");
-                            break;
-                        default:
-                            break;
-                    }
-                    if (StrUtil.isNotEmpty(workSheetVO.getStatus())) {
-                        entry.put("CFStatus", workSheetVO.getStatus());
-                    }
-                    workSheetMapper.updateEntry(entry);
-                }
-
-                jobBooking.put("CFAttendanceID", workSheetVO.getAttendanceType());
-                jobBooking.put("CFWorkingHours", workSheetVO.getWorkingHours());
-                if (StrUtil.isNotEmpty(workSheetVO.getStatus())) {
-                    jobBooking.put("CFStatus", workSheetVO.getStatus());
-                    if ("2".equals(workSheetVO.getStatus())) {
-                        try {
-                            String CFOrgID = (String) jobBooking.get("CFOrgID");
-
-                            List<Map<String, String>> listMap = projectMapper.getProjectListV2(number, "", OrgNumber);
-                            for (Map<String, String> stringMap : listMap) {
-                                String orgid = stringMap.get("orgId");
-                                if (CFOrgID.equals(orgid)) {
-                                    sendWX(stringMap.get("wxUserId"), (String) jobBooking.get("CFTitle"), (String) personInfo.get("personName"));
-                                    break;
-                                }
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-                    }
-                }
-                workSheetMapper.updateJobBooking(jobBooking);
-            } else {
-                return MessageResult.error("请填写id");
-            }
-            return MessageResult.success();
-        }catch (Exception e){
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-}

+ 13 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/YunzhijiaService.java

@@ -0,0 +1,13 @@
+package com.qy.worksheetsystem.service;
+
+import java.util.Map;
+
+public interface YunzhijiaService {
+    /**
+     * 获取 user_access_token
+     * @return
+     */
+    public String getAccessToken();
+
+    public Map<String,Object> getUserInfo(String accessToken,String ticket);
+}

+ 0 - 51
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/CTWORAttendanceTypeServiceImpl.java

@@ -1,51 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-import com.qy.worksheetsystem.model.mapper.CTWORAttendanceTypeMapper;
-import com.qy.worksheetsystem.service.CTWORAttendanceTypeService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.time.LocalDate;
-import java.time.Month;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-import java.util.Map;
-@Slf4j
-@Service
-public class CTWORAttendanceTypeServiceImpl implements CTWORAttendanceTypeService {
-    @Value("${HR.HolidayPolicy}")
-    private String HolidayPolicy;
-    @Resource
-    private CTWORAttendanceTypeMapper ctworAttendanceTypeMapper;
-
-    @Override
-    public List<Map<String, String>> selectIDName() {
-        return ctworAttendanceTypeMapper.selectIDName();
-    }
-
-    @Override
-    public List<Map<String, String>> getAttendanceType(String number) {
-        return ctworAttendanceTypeMapper.getAttendanceType(number,HolidayPolicy);
-    }
-    @Override
-    public List<Map<String, String>> getAttendanceTypeV2(String number,String state) {
-        long startTime = System.currentTimeMillis();
-        log.info("com.qy.worksheetsystem.service.serviceImpl.CTWORAttendanceTypeServiceImpl.getAttendanceTypeV2:startTime:"+startTime+"");
-        LocalDate newDate = LocalDate.now();
-        Month month = newDate.getMonth();
-        LocalDate reportDate = LocalDate.of(newDate.getYear(),month,month.length(newDate.isLeapYear()));
-
-        List<Map<String, String>> list = ctworAttendanceTypeMapper.getAttendanceTypeV2(number,HolidayPolicy,
-                reportDate.format(DateTimeFormatter.ISO_LOCAL_DATE),state);
-        long endTime = System.currentTimeMillis();
-        log.info("com.qy.worksheetsystem.service.serviceImpl.CTWORAttendanceTypeServiceImpl.getAttendanceTypeV2:endTime:"+endTime+"");
-        return list;
-
-    }
-    @Override
-    public Map<String, Object> getHolidayLimit(String number) {
-        return ctworAttendanceTypeMapper.getHolidayLimit(number,HolidayPolicy);
-    }
-}

+ 0 - 1532
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/EmployeeReportingServiceImpl.java

@@ -1,1532 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
-import com.github.pagehelper.Page;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.google.common.collect.Maps;
-import com.qy.worksheetsystem.entity.AppProJect;
-import com.qy.worksheetsystem.entity.JobBook;
-import com.qy.worksheetsystem.entity.JobBooking;
-import com.qy.worksheetsystem.entity.Poject;
-import com.qy.worksheetsystem.model.MessageResult;
-
-import com.qy.worksheetsystem.model.MessageResultV2;
-import com.qy.worksheetsystem.model.mapper.EmployeeReportingMapper;
-import com.qy.worksheetsystem.model.mapper.ProjectMapper;
-import com.qy.worksheetsystem.model.mapper.THRATSWorkCalendarItemMapper;
-import com.qy.worksheetsystem.model.mapper.WorkSheetMapper;
-import com.qy.worksheetsystem.service.CTWORAttendanceTypeService;
-import com.qy.worksheetsystem.util.HutoolCacheUtils;
-import com.qy.worksheetsystem.vo.InsertJobBookingEnteyVO;
-import com.qy.worksheetsystem.vo.InsertJobBookingVO;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-
-import java.time.*;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
-/**
- * description: EmployeeReportingServiceImpl <br>
- * date: 2022/3/10 15:01 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@Service
-public class EmployeeReportingServiceImpl {
-    @Resource
-    private ProjectServiceImpl projectService;
-    @Resource
-    private EmployeeReportingMapper mapper;
-    @Resource
-    private ProjectMapper projectMapper;
-    @Resource
-    private WeiXinAuthorizeServiceImpl wXService;
-    @Resource
-    private THRATSWorkCalendarItemMapper HRWorkmapper;
-    @Resource
-    private CTWORAttendanceTypeService attendanceTypeService;
-    @Resource
-    private WorkSheetMapper workSheetMapper;
-    @Value("${HR.EmployeeType}")
-    private String EmployeeType;
-    @Value("${HR.LeaveType}")
-    private String LeaveType;
-    @Value("${HR.AttendanceType}")
-    private String AttendanceType;
-    @Value("${HR.tripType}")
-    private String tripType;
-    @Value("${HR.OrgNumber}")
-    private String OrgNumber;
-    @Value("${weixin.url}")
-    private String WXUrl;
-
-
-    public boolean checkAvailableDate(LocalDate date){
-        LocalDateTime nowTime = LocalDateTime.now();
-        LocalDateTime localDateTime8 = LocalDateTime.of(nowTime.getYear(), nowTime.getMonth(), 8, 0, 0);
-        //默认可填报日期
-        LocalDateTime startDate =  LocalDateTime.of(nowTime.getYear(), nowTime.getMonth(), 1, 0, 0);
-
-        if(nowTime.compareTo(localDateTime8)<0){
-            startDate=startDate.plusMonths(-1);
-        }
-        LocalDate begin1 = date;
-        LocalDateTime begin = begin1.atTime(0,0);
-        return (startDate.compareTo(begin)<=0) ? true : false;
-    }
-
-    public boolean checkAvailableDate(String dateStr){
-        LocalDate date = LocalDate.parse(dateStr, DateTimeFormatter.ISO_LOCAL_DATE);
-       return this.checkAvailableDate(date);
-    }
-    public List<Map<String, Object>> getCacheProjectByPNumberV3(String number,String OrgNumber){
-        String key ="getCacheProjectByPNumberV3_"+number;
-        List<Map<String, Object>> listMap = (List<Map<String, Object>>) HutoolCacheUtils.get(key);
-        if(null==listMap){
-            listMap =  projectMapper.getProjectByPNumberV3(number,OrgNumber);
-            HutoolCacheUtils.put(key,listMap);
-        }
-        return listMap;
-    }
-    public Map<String, Object> getShrPersonInfo(String number){
-        List<Map<String, Object>> listMap = this.getCacheProjectByPNumberV3(number,OrgNumber);
-        Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-        if(!listMap.isEmpty()){
-            personInfo.put("isAuditor","1");
-        }
-        return personInfo;
-    }
-
-    public synchronized void insert(Map<String, Object> map) {
-        Map<String, Object> result = new HashMap<>();
-        String number = (String) map.get("number");
-        String beginTime = (String) map.get("beginTime");
-        String endTime = (String) map.get("endTime");
-        Date beginDate = (Date) map.get("beginDate");
-        Date endDate = (Date) map.get("endDate");
-        String attendanceType = (String) map.get("attendanceType");
-        String workingHours = (String) map.get("workingHours");
-        String projectId = (String) map.get("projectId");
-        String state = (String) map.get("state");
-        Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-        Map<String, Object> adminInfo = mapper.getShrAdminInfo(projectId);
-        String personId = (String) personInfo.get("personId");
-
-        String userid = (String) personInfo.get("userid");
-        String name = (String) personInfo.get("personName");
-        String CFOrgID = (String) adminInfo.get("orgId");
-        String managerId = (String) personInfo.get("managerId");
-        String managerName = (String) personInfo.get("managerName");
-        String managerNumber = (String) personInfo.get("managerNumber");
-        Map<String, String> billMap = new HashMap<>();
-        billMap.put("FCreatorID", userid);
-        billMap.put("CFauditorAndNumber", managerName + "-" + managerNumber);
-
-        billMap.put("FLastUpdateUserID", userid);
-        billMap.put("FDescription", "");
-        billMap.put("CFPersonID", personId);
-        billMap.put("CFOrgID", CFOrgID);
-        String yearAndMonth = beginTime.substring(0, 7);
-        billMap.put("CFYearAndMonth", yearAndMonth);
-        billMap.put("CFAttendanceID", attendanceType);
-
-        billMap.put("CFStatus", state);
-
-        int begin = Integer.parseInt(beginTime.substring(8, 10));
-        int end = Integer.parseInt(endTime.substring(8, 10));
-        if(begin == end){
-            billMap.put("CFTitle", begin + "号");
-        }else{
-            billMap.put("CFTitle", begin + "-" + end + "号");
-        }
-
-        billMap.put("CFBeginDate", beginTime);
-        billMap.put("CFEndDate", endTime);
-        billMap.put("CFPersonNumber", number);
-        billMap.put("CFNameAndNumber", name + "-" + number);
-        Map<String, String> sDateMap = new HashMap<>();
-        sDateMap.put("startDate", beginTime);
-        sDateMap.put("endDate", endTime);
-        List<Map<String, String>> dateTypeList = HRWorkmapper.selectWorkCalendar(sDateMap);
-        log.info(JSONUtil.toJsonStr(dateTypeList));
-        List<Map<String, String>> entryList = new ArrayList<>();
-        BigDecimal decimal = BigDecimal.ZERO;
-        int j = 0;
-        for (int i = begin; i <= end; i++) {
-            j += 1;
-            Map<String, String> entryMap = new HashMap<>();
-            entryMap.put("Fseq", j + "");
-            entryMap.put("FParentID", "");
-            entryMap.put("CFauditorAndNumber", managerName + "-" + managerNumber);
-            entryMap.put("CFPersonID", personId);
-            entryMap.put("CFApproverID", managerId);
-            entryMap.put("CFOrgID", CFOrgID);
-            String iday = "01";
-            if (i < 10) {
-                iday = "0" + i;
-            } else {
-                iday = i + "";
-            }
-            String CFReportDate = beginTime.substring(0, 8) + iday;
-            entryMap.put("CFReportDate", CFReportDate);
-            entryMap.put("CFYearAndMonth", yearAndMonth);
-            entryMap.put("CFAttendanceID", attendanceType);
-            entryMap.put("CFStatus", state);
-            for (Map<String, String> temp : dateTypeList) {
-                String FDate = temp.get("FDate").substring(0, 10);
-                String dateType = temp.get("dateType");
-                if (CFReportDate.equals(FDate)) {
-                    switch (dateType) {
-                        case "0":
-                            decimal = decimal.add(new BigDecimal(workingHours));
-                            entryMap.put("CFWorkingHours", workingHours);
-                            entryMap.put("CFCalendarType", "0");
-                            break;
-                        case "1":
-                            entryMap.put("CFWorkingHours", "0");
-                            entryMap.put("CFCalendarType", "1");
-                            break;
-                        case "2":
-                            decimal = decimal.add(new BigDecimal(workingHours));
-                            entryMap.put("CFWorkingHours", workingHours);
-                            entryMap.put("CFCalendarType", "2");
-                            break;
-                        default:
-                            break;
-                    }
-                    break;
-                }
-            }
-            entryMap.put("CFPersonNumber", number);
-            entryMap.put("CFNameAndNumber", name + "-" + number);
-            entryMap.put("CFPersonDeptID", CFOrgID);
-            entryMap.put("CFYsName", (String) adminInfo.get("orgName"));
-
-            entryList.add(entryMap);
-        }
-        String billId = mapper.selectKey();
-        billMap.put("CFWorkingHours", decimal.toPlainString());
-        billMap.put("billId", billId);
-        int bill = mapper.insertBill(billMap);
-
-        for (Map<String, String> temp : entryList) {
-            temp.put("FParentID", billId);
-        }
-        mapper.insertEntry(entryList);
-    }
-
-    public List<Map<String,String>> getReportDateWorkHoursByPerson(String personId,String reportDate){
-        return mapper.getReportDateWorkHoursByPerson(personId,reportDate);
-    }
-
-    /**
-     *
-     * @param number
-     * @param beginTime
-     * @param endTime
-     * @param workingHour
-     * @return
-     */
-    public MessageResult checkAttWinter(String number,String beginTime,String endTime,int workingHour){
-        try {
-            String[] dateArr = beginTime.split("-");
-            String[] dateEndArr = endTime.split("-");
-            Month month = Month.of(Integer.parseInt(dateArr[1]));
-            LocalDate localDate = LocalDate.of(Integer.parseInt(dateArr[0]), month, 1);
-            LocalDate stratLocalDate = localDate.plusMonths(-2);
-            Month monthEnd = Month.of(Integer.parseInt(dateEndArr[1]));
-            LocalDate endLocalDate = LocalDate.of(Integer.parseInt(dateEndArr[0]),
-                    monthEnd,
-                    monthEnd.length(stratLocalDate.isLeapYear()));
-            //获取shr年假额度
-            Map<String, Object> holidayLimit = attendanceTypeService.getHolidayLimit(number);
-            //获取在途的年假
-            Map<String, Object> map = mapper.getJobDayByPerson(number, null,
-                    stratLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                    endLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE), AttendanceType, "2");
-            int transit = 0;
-            if (null != map) {
-                transit = (int) map.get("workinghours");
-            }
-            //获取已用的年假
-            Map<String, Object> map1 = mapper.getJobDayByPerson(number, null,
-                    stratLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE)
-                    , endLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                    AttendanceType, "3");
-            int used = 0;
-            if (null != map1) {
-                used = (int) map1.get("workinghours");
-            }
-            BigDecimal remainLimit = BigDecimal.ZERO;
-            if (null != holidayLimit) {
-                remainLimit = (BigDecimal) holidayLimit.get("remainLimit");
-            }
-
-            int workingHours = 0;
-            List<Map<String, String>> listDay = HRWorkmapper.selectWorkCalendarV2(beginTime, endTime);
-            for (Map<String, String> stringMap : listDay) {
-                String dateType = stringMap.get("dateType");
-                //是工作日则增加
-                if ("0".equals(dateType)) {
-                    workingHours += workingHour;
-                }
-            }
-
-            //加上在途的
-            workingHours = workingHours+transit+used;
-            if(remainLimit.intValue()<=0){
-                MessageResult result = new MessageResult();
-                result.setCode(403);
-                result.setMsg("剩余年假额度不足");
-                return result;
-            }else if (workingHours > remainLimit.intValue()) {
-                MessageResult result = new MessageResult();
-                result.setCode(403);
-                result.setMsg("剩余年假额度不足");
-                return result;
-            } else {
-                return MessageResult.success();
-            }
-        }catch (Exception e){
-            log.error(e.getMessage(),e);
-            MessageResult result = new MessageResult();
-            result.setCode(500);
-            result.setMsg("校验异常,请联系管理员");
-            return result;
-        }finally {
-
-        }
-    }
-
-    @Transactional
-    public synchronized MessageResult insertV3(String number, InsertJobBookingVO param) {
-        try {
-
-            String beginTime = param.getBeginTime();
-            String endTime = param.getEndTime();
-            String yearAndMonth = beginTime.substring(0, 7);
-            String projectId = param.getProjectId();
-            String state = param.getState();
-            Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-            Map<String, Object> adminInfo = mapper.getShrAdminInfo(projectId);
-            List<Map<String, String>> pList = projectService.getProjectList(number,projectId,yearAndMonth);
-            String personId = (String) personInfo.get("personId");
-            String type = (String) personInfo.get("btypeFid");
-            int workingHour = Integer.parseInt(param.getWorkingHours());
-            if(AttendanceType.equals(param.getAttendanceType())) {
-
-                if (!EmployeeType.equals(type)) {
-                    if (!LeaveType.equals(type)) {
-                        MessageResult result = new MessageResult();
-                        result.setCode(403);
-                        result.setMsg("只有正式工可以申请年假");
-                        return result;
-                    }
-//                    MessageResult result = new MessageResult();
-//                    result.setCode(403);
-//                    result.setMsg("只有正式工可以申请年假");
-//                    return result;
-                }
-            }
-
-            String userid = (String) personInfo.get("userid");
-            String name = (String) personInfo.get("personName");
-            String CFOrgID = (String) adminInfo.get("orgId");
-            String managerId = (String) personInfo.get("managerId");
-            String managerName = (String) personInfo.get("managerName");
-            String managerNumber = (String) personInfo.get("managerNumber");
-            String manager = managerName+"-"+managerNumber;
-            if((!pList.isEmpty())){
-                Map<String,String> pMap = pList.get(0);
-                manager = pMap.get("manager");
-                managerId=pMap.get("id");
-            }
-//            if (!this.checkAvailableDate(beginTime)) {
-//                return MessageResult.error("已过7号,不能填报上个月!");
-//            }
-            List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-            for (InsertJobBookingEnteyVO enteyVO : attendanceList) {
-                String attendanceType = enteyVO.getAttendanceType();
-                String workingHours = enteyVO.getWorkingHours();
-                Integer Hour = Integer.parseInt(workingHours);
-                if(AttendanceType.equals(attendanceType)){
-                    MessageResult result = this.checkAttWinter(number,beginTime,endTime,Hour);
-                    if(result.getCode()!=200){
-                        return result;
-                    }
-                }
-                Map<String, String> billMap = new HashMap<>();
-                billMap.put("FCreatorID", userid);
-                billMap.put("CFAuditorAndNumber", manager);
-
-                billMap.put("FLastUpdateUserID", userid);
-                billMap.put("FDescription", "");
-                billMap.put("CFPersonID", personId);
-                billMap.put("CFOrgID", CFOrgID);
-
-                billMap.put("CFYearAndMonth", yearAndMonth);
-                billMap.put("CFAttendanceID", attendanceType);
-
-                billMap.put("CFStatus", state);
-                //
-                //        Calendar beginCalendar = Calendar.getInstance();
-                //        beginCalendar.setTime(beginDate);
-                //        Calendar endCalendar = Calendar.getInstance();
-                //        endCalendar.setTime(endDate);
-                int begin = Integer.parseInt(beginTime.substring(8, 10));
-                int end = Integer.parseInt(endTime.substring(8, 10));
-                if(begin == end ){
-                    billMap.put("CFTitle", begin + "号");
-                }else{
-                    billMap.put("CFTitle", begin + "-" + end + "号");
-
-                }
-                billMap.put("CFBeginDate", beginTime);
-                billMap.put("CFEndDate", endTime);
-                billMap.put("CFPersonNumber", number);
-                billMap.put("CFNameAndNumber", name + "-" + number);
-                Map<String, String> sDateMap = new HashMap<>();
-                sDateMap.put("startDate", beginTime);
-                sDateMap.put("endDate", endTime);
-                List<Map<String, String>> dateTypeList = HRWorkmapper.selectWorkCalendar(sDateMap);
-                log.info(JSONUtil.toJsonStr(dateTypeList));
-                List<Map<String, String>> entryList = new ArrayList<>();
-                BigDecimal decimal = BigDecimal.ZERO;
-
-                int j = 0;
-                for (int i = begin; i <= end; i++) {
-                    j += 1;
-                    Map<String, String> entryMap = new HashMap<>();
-                    entryMap.put("Fseq", j + "");
-                    entryMap.put("FParentID", "");
-                    entryMap.put("CFAuditorAndNumber", manager);
-                    entryMap.put("CFPersonID", personId);
-                    entryMap.put("CFApproverID", managerId);
-                    entryMap.put("CFOrgID", CFOrgID);
-                    String iday = "01";
-                    if (i < 10) {
-                        iday = "0" + i;
-                    } else {
-                        iday = i + "";
-                    }
-                    String CFReportDate = beginTime.substring(0, 8) + iday;
-
-                    List<Map<String, String>> reportDateWorkHoursByPerson = mapper.getReportDateWorkHoursByPerson(personId, CFReportDate);
-                    int hours = Integer.parseInt(workingHours);
-                    if(null != reportDateWorkHoursByPerson && reportDateWorkHoursByPerson.size() >0){
-                        for(int k = 0; k<reportDateWorkHoursByPerson.size();k++){
-                            Map temp_map = reportDateWorkHoursByPerson.get(k);
-                            int temp = Integer.parseInt(temp_map.get("CFWorkingHours").toString());
-                            hours= hours+temp;
-                        }
-                    }
-                    if(hours>8){
-                        return MessageResult.error(CFReportDate+"日报工已超过8小时,请修正!");
-                    }
-
-                    entryMap.put("CFReportDate", CFReportDate);
-                    entryMap.put("CFYearAndMonth", yearAndMonth);
-                    entryMap.put("CFAttendanceID", attendanceType);
-                    entryMap.put("CFStatus", state);
-                    for (Map<String, String> temp : dateTypeList) {
-                        String FDate = temp.get("FDate").substring(0, 10);
-                        String dateType = temp.get("dateType");
-                        if (CFReportDate.equals(FDate)) {
-                            switch (dateType) {
-                                case "0":
-                                    decimal = decimal.add(new BigDecimal(workingHours));
-                                    entryMap.put("CFWorkingHours", workingHours);
-                                    entryMap.put("CFCalendarType", "0");
-                                    break;
-                                case "1":
-                                    entryMap.put("CFWorkingHours", "0");
-                                    entryMap.put("CFCalendarType", "1");
-                                    break;
-                                case "2":
-                                    //decimal = decimal.add(new BigDecimal(workingHours));
-                                    entryMap.put("CFWorkingHours", "0");
-                                    entryMap.put("CFCalendarType", "2");
-                                    break;
-                                default:
-                                    break;
-                            }
-                            break;
-                        }
-                    }
-                    entryMap.put("CFPersonNumber", number);
-                    entryMap.put("CFNameAndNumber", name + "-" + number);
-                    entryMap.put("CFPersonDeptID", CFOrgID);
-                    entryMap.put("CFYsName", (String) adminInfo.get("orgName"));
-
-                    entryList.add(entryMap);
-                }
-
-                String billId = mapper.selectKey();
-                billMap.put("CFWorkingHours", decimal.toPlainString());
-                billMap.put("billId", billId);
-                int bill = mapper.insertBill(billMap);
-
-                for (Map<String, String> temp : entryList) {
-                    temp.put("FParentID", billId);
-                }
-                mapper.insertEntry(entryList);
-                if("2".equals(state)){
-                    List<Map<String, String>> listMap = projectMapper.getProjectListV2(number, "",OrgNumber);
-                    for(Map<String, String> stringMap : listMap){
-                        String orgid = stringMap.get("orgId");
-                        if(CFOrgID.equals(orgid)){
-                            sendWX(stringMap.get("wxUserId"),billMap.get("CFTitle"), (String) personInfo.get("personName"));
-                            break;
-                        }
-                    }
-                }
-            }
-            return MessageResult.success();
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-    @Transactional
-    public synchronized MessageResult insertV2(String number, InsertJobBookingVO param) {
-        try {
-
-            String beginTime = param.getBeginTime();
-            String endTime = param.getEndTime();
-            String yearAndMonth = beginTime.substring(0, 7);
-            String projectId = param.getProjectId();
-            String state = param.getState();
-            Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-            Map<String, Object> adminInfo = mapper.getShrAdminInfo(projectId);
-            List<Map<String, String>> pList = projectService.getProjectList(number,projectId,yearAndMonth);
-            String personId = (String) personInfo.get("personId");
-            String type = (String) personInfo.get("btypeFid");
-            int workingHour = Integer.parseInt(param.getWorkingHours());
-            if(AttendanceType.equals(param.getAttendanceType())) {
-
-                if (!EmployeeType.equals(type)) {
-                    if (!LeaveType.equals(type)) {
-                        MessageResult result = new MessageResult();
-                        result.setCode(403);
-                        result.setMsg("只有正式工可以申请年假");
-                        return result;
-                    }
-//                    MessageResult result = new MessageResult();
-//                    result.setCode(403);
-//                    result.setMsg("只有正式工可以申请年假");
-//                    return result;
-                }
-            }
-
-            String userid = (String) personInfo.get("userid");
-            String name = (String) personInfo.get("personName");
-            String CFOrgID = (String) adminInfo.get("orgId");
-            String managerId = (String) personInfo.get("managerId");
-            String managerName = (String) personInfo.get("managerName");
-            String managerNumber = (String) personInfo.get("managerNumber");
-            String manager = managerName+"-"+managerNumber;
-            if((!pList.isEmpty())){
-                Map<String,String> pMap = pList.get(0);
-                manager = pMap.get("manager");
-                managerId=pMap.get("id");
-            }
-            if (!this.checkAvailableDate(beginTime)) {
-                return MessageResult.error("已过7号,不能填报上个月!");
-            }
-            List<InsertJobBookingEnteyVO> attendanceList = param.getTimes();
-            for (InsertJobBookingEnteyVO enteyVO : attendanceList) {
-                String attendanceType = enteyVO.getAttendanceType();
-                String workingHours = enteyVO.getWorkingHours();
-                Integer Hour = Integer.parseInt(workingHours);
-                if(AttendanceType.equals(attendanceType)){
-                    MessageResult result = this.checkAttWinter(number,beginTime,endTime,Hour);
-                    if(result.getCode()!=200){
-                        return result;
-                    }
-                }
-                Map<String, String> billMap = new HashMap<>();
-                billMap.put("FCreatorID", userid);
-                billMap.put("CFAuditorAndNumber", manager);
-
-                billMap.put("FLastUpdateUserID", userid);
-                billMap.put("FDescription", "");
-                billMap.put("CFPersonID", personId);
-                billMap.put("CFOrgID", CFOrgID);
-
-                billMap.put("CFYearAndMonth", yearAndMonth);
-                billMap.put("CFAttendanceID", attendanceType);
-
-                billMap.put("CFStatus", state);
-                //
-                //        Calendar beginCalendar = Calendar.getInstance();
-                //        beginCalendar.setTime(beginDate);
-                //        Calendar endCalendar = Calendar.getInstance();
-                //        endCalendar.setTime(endDate);
-                int begin = Integer.parseInt(beginTime.substring(8, 10));
-                int end = Integer.parseInt(endTime.substring(8, 10));
-                if(begin == end ){
-                    billMap.put("CFTitle", begin + "号");
-                }else{
-                    billMap.put("CFTitle", begin + "-" + end + "号");
-
-                }
-                billMap.put("CFBeginDate", beginTime);
-                billMap.put("CFEndDate", endTime);
-                billMap.put("CFPersonNumber", number);
-                billMap.put("CFNameAndNumber", name + "-" + number);
-                Map<String, String> sDateMap = new HashMap<>();
-                sDateMap.put("startDate", beginTime);
-                sDateMap.put("endDate", endTime);
-                List<Map<String, String>> dateTypeList = HRWorkmapper.selectWorkCalendar(sDateMap);
-                log.info(JSONUtil.toJsonStr(dateTypeList));
-                List<Map<String, String>> entryList = new ArrayList<>();
-                BigDecimal decimal = BigDecimal.ZERO;
-
-                int j = 0;
-                for (int i = begin; i <= end; i++) {
-                    j += 1;
-                    Map<String, String> entryMap = new HashMap<>();
-                    entryMap.put("Fseq", j + "");
-                    entryMap.put("FParentID", "");
-                    entryMap.put("CFAuditorAndNumber", manager);
-                    entryMap.put("CFPersonID", personId);
-                    entryMap.put("CFApproverID", managerId);
-                    entryMap.put("CFOrgID", CFOrgID);
-                    String iday = "01";
-                    if (i < 10) {
-                        iday = "0" + i;
-                    } else {
-                        iday = i + "";
-                    }
-                    String CFReportDate = beginTime.substring(0, 8) + iday;
-
-                    List<Map<String, String>> reportDateWorkHoursByPerson = mapper.getReportDateWorkHoursByPerson(personId, CFReportDate);
-                    int hours = Integer.parseInt(workingHours);
-                    if(null != reportDateWorkHoursByPerson && reportDateWorkHoursByPerson.size() >0){
-                        for(int k = 0; k<reportDateWorkHoursByPerson.size();k++){
-                            Map temp_map = reportDateWorkHoursByPerson.get(k);
-                            int temp = Integer.parseInt(temp_map.get("CFWorkingHours").toString());
-                            hours= hours+temp;
-                        }
-                    }
-                    if(hours>8){
-                        return MessageResult.error(CFReportDate+"日报工已超过8小时,请修正!");
-                    }
-
-                    entryMap.put("CFReportDate", CFReportDate);
-                    entryMap.put("CFYearAndMonth", yearAndMonth);
-                    entryMap.put("CFAttendanceID", attendanceType);
-                    entryMap.put("CFStatus", state);
-                    for (Map<String, String> temp : dateTypeList) {
-                        String FDate = temp.get("FDate").substring(0, 10);
-                        String dateType = temp.get("dateType");
-                        if (CFReportDate.equals(FDate)) {
-                            switch (dateType) {
-                                case "0":
-                                    decimal = decimal.add(new BigDecimal(workingHours));
-                                    entryMap.put("CFWorkingHours", workingHours);
-                                    entryMap.put("CFCalendarType", "0");
-                                    break;
-                                case "1":
-                                    entryMap.put("CFWorkingHours", "0");
-                                    entryMap.put("CFCalendarType", "1");
-                                    break;
-                                case "2":
-                                    //decimal = decimal.add(new BigDecimal(workingHours));
-                                    entryMap.put("CFWorkingHours", "0");
-                                    entryMap.put("CFCalendarType", "2");
-                                    break;
-                                default:
-                                    break;
-                            }
-                            break;
-                        }
-                    }
-                    entryMap.put("CFPersonNumber", number);
-                    entryMap.put("CFNameAndNumber", name + "-" + number);
-                    entryMap.put("CFPersonDeptID", CFOrgID);
-                    entryMap.put("CFYsName", (String) adminInfo.get("orgName"));
-
-                    entryList.add(entryMap);
-                }
-
-                String billId = mapper.selectKey();
-                billMap.put("CFWorkingHours", decimal.toPlainString());
-                billMap.put("billId", billId);
-                int bill = mapper.insertBill(billMap);
-
-                for (Map<String, String> temp : entryList) {
-                    temp.put("FParentID", billId);
-                }
-                mapper.insertEntry(entryList);
-                if("2".equals(state)){
-                    List<Map<String, String>> listMap = projectMapper.getProjectListV2(number, "",OrgNumber);
-                    for(Map<String, String> stringMap : listMap){
-                        String orgid = stringMap.get("orgId");
-                        if(CFOrgID.equals(orgid)){
-                            sendWX(stringMap.get("wxUserId"),billMap.get("CFTitle"), (String) personInfo.get("personName"));
-                            break;
-                        }
-                    }
-                }
-            }
-            return MessageResult.success();
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-    private void sendWX(String wxUserId,String CFTitle, String personName) throws Exception {
-
-        Map<String, Object> wwMap = Maps.newHashMap();
-        Map<String, Object> valMap = Maps.newHashMap();
-        wwMap.put("agentid",wXService.getKs_AgentId());
-        wwMap.put("msgtype","textcard");
-        wwMap.put("touser", wxUserId);
-        wwMap.put("textcard",valMap);
-        valMap.put("title", "报工审批提醒");
-        StringBuilder content = new StringBuilder();
-        content.append("员工"+CFTitle+personName+"报工");
-        valMap.put("description", content);
-        valMap.put("url", WXUrl);
-        valMap.put("btntxt", "详情");
-        wXService.sendKSMessage(wwMap);
-    }
-    public List<Map<String, Object>> getPPWorkDetail(Map<String, Object> map) {
-        String number = (String) map.get("number");
-        String beginTime = (String) map.get("beginTime");
-        String endTime = (String) map.get("endTime");
-        String projectId = (String) map.get("projectId");
-        Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-        String personId = (String) personInfo.get("personId");
-        List<Map<String, Object>> list = mapper.getPPWorkDetail(beginTime, endTime, personId, projectId);
-        return list;
-    }
-
-    public MessageResult getAuditedOld(String number, String month,  String audited, Integer page, Integer size) {
-        try {
-            size=5;
-            List<Map<String, Object>> listMap = this.getCacheProjectListToChildV2(number,OrgNumber);
-
-            Map<String, List<String>> mapList = new HashMap<>();
-
-            for (Map<String, Object> map : listMap) {
-                String orgId= (String) map.get("orgId");
-                List<String> list = mapList.get(orgId);
-                if(null==list){
-                    list = new ArrayList<>();
-                    mapList.put(orgId,list);
-                }
-                list.add((String) map.get("pid"));
-            }
-            int total=0;
-            int records = mapList.size();
-            if (records % size == 0) {
-                total = records / size;
-            } else {
-                total = (records / size) + 1;
-            }
-            int fromIndex = 0; // 开始索引
-            int toIndex = 0; // 结束索引
-            if (page != total) {
-                fromIndex = (page - 1) * size;
-                toIndex = (fromIndex + size) > records ? records : (fromIndex + size);
-            } else {
-                fromIndex = (page - 1) * size;
-                toIndex = records;
-            }
-            List<String> list = new ArrayList<>();
-            List<List<String>> lists = new ArrayList<>();
-            lists.addAll(mapList.values());
-            List<List<String>> listSub = lists.subList(fromIndex,toIndex);
-            for(List<String> temp: listSub){
-                list.addAll(temp);
-            }
-            log.info("getAudited1:"+list);
-            if(list.size()>0){
-                //PageHelper.startPage(page, size);
-                List<Map<String, Object>> auditedList = mapper.getAudited(list, audited,month);
-                log.info("getAudited2:"+auditedList);
-                for(Map<String, Object> map :auditedList){
-                    map.put("month",map.get("yearAndMonth"));
-                }
-                //PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(auditedList);
-                MessageResult messageResult = MessageResult.success();
-                messageResult.add("list", auditedList);
-                messageResult.add("page", page);
-                messageResult.add("size", size);
-                messageResult.add("total", records);
-                return messageResult;
-            }else {
-                MessageResult messageResult = MessageResult.success();
-                messageResult.add("list", new ArrayList<>());
-                messageResult.add("page", 1);
-                messageResult.add("size", 20);
-                messageResult.add("total", 0);
-                return messageResult;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-
-    public List<String> getCacheProjectListToChildV2ByPid(String number,String OrgNumber){
-        String key = "getCacheProjectListToChildV2ByPid_"+number+"_"+OrgNumber;
-        List<String> list = (List<String>) HutoolCacheUtils.get(key);
-        if(null==list){
-            list = projectMapper.getProjectListToChildV2ByPid(number,null,OrgNumber);
-            HutoolCacheUtils.put(key,list);
-        }
-        return list;
-    }
-    public MessageResult getAudited(String number, String month,  String audited, Integer page, Integer size) {
-        try {
-            size=5;
-            List<String> list = this.getCacheProjectListToChildV2ByPid(number,OrgNumber);
-            if(list.size()>0){
-                List<Map<String, String>> jobBookList= mapper.getOrgAndJobBookId(list,audited,month);
-                Map<String, List<String>> mapList = new HashMap<>();
-                for (Map<String, String> map : jobBookList) {
-                    String orgId= map.get("orgId");
-                    List<String> orgList = mapList.get(orgId);
-                    if(null==orgList){
-                        orgList = new ArrayList<>();
-                        mapList.put(orgId,orgList);
-                    }
-                    orgList.add(map.get("jbkId"));
-                }
-                int total=0;
-                int records = mapList.size();
-                if (records % size == 0) {
-                    total = records / size;
-                } else {
-                    total = (records / size) + 1;
-                }
-                int fromIndex = 0; // 开始索引
-                int toIndex = 0; // 结束索引
-                if (page != total) {
-                    fromIndex = (page - 1) * size;
-                    toIndex = (fromIndex + size) > records ? records : (fromIndex + size);
-                } else {
-                    fromIndex = (page - 1) * size;
-                    toIndex = records;
-                }
-                List<String> listIndex = new ArrayList<>();
-
-                List<List<String>> lists = new ArrayList<>();
-                lists.addAll(mapList.values());
-                List<List<String>> listSub = lists.subList(fromIndex,toIndex);
-                for(List<String> temp: listSub){
-                    listIndex.addAll(temp);
-                }
-                if(listIndex.size()>0){
-
-                    List<Map<String, Object> > auditedList = mapper.getAuditedV9(listIndex,list, audited);
-                    for(Map<String, Object> map :auditedList){
-                        map.put("month",map.get("yearAndMonth"));
-                    }
-                    MessageResult messageResult = MessageResult.success();
-                    messageResult.add("list", auditedList);
-                    messageResult.add("page", page);
-                    messageResult.add("size", size);
-                    messageResult.add("total", lists.size());
-                    return messageResult;
-                }else{
-                    MessageResult messageResult = MessageResult.success();
-                    messageResult.add("list", new ArrayList<>());
-                    messageResult.add("page", 1);
-                    messageResult.add("size", 20);
-                    messageResult.add("total", 0);
-                    return messageResult;
-                }
-            }else {
-                MessageResult messageResult = MessageResult.success();
-                messageResult.add("list", new ArrayList<>());
-                messageResult.add("page", 1);
-                messageResult.add("size", 20);
-                messageResult.add("total", 0);
-                return messageResult;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-//    public MessageResult getAudited(String number, String month,  String audited, Integer page, Integer size) {
-//        try {
-//            size=5;
-//            List<Map<String, Object>> listMap = this.getCacheProjectListToChildV2(number,OrgNumber)
-//            List<String> list = new ArrayList<>();
-//            for (Map<String, Object> map : listMap) {
-//                list.add((String) map.get("pid"));
-//            }
-//            if(list.size()>0){
-//                PageHelper.startPage(page, size);
-//                Page<Map<String, Object>> auditedList = mapper.getAudited(list, audited,month);
-//                for(Map<String, Object> map :auditedList){
-//                    map.put("month",map.get("yearAndMonth"));
-//                }
-//                MessageResult messageResult = MessageResult.success();
-//                messageResult.add("list", auditedList);
-//                messageResult.add("page", page);
-//                messageResult.add("size", size);
-//                messageResult.add("total", auditedList.getTotal());
-//                return messageResult;
-//            }else {
-//                MessageResult messageResult = MessageResult.success();
-//                messageResult.add("list", new ArrayList<>());
-//                messageResult.add("page", 1);
-//                messageResult.add("size", 20);
-//                messageResult.add("total", 0);
-//                return messageResult;
-//            }
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//            return MessageResult.error(e.getMessage());
-//        }
-//    }
-    public MessageResult getAudited(String number, String audited, Integer page, Integer size) {
-        try {
-            size=5;
-            List<Map<String, Object>> listMap = this.getCacheProjectListToChildV2(number,OrgNumber);
-            List<String> list = new ArrayList<>();
-            for (Map<String, Object> map : listMap) {
-                list.add((String) map.get("pid"));
-            }
-            System.out.println("getAudited:"+list);
-            if(list.size()>0){
-                PageHelper.startPage(page, size);
-                Page<Map<String, Object>> auditedList = mapper.getAudited(new ArrayList<>(list), audited,null);
-                System.out.println("getAudited:"+auditedList);
-                for(Map<String, Object> map :auditedList){
-                    map.put("month",map.get("yearAndMonth"));
-                }
-                PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(auditedList);
-                MessageResult messageResult = MessageResult.success();
-                messageResult.add("list", auditedList);
-                messageResult.add("page", page);
-                messageResult.add("size", size);
-                messageResult.add("total", pageInfo.getTotal());
-                return messageResult;
-            }else {
-                MessageResult messageResult = MessageResult.success();
-                messageResult.add("list", new ArrayList<>());
-                messageResult.add("page", page);
-                messageResult.add("size", size);
-                messageResult.add("total", 0);
-                return messageResult;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-    public List<Map<String, Object>> getCacheProjectListToChildV2(String number,String OrgNumber){
-        String key = "ProjectListToChildV2_"+number+"_"+OrgNumber;
-        List<Map<String, Object>> list = (List<Map<String, Object>>) HutoolCacheUtils.get(key);
-        if(null==list){
-            list = projectMapper.getProjectListToChildV2(number,null,OrgNumber);
-            HutoolCacheUtils.put(key,list);
-        }
-        return list;
-    }
-    public MessageResult getEmpAudited(String number,String empNumber, String audited, String month, Integer page, Integer size) {
-        try {
-
-            if(StringUtils.isNotBlank(empNumber)) {
-                List<Map<String, Object>> listMap = this.getCacheProjectListToChildV2(number,OrgNumber);
-                List<String> list = new ArrayList<>();
-                String personId="";
-                for (Map<String, Object> map : listMap) {
-                    String pNumber = (String) map.get("pNumber");
-
-                    if (pNumber.equals(empNumber)) {
-                        personId = (String) map.get("pid");
-                    }
-                }
-                System.out.println("getEmpAudited:"+personId);
-                if(StringUtils.isNotBlank(personId)){
-                    PageHelper.startPage(page, size);
-                    Page<JobBooking> auditedList = mapper.getEmpAuditedV2(personId, audited,month);
-                    for(JobBooking job : auditedList){
-                        String id =job.getTimeSheetId();
-                        List<Map<String, Object>> list2 = mapper.getHourTotalAll(id);
-                        StringBuilder hourTotal = new StringBuilder();
-                        for (Map<String, Object> map2 : list2) {
-                            String hour = (String) map2.get("hourTotal");
-                            hourTotal.append("," + hour);
-                        }
-                        hourTotal.delete(0, 1);
-                        job.setWorkingHours(hourTotal.toString());
-                        job.setHourTotal(hourTotal.toString());
-                    }
-
-                    PageInfo<JobBooking> pageInfo = new PageInfo<>(auditedList);
-                    MessageResult messageResult = MessageResult.success();
-                    messageResult.add("list", auditedList);
-                    messageResult.add("page", pageInfo.getPageNum());
-                    messageResult.add("size", pageInfo.getPageSize());
-                    messageResult.add("total", pageInfo.getTotal());
-                    return messageResult;
-                }else {
-                    MessageResult messageResult = MessageResult.success();
-                    messageResult.add("list", new ArrayList<>());
-                    messageResult.add("page", 1);
-                    messageResult.add("size", 20);
-                    messageResult.add("total", 0);
-                    return messageResult;
-                }
-            }else {
-                return this.getAudited(number,month,audited,page,size);
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-
-    public MessageResultV2 getEmpList(String number, String audited, String month, Integer page, Integer size) {
-        try {
-            List<Map<String, Object>> listMap = this.getCacheProjectListToChildV2(number,OrgNumber);
-            List<String> list = new ArrayList<>();
-            String personId="";
-            for (Map<String, Object> map : listMap) {
-                list.add((String) map.get("pid"));
-            }
-            System.out.println("getEmpList:"+list);
-            if(list.size()>0){
-//                PageHelper.startPage(page, size);
-                List<Map<String, Object>> auditedList = mapper.getEmpList(list, audited,month);
-
-//                PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(auditedList);
-                MessageResultV2 messageResult = MessageResultV2.success();
-                messageResult.setData(auditedList);
-                return messageResult;
-            }else {
-                MessageResultV2 messageResult = MessageResultV2.success();
-                messageResult.setData( new ArrayList<>());
-                return messageResult;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResultV2.error(e.getMessage());
-        }
-    }
-
-    public MessageResult getWorkSheetById(String number, String id) {
-        try {
-            Map<String, Object> map = mapper.getWorkSheetById(id);
-            List<Map<String, Object>> list2 = this.getCacheHourTotal(id);
-            StringBuilder hourTotal = new StringBuilder();
-
-            for (Map<String, Object> map2 : list2) {
-                String hour = (String) map2.get("hourTotal");
-                hourTotal.append("," + hour);
-            }
-            hourTotal.delete(0, 1);
-            map.put("hourTotal", hourTotal.toString());
-            List<Map<String, String>> listEntry = mapper.getMonthWorkSheetEntry(id);
-            for(Map<String, String>  mapl : listEntry){
-               String cfCalendarType =  mapl.get("workCalendarType");
-               if("0".equals(cfCalendarType)){
-                   map.put("workingHours",  mapl.get("workingHours"));
-                   break;
-               }
-            }
-            map.put("details", listEntry);
-            MessageResult messageResult = MessageResult.success();
-            messageResult.setData(map);
-            return messageResult;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-
-    }
-
-    public List<Map<String, Object>> getMonthWorkSheet(String number, String month, String state) {
-
-        try {
-            List<Map<String, Object>> list = mapper.getMonthWorkSheet(number, month, state);
-            for (Map<String, Object> map : list) {
-                String id = (String) map.get("timeSheetId");
-                List<Map<String, Object>> list2 =  this.getCacheHourTotal(id);
-                StringBuilder hourTotal = new StringBuilder();
-
-                for (Map<String, Object> map2 : list2) {
-                    String hour = (String) map2.get("hourTotal");
-                    hourTotal.append("," + hour);
-                }
-                hourTotal.delete(0, 1);
-                map.put("hourTotal", hourTotal.toString());
-                map.put("month", month);
-                List<Map<String, String>> listEntry = mapper.getMonthWorkSheetEntry(id);
-                for(Map<String, String>  mapl : listEntry){
-                    String cfCalendarType =  mapl.get("workCalendarType");
-                    if("0".equals(cfCalendarType)){
-                        map.put("workingHours",  mapl.get("workingHours"));
-                    }else{
-                        mapl.put("workingHours","8");
-                    }
-
-                }
-                map.put("details", listEntry);
-            }
-
-            return list;
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
-    /**
-     * "rejectNum": 1,
-     * "noProjectNum": 1,
-     * "checkingNum": 3,
-     * "passNum": 4
-     *
-     * @param number
-     * @param month
-     */
-    public Map<String, Object> getPersonWorkDetail(String number, String month) {
-        String[] monthArr = month.split("-");
-        int year = Integer.parseInt(monthArr[0]);
-        Month month1 = Month.of(Integer.parseInt(monthArr[1]));
-        LocalDate beginDate = LocalDate.of(year, month1, 1);
-        LocalDate endDate = LocalDate.of(Integer.parseInt(monthArr[0]), month1, month1.length(beginDate.isLeapYear()));
-        Map<String, Object> personInfo = this.getCacheShrPersonInfo(number);
-        String personId = (String) personInfo.get("personId");
-        List<Map<String, Object>> list = mapper.getPersonWorkDetail(
-                beginDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                endDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                personId
-        );
-        Map<String, Object> result = new HashMap<>();
-        result.put("noProjectNum", 0);
-        result.put("checkingNum", 0);
-        result.put("passNum", 0);
-        result.put("rejectNum", 0);
-        for (Map<String, Object> map : list) {
-            int num = (int) map.get("num");
-            String CFStatus = (String) map.get("CFStatus");
-            switch (CFStatus) {
-                case "1":
-                    result.put("noProjectNum", num);
-                    break;
-                case "2":
-                    result.put("checkingNum", num);
-                    break;
-                case "3":
-                    result.put("passNum", num);
-                    break;
-                case "4":
-                    result.put("rejectNum", num);
-                    break;
-                default:
-                    if (null != result.get("noProjectNum")) {
-                        result.put("noProjectNum", ((int) result.get("noProjectNum") + num));
-                    } else {
-                        result.put("noProjectNum", num);
-                    }
-                    break;
-            }
-        }
-        return result;
-    }
-
-    /**
-     * for(Map<String,String> map : list){
-     * String id = map.get("timeSheetId");
-     * List<Map<String,String>> list2 = mapper.getHourTotal(id,null);
-     * StringBuilder hourTotal = new StringBuilder();
-     * for(Map<String,String> map2  : list2){
-     * hourTotal.append(","+map2.get("hourTotal"));
-     * }
-     * hourTotal.delete(0,1);
-     * map.put("hourTotal",hourTotal.toString());
-     * }
-     *
-     * @param number
-     * @param projectId
-     * @param month
-     * @return
-     */
-    public Poject getTimeSheetDetail(String number, String projectId, String month,String state) {
-
-        try {
-            Map<String,Object> person = this.getCacheShrPersonInfo(number);
-            String personid= (String) person.get("personId");
-            Poject poject = mapper.getTimeJobBooking(projectId,personid);
-            LocalDate monthDate = LocalDate.parse(month + "-01", DateTimeFormatter.ISO_LOCAL_DATE);
-            int day = monthDate.getMonth().length(monthDate.isLeapYear());
-            poject.setMonth(month);
-            StringBuilder pojectHourTotal = new StringBuilder();
-
-            int dayTotal0 = 0;
-            int dayTotal1 = 0;
-            int dayTotal2 = 0;
-            List<JobBook> deleteList = new ArrayList<>();
-            List<JobBook> detail=  poject.getDetail();
-            List<String> idList=  new ArrayList<>();
-            for (int i=0;i<detail.size();i++) {
-                JobBook jobBook = detail.get(i);
-                Double monthRate = 0D;
-                List<JobBooking> timeSheetDetail = mapper.getTimeJobBookingEntry(jobBook.getpId(), month,state,poject.getProjectId());
-                if(null==timeSheetDetail||timeSheetDetail.isEmpty()){
-                    deleteList.add(jobBook);
-                }
-                int size = 0;
-                for (JobBooking jobBooking : timeSheetDetail) {
-
-                    String id = jobBooking.getTimeSheetId();
-                    idList.add(id);
-                    StringBuilder jobBookingHourTotal = new StringBuilder();
-                    List<Map<String, Object>> list2 =  this.getCacheHourTotal(id);
-                    for (Map<String, Object> map2 : list2) {
-                        jobBookingHourTotal.append("," + map2.get("hourTotal"));
-                    }
-                    jobBookingHourTotal.delete(0, 1);
-                    jobBooking.setHourTotal(jobBookingHourTotal.toString());
-                    size += jobBooking.getDetails().size();
-                    // hourTotal = hourTotal.add(new BigDecimal(jobBooking.getHourTotal()));
-                }
-                monthRate = ((double)size / (double)(day)) * 100D;
-                jobBook.setMonthRate(String.format("%.2f",monthRate)+ "%");
-                jobBook.setTimeSheetDetail(timeSheetDetail);
-
-            }
-
-            for(JobBook i : deleteList){
-                detail.remove(i);
-            }
-            if(!idList.isEmpty()) {
-                List<Map<String, Object>> list2 = mapper.getHourTotalSumV2(idList, null);
-                for (Map<String, Object> map2 : list2) {
-                    String calendarType = (String) map2.get("calendarType");
-                    int num = (int) map2.get("num");
-                    switch (calendarType) {
-                        case "0":
-                            dayTotal0 += num;
-                            break;
-                        case "1":
-                            dayTotal1 += num;
-                            break;
-                        case "2":
-                            dayTotal2 += num;
-                            break;
-                        default:
-                            break;
-                    }
-                }
-            }
-            pojectHourTotal.append(poject.getDetail().size() + "人、");
-
-            pojectHourTotal.append(dayTotal0 + "人天(工作日)、");
-            //pojectHourTotal.append(dayTotal1 + "人天(休息日)、");
-            pojectHourTotal.append(dayTotal2 + "人天(节假日)");
-            poject.setHourTotal(pojectHourTotal.toString());
-            return poject;
-        } catch (Exception e) {
-            e.printStackTrace();
-            //log.error("====detailId==="+cancelOnDateVO.getDetailId()+"==========timeSheetId======"+cancelOnDateVO.getTimeSheetId());
-            //Arrays.stream(e.getStackTrace()).forEach(System.out::println);
-        }
-        return null;
-    }
-
-    /**
-     * 获取主管信息
-     * @param number
-     * @return
-     */
-    public Map<String,Object> getCacheShrPersonInfo(String number){
-        String key ="getCacheShrPersonInfo_"+number;
-        Map<String,Object> person = (Map<String, Object>) HutoolCacheUtils.get(key);
-        if(null==person){
-            person =  mapper.getShrPersonInfo(number);
-            HutoolCacheUtils.put(key,person);
-        }
-        return person;
-    }
-
-    /**
-     * 获取项目信息
-     * @param projectId
-     * @param personid
-     * @return
-     */
-    public Poject getCacheTimeJobBooking(String projectId, String personid){
-        String key = "getCacheTimeJobBooking_"+projectId+"_"+personid;
-        Poject poject = (Poject) HutoolCacheUtils.get(key);
-        if(null==poject){
-            poject =  mapper.getTimeJobBooking(projectId,personid);
-            HutoolCacheUtils.put(key,poject);
-        }
-        return poject;
-    }
-
-    /**
-     * 获取项目分录信息
-     * @param personid
-     * @param month
-     * @param state
-     * @param projectId
-     * @return
-     */
-    public List<JobBooking> getCacheTimeJobBookingEntry(String personid,String month,String state,String projectId){
-        String key = "getCacheTimeJobBookingEntry_"+projectId+"_"+personid+"_"+month+"_"+state;
-        List<JobBooking> timeSheetDetail = (List<JobBooking>) HutoolCacheUtils.get(key);
-        if(null==timeSheetDetail){
-            timeSheetDetail =  mapper.getTimeJobBookingEntry(personid,month,state,projectId);
-            HutoolCacheUtils.put(key,timeSheetDetail);
-        }
-        return timeSheetDetail;
-    }
-    /**
-     * 获取项目分录小时数
-     * @param id
-
-     * @return
-     */
-    public  List<Map<String, Object>> getCacheHourTotal(String id){
-        String key = id;
-        List<Map<String, Object>> detail = (List<Map<String, Object>>) HutoolCacheUtils.get(key);
-        if(null==detail){
-            detail =  mapper.getHourTotal(id,null);
-            HutoolCacheUtils.put(key,detail);
-        }
-        return detail;
-    }
-
-    /**
-     * for(Map<String,String> map : list){
-     * String id = map.get("timeSheetId");
-     * List<Map<String,String>> list2 = mapper.getHourTotal(id,null);
-     * StringBuilder hourTotal = new StringBuilder();
-     * for(Map<String,String> map2  : list2){
-     * hourTotal.append(","+map2.get("hourTotal"));
-     * }
-     * hourTotal.delete(0,1);
-     * map.put("hourTotal",hourTotal.toString());
-     * }
-     *
-     * @param number
-     * @param projectId
-     * @param month
-     * @return
-     */
-    public Poject getTimeSheetDetailV2(String number, String projectId, String month,String state) {
-
-        try {
-            Map<String,Object> person = this.getCacheShrPersonInfo(number);
-            String personid= (String) person.get("personId");
-            Poject poject = this.getCacheTimeJobBooking(projectId,personid);
-            LocalDate monthDate = LocalDate.parse(month + "-01", DateTimeFormatter.ISO_LOCAL_DATE);
-            int day = monthDate.getMonth().length(monthDate.isLeapYear());
-            poject.setMonth(month);
-            StringBuilder pojectHourTotal = new StringBuilder();
-
-            int dayTotal0 = 0;
-            int dayTotal1 = 0;
-            int dayTotal2 = 0;
-            List<JobBook> deleteList = new ArrayList<>();
-            List<JobBook> detail=  poject.getDetail();
-            List<String> idList=  new ArrayList<>();
-            for (int i=0;i<detail.size();i++) {
-                JobBook jobBook = detail.get(i);
-                Double monthRate = 0D;
-                List<JobBooking> timeSheetDetail = this.getCacheTimeJobBookingEntry(jobBook.getpId(), month,state,poject.getProjectId());
-                if(null==timeSheetDetail||timeSheetDetail.isEmpty()){
-                    deleteList.add(jobBook);
-                }
-                int size = 0;
-                for (JobBooking jobBooking : timeSheetDetail) {
-
-                    String id = jobBooking.getTimeSheetId();
-                    idList.add(id);
-                    StringBuilder jobBookingHourTotal = new StringBuilder();
-                    List<Map<String, Object>> list2 = this.getCacheHourTotal(id);
-                    for (Map<String, Object> map2 : list2) {
-                        jobBookingHourTotal.append("," + map2.get("hourTotal"));
-                    }
-                    jobBookingHourTotal.delete(0, 1);
-                    jobBooking.setHourTotal(jobBookingHourTotal.toString());
-                    size += jobBooking.getDetails().size();
-                    // hourTotal = hourTotal.add(new BigDecimal(jobBooking.getHourTotal()));
-                }
-                monthRate = ((double)size / (double)(day)) * 100D;
-                jobBook.setMonthRate(String.format("%.2f",monthRate)+ "%");
-                jobBook.setTimeSheetDetail(timeSheetDetail);
-            }
-            for(JobBook i : deleteList){
-                detail.remove(i);
-            }
-            if(!idList.isEmpty()) {
-                List<Map<String, Object>> list2 = mapper.getHourTotalSumV2(idList, null);
-                for (Map<String, Object> map2 : list2) {
-                    String calendarType = (String) map2.get("calendarType");
-                    int num = (int) map2.get("num");
-                    switch (calendarType) {
-                        case "0":
-                            dayTotal0 += num;
-                            break;
-                        case "1":
-                            dayTotal1 += num;
-                            break;
-                        case "2":
-                            dayTotal2 += num;
-                            break;
-                        default:
-                            break;
-                    }
-                }
-            }
-            pojectHourTotal.append(poject.getDetail().size() + "人、");
-
-            pojectHourTotal.append(dayTotal0 + "人天(工作日)、");
-            //pojectHourTotal.append(dayTotal1 + "人天(休息日)、");
-            pojectHourTotal.append(dayTotal2 + "人天(节假日)");
-            poject.setHourTotal(pojectHourTotal.toString());
-            return poject;
-        } catch (Exception e) {
-            e.printStackTrace();
-            //log.error("====detailId==="+cancelOnDateVO.getDetailId()+"==========timeSheetId======"+cancelOnDateVO.getTimeSheetId());
-            //Arrays.stream(e.getStackTrace()).forEach(System.out::println);
-        }
-        return null;
-    }
-    public MessageResult approvalProject(String number, AppProJect appProJect) {
-        try {
-            if (StrUtil.isNotEmpty(appProJect.getTimeSheetIds())) {
-                String[] timeSheetIds = appProJect.getTimeSheetIds().split(",");
-                for (String id : timeSheetIds) {
-                    Map map = workSheetMapper.getJobBookingById(id);
-
-                    if (ObjectUtil.isNull(map.get("FID"))) {
-                        return MessageResult.error("未找到报工明细数据!");
-                    } else {
-                        Date beginDate =  (Date)map.get("CFBeginDate");
-                        String attendanceType =  (String)map.get("CFAttendanceID");;
-
-                        Instant instant = beginDate.toInstant();
-                        ZoneId zoneId = ZoneId.systemDefault();
-                        // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
-                        LocalDate beginTime = instant.atZone(zoneId).toLocalDate();
-                        if (!this.checkAvailableDate(beginTime)) {
-                            return MessageResult.error("已过7号,不能(通过,驳回)上个月的报工!");
-                        }
-//                        if(AttendanceType.equals(attendanceType)){
-//                            String workingHours = (String)map.get("CFWorkingHours");
-//                            String begin = beginTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
-//                            Date endDate = (Date)map.get("CFEndDate");
-//                            Instant instantEnd = endDate.toInstant();
-//                            ZoneId zoneIdEnd = ZoneId.systemDefault();
-//                            // atZone()方法返回在指定时区从此Instant生成的ZonedDateTime。
-//                            LocalDate endTime = instantEnd.atZone(zoneIdEnd).toLocalDate();
-//                            String end = endTime.format(DateTimeFormatter.ISO_LOCAL_DATE);
-//                            MessageResult result = this.checkAttWinter(number,begin,end,Integer.parseInt(workingHours));
-//                            if(result.getCode()!=200){
-//                                return result;
-//                            }
-//                        }
-
-                        //if ("2".equals(map.get("CFStatus").toString())) {
-                           Map<String,Object> person = this.getCacheShrPersonInfo(number);
-                            String auditorAndNumber = person.get("personName")+"-"+person.get("personNumber");
-                            workSheetMapper.updateStatusAndAuditorById(appProJect.getStatus(), id, auditorAndNumber);
-                            workSheetMapper.updateEntryAudiByParentId(appProJect.getStatus(), id, auditorAndNumber);
-                       // } else {
-                        //    return MessageResult.error("只能(通过,驳回)待审核的数据!");
-                        //}
-                    }
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-        return MessageResult.success();
-    }
-
-    public MessageResult deleteSheet(String number, String id) {
-        try {
-            if (StrUtil.isNotEmpty(id)) {
-                Map map = workSheetMapper.getJobBookingById(id);
-                if (null == map || ObjectUtil.isNull(map.get("FID"))) {
-                    return MessageResult.error("未找到报工明细数据!");
-                } else {
-                    if (("1".equals(map.get("CFStatus").toString()))||("4".equals(map.get("CFStatus").toString()))) {
-                        mapper.deleteSheet(id);
-                    }
-                    else {
-                        return MessageResult.error("只能删除暂存,驳回的数据!");
-                    }
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-        return MessageResult.success();
-    }
-
-    public MessageResult getJobDayByPerson(String number,String stratDate,String endDate,String orgid,String type) {
-        try {
-            if(StringUtils.isBlank(type)){
-                type=this.tripType;
-            }
-            Map<String,Object> result = new HashMap<>();
-            result.put("total",0);
-            result.put("num",0);
-            result.put("workinghours",0);
-            result.put("number",number);
-            String[] dateArr = stratDate.split("-");
-            Month month = Month.of(Integer.parseInt(dateArr[1]));
-            LocalDate localDate = LocalDate.of(Integer.parseInt(dateArr[0]),month,1);
-            LocalDate stratLocalDate = localDate.plusMonths(-1);
-            LocalDate endLocalDate = LocalDate.of(stratLocalDate.getYear(),
-                    stratLocalDate.getMonth(),
-                    stratLocalDate.getMonth().length(stratLocalDate.isLeapYear()));
-            Map<String,Object> map = mapper.getJobDayByPerson(number,orgid,
-                    stratLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE),
-                    endLocalDate.format(DateTimeFormatter.ISO_LOCAL_DATE),type,null);
-            Map<String,Object> map2 = mapper.getJobDayByPerson(number,orgid,stratDate,endDate,null,null);
-            List<Map<String, Object>> list = HRWorkmapper.getWorkDay(stratDate, endDate);
-            int total = 0;
-            for (Map<String, Object> map1 : list) {
-                total = total + (int) map1.get("dayLen");
-            }
-            result.put("total", total);
-            MessageResult messageResult = MessageResult.success();
-            if(null!=map) {
-                result.putAll(map);
-            }
-            if(null!=map2) {
-                //填报天数
-                result.put("num",map2.get("num"));
-            }
-            messageResult.setData(result);
-            return messageResult;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return MessageResult.error(e.getMessage());
-        }
-    }
-}

+ 0 - 149
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/FeishuAuthorizeServiceImpl.java

@@ -1,149 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-import cn.hutool.http.HttpResponse;
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import com.google.common.collect.Maps;
-import com.qy.worksheetsystem.config.FeiShuURLConfig;
-
-import com.qy.worksheetsystem.service.FeishuAuthorizeService;
-import com.qy.worksheetsystem.service.PersonService;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-import java.util.Map;
-
-/**飞书
- * description: FeishuAuthorizeServiceImpl <br>
- * date: 2024/11/18 18:07 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@Service
-public class FeishuAuthorizeServiceImpl implements FeishuAuthorizeService {
-    @Resource
-    PersonService personService;
-    /**
-     * 报工小程序
-     */
-    @Value("${feishu.AppID}")
-    private String AppID;
-    /**
-     * 报工小程序
-     */
-    @Value("${feishu.AppSecret}")
-    private String AppSecret;
-
-
-    /**
-     * 构造网页授权链接
-     *
-     * @param redirect_uri
-     * @param state
-     * @return
-     */
-    public String authorize(String redirect_uri, String state) {
-        try {
-            redirect_uri = URLEncoder.encode(redirect_uri, "UTF-8");
-            StringBuilder url = new StringBuilder(FeiShuURLConfig.authorize_URL);
-            url.append("&redirect_uri=" + redirect_uri);
-            url.append("&client_id=" + AppID);
-            url.append("&state=" + state);
-            return url.toString();
-        } catch (UnsupportedEncodingException e) {
-            log.error(e.getMessage() + "redirect_uri编码异常:" + redirect_uri);
-        }
-        return "";
-    }
-    /**
-     * 获取access_token
-     * 成功
-     * @return {
-     *     "code": 0,
-     *     "access_token": "eyJhbGciOiJFUzI1NiIs**********X6wrZHYKDxJkWwhdkrYg",
-     *     "expires_in": 7200, // 非固定值,请务必根据响应体中返回的实际值来确定 access_token 的有效期
-     *     "refresh_token": "eyJhbGciOiJFUzI1NiIs**********XXOYOZz1mfgIYHwM8ZJA",
-     *     "refresh_token_expires_in": 604800, // 非固定值,请务必根据响应体中返回的实际值来确定 refresh_token 的有效期
-     *     "scope": "auth:user.id:read offline_access task:task:read user_profile",
-     *     "token_type": "Bearer"
-     * }
-     * 失败
-     * {
-     *     "code": 20050,
-     *     "error": "server_error",
-     *     "error_description": "An unexpected server error occurred. Please retry your request."
-     * }
-     */
-    public String getUserAccessToken(String redirect_uri,String code)  {
-        Map<String,String> param = Maps.newHashMap();
-        param.put("grant_type","authorization_code");
-        param.put("client_id",AppID);
-        param.put("client_secret", AppSecret);
-        param.put("code",code);
-        param.put("redirect_uri",redirect_uri);
-        HttpResponse res = HttpUtil.createPost(FeiShuURLConfig.getUser_access_token_URL)
-                .header("Content-Type","application/json; charset=utf-8")
-                .body(JSONUtil.toJsonStr(param)).execute();
-        if (res.isOk()){
-            JSONObject object = JSONUtil.parseObj(res.body());
-            String access_token = object.getStr("access_token");
-            return access_token;
-        }else {
-            log.error(this.getClass().toString()+".getUserAccessToken:"+res.body());
-        }
-        return "";
-    }
-
-    public Map<String,String> getUserInfo(String redirect_uri,String code)  {
-        String access_token = this.getUserAccessToken(redirect_uri,code);
-        Map<String, String> userMap = this.getUserInfo(access_token);
-        String feishuid = userMap.get("user_id");
-        Map<String, String> personMap = personService.getPersonByFeiShuId(feishuid);
-        personMap.putAll(userMap);
-        return personMap;
-    }
-
-    public Map<String, String> getUserInfo(String access_token) {
-        Map<String, String> map = Maps.newHashMap();
-        try {
-            String Authorization = "Bearer " + access_token;
-            HttpResponse res = HttpUtil.createGet(FeiShuURLConfig.getUser_info_URL)
-                    .header("Authorization", Authorization).execute();
-            if (res.isOk()) {
-                JSONObject object = JSONUtil.parseObj(res.body());
-                Integer code = object.getInt("code");
-                if (!(code > 0)) {
-                    JSONObject data = object.getJSONObject("data");
-                    map.put("name", data.getStr("name"));
-                    map.put("en_name", data.getStr("en_name"));
-                    map.put("avatar_url", data.getStr("avatar_url"));
-                    map.put("avatar_thumb", data.getStr("avatar_thumb"));
-                    map.put("avatar_middle", data.getStr("avatar_middle"));
-                    map.put("avatar_big", data.getStr("avatar_big"));
-                    map.put("open_id", data.getStr("open_id"));
-                    map.put("union_id", data.getStr("union_id"));
-                    map.put("email", data.getStr("email"));
-                    map.put("enterprise_email", data.getStr("enterprise_email"));
-                    map.put("user_id", data.getStr("user_id"));
-                    map.put("mobile", data.getStr("mobile"));
-                    map.put("tenant_key", data.getStr("tenant_key"));
-                    map.put("employee_no", data.getStr("employee_no"));
-                }
-            } else {
-                log.error(this.getClass().toString() + ".getUserAccessToken:" + res.body());
-            }
-        }catch (Exception e){
-            log.error(e.getMessage(),e);
-        }
-        return map;
-    }
-}

+ 16 - 9
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonServiceImpl.java

@@ -1,10 +1,9 @@
 package com.qy.worksheetsystem.service.impl;
 
-import com.qy.worksheetsystem.model.mapper.EmployeeReportingMapper;
-import com.qy.worksheetsystem.model.mapper.PersonMapper;
 import com.qy.worksheetsystem.service.PersonService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
 import java.util.Collections;
 import java.util.Map;
 
@@ -12,17 +11,25 @@ import java.util.Map;
  * @BelongsProject: workSheetSystem
  * @BelongsPackage: com.qy.worksheetsystem.service.impl
  * @Author: lhbj
- * @CreateTime: 2024-11-26  19:57
+ * @CreateTime: 2024-12-02  18:24
  * @Description: TODO
  * @Version: 1.0
  */
+@Slf4j
+@Service
 public class PersonServiceImpl implements PersonService {
-    @Resource
-    private PersonMapper mapper;
+    @Override
+    public Map<String, String> getPersonByUserId(String userid) {
+        return Collections.emptyMap();
+    }
+
+    @Override
+    public Map<String, String> getPersonByOpenId(String openid) {
+        return Collections.emptyMap();
+    }
 
     @Override
-    public Map<String, String> getPersonByFeiShuId(String feishuid) {
-        Map<String,String> person = mapper.getPersonByFeiShuId(feishuid);
-        return person;
+    public Map<String, String> getPersonByJobNo(String jobNo) {
+        return Collections.emptyMap();
     }
 }

+ 0 - 181
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/ProjectServiceImpl.java

@@ -1,181 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-import cn.hutool.json.JSONUtil;
-import com.qy.worksheetsystem.model.mapper.ProjectMapper;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-
-/**
- * description: ProjectServiceImpl <br>
- * date: 2022/3/12 10:17 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@Service
-public class ProjectServiceImpl {
-    @Resource
-    private ProjectMapper mapper;
-    @Value("${HR.OrgNumber}")
-    private String OrgNumber;
-
-
-    public Map<String,String> getProjectListSingle(String number,String id){
-        Map<String,String> temp = mapper.getProjectListSingle(number,id);
-        Map<String,String> map = new HashMap<>();
-        map.put("id",temp.get("orgId"));
-        map.put("name",temp.get("orgName"));
-        String begin = temp.get("beginDate");
-        String end = temp.get("endDate");
-        String beginarr = begin.substring(0,7);
-        String endarr = end.substring(0,7);
-
-        String monthCircle ="";
-        //现在日期
-        LocalDate nowLocal = LocalDate.now();
-
-        int num = nowLocal.getMonth().length(nowLocal.isLeapYear());
-        String nowarr=nowLocal.format(DateTimeFormatter.ISO_LOCAL_DATE).substring(0,7);
-        LocalDate beginLocal = LocalDate.parse(begin, DateTimeFormatter.ISO_LOCAL_DATE);
-        LocalDate endLocal = LocalDate.parse(end, DateTimeFormatter.ISO_LOCAL_DATE);
-        //判断结束时间是否等于现在时间
-        // 不同年月,并且现在时间小于结束时间
-        if((!nowarr.equals(endarr))&&nowLocal.compareTo(endLocal)<0) {
-            if (nowarr.equals(beginarr)) {
-                if (nowLocal.compareTo(beginLocal) >= 0) {
-                    monthCircle = nowLocal.getDayOfMonth() + "-" + num;
-                } else {
-                    monthCircle = beginLocal.getDayOfMonth() + "-" + num;
-                }
-            } else {
-                if(nowLocal.compareTo(beginLocal) >= 0){
-                    monthCircle = nowLocal.getDayOfMonth() + "-" + num;
-                }else {
-                    num = beginLocal.getMonth().length(beginLocal.isLeapYear());
-                    monthCircle = beginLocal.getDayOfMonth() + "-" + num;
-                }
-            }
-            //同年月,并且现在时间小于结束时间
-        }else if(nowarr.equals(endarr)&&nowLocal.compareTo(endLocal)<=0){
-            if (nowarr.equals(beginarr)) {
-                if (nowLocal.compareTo(beginLocal) >= 0) {
-                    monthCircle = nowLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                } else {
-                    monthCircle = beginLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                }
-            } else {
-                if(nowLocal.compareTo(beginLocal) >= 0){
-                    monthCircle = nowLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                }else {
-                    monthCircle = beginLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                }
-            }
-        }
-        map.put("beginDate",begin);
-        map.put("endDate",end);
-
-        String managerName = temp.get("managerName");
-        String managerNumber = temp.get("managerNumber");
-        map.put("manager",managerName+"-"+managerNumber);
-        if(StringUtils.isNotEmpty(monthCircle)){
-            map.put("monthCircle",monthCircle+"号");
-        }else {
-            map.put("monthCircle","");
-        }
-        return map;
-    }
-
-    public List<Map<String,String>> getProjectList(String number,String id, String month){
-        try {
-            List<Map<String, String>> listMap = mapper.getProjectListV2(number, id,OrgNumber);
-            log.info(number+":"+JSONUtil.toJsonStr(listMap));
-            List<Map<String, String>> resultList = new ArrayList<>();
-            for (Map<String, String> temp : listMap) {
-                Map<String, String> map = new HashMap<>();
-                map.put("id", temp.get("orgId"));
-                map.put("name", temp.get("orgName"));
-                map.put("month", month);
-                String begin = temp.get("beginDate");
-                String end = temp.get("endDate");
-                String beginarr = begin.substring(0, 7);
-                String endarr = end.substring(0, 7);
-
-                String monthCircle = "";
-                String enter = temp.get("enterDate");
-                String enterarr = enter.substring(0, 7);
-                LocalDate nowLocal = LocalDate.now();
-                LocalDate monthDate = LocalDate.parse(month+"-01",DateTimeFormatter.ISO_LOCAL_DATE);
-                LocalDate enterDate = LocalDate.parse(enter,DateTimeFormatter.ISO_LOCAL_DATE);
-                //相对日期
-                if(enterarr.equals(month)){
-                    nowLocal = enterDate;
-                }else if(monthDate.compareTo(enterDate)>=0){
-                    nowLocal = monthDate;
-                }
-                int num = nowLocal.getMonth().length(nowLocal.isLeapYear());
-
-                LocalDate beginLocal = LocalDate.parse(begin, DateTimeFormatter.ISO_LOCAL_DATE);
-                LocalDate endLocal = LocalDate.parse(end, DateTimeFormatter.ISO_LOCAL_DATE);
-                //判断结束时间是否等于现在时间
-                // 不同年月,并且现在时间小于结束时间
-                if ((!month.equals(endarr)) && nowLocal.compareTo(endLocal) < 0) {
-                    if (month.equals(beginarr)) {
-                        if (nowLocal.compareTo(beginLocal) >= 0) {
-                            monthCircle = nowLocal.getDayOfMonth() + "-" + num;
-                        } else {
-                            monthCircle = beginLocal.getDayOfMonth() + "-" + num;
-                        }
-                    } else {
-                        if (nowLocal.compareTo(beginLocal) >= 0) {
-                            monthCircle = nowLocal.getDayOfMonth() + "-" + num;
-                        } else {
-                            num = beginLocal.getMonth().length(beginLocal.isLeapYear());
-                            monthCircle = beginLocal.getDayOfMonth() + "-" + num;
-                        }
-                    }
-                    //同年月,并且现在时间小于结束时间
-                } else if (month.equals(endarr) && nowLocal.compareTo(endLocal) <= 0) {
-                    if (month.equals(beginarr)) {
-                        if (nowLocal.compareTo(beginLocal) >= 0) {
-                            monthCircle = nowLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                        } else {
-                            monthCircle = beginLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                        }
-                    } else {
-                        if (nowLocal.compareTo(beginLocal) >= 0) {
-                            monthCircle = nowLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                        } else {
-                            monthCircle = beginLocal.getDayOfMonth() + "-" + endLocal.getDayOfMonth();
-                        }
-                    }
-                }
-                map.put("beginDate", begin);
-                map.put("endDate", end);
-
-                String managerName = temp.get("managerName");
-                String managerNumber = temp.get("managerNumber");
-                map.put("manager", managerName + "-" + managerNumber);
-                if (StringUtils.isNotEmpty(monthCircle)) {
-                    map.put("monthCircle", monthCircle + "号");
-                } else {
-                    map.put("monthCircle", "");
-                }
-                log.info(JSONUtil.toJsonStr(map));
-                resultList.add(map);
-            }
-            return resultList;
-        }catch (Exception e){
-            e.printStackTrace();
-            log.error(e.getMessage());
-        }
-        return null;
-    }
-}

+ 0 - 17
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/SaveLeaveBillServiceImpl.java

@@ -1,17 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-/**
- * description: SaveLeaveBillServiceImpl <br>
- * date: 2022/4/6 9:45 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@Service
-public class SaveLeaveBillServiceImpl {
-
-
-}

+ 0 - 40
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/THRATSWorkCalendarItemServiceImpl.java

@@ -1,40 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-import com.qy.worksheetsystem.model.mapper.THRATSWorkCalendarItemMapper;
-import com.qy.worksheetsystem.service.THRATSWorkCalendarItemService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Slf4j
-@Service
-public class THRATSWorkCalendarItemServiceImpl implements THRATSWorkCalendarItemService {
-    @Resource
-    private THRATSWorkCalendarItemMapper thratsWorkCalendarItemMapper;
-
-    @Override
-    public List<Map<String, String>> selectWorkCalendar(Map map) {
-        //0:工作日
-        //1:休息日
-        //2:法定假日
-        List<Map<String, String>> selectWorkCalendar=thratsWorkCalendarItemMapper.selectWorkCalendar(map);
-        List<Map<String, String>> mapList = new ArrayList<>();
-        log.info(map.toString());
-        for (int i = 0; i < selectWorkCalendar.size(); i++) {
-            Map<String, String> maps = new HashMap<>();
-            Map<String, String> stringStringMap = selectWorkCalendar.get(i);
-
-            String strDate = stringStringMap.get("FDate");
-            String date = strDate.substring(0, 10);
-            maps.put("date", date);
-            maps.put("dateType", stringStringMap.get("dateType"));
-            mapList.add(maps);
-        }
-        return mapList;
-    }
-}

+ 0 - 307
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/WeiXinAuthorizeServiceImpl.java

@@ -1,307 +0,0 @@
-package com.qy.worksheetsystem.service.impl;
-
-
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONUtil;
-import com.qy.worksheetsystem.config.WeiXinUrlConfig;
-import com.qy.worksheetsystem.model.mapper.EmployeeReportingMapper;
-import com.qy.worksheetsystem.util.ExpiryMap;
-import com.qy.worksheetsystem.util.JWTUtil;
-import com.qy.worksheetsystem.util.ZcWeChatExUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
-
-import javax.annotation.Resource;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.*;
-
-/**
- * 企业微信
- * description: WeiXinAuthorizeService <br>
- * date: 2022/3/7 15:24 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-@Slf4j
-@Service
-public class WeiXinAuthorizeServiceImpl {
-
-    private static final ExpiryMap<String, Object> expiryMap = new ExpiryMap<String, Object>();
-    @Resource
-    private EmployeeReportingMapper mapper;
-    @Resource
-    private EmployeeReportingServiceImpl service;
-    /**
-     * 报工小程序
-     */
-    @Value("${weixin.corpid}")
-    private String corpid;
-    /**
-     * 报工小程序
-     */
-    @Value("${weixin.corpsecret}")
-    private String corpsecret;
-    /**
-     * 审批快手
-     */
-    @Value("${weixin.ks.corpid}")
-    private String ks_corpid;
-    /**
-     * 审批快手
-     */
-    @Value("${weixin.ks.corpsecret}")
-    private String ks_corpsecret;
-    @Value("${weixin.ks.AgentId}")
-    private String ks_AgentId;
-    @Value("${weixin.AgentId}")
-    private String AgentId;
-
-    public String getKs_corpid() {
-        return ks_corpid;
-    }
-
-    public String getKs_corpsecret() {
-        return ks_corpsecret;
-    }
-
-    public String getKs_AgentId() {
-        return ks_AgentId;
-    }
-
-
-    /**
-     * 构造网页授权链接
-     *
-     * @param redirect_uri
-     * @param state
-     * @return
-     */
-    public String authorize(String redirect_uri, String state) {
-        try {
-            redirect_uri = URLEncoder.encode(redirect_uri, "UTF-8");
-            StringBuilder url = new StringBuilder(WeiXinUrlConfig.authorize_URL);
-            url.append("&redirect_uri=" + redirect_uri);
-            url.append("&appid=" + corpid);
-            url.append("&state=" + state);
-            url.append("#wechat_redirect");
-            return url.toString();
-        } catch (UnsupportedEncodingException e) {
-            log.error(e.getMessage() + "redirect_uri编码异常:" + redirect_uri);
-        }
-        return "";
-    }
-
-    public synchronized String getAccessToken() {
-        if (null != expiryMap.get("Token")) {
-            return (String) expiryMap.get("Token");
-        } else {
-            try {
-                String accessTokenResult = this.getToken();
-                Map<String, Object> tokenMap = (Map) JSONUtil.parse(accessTokenResult);
-                String errcode = tokenMap.get("errcode").toString();
-                String access_token = tokenMap.get("access_token").toString();
-                log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "getAccessToken:" + access_token);
-                expiryMap.put("Token", access_token, 7200 * 1000);
-                log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "expiryMap:" + expiryMap.toString());
-                return (String) expiryMap.get("Token");
-            } catch (Exception e) {
-                log.error(e.getMessage());
-            }
-        }
-        return "";
-    }
-    public synchronized String getAccessToken(String agentId,String corpid,String corpsecret) {
-        if (null != expiryMap.get(agentId)) {
-            return (String) expiryMap.get(agentId);
-        } else {
-            try {
-                String accessTokenResult = this.getToken(corpid, corpsecret);
-                Map<String, Object> tokenMap = (Map) JSONUtil.parse(accessTokenResult);
-                String errcode = tokenMap.get("errcode").toString();
-                String access_token = tokenMap.get("access_token").toString();
-                log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "getAccessToken:" + access_token);
-                expiryMap.put(agentId, access_token, 7200 * 1000);
-                log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "expiryMap:" + expiryMap.toString());
-                return (String) expiryMap.get(agentId);
-            } catch (Exception e) {
-                log.error(e.getMessage());
-            }
-        }
-        return "";
-    }
-
-    public String sendMessage(String accessToken,Map<String,Object> map) throws Exception {
-        return ZcWeChatExUtil.getInstance().sendMessage(accessToken,map);
-    }
-
-    public String sendKSMessage(Map<String,Object> map) throws Exception {
-        String accessToken = this.getAccessToken(ks_AgentId,ks_corpid,ks_corpsecret);
-        map.put("agentid",ks_AgentId);
-        return ZcWeChatExUtil.getInstance().sendMessage(accessToken,map);
-    }
-    /**
-     * 获取access_token
-     *
-     * @return {
-     * "errcode": 0,
-     * "errmsg": "ok",
-     * "access_token": "accesstoken000001",
-     * "expires_in": 7200
-     * }
-     */
-    public String getToken() {
-        StringBuilder url = new StringBuilder(WeiXinUrlConfig.gettoken_URL);
-        url.append("?corpid=" + corpid);
-        url.append("&corpsecret=" + corpsecret);
-        log.info(url.toString());
-        String result = HttpUtil.get(url.toString());
-        log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "getToken:" + result);
-        return result;
-    }
-    /**
-     * 获取access_token
-     *
-     * @return {
-     * "errcode": 0,
-     * "errmsg": "ok",
-     * "access_token": "accesstoken000001",
-     * "expires_in": 7200
-     * }
-     */
-    public String getToken(String corpid,String corpsecret) {
-        StringBuilder url = new StringBuilder(WeiXinUrlConfig.gettoken_URL);
-        url.append("?corpid=" + corpid);
-        url.append("&corpsecret=" + corpsecret);
-        log.info(url.toString());
-        String result = HttpUtil.get(url.toString());
-        log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "getToken:" + result);
-        return result;
-    }
-    /**
-     * 获取访问用户身份
-     * {
-     * "errcode": 0,
-     * "errmsg": "ok",
-     * "UserId":"USERID",
-     * "DeviceId":"DEVICEID"
-     * }
-     * {
-     * "errcode": 0,
-     * "errmsg": "ok",
-     * "OpenId":"OPENID",
-     * "DeviceId":"DEVICEID",
-     * "external_userid":"EXTERNAL_USERID"
-     * }
-     *
-     * @param access_token
-     * @param code
-     * @return
-     */
-    public String getUserInfo(String access_token, String code) {
-        StringBuilder url = new StringBuilder(WeiXinUrlConfig.getuserinfo_URL);
-        url.append("?access_token=" + access_token);
-        url.append("&code=" + code);
-        String result = HttpUtil.get(url.toString());
-        return result;
-    }
-
-    /**
-     * openid转换成userid接口
-     *
-     * @param openid
-     * @return {
-     * "errcode": 0,
-     * "errmsg": "ok",
-     * "userid": "zhangsan"
-     * }
-     */
-    public String convertToUserid(String access_token, String openid) {
-        StringBuilder url = new StringBuilder(WeiXinUrlConfig.convert_to_userid_URL);
-        url.append("?access_token=" + access_token);
-        Map<String, Object> map = new HashMap<>();
-        map.put("openid", openid);
-        String result = HttpUtil.post(url.toString(), map);
-        return result;
-    }
-
-    public Map<String, Object> getPersonInfo(String code) {
-        Map<String, Object> resultMap = new HashMap<>();
-        try {
-
-            String access_token = this.getAccessToken();
-            log.info(WeiXinAuthorizeServiceImpl.class.toString()+ "access_token:" + access_token);
-            String UserResult = this.getUserInfo(access_token, code);
-            log.info(WeiXinAuthorizeServiceImpl.class.toString() + "_UserResult:" + UserResult);
-            Map<String, Object> userMap = (Map) JSONUtil.parse(UserResult);
-            String userErrcode = userMap.get("errcode").toString();
-            if (!userErrcode.equals("0")) {
-                throw new Exception("getUserInfo:" + UserResult);
-            }
-            Object UserId = userMap.get("UserId");
-            Object OpenId = userMap.get("OpenId");
-            if (null == UserId && null != OpenId) {
-                String OpenIdResult = this.convertToUserid(access_token, OpenId.toString());
-                Map<String, Object> OpenIdMap = (Map) JSONUtil.parse(OpenIdResult);
-                String OpenIdErrcode = OpenIdMap.get("errcode").toString();
-                if (!OpenIdErrcode.equals("0")) {
-                    throw new Exception("convertToUserid:" + OpenIdResult);
-                }
-                UserId = OpenIdMap.get("userid").toString();
-            }
-            log.info(WeiXinAuthorizeServiceImpl.class.toString() + "UserId:" + UserId);
-            if (null != UserId) {
-                resultMap.put("userid", UserId);
-                String userDetail = this.getUserDetails(access_token, UserId.toString());
-                log.info(WeiXinAuthorizeServiceImpl.class.toString() + "userDetail:" + userDetail);
-                Map<String, Object> userDetailMap = (Map) JSONUtil.parse(userDetail);
-                String userName = (String) userDetailMap.get("name");
-                resultMap.put("name", userName);
-                Map<String, Object> extattr = (Map<String, Object>) userDetailMap.get("extattr");
-                List<Map<String, Object>> attrs = (List<Map<String, Object>>) extattr.get("attrs");
-                if (null == extattr || null == attrs || extattr.isEmpty() || attrs.isEmpty()) {
-                    resultMap.put("number", "");
-                }
-                for (Map<String, Object> attr : attrs) {
-                    String attrName = (String) attr.get("name");
-                    String attrValue = (String) attr.get("value");
-                    if (attrName.equals("工号")) {
-                        resultMap.put("number", attrValue);
-                        Map<String, Object> person = service.getShrPersonInfo(attrValue);
-                       // resultMap.putAll(person);
-                        resultMap.put("hiredate",person.get("hiredate"));
-                        resultMap.put("isAuditor",person.get("isAuditor"));
-                    }
-                }
-                String token = JWTUtil.createToken((String) resultMap.get("number"),UserId.toString());
-                resultMap.put("token", token);
-                Calendar c = Calendar.getInstance();
-                c.add(Calendar.DAY_OF_MONTH,1);
-                resultMap.put("expire", c.getTimeInMillis());
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            log.error(e.getMessage());
-        }
-        return resultMap;
-    }
-
-
-
-    /**
-     * 读取成员
-     *
-     * @param access_token
-     * @param userid
-     * @return
-     */
-    public String getUserDetails(String access_token, String userid) {
-        StringBuilder url = new StringBuilder(WeiXinUrlConfig.userGet_URL);
-        url.append("?access_token=" + access_token);
-        url.append("&userid=" + userid);
-        String result = HttpUtil.get(url.toString());
-        return result;
-    }
-}

+ 124 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/YunzhijiaServiceImpl.java

@@ -0,0 +1,124 @@
+package com.qy.worksheetsystem.service.impl;
+
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.google.common.collect.Maps;
+import com.qy.worksheetsystem.config.YunzhijiaURLConfig;
+import com.qy.worksheetsystem.service.PersonService;
+import com.qy.worksheetsystem.service.YunzhijiaService;
+import com.qy.worksheetsystem.util.HutoolCacheUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.annotation.CacheConfig;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.Map;
+
+/**
+ * @BelongsProject: workSheetSystem
+ * @BelongsPackage: com.qy.worksheetsystem.service.impl
+ * @Author: lhbj
+ * @CreateTime: 2024-12-02  18:13
+ * @Description: TODO
+ * @Version: 1.0
+ */
+@Slf4j
+@Service
+public class YunzhijiaServiceImpl implements YunzhijiaService {
+    @Resource
+    PersonService personService;
+    /**
+     * 报工小程序
+     */
+    @Value("${yunzhijia.AppID}")
+    private String AppID;
+    /**
+     * 报工小程序
+     */
+    @Value("${yunzhijia.AppSecret}")
+    private String AppSecret;
+
+    /**获取token
+     * @description:
+     * @author: lhbj
+     * @date: 2024/12/2 19:51
+     * @param: null
+     * @return:String
+     **/
+    @Override
+    public String getAccessToken() {
+        String access_token="";
+        try {
+            String key = AppID + AppSecret;
+            //从缓存中取
+            access_token = (String) HutoolCacheUtils.get(key);
+            if (StringUtils.isBlank(access_token)) {
+                Map<String, Object> param = Maps.newHashMap();
+                param.put("appId", AppID);
+                param.put("secret", AppSecret);
+                param.put("timestamp", System.currentTimeMillis());
+                param.put("scope", "app");
+                HttpResponse res = HttpUtil.createPost(YunzhijiaURLConfig.getAccessToken)
+                        .header("Content-Type", "application/json; charset=utf-8")
+                        .body(JSONUtil.toJsonStr(param)).execute();
+                if (res.isOk()) {
+                    JSONObject object = JSONUtil.parseObj(res.body());
+                    Boolean success = object.getBool("success", false);
+                    if (success) {
+                        JSONObject data =object.getJSONObject("data");
+                        access_token = data.getStr("access_token");
+                        Integer expireIn = data.getInt("expireIn");
+                        //缓存access_token
+                        HutoolCacheUtils.put(key,access_token,expireIn);
+                        return access_token;
+                    }
+                }
+                throw new SecurityException("获取AccessToken失败:" + res.body());
+            }
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+        }
+        return access_token;
+    }
+
+    /**获取用户信息
+     * @description:
+     * @author: lhbj
+     * @date: 2024/12/2 19:51
+     * @param: null
+     * @return:JSONObject
+     **/
+    @Override
+    public Map<String, Object> getUserInfo(String accessToken, String ticket) {
+        try {
+                String url = YunzhijiaURLConfig.acquirecontext.concat("accessToken");
+                Map<String, Object> param = Maps.newHashMap();
+                param.put("appId", AppID);
+                param.put("ticket", ticket);
+                HttpResponse res = HttpUtil.createPost(url)
+                        .header("Content-Type", "application/json; charset=utf-8")
+                        .body(JSONUtil.toJsonStr(param)).execute();
+                if (res.isOk()) {
+                    JSONObject object = JSONUtil.parseObj(res.body());
+                    Boolean success = object.getBool("success", false);
+                    if (success) {
+                        JSONObject data =object.getJSONObject("data");
+                        String userid =data.getStr("userid");
+                        Map<String,String> stringMap = personService.getPersonByUserId(userid);
+                        data.putAll(stringMap);
+                        return data;
+                    }
+                }
+                throw new SecurityException("获取用户信息失败:" + res.body());
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+        }
+        return Collections.emptyMap();
+    }
+}

+ 53 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/shiro/DecryptEnvironmentPostProcessor.java

@@ -0,0 +1,53 @@
+package com.qy.worksheetsystem.shiro;
+
+import com.kingdee.bos.sql.KSqlUtil;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.env.EnvironmentPostProcessor;
+import org.springframework.core.env.*;
+
+import java.util.Properties;
+
+/**
+ * @BelongsProject: workSheetSystem
+ * @BelongsPackage: com.qy.worksheetsystem.shiro
+ * @Author: lhbj
+ * @CreateTime: 2024-12-02  20:13
+ * @Description: TODO
+ * @Version: 1.0
+ */
+public class DecryptEnvironmentPostProcessor implements EnvironmentPostProcessor {
+
+    @Override
+    public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
+        Properties props = new Properties();  // 临时存储需要替换的配置
+        // 假设加密密码前缀为 "ENC(",后缀为 ")"
+        MutablePropertySources propertySources = environment.getPropertySources();
+        for (PropertySource<?> propertySource : propertySources) {
+            if (propertySource instanceof EnumerablePropertySource) {
+                EnumerablePropertySource<?> enumerablePropertySource = (EnumerablePropertySource<?>) propertySource;
+                String[] propertyNames = enumerablePropertySource.getPropertyNames();
+                // 遍历所有配置key:value
+                for (String propertyName : propertyNames) {
+
+                    String propertyVal = environment.getProperty(propertyName);
+                    // 根据自己写的规则来解析那些配置是需要解密的
+                    if (propertyVal != null && propertyVal.startsWith("ENC(") && propertyVal.endsWith(")")) {
+                        if ("spring.datasource.password".equals(propertyName)) {
+                            // 解析得到加密的数据
+                            String encryptedValue = propertyVal.substring(4, propertyVal.length() - 1);
+                            // 调用自定义工具类解密
+                            String decryptedValue = KSqlUtil.decodePassword(encryptedValue);
+                            // 保存需要替换的配置
+                            props.put(propertyName, decryptedValue);
+                        }
+                    }
+                }
+            }
+        }
+        // 添加解密后的属性到环境中
+        if (!props.isEmpty()) {
+            PropertiesPropertySource pps = new PropertiesPropertySource("decryptedProperties", props);
+            environment.getPropertySources().addFirst(pps);
+        }
+    }
+}

+ 0 - 196
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/util/ExpiryMap.java

@@ -1,196 +0,0 @@
-package com.qy.worksheetsystem.util;
-
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigDecimal;
-import java.net.MalformedURLException;
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * @author :lhbj
- * @date :Created in 2021/4/8 18:03
- * @description:带有效期的Map。
- * 每个key存入该map时,都需要设置key的有效期!当超期后,该key失效!
- * 此外,该map加入了一个定时器,每间隔一段时间,就自动扫描该map一次,清除失效的key
- * @modified By:
- * @version: $
- */
-public class ExpiryMap<K, V> implements Map<K, V> {
-    private boolean isRefresh = false;
-    private static ConcurrentHashMap workMap = new ConcurrentHashMap();
-    private static ConcurrentHashMap<Object, Long> expiryMap = new ConcurrentHashMap<>();
-
-    public ExpiryMap() {
-        super();
-    }
-
-    public ExpiryMap(boolean isRefresh) {
-        this.isRefresh = isRefresh;
-    }
-
-    /**
-     * 定时清除失效key
-
-    static {
-        int interval = 60;//间隔时间,单位:分
-        int threshold = 10000;//map的容量阈值,达到该值后,将较频繁的执行key扫描工作!
-        new Timer().schedule(new TimerTask() {
-            int i = 0;
-            @Override
-            public void run() {
-                boolean isRun = ++i % interval == 0 || expiryMap.keySet().size() > threshold;
-                if (isRun) {
-                    removeInValidKeys();
-                }
-            }
-        }, 60*1000, 60*1000);//每隔1分钟启动一次
-    }
-     */
-    private void removeInValidKeys(){
-        for(Object key : expiryMap.keySet()){
-            if(expiryMap.get(key) < System.currentTimeMillis()){
-                expiryMap.remove(key);
-                workMap.remove(key);
-            }
-        }
-//        expiryMap.keySet().forEach(key->{
-//
-//        });
-//        System.gc();
-    }
-    private void removeInValidKeys(Object key){
-        if(null!=expiryMap.get(key)&&expiryMap.get(key) < System.currentTimeMillis()){
-            expiryMap.remove(key);
-            workMap.remove(key);
-        }
-    }
-    /**
-     * put方法,需要设置key 的有效期!单位为:毫秒
-     * @param key
-     * @param value
-     * @param expiry key的有效期,单位:毫秒
-     * @return
-     */
-    public V put(K key, V value, long expiry) {
-        if (!containsKey(key) || isRefresh) {//更新value,只有需要刷新时间时才需要操作expiryMap
-            expiryMap.put(key, System.currentTimeMillis() + expiry);
-        }
-        workMap.put(key, value);
-        return value;
-    }
-    /**
-     * survival方法,获取key 剩余存活时间单位为:毫秒
-     * @param key
-     * @return
-     */
-    public long survival(Object key){
-        Long survival = (expiryMap.get(key)==null?0L:expiryMap.get(key));
-        return survival>0?survival-System.currentTimeMillis():-1;
-    }
-
-    @Override
-    public int size() {
-        return keySet().size();
-    }
-
-    @Override
-    public boolean isEmpty() {
-        return size() == 0;
-    }
-
-    @Override
-    public boolean containsKey(Object key) {
-        if (key!=null &&expiryMap.containsKey(key)) {
-            boolean flag = expiryMap.get(key) > System.currentTimeMillis();
-            return flag;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean containsValue(Object value) {
-        Collection values = workMap.values();
-        if(values!=null){
-            return values.contains(value);
-        }
-        return false;
-    }
-
-    @Override
-    public V get(Object key) {
-        removeInValidKeys(key);
-        if (containsKey(key)) {
-            return (V) workMap.get(key);
-        }
-        return null;
-    }
-
-    /**
-     * put方法,默认设置key的有效期为1小时!单位为:毫秒
-     * @param key
-     * @param value
-     * @return
-     */
-    @Deprecated
-    @Override
-    public V put(K key, V value) {
-        if (!containsKey(key) || isRefresh) {//更新value,只有需要刷新时间时才需要操作expiryMap
-            expiryMap.put(key, System.currentTimeMillis() + (1000*60*60L));
-        }
-        workMap.put(key, value);
-        return value;
-    }
-
-    @Override
-    public V remove(Object key) {
-        boolean containKey=containsKey(key);
-        expiryMap.remove(key);
-        if(containKey){
-            return (V) workMap.remove(key);
-        }else{
-            return null;
-        }
-
-    }
-    /**
-     * putAll方法,默认设置key的有效期为1小时!单位为:毫秒
-     * @param m
-     * @return
-     */
-    @Deprecated
-    @Override
-    public void putAll(Map<? extends K, ? extends V> m) {
-        for (Entry<? extends K, ? extends V> e : m.entrySet()) {
-            expiryMap.put(e.getKey(), System.currentTimeMillis() + (1000*60*60L));
-        }
-        workMap.putAll(m);
-    }
-
-    @Override
-    public void clear() {
-        expiryMap.clear();
-        workMap.clear();
-    }
-
-    @Override
-    public Set<K> keySet() {
-        removeInValidKeys();
-        return workMap.keySet();
-    }
-
-    @Override
-    public Collection<V> values() {
-        removeInValidKeys();
-        return workMap.values();
-    }
-
-    @Override
-    public Set<Entry<K, V>> entrySet() {
-        removeInValidKeys();
-        return workMap.entrySet();
-    }
-
-
-
-}

+ 0 - 63
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/util/ZcWeChatExUtil.java

@@ -1,63 +0,0 @@
-package com.qy.worksheetsystem.util;
-
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONUtil;
-import com.google.common.collect.Maps;
-import org.springframework.beans.factory.annotation.Value;
-
-import java.util.Map;
-
-/**
- * description: ZcWeChatExUtil <br>
- * date: 2022/3/31 20:39 <br>
- * author: lhbj <br>
- * version: 1.0 <br>
- */
-
-public class ZcWeChatExUtil {
-    private static ExpiryMap<String,Object> expiryMap = new ExpiryMap<String,Object>(true);
-
-
-
-
-    private static final ZcWeChatExUtil instance = new ZcWeChatExUtil();
-    private ZcWeChatExUtil() {};
-    public static ZcWeChatExUtil getInstance() {
-        return instance;
-    }
-
-    public String sendMessage(String accessToken,Map<String,Object> map) throws Exception {
-        String requestUrl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+ accessToken;
-        System.out.println("sendMessage");
-        System.out.println(requestUrl);
-        System.out.println(JSONUtil.toJsonStr(map));
-        String result = HttpUtil.post(requestUrl, JSONUtil.toJsonStr(map));
-        Map resultMap = (Map) JSONUtil.parse(result);
-        String errcode = resultMap.get("errcode").toString();
-        if (errcode.equals("0")) {
-            return result;
-        }else {
-            String errmsg = resultMap.get("errmsg").toString();
-            throw new Exception("errcode:" + errcode + ";errmsg:" + errmsg);
-        }
-    }
-
-    public static void main(String[] args) throws Exception {
-        String token = "2pP6wGHPr_L7biqbM5AHuQzieYZlBvR0pv18BgzKEwTvt9X4HStlTkGgNKSWtmIv8FHlBgODJyAKoLir__O3Dbz_oKHVPp4BpMEn07jkH_sLQ2cp-1mI0y3eZP9lSCnqrRU7qk5pDycHThjbumbefje8V_HnVWuE7dUTXWJ5MjKiAfPBAdnaa8u0iY6mcuqEI4oFNcqLvSKlU__0dYU1lQ";
-
-        Map<String, Object> wwMap = Maps.newHashMap();
-        Map<String, Object> valMap = Maps.newHashMap();
-//                    // tplMap
-        wwMap.put("agentid","1000002");
-        wwMap.put("msgtype","textcard");
-        wwMap.put("touser", "zhang");
-        wwMap.put("textcard",valMap);
-        valMap.put("title", "报工审批提醒");
-        StringBuilder content = new StringBuilder();
-        content.append("员工"+"张庆阳"+"报工");
-        valMap.put("description", content);
-        valMap.put("url", "https://www.baidu.com/");
-        valMap.put("btntxt", "详情");
-        ZcWeChatExUtil.getInstance().sendMessage(token,wwMap);
-    }
-}

二進制
app/workSheetSystem/src/main/resources/7494583_oa.ysstech.com.pfx


+ 2 - 0
app/workSheetSystem/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,2 @@
+org.springframework.boot.env.EnvironmentPostProcessor=\
+com.qy.worksheetsystem.shiro.DecryptEnvironmentPostProcessor

+ 0 - 92
app/workSheetSystem/src/main/resources/application.YSSyml

@@ -1,92 +0,0 @@
-spring:
-  datasource:
-    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    #url: jdbc:sqlserver://127.0.01:1433;DatabaseName=test001
-    #username: sa
-    #password: qy123456.
-    url: jdbc:sqlserver://192.168.73.2:1433;DatabaseName=sHR820
-    username: sa
-    password: kingdee123
-    hikari:
-      maximum-pool-size: 50  # 最大连接数
-      minimum-idle: 5 # 最小空闲数
-      connection-timeout: 2000 # 获取连接超时时间; 默认30s
-      pool-name: sHR820_hikari # 连接池名称
-      idle-timeout: 600000 # 空闲超时时间;默认是十分钟;空闲时间超过设定时间则会被回收
-      auto-commit: true # 是否自动提交
-      max-lifetime: 1800000 # 最大存活时间,默认30分钟
-      # connection-test-query: SELECT 1  # 连接数据库后测试语句
-      validation-timeout: 1000 #
-      # schema: 设置模式,例如 postgresql 有模式这个概念
-    #url: jdbc:sqlserver://192.168.73.2:1433;DatabaseName=sHR820
-    #username: sa
-    #password: YsstechHR2020
-
-server:
-  compression:
-    enabled: true
-    mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
-    min-response-size: 1024
-  port: 9090  #注意,这里是https访问的的端口号
-#  ssl:
-#    key-store: classpath:7494583_oa.ysstech.com.pfx
-#    key-store-password: 95zCuxIB
-#    key-store-type: PKCS12
-#    enabled: true
-###mybatis??
-mybatis:
-  mapper-locations: classpath:model/mapper/**/*.xml
-pagehelper:
-  helper-dialect: sqlServer
-  reasonable: true
-  support-methods-arguments: false
-  params: count=countSql
-# ????
-logging:
-  level:
-    com.qy.worksheetsystem: debug
-    org.springframework: warn
-    org:
-      pringframework:
-      security: DEBUG
-      hibernate: DEBUG
-      mybatis: DEBUG
-  file:
-    pattern: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-    name: worksheetsystem.log
-    path: /
-  pattern:
-    console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-  ##  file: 'E:\nginx-1.20.2\workSheetSystem.log'
-
-  ##config: classpath:logback.xml
-HR:
-  #报工顶级组织,空表示所有
-  OrgNumber:
-  #正式员工
-  EmployeeType: 00000000-0000-0000-0000-000000000001A29E85B3
-
-  HolidayPolicy: eBUAADBqEZxfwQkQ
-  #年假
-  AttendanceType: eBUAADAXEjxyrXZI
-  #出差
-  tripType: eBUAADAXEjtyrXZI
-#企业微信
-weixin:
-  #corpsecret: r_dthG2V-w6g6tpoEgjnNJS_dv5_SCAQl0PfV8z_H4U
-  #corpid: wwbfa0b02a7ede338c
-  #AgentId: 1000006
-  #url: https://oa.ysstech.com:19000/
-  corpsecret: 1PDS3kcxNu4pCkXAyZutnzUq2xoS-POnZzqLcRW5_4I
-  corpid: wwad966bd4d6a788ce
-  AgentId: 1000040
-  url: https://oa.ysstech.com:19000/
-  #审批消息企微消息推送
-  ks:
-    corpsecret: m9RUQpKKLDd_QGupp2_9CPtMSf0rY4nv1qSkWcHe-gk
-    corpid: wwad966bd4d6a788ce
-    AgentId: 1000020
-    # corpsecret: r_dthG2V-w6g6tpoEgjnNJS_dv5_SCAQl0PfV8z_H4U
-    #corpid: wwbfa0b02a7ede338c
-    #AgentId: 1000006
-

+ 0 - 110
app/workSheetSystem/src/main/resources/application.Yss86yml

@@ -1,110 +0,0 @@
-spring:
-  datasource:
-    type: com.alibaba.druid.pool.DruidDataSource #引入druid数据源
-#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#    url: jdbc:sqlserver://127.0.01:1433;DatabaseName=test;allowMultiQueries=true
-#    username: sa
-#    password: lhbj
-    url: jdbc:sqlserver://10.0.73.2:1433;allowMultiQueries=true;DatabaseName=sHR860
-    username: sa
-    password: Ysstech2023.com!
-    initialSize: 5
-    minIdle: 5
-    maxActive: 20
-    maxWait: 60000
-    timeBetweenEvictionRunsMillis: 60000
-    minEvictableIdleTimeMillis: 300000
-    validationQuery: SELECT getDate()
-    testWhileIdle: true
-    testOnBorrow: false
-    testOnReturn: false
-    poolPreparedStatements: true
-      #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
-      #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
-      #则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j
-    filters: stat,wall,log4j
-#    filter:
-#      wall:
-#        config:
-#          multi-statement-allow: true
-#          none-base-statement-allow: true
-    maxPoolPreparedStatementPerConnectionSize: 20
-    useGlobalDataSourceStat: true
-    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
-    # schema: 设置模式,例如 postgresql 有模式这个概念
-    #url: jdbc:sqlserver://192.168.73.2:1433;DatabaseName=sHR820
-    #username: sa
-    #password: YsstechHR2020
-
-server:
-  compression:
-    enabled: true
-    mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
-    min-response-size: 1024
-  port: 9091  #注意,这里是https访问的的端口号
-#  ssl:
-#    key-store: classpath:7494583_oa.ysstech.com.pfx
-#    key-store-password: 95zCuxIB
-#    key-store-type: PKCS12
-#    enabled: true
-###mybatis??
-mybatis:
-  mapper-locations: classpath:model/mapper/**/*.xml
-pagehelper:
-  helper-dialect: sqlServer
-  reasonable: true
-  support-methods-arguments: false
-  params: count=countSql
-# ????
-logging:
-  level:
-    com.qy.worksheetsystem: debug
-    org.springframework: warn
-    org:
-      pringframework:
-      security: DEBUG
-      hibernate: DEBUG
-      mybatis: DEBUG
-  file:
-    pattern: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-    name: worksheetsystem.log
-    path: /
-  pattern:
-    console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-  ##  file: 'E:\nginx-1.20.2\workSheetSystem.log'
-
-  ##config: classpath:logback.xml
-HR:
-  #报工顶级组织,空表示所有
-  OrgNumber:
-  #正式员工
-  EmployeeType: 00000000-0000-0000-0000-000000000001A29E85B3
-  #离职员工
-  LeaveType: 00000000-0000-0000-0000-000000000007A29E85B3
-
-  HolidayPolicy: eBUAADBqEZxfwQkQ
-  #年假
-  AttendanceType: eBUAADAXEjxyrXZI
-  #出差
-  tripType: eBUAADAXEjtyrXZI
-#企业微信
-weixin:
-  corpsecret: FeUDSNwS9Mk5aBnEI_77nw-guVGWMY72ngckDTfUADI
-  corpid: wwad966bd4d6a788ce
-  AgentId: 1000045
-  url: https://oa.ysstech.com:19001/
-
-  #  corpsecret: 1PDS3kcxNu4pCkXAyZutnzUq2xoS-POnZzqLcRW5_4I
-  #  corpid: wwad966bd4d6a788ce
-  #  AgentId: 1000040
-  #  url: https://oa.ysstech.com:19000/
-  #审批消息企微消息推送
-  ks:
-    corpsecret: CmzzYQ4evcyBjzyjYwl2ycDOk3tNm8DDiUv0gfysPls
-    corpid: wwad966bd4d6a788ce
-    AgentId: 1000036
-    # corpsecret: r_dthG2V-w6g6tpoEgjnNJS_dv5_SCAQl0PfV8z_H4U
-    #corpid: wwbfa0b02a7ede338c
-    #AgentId: 1000006
-
-

+ 0 - 105
app/workSheetSystem/src/main/resources/application.localyml

@@ -1,105 +0,0 @@
-spring:
-  datasource:
-    type: com.alibaba.druid.pool.DruidDataSource #引入druid数据源
-#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-#    url: jdbc:sqlserver://127.0.01:1433;DatabaseName=test
-#    username: sa
-#    password: lhbj
-    url: jdbc:sqlserver://192.168.73.2:1433;DatabaseName=sHR860
-    username: sa
-    password: kingdee123
-    initialSize: 5
-    minIdle: 5
-    maxActive: 20
-    maxWait: 60000
-    timeBetweenEvictionRunsMillis: 60000
-    minEvictableIdleTimeMillis: 300000
-    validationQuery: SELECT getDate()
-    testWhileIdle: true
-    testOnBorrow: false
-    testOnReturn: false
-    poolPreparedStatements: true
-      #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
-      #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
-      #则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j
-    filters: stat,wall,log4j
-    maxPoolPreparedStatementPerConnectionSize: 20
-    useGlobalDataSourceStat: true
-    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
-    # schema: 设置模式,例如 postgresql 有模式这个概念
-    #url: jdbc:sqlserver://192.168.73.2:1433;DatabaseName=sHR820
-    #username: sa
-    #password: YsstechHR2020
-
-server:
-  compression:
-    enabled: true
-    mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
-    min-response-size: 1024
-  port: 9090  #注意,这里是https访问的的端口号
-#  ssl:
-#    key-store: classpath:7494583_oa.ysstech.com.pfx
-#    key-store-password: 95zCuxIB
-#    key-store-type: PKCS12
-#    enabled: true
-###mybatis??
-mybatis:
-  mapper-locations: classpath:model/mapper/**/*.xml
-pagehelper:
-  helper-dialect: sqlServer
-  reasonable: true
-  support-methods-arguments: false
-  params: count=countSql
-# ????
-logging:
-  level:
-    com.qy.worksheetsystem: debug
-    org.springframework: warn
-    org:
-      pringframework:
-      security: DEBUG
-      hibernate: DEBUG
-      mybatis: DEBUG
-  file:
-    pattern: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-    name: worksheetsystem.log
-    path: /
-  pattern:
-    console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-  ##  file: 'E:\nginx-1.20.2\workSheetSystem.log'
-
-  ##config: classpath:logback.xml
-HR:
-  #报工顶级组织,空表示所有
-  OrgNumber:
-  #正式员工
-  EmployeeType: 00000000-0000-0000-0000-000000000001A29E85B3
-  #离职员工
-  LeaveType: 00000000-0000-0000-0000-000000000007A29E85B3
-
-  HolidayPolicy: eBUAADBqEZxfwQkQ
-  #年假
-  AttendanceType: eBUAADAXEjxyrXZI
-  #出差
-  tripType: eBUAADAXEjtyrXZI
-#企业微信
-weixin:
-  corpsecret: FeUDSNwS9Mk5aBnEI_77nw-guVGWMY72ngckDTfUADI
-  corpid: wwad966bd4d6a788ce
-  AgentId: 1000045
-  url: https://oa.ysstech.com:19001/
-
-  #  corpsecret: 1PDS3kcxNu4pCkXAyZutnzUq2xoS-POnZzqLcRW5_4I
-  #  corpid: wwad966bd4d6a788ce
-  #  AgentId: 1000040
-  #  url: https://oa.ysstech.com:19000/
-  #审批消息企微消息推送
-  ks:
-    corpsecret: CmzzYQ4evcyBjzyjYwl2ycDOk3tNm8DDiUv0gfysPls
-    corpid: wwad966bd4d6a788ce
-    AgentId: 1000036
-    # corpsecret: r_dthG2V-w6g6tpoEgjnNJS_dv5_SCAQl0PfV8z_H4U
-    #corpid: wwbfa0b02a7ede338c
-    #AgentId: 1000006
-
-

+ 23 - 24
app/workSheetSystem/src/main/resources/application.yml

@@ -2,13 +2,14 @@ spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
 #引入druid数据源
-#    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ #   driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
 #    url: jdbc:sqlserver://127.0.01:1433;DatabaseName=test;allowMultiQueries=true
 #    username: sa
 #    password: lhbj
-    url: jdbc:oracle:thin:@//localhost:1521/orcl
+#    url: jdbc:oracle:thin:@//localhost:1521/orcl
+    url: jdbc:sqlserver://192.168.1.250:1433;DatabaseName=demo0708;allowMultiQueries=true;encrypt=true;trustServerCertificate=true
     username: sa
-    password: Ysstech2023.com!
+    password: ENC(ksqle:xq5lQYb8beOCrxhD494xPHahBtX/hQeS)
     initialSize: 5
     minIdle: 5
     maxActive: 20
@@ -43,6 +44,11 @@ server:
     mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
     min-response-size: 1024
   port: 9092  #注意,这里是https访问的的端口号
+  undertow:
+    io-threads: 8 # 设置IO线程数
+    worker-threads: 128 # 阻塞任务线程池大小
+    buffer-size: 1024 # 每个缓冲区的大小
+    direct-buffers: true # 是否分配直接内存
 #  ssl:
 #    key-store: classpath:7494583_oa.ysstech.com.pfx
 #    key-store-password: 95zCuxIB
@@ -56,23 +62,7 @@ pagehelper:
   reasonable: true
   support-methods-arguments: false
   params: count=countSql
-# ????
-logging:
-  level:
-    com.qy.worksheetsystem: debug
-    org.springframework: warn
-    org:
-      pringframework:
-      security: DEBUG
-      hibernate: DEBUG
-      mybatis: DEBUG
-  file:
-    pattern: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-    name: worksheetsystem.log
-    path: /
-  pattern:
-    console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
-  ##  file: 'E:\nginx-1.20.2\workSheetSystem.log'
+
 
   ##config: classpath:logback.xml
 HR:
@@ -90,14 +80,23 @@ HR:
   tripType: eBUAADAXEjtyrXZI
 #企业微信
 weixin:
-  corpsecret: FeUDSNwS9Mk5aBnEI_77nw-guVGWMY72ngckDTfUADI
-  corpid: wwad966bd4d6a788ce
-  AgentId: 1000045
-  url: https://oa.ysstech.com:19001/
+  corpsecret:
+  corpid:
+  AgentId:
+  url:
+  ks:
+    corpid:
+    corpsecret:
+    AgentId:
+
 feishu:
   AppID: cli_a7b1b05025bad013
   AppSecret: 1ZEjIWfJOlTWUJ28lOeF5ekj4435rHEV
 
+yunzhijia:
+  AppID: 500968225
+  AppSecret: Lu8N400ouEfPUBaUShl5
+
   #  corpsecret: 1PDS3kcxNu4pCkXAyZutnzUq2xoS-POnZzqLcRW5_4I
   #  corpid: wwad966bd4d6a788ce
   #  AgentId: 1000040

+ 11 - 11
app/workSheetSystem/src/main/resources/logback-spring.xml

@@ -168,18 +168,18 @@
         可以包含零个或多个元素,标识这个appender将会添加到这个logger。
     -->
     <!--开发环境:打印控制台并输出所有级别的日志-->
-<!--    <root level="info">-->
-<!--        <appender-ref ref="CONSOLE"/>-->
-<!--        <appender-ref ref="DEBUG_FILE"/>-->
-<!--        <appender-ref ref="INFO_FILE"/>-->
-<!--        <appender-ref ref="WARN_FILE"/>-->
-<!--        <appender-ref ref="ERROR_FILE"/>-->
-<!--    </root>-->
+    <root level="DEBUG">
+        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="DEBUG_FILE"/>
+        <appender-ref ref="INFO_FILE"/>
+        <appender-ref ref="WARN_FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
+    </root>
 
         <!--生产环境:输出err与warn文件-->
-        <root level="info">
-            <appender-ref ref="WARN_FILE" />
-            <appender-ref ref="ERROR_FILE" />
-        </root>
+<!--        <root level="info">-->
+<!--            <appender-ref ref="WARN_FILE" />-->
+<!--            <appender-ref ref="ERROR_FILE" />-->
+<!--        </root>-->
 
 </configuration>