Commit 05ae6411 by dengshichuan

Merge branch 'wdz' into 'develop'

Wdz

See merge request 8timerv2/8timerapiv200!15
parents bea51ce9 8315a4c6
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version> <version>2.1.8.RELEASE</version>
<relativePath /> <!-- lookup parent from repository --> <relativePath /> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>cn.8timer</groupId> <groupId>cn.8timer</groupId>
<artifactId>8timerV200</artifactId> <artifactId>8timerV200</artifactId>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>8timerV200</name> <name>8timerV200</name>
<description>Demo project for Spring Boot</description> <description>Demo project for Spring Boot</description>
<properties> <properties>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<shiro.version>1.2.3</shiro.version> <shiro.version>1.2.3</shiro.version>
<swagger.version>2.9.2</swagger.version> <swagger.version>2.9.2</swagger.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
<!-- <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <!-- <exclusions> <exclusion> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> --> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> -->
</dependency> </dependency>
<!-- 排除springboot内置tomcat容器的SpringBootServletInitializer接口需要依赖 javax.servlet --> <!-- 排除springboot内置tomcat容器的SpringBootServletInitializer接口需要依赖 javax.servlet -->
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId> <artifactId>javax.servlet-api</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId> <artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。 相当于compile,但是打包阶段做了exclude操作 --> <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。 相当于compile,但是打包阶段做了exclude操作 -->
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- 添加MySQL依赖 --> <!-- 添加MySQL依赖 -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<!-- 添加JDBC依赖 --> <!-- 添加JDBC依赖 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId> <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency> </dependency>
<!-- optional这个需要为 true 热部署才有效 --> <!-- optional这个需要为 true 热部署才有效 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId> <artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<!-- swagger2 --> <!-- swagger2 -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId> <artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId> <artifactId>swagger-annotations</artifactId>
</exclusion> </exclusion>
<exclusion> <exclusion>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId> <artifactId>swagger-models</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!--防止进入swagger页面报类型转换错误,排除2.9.2中的引用,手动增加1.5.21版本 --> <!--防止进入swagger页面报类型转换错误,排除2.9.2中的引用,手动增加1.5.21版本 -->
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId> <artifactId>swagger-annotations</artifactId>
<version>1.5.21</version> <version>1.5.21</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>io.swagger</groupId> <groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId> <artifactId>swagger-models</artifactId>
<version>1.5.21</version> <version>1.5.21</version>
</dependency> </dependency>
<!-- swagger2-UI --> <!-- swagger2-UI -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version> <version>${swagger.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId> <artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.2</version> <version>2.0.2</version>
</dependency> </dependency>
<!-- --> <!-- -->
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId> <artifactId>pagehelper</artifactId>
<version>5.1.2</version> <version>5.1.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-autoconfigure</artifactId> <artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
<version>1.2.3</version> <version>1.2.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version> <version>1.2.3</version>
</dependency> </dependency>
<!-- Excel --> <!-- Excel -->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId> <artifactId>poi</artifactId>
<version>3.17</version> <version>3.17</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId> <artifactId>poi-ooxml</artifactId>
<version>3.17</version> <version>3.17</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId> <artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version> <version>3.17</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency> <dependency>
<groupId>org.apache.commons</groupId> <groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId> <artifactId>commons-lang3</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.shiro</groupId> <groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId> <artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version> <version>${shiro.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.shiro</groupId> <groupId>org.apache.shiro</groupId>
<artifactId>shiro-ehcache</artifactId> <artifactId>shiro-ehcache</artifactId>
<version>${shiro.version}</version> <version>${shiro.version}</version>
</dependency> </dependency>
<!-- redis starter --> <!-- redis starter -->
<!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> --> </dependency> -->
<!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis --> <!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
<!-- <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <!-- <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId>
</dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>
<version>2.9.0</version> </dependency> --> <version>2.9.0</version> </dependency> -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
<version>1.2.58</version> <version>1.2.58</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version> <version>2.3.2</version>
</dependency> </dependency>
<!-- Hutool超级工具类 http://hutool.mydoc.io/ --> <!-- Hutool超级工具类 http://hutool.mydoc.io/ -->
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
<version>4.6.1</version> <version>4.6.1</version>
</dependency> </dependency>
<!-- lombok --> <!-- lombok -->
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
<!-- freemarker --> <!-- freemarker -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId> <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency> </dependency>
<!-- 支持 @ConfigurationProperties 注解 --> <!-- 支持 @ConfigurationProperties 注解 -->
<!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional> </dependency> --> <optional>true</optional> </dependency> -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId> <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> </dependency>
<!-- jackson --> <!-- jackson -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-json</artifactId> <artifactId>spring-boot-starter-json</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId> <groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId> <artifactId>jackson-databind</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version> <version>1.1.10</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --> <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version> <version>3.2.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId> <artifactId>mybatis-plus</artifactId>
<version>3.2.0</version> <version>3.2.0</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin --> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin -->
<!-- <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <!-- <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId>
<version>1.18.4.0</version> </dependency> --> <version>1.18.4.0</version> </dependency> -->
<!-- <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <!-- <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId>
<scope>runtime</scope> </dependency> --> <scope>runtime</scope> </dependency> -->
<!-- 阿里云OSS --> <!-- 阿里云OSS -->
<dependency> <dependency>
<groupId>com.aliyun.oss</groupId> <groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId> <artifactId>aliyun-sdk-oss</artifactId>
<version>3.7.1-a</version> <version>3.7.1-a</version>
</dependency> </dependency>
<!-- <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <!-- <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId>
<version>2.6</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <version>2.6</version> </dependency> <dependency> <groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> --> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency> -->
<!-- 阿里云Java SDK核心库 --> <!-- 阿里云Java SDK核心库 -->
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId> <artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.6</version> <version>4.4.6</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-ecs</artifactId> <artifactId>aliyun-java-sdk-ecs</artifactId>
<version>4.17.6</version> <version>4.17.6</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.aliyun</groupId> <groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.1.0</version> <version>1.1.0</version>
</dependency> </dependency>
<!--springboot-quartz --> <!--springboot-quartz -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId> <artifactId>spring-boot-starter-quartz</artifactId>
</dependency> </dependency>
<!--Quartz 使用的连接池 这里Quartz在持久化任务时使用该jar --> <!--Quartz 使用的连接池 这里Quartz在持久化任务时使用该jar -->
<dependency> <dependency>
<groupId>com.mchange</groupId> <groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId> <artifactId>c3p0</artifactId>
<version>0.9.5.2</version> <version>0.9.5.2</version>
</dependency> </dependency>
<!-- pdf --> <!-- pdf -->
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox --> <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/fontbox -->
<dependency> <dependency>
<groupId>org.apache.pdfbox</groupId> <groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId> <artifactId>fontbox</artifactId>
<version>2.0.9</version> <version>2.0.9</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --> <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox -->
<dependency> <dependency>
<groupId>org.apache.pdfbox</groupId> <groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId> <artifactId>pdfbox</artifactId>
<version>2.0.9</version> <version>2.0.9</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging --> <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency> <dependency>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
<version>1.2</version> <version>1.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.json-lib</groupId> <groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId> <artifactId>json-lib</artifactId>
<version>2.4</version> <version>2.4</version>
<classifier>jdk15</classifier> <classifier>jdk15</classifier>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/nl.bitwalker/UserAgentUtils --> <!-- https://mvnrepository.com/artifact/nl.bitwalker/UserAgentUtils -->
<dependency> <dependency>
<groupId>nl.bitwalker</groupId> <groupId>nl.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId> <artifactId>UserAgentUtils</artifactId>
<version>1.2.4</version> <version>1.2.4</version>
</dependency> </dependency>
</dependencies> </dependencies>
<repositories> <repositories>
<repository> <repository>
<id>snapshots</id> <id>snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url> <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository> </repository>
</repositories> </repositories>
<build> <build>
<finalName>8timer-api</finalName> <finalName>8timer-api</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
<!-- 不执行单元测试,也不编译测试类 --> <!-- 不执行单元测试,也不编译测试类 -->
<skip>true</skip> <skip>true</skip>
<!-- 不执行单元测试,但会编译测试类,并在target/test-classes目录下生成相应的class --> <!-- 不执行单元测试,但会编译测试类,并在target/test-classes目录下生成相应的class -->
<!-- <skipTests>true</skipTests> --> <!-- <skipTests>true</skipTests> -->
<compilerArgument>-parameters</compilerArgument> <compilerArgument>-parameters</compilerArgument>
</configuration> </configuration>
</plugin> </plugin>
<!-- <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <!-- <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId>
<version>1.18.4.0</version> <executions> <execution> <phase>generate-sources</phase> <version>1.18.4.0</version> <executions> <execution> <phase>generate-sources</phase>
<goals> <goal>delombok</goal> </goals> <configuration> <addOutputDirectory>false</addOutputDirectory> <goals> <goal>delombok</goal> </goals> <configuration> <addOutputDirectory>false</addOutputDirectory>
<sourceDirectory>src/main/java</sourceDirectory> <formatPreferences> <pretty/> <sourceDirectory>src/main/java</sourceDirectory> <formatPreferences> <pretty/>
</formatPreferences> </configuration> </execution> </executions> </plugin> --> </formatPreferences> </configuration> </execution> </executions> </plugin> -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId> <artifactId>maven-resources-plugin</artifactId>
<configuration> <configuration>
<!--<failOnMissingWebXml>false</failOnMissingWebXml> --> <!--<failOnMissingWebXml>false</failOnMissingWebXml> -->
<includeEmptyDirs>true</includeEmptyDirs> <includeEmptyDirs>true</includeEmptyDirs>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.mybatis.generator</groupId> <groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId> <artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version> <version>1.3.2</version>
<configuration> <configuration>
<verbose>true</verbose> <verbose>true</verbose>
<overwrite>true</overwrite> <overwrite>true</overwrite>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<!-- <packaging>war</packaging> --> <!-- <packaging>war</packaging> -->
</project> </project>
...@@ -9,10 +9,14 @@ import java.text.DateFormat; ...@@ -9,10 +9,14 @@ import java.text.DateFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import cn.timer.api.dto.yggl.YgbintuDto;
import lombok.Getter; import lombok.Getter;
import net.sf.ehcache.search.expression.Between;
/** /**
* @date 2020年3月23日 * @date 2020年3月23日
...@@ -168,4 +172,47 @@ public interface YgEnumInterface { ...@@ -168,4 +172,47 @@ public interface YgEnumInterface {
return result.type.toString(); return result.type.toString();
} }
} }
/**
* 工龄
*/
@Getter
enum workage implements YgEnumInterface{
//NEW(0,183),HALF(1,365),ONE(2,548),ONEHALF(3,730),TWO(4,913),LONG(5,10000);
NEW(0,183,0),HALF(184,365,0),ONE(366,548,0),ONEHALF(549,730,0),TWO(731,1000,0),LONG(1001,10000,0);
private Integer begin;
private Integer end;
private Integer number;
workage(Integer begin, Integer end,Integer number) {
this.begin = begin;
this.end = end;
this.number = number;
}
public static Map<String, Integer> choose(List<YgbintuDto> bintu) {
for (YgbintuDto b : bintu) {
Integer index = b.getWorkage();
for (workage item : workage.values()) {
if (index>= item.begin && index<=item.end) {
item.number++;
System.out.println("item"+ item+":"+item.number);
}
}
}
Map<String, Integer> result = new HashMap<String, Integer>();
result.put("x<0.5", NEW.number);
result.put("0.5<x<1", HALF.number);
result.put("1<x<1.5", ONE.number);
result.put("1.5<x<2", ONEHALF.number);
result.put("2<x<3", TWO.number);
result.put("x++", LONG.number);
return result;
}
}
} }
//package cn.timer.api.controller.quartz; //package cn.timer.api.controller.quartz;
// //
//import java.util.HashMap; //import java.util.HashMap;
//import java.util.Map; //import java.util.Map;
// //
//import org.quartz.CronScheduleBuilder; //import org.quartz.CronScheduleBuilder;
//import org.quartz.CronTrigger; //import org.quartz.CronTrigger;
//import org.quartz.JobBuilder; //import org.quartz.JobBuilder;
//import org.quartz.JobDetail; //import org.quartz.JobDetail;
//import org.quartz.JobKey; //import org.quartz.JobKey;
//import org.quartz.Scheduler; //import org.quartz.Scheduler;
//import org.quartz.SchedulerException; //import org.quartz.SchedulerException;
//import org.quartz.TriggerBuilder; //import org.quartz.TriggerBuilder;
//import org.quartz.TriggerKey; //import org.quartz.TriggerKey;
//import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping; //import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping; //import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam; //import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
// //
//import com.github.pagehelper.PageInfo; //import com.github.pagehelper.PageInfo;
// //
//import cn.timer.api.bean.quartz.JobAndTrigger; //import cn.timer.api.bean.quartz.JobAndTrigger;
//import cn.timer.api.config.quartz.TestJob; //import cn.timer.api.config.quartz.TestJob;
//import cn.timer.api.dao.quartz.JobAndTriggerMapper; //import cn.timer.api.dao.quartz.JobAndTriggerMapper;
//import cn.timer.api.utils.Result; //import cn.timer.api.utils.Result;
//import cn.timer.api.utils.ResultUtil; //import cn.timer.api.utils.ResultUtil;
//import io.swagger.annotations.Api; //import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
// //
//@Api(tags = "99.0 Quartz") //@Api(tags = "99.0 Quartz")
//@RestController //@RestController
//@RequestMapping(value = "/quartz", produces = { "application/json" }) //@RequestMapping(value = "/quartz", produces = { "application/json" })
//public class JobController { //public class JobController {
// //
// @Autowired // @Autowired
// private Scheduler scheduler; // private Scheduler scheduler;
// //
// @PostMapping(value = "/addjob") // @PostMapping(value = "/addjob")
// @ApiOperation(value = "新增任务", httpMethod = "POST", notes = "接口发布说明") // @ApiOperation(value = "新增任务", httpMethod = "POST", notes = "接口发布说明")
// public Result<Void> addjob(@RequestParam(value = "jobClassName") String jobClassName, // public Result<Void> addjob(@RequestParam(value = "jobClassName") String jobClassName,
// @RequestParam(value = "jobGroupName") String jobGroupName, // @RequestParam(value = "jobGroupName") String jobGroupName,
// @RequestParam(value = "cronExpression") String cronExpression) throws Exception { // @RequestParam(value = "cronExpression") String cronExpression) throws Exception {
// addJob(jobClassName, jobGroupName, cronExpression); // addJob(jobClassName, jobGroupName, cronExpression);
// return ResultUtil.success("新增定时任务成功"); // return ResultUtil.success("新增定时任务成功");
// } // }
// //
// public void addJob(String jobClassName, String jobGroupName, String cronExpression) throws Exception { // public void addJob(String jobClassName, String jobGroupName, String cronExpression) throws Exception {
// //
// // 启动调度器 // // 启动调度器
// scheduler.start(); // scheduler.start();
// //
// // 构建job信息 // // 构建job信息
// JobDetail jobDetail = JobBuilder.newJob(TestJob.class) // JobDetail jobDetail = JobBuilder.newJob(TestJob.class)
// .withIdentity(jobClassName, jobGroupName).build(); // .withIdentity(jobClassName, jobGroupName).build();
// //
// // 表达式调度构建器(即任务执行的时间) // // 表达式调度构建器(即任务执行的时间)
// CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression); // CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression);
// //
// // 按新的cronExpression表达式构建一个新的trigger // // 按新的cronExpression表达式构建一个新的trigger
// CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(jobClassName, jobGroupName) // CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(jobClassName, jobGroupName)
// .withSchedule(scheduleBuilder).build(); // .withSchedule(scheduleBuilder).build();
// //
// try { // try {
// scheduler.scheduleJob(jobDetail, trigger); // scheduler.scheduleJob(jobDetail, trigger);
// //
// } catch (SchedulerException e) { // } catch (SchedulerException e) {
// System.out.println("创建定时任务失败" + e); // System.out.println("创建定时任务失败" + e);
// throw new Exception("创建定时任务失败"); // throw new Exception("创建定时任务失败");
// } // }
// } // }
// //
// @PostMapping(value = "/pausejob") // @PostMapping(value = "/pausejob")
// @ApiOperation(value = "暂停任务", httpMethod = "POST", notes = "接口发布说明") // @ApiOperation(value = "暂停任务", httpMethod = "POST", notes = "接口发布说明")
// public Result<Void> pausejob(@RequestParam(value = "jobClassName") String jobClassName, // public Result<Void> pausejob(@RequestParam(value = "jobClassName") String jobClassName,
// @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception { // @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception {
// jobPause(jobClassName, jobGroupName); // jobPause(jobClassName, jobGroupName);
// return ResultUtil.success("暂停定时任务成功"); // return ResultUtil.success("暂停定时任务成功");
// } // }
// //
// public void jobPause(String jobClassName, String jobGroupName) throws Exception { // public void jobPause(String jobClassName, String jobGroupName) throws Exception {
// scheduler.pauseJob(JobKey.jobKey(jobClassName, jobGroupName)); // scheduler.pauseJob(JobKey.jobKey(jobClassName, jobGroupName));
// } // }
// //
// @PostMapping(value = "/resumejob") // @PostMapping(value = "/resumejob")
// @ApiOperation(value = "恢复任务", httpMethod = "POST", notes = "接口发布说明") // @ApiOperation(value = "恢复任务", httpMethod = "POST", notes = "接口发布说明")
// public Result<Void> resumejob(@RequestParam(value = "jobClassName") String jobClassName, // public Result<Void> resumejob(@RequestParam(value = "jobClassName") String jobClassName,
// @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception { // @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception {
// jobresume(jobClassName, jobGroupName); // jobresume(jobClassName, jobGroupName);
// return ResultUtil.success("恢复定时任务成功"); // return ResultUtil.success("恢复定时任务成功");
// } // }
// //
// public void jobresume(String jobClassName, String jobGroupName) throws Exception { // public void jobresume(String jobClassName, String jobGroupName) throws Exception {
// scheduler.resumeJob(JobKey.jobKey(jobClassName, jobGroupName)); // scheduler.resumeJob(JobKey.jobKey(jobClassName, jobGroupName));
// } // }
// //
// @PostMapping(value = "/reschedulejob") // @PostMapping(value = "/reschedulejob")
// @ApiOperation(value = "重新设置任务", httpMethod = "POST", notes = "接口发布说明") // @ApiOperation(value = "重新设置任务", httpMethod = "POST", notes = "接口发布说明")
// public Result<Void> rescheduleJob(@RequestParam(value = "jobClassName") String jobClassName, // public Result<Void> rescheduleJob(@RequestParam(value = "jobClassName") String jobClassName,
// @RequestParam(value = "jobGroupName") String jobGroupName, // @RequestParam(value = "jobGroupName") String jobGroupName,
// @RequestParam(value = "cronExpression") String cronExpression) throws Exception { // @RequestParam(value = "cronExpression") String cronExpression) throws Exception {
// jobreschedule(jobClassName, jobGroupName, cronExpression); // jobreschedule(jobClassName, jobGroupName, cronExpression);
// return ResultUtil.success("重设定时任务成功"); // return ResultUtil.success("重设定时任务成功");
// } // }
// //
// public void jobreschedule(String jobClassName, String jobGroupName, String cronExpression) throws Exception { // public void jobreschedule(String jobClassName, String jobGroupName, String cronExpression) throws Exception {
// try { // try {
// TriggerKey triggerKey = TriggerKey.triggerKey(jobClassName, jobGroupName); // TriggerKey triggerKey = TriggerKey.triggerKey(jobClassName, jobGroupName);
// // 表达式调度构建器 // // 表达式调度构建器
// CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression); // CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cronExpression);
// //
// CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); // CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
// //
// // 按新的cronExpression表达式重新构建trigger // // 按新的cronExpression表达式重新构建trigger
// trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); // trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
// //
// // 按新的trigger重新设置job执行 // // 按新的trigger重新设置job执行
// scheduler.rescheduleJob(triggerKey, trigger); // scheduler.rescheduleJob(triggerKey, trigger);
// } catch (SchedulerException e) { // } catch (SchedulerException e) {
// System.out.println("更新定时任务失败" + e); // System.out.println("更新定时任务失败" + e);
// throw new Exception("更新定时任务失败"); // throw new Exception("更新定时任务失败");
// } // }
// } // }
// //
// @PostMapping(value = "/deletejob") // @PostMapping(value = "/deletejob")
// @ApiOperation(value = "删除任务", httpMethod = "POST", notes = "接口发布说明") // @ApiOperation(value = "删除任务", httpMethod = "POST", notes = "接口发布说明")
// public Result<Void> deletejob(@RequestParam(value = "jobClassName") String jobClassName, // public Result<Void> deletejob(@RequestParam(value = "jobClassName") String jobClassName,
// @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception { // @RequestParam(value = "jobGroupName") String jobGroupName) throws Exception {
// jobdelete(jobClassName, jobGroupName); // jobdelete(jobClassName, jobGroupName);
// return ResultUtil.success("删除成功"); // return ResultUtil.success("删除成功");
// } // }
// //
// public void jobdelete(String jobClassName, String jobGroupName) throws Exception { // public void jobdelete(String jobClassName, String jobGroupName) throws Exception {
// scheduler.pauseTrigger(TriggerKey.triggerKey(jobClassName, jobGroupName)); // scheduler.pauseTrigger(TriggerKey.triggerKey(jobClassName, jobGroupName));
// scheduler.unscheduleJob(TriggerKey.triggerKey(jobClassName, jobGroupName)); // scheduler.unscheduleJob(TriggerKey.triggerKey(jobClassName, jobGroupName));
// scheduler.deleteJob(JobKey.jobKey(jobClassName, jobGroupName)); // scheduler.deleteJob(JobKey.jobKey(jobClassName, jobGroupName));
// } // }
// //
//} //}
...@@ -8,6 +8,7 @@ package cn.timer.api.controller.yggl; ...@@ -8,6 +8,7 @@ package cn.timer.api.controller.yggl;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
...@@ -15,6 +16,7 @@ import java.util.List; ...@@ -15,6 +16,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.transaction.Transactional; import javax.transaction.Transactional;
...@@ -68,6 +70,7 @@ import cn.timer.api.dao.yggl.YgMzDtoMapper; ...@@ -68,6 +70,7 @@ import cn.timer.api.dao.yggl.YgMzDtoMapper;
import cn.timer.api.dao.yggl.YgProDtoMapper; import cn.timer.api.dao.yggl.YgProDtoMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper; import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.yggl.YgglMainLzbMapper; import cn.timer.api.dao.yggl.YgglMainLzbMapper;
import cn.timer.api.dao.yggl.YgtitleDtoMapper;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper; import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
import cn.timer.api.dto.yggl.AddygdaDto; import cn.timer.api.dto.yggl.AddygdaDto;
import cn.timer.api.dto.yggl.LzbQueryDto; import cn.timer.api.dto.yggl.LzbQueryDto;
...@@ -78,9 +81,11 @@ import cn.timer.api.dto.yggl.YgDrjqbDto; ...@@ -78,9 +81,11 @@ import cn.timer.api.dto.yggl.YgDrjqbDto;
import cn.timer.api.dto.yggl.YgDrsDto; import cn.timer.api.dto.yggl.YgDrsDto;
import cn.timer.api.dto.yggl.YgProDto; import cn.timer.api.dto.yggl.YgProDto;
import cn.timer.api.dto.yggl.YgQueryDto; import cn.timer.api.dto.yggl.YgQueryDto;
import cn.timer.api.dto.yggl.YgbintuDto;
import cn.timer.api.dto.yggl.YgglCartogramDto; import cn.timer.api.dto.yggl.YgglCartogramDto;
import cn.timer.api.dto.yggl.YgjgDto; import cn.timer.api.dto.yggl.YgjgDto;
import cn.timer.api.dto.yggl.YgmzDto; import cn.timer.api.dto.yggl.YgmzDto;
import cn.timer.api.dto.yggl.YgtitleDto;
import cn.timer.api.dto.yggl.YgzzDto; import cn.timer.api.dto.yggl.YgzzDto;
import cn.timer.api.utils.Md5; import cn.timer.api.utils.Md5;
import cn.timer.api.utils.Result; import cn.timer.api.utils.Result;
...@@ -123,6 +128,10 @@ public class YgglController { ...@@ -123,6 +128,10 @@ public class YgglController {
@Autowired @Autowired
private YgMzDtoMapper ygMzDtoMapper; private YgMzDtoMapper ygMzDtoMapper;
//weng(人事仪表盘)
@Autowired
private YgtitleDtoMapper ygtitleDtoMapper;
/** /**
* 获取员工档案 * 获取员工档案
* *
...@@ -1657,8 +1666,58 @@ public class YgglController { ...@@ -1657,8 +1666,58 @@ public class YgglController {
} }
/** /**
<<<<<<< HEAD
* 员工信息统计图
* @return 成功信息(weng)
*/
@GetMapping("/Cartogram")
@ApiOperation(value = "获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
@ApiOperationSupport(order = 63)
public Result<Map<String, Object>> ygCartogram(@CurrentUser UserBean userBean) {
List<YgbintuDto> bintu = ygglMainEmpMapper.rsybp();
bintu.stream().filter(bean ->{
if (bean.getAge() == null) {
bean.setAge(-1);
}
if (bean.getBm() == null) {
bean.setBm("未分配");
}
if (bean.getGw() == null) {
bean.setGw("未分配");
}
if (bean.getProname() == null) {
bean.setProname("未分配");
}
if (bean.getEduname() == null) {
bean.setEduname("未分配");
}
if (bean.getJobStatus() == null) {
bean.setJobStatus(-1);
}
return true;
}).collect(Collectors.toList());
YgtitleDto title = new LambdaQueryChainWrapper<YgtitleDto>(ygtitleDtoMapper).eq(YgtitleDto::getOrgCode, userBean.getOrgCode()).one();
//Map<String, List<YgbintuDto>> map = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw));岗位
//Map<String, List<YgbintuDto>> map = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm));部门
Map<String, Map<String, Long>> bmgw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm,Collectors.groupingBy(YgbintuDto::getGw,Collectors.counting())));
Map<String, List<YgbintuDto>> edu = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getEduname));
Map<Integer, List<YgbintuDto>> jobStatus = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getJobStatus));
Map<String, List<YgbintuDto>> proname = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getProname));
Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu);
System.out.println(bmgw);
System.out.println(edu);
System.out.println(jobStatus);
System.out.println(proname);
System.out.println(workage);
return ResultUtil.success();
}
/**
* 获取员工社保公积金
=======
* 获取成长记录表 * 获取成长记录表
* *
>>>>>>> bea51ce9ef8860bb31a1d14ffce121313636951a
* @param * @param
* @return * @return
*/ */
......
package cn.timer.api.controller.zzgl; package cn.timer.api.controller.zzgl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.zzgl.ZzglAuth; import cn.timer.api.bean.zzgl.ZzglAuth;
import cn.timer.api.bean.zzgl.ZzglBmgwM; import cn.timer.api.bean.zzgl.ZzglBmgwM;
import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper; import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
import cn.timer.api.dao.zzgl.ZzglLogDgjlMapper; import cn.timer.api.dao.zzgl.ZzglLogDgjlMapper;
import cn.timer.api.dto.zzgl.LogDgjlsDto; import cn.timer.api.dto.zzgl.LogDgjlsDto;
import cn.timer.api.dto.zzgl.LogDgjlsQueryDto; import cn.timer.api.dto.zzgl.LogDgjlsQueryDto;
import cn.timer.api.dto.zzgl.UpEmpDeptDto; import cn.timer.api.dto.zzgl.UpEmpDeptDto;
import cn.timer.api.utils.Result; import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil; import cn.timer.api.utils.ResultUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@Api(tags = "2.组织管理") @Api(tags = "2.组织管理")
@RestController @RestController
@Transactional @Transactional
@RequestMapping(value = "/zzgl", produces = { "application/json" }) @RequestMapping(value = "/zzgl", produces = { "application/json" })
public class ZzglController { public class ZzglController {
@Autowired @Autowired
ZzglBmgwMMapper zzglBmgwMMapper; ZzglBmgwMMapper zzglBmgwMMapper;
@Autowired @Autowired
ZzglLogDgjlMapper zzglLogDgjlMapper; ZzglLogDgjlMapper zzglLogDgjlMapper;
/** /**
* 架构树/架构图/导出 * 架构树/架构图/导出
* *
* @param * @param
* @return * @return
*/ */
@GetMapping(value = "/deptlist") @GetMapping(value = "/deptlist")
@ApiOperation(value = "获取部门岗位", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "获取部门岗位", httpMethod = "GET", notes = "接口发布说明")
public Result<List<ZzglBmgwM>> selectlistdept(@CurrentUser UserBean userBean) { public Result<List<ZzglBmgwM>> selectlistdept(@CurrentUser UserBean userBean) {
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
.eq(ZzglBmgwM::getOrgCode, orgCode).list(); .eq(ZzglBmgwM::getOrgCode, orgCode).list();
return ResultUtil.data(zzglBmgwMs); return ResultUtil.data(zzglBmgwMs);
} }
/** /**
* 岗位成员 * 岗位成员
* *
* @param 部门岗位id * @param 部门岗位id
* @return * @return
*/ */
@GetMapping(value = "/otherlistent/{id}") @GetMapping(value = "/otherlistent/{id}")
@ApiOperation(value = "获取岗位成员列表", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "获取岗位成员列表", httpMethod = "GET", notes = "接口发布说明")
public Result<List<YgglMainEmp>> selectOtherlistent(@CurrentUser UserBean userBean, @PathVariable Integer id){ public Result<List<YgglMainEmp>> selectOtherlistent(@CurrentUser UserBean userBean, @PathVariable Integer id){
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> list = new ArrayList<Integer>();
List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
.eq(ZzglBmgwM::getOrgCode, orgCode).list(); .eq(ZzglBmgwM::getOrgCode, orgCode).list();
list.add(id); list.add(id);
ZzglBmgwM.getDepts(list, id, zzglBmgwMs); ZzglBmgwM.getDepts(list, id, zzglBmgwMs);
if (list == null || list.size() == 0) { if (list == null || list.size() == 0) {
return ResultUtil.error("部门信息不存在,请先添加部门!"); return ResultUtil.error("部门信息不存在,请先添加部门!");
} else { } else {
LambdaQueryWrapper<YgglMainEmp> ygglMainEmpsLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<YgglMainEmp> ygglMainEmpsLambdaQueryWrapper = new LambdaQueryWrapper<>();
ygglMainEmpsLambdaQueryWrapper ygglMainEmpsLambdaQueryWrapper
.select(YgglMainEmp::getId, YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getPhone, .select(YgglMainEmp::getId, YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getPhone,
YgglMainEmp::getBmgwId) YgglMainEmp::getBmgwId)
.eq(YgglMainEmp::getOrgCode, orgCode).and(i -> i.in(YgglMainEmp::getBmgwId, list.toArray())); .eq(YgglMainEmp::getOrgCode, orgCode).and(i -> i.in(YgglMainEmp::getBmgwId, list.toArray()));
List<YgglMainEmp> ygglMainEmps = YgglMainEmp.builder().build().selectList(ygglMainEmpsLambdaQueryWrapper); List<YgglMainEmp> ygglMainEmps = YgglMainEmp.builder().build().selectList(ygglMainEmpsLambdaQueryWrapper);
return ResultUtil.data(ygglMainEmps); return ResultUtil.data(ygglMainEmps);
} }
} }
/** /**
* 获取调岗记录(weng) * 获取调岗记录(weng)
* *
* @param 部门岗位id * @param 部门岗位id
* @return * @return
*/ */
@PostMapping(value = "/listdgjl") @PostMapping(value = "/listdgjl")
@ApiOperation(value = "获取调岗记录(weng)", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "获取调岗记录(weng)", httpMethod = "POST", notes = "接口发布说明")
public Result<Object> selectlistdgjl(@CurrentUser UserBean userBean, @RequestBody LogDgjlsQueryDto logDgjlsQueryDto){ public Result<Object> selectlistdgjl(@CurrentUser UserBean userBean, @RequestBody LogDgjlsQueryDto logDgjlsQueryDto){
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> list = new ArrayList<Integer>();
List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
.eq(ZzglBmgwM::getOrgCode, orgCode).list(); .eq(ZzglBmgwM::getOrgCode, orgCode).list();
list.add(logDgjlsQueryDto.getDeptId()); list.add(logDgjlsQueryDto.getDeptId());
ZzglBmgwM.getDepts(list, logDgjlsQueryDto.getDeptId(), zzglBmgwMs); ZzglBmgwM.getDepts(list, logDgjlsQueryDto.getDeptId(), zzglBmgwMs);
if (list == null || list.size() == 0) { if (list == null || list.size() == 0) {
return ResultUtil.error("部门信息不存在,请先添加部门!"); return ResultUtil.error("部门信息不存在,请先添加部门!");
} else { } else {
logDgjlsQueryDto.setDeptIdList(list); logDgjlsQueryDto.setDeptIdList(list);
logDgjlsQueryDto.setOrgCode(orgCode); logDgjlsQueryDto.setOrgCode(orgCode);
IPage<LogDgjlsDto> page = new Page<LogDgjlsDto>( IPage<LogDgjlsDto> page = new Page<LogDgjlsDto>(
logDgjlsQueryDto.getCurrentPage() == null ? 1 : logDgjlsQueryDto.getCurrentPage(), logDgjlsQueryDto.getCurrentPage() == null ? 1 : logDgjlsQueryDto.getCurrentPage(),
logDgjlsQueryDto.getTotalPage() == null ? 10 : logDgjlsQueryDto.getTotalPage()); logDgjlsQueryDto.getTotalPage() == null ? 10 : logDgjlsQueryDto.getTotalPage());
List<LogDgjlsDto> logDgjlDtos = zzglLogDgjlMapper.selectListdgjls(page, logDgjlsQueryDto); List<LogDgjlsDto> logDgjlDtos = zzglLogDgjlMapper.selectListdgjls(page, logDgjlsQueryDto);
return ResultUtil.data(page, logDgjlDtos, "查询成功"); return ResultUtil.data(page, logDgjlDtos, "查询成功");
} }
} }
/** /**
* 未设置岗位的成员 * 未设置岗位的成员
* *
* @return * @return
*/ */
@GetMapping(value = "/listent") @GetMapping(value = "/listent")
@ApiOperation(value = "未设置岗位的成员", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "未设置岗位的成员", httpMethod = "GET", notes = "接口发布说明")
public Result<List<YgglMainEmp>> selectlistent(@CurrentUser UserBean userBean) { public Result<List<YgglMainEmp>> selectlistent(@CurrentUser UserBean userBean) {
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
LambdaQueryWrapper<YgglMainEmp> ygglMainEmpsLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<YgglMainEmp> ygglMainEmpsLambdaQueryWrapper = new LambdaQueryWrapper<>();
ygglMainEmpsLambdaQueryWrapper ygglMainEmpsLambdaQueryWrapper
.select(YgglMainEmp::getId, YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getPhone) .select(YgglMainEmp::getId, YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getPhone)
.eq(YgglMainEmp::getOrgCode, orgCode) .eq(YgglMainEmp::getOrgCode, orgCode)
.and(i -> i.isNull(YgglMainEmp::getBmgwId).or().eq(YgglMainEmp::getBmgwId, 0)); .and(i -> i.isNull(YgglMainEmp::getBmgwId).or().eq(YgglMainEmp::getBmgwId, 0));
// .and(lqw -> lqw.notIn(id != null, // .and(lqw -> lqw.notIn(id != null,
// YgglMainEmp::getBmgwId,Arrays.asList(id)).or().isNull(YgglMainEmp::getBmgwId)) // YgglMainEmp::getBmgwId,Arrays.asList(id)).or().isNull(YgglMainEmp::getBmgwId))
List<YgglMainEmp> ygglMainEmps = YgglMainEmp.builder().build().selectList(ygglMainEmpsLambdaQueryWrapper); List<YgglMainEmp> ygglMainEmps = YgglMainEmp.builder().build().selectList(ygglMainEmpsLambdaQueryWrapper);
// List<ZzglBmgwMEmpDto> zzglBmgwMEmpDtos = // List<ZzglBmgwMEmpDto> zzglBmgwMEmpDtos =
// zzglBmgwMMapper.selectOtherListByOrgCode(orgCode,id); // zzglBmgwMMapper.selectOtherListByOrgCode(orgCode,id);
return ResultUtil.data(ygglMainEmps); return ResultUtil.data(ygglMainEmps);
} }
/** /**
* 添加/修改部门 * 添加/修改部门
* *
* @param * @param
* @return * @return
*/ */
@PostMapping(value = "/dept") @PostMapping(value = "/dept")
@ApiOperation(value = "添加/修改部门", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "添加/修改部门", httpMethod = "POST", notes = "接口发布说明")
public Result<ZzglBmgwM> adddept(@CurrentUser UserBean userBean, @RequestBody ZzglBmgwM zzglBmgwM){ public Result<ZzglBmgwM> adddept(@CurrentUser UserBean userBean, @RequestBody ZzglBmgwM zzglBmgwM){
Boolean a = zzglBmgwM.getId() == null; Boolean a = zzglBmgwM.getId() == null;
if (a && zzglBmgwM.getType() == null) if (a && zzglBmgwM.getType() == null)
zzglBmgwM.setType((Integer) 0); zzglBmgwM.setType((Integer) 0);
zzglBmgwM.setOrgCode(userBean.getOrgCode()); zzglBmgwM.setOrgCode(userBean.getOrgCode());
zzglBmgwM.insertOrUpdate(); zzglBmgwM.insertOrUpdate();
if (a) if (a)
return ResultUtil.data(zzglBmgwM); return ResultUtil.data(zzglBmgwM);
return ResultUtil.success(); return ResultUtil.success();
} }
/** /**
* 删除部门岗位 * 删除部门岗位
* *
* @param 部门岗位ids [1,2,3,4] * @param 部门岗位ids [1,2,3,4]
* @return * @return
*/ */
@DeleteMapping(value = "/dept") @DeleteMapping(value = "/dept")
@ApiOperation(value = "删除部门岗位", httpMethod = "DELETE", notes = "接口发布说明") @ApiOperation(value = "删除部门岗位", httpMethod = "DELETE", notes = "接口发布说明")
public Result<Integer> deldepts(@CurrentUser UserBean userBean, @RequestBody List<Integer> ids) { public Result<Integer> deldepts(@CurrentUser UserBean userBean, @RequestBody List<Integer> ids) {
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build(); YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build();
UpdateWrapper<YgglMainEmp> updateWrapper = new UpdateWrapper<YgglMainEmp>(); UpdateWrapper<YgglMainEmp> updateWrapper = new UpdateWrapper<YgglMainEmp>();
updateWrapper.set("bmgw_id", null).in("bmgw_id", ids); updateWrapper.set("bmgw_id", null).in("bmgw_id", ids);
zzglLogDgjlMapper.insertbydeldept(ids, userBean.getEmpNum()); zzglLogDgjlMapper.insertbydeldept(ids, userBean.getEmpNum());
ygglMainEmp.update(updateWrapper); ygglMainEmp.update(updateWrapper);
zzglBmgwMMapper.deleteBatchIds(ids); zzglBmgwMMapper.deleteBatchIds(ids);
return ResultUtil.success(); return ResultUtil.success();
} }
/** /**
* 批量修改/删除员工部门 * 批量修改/删除员工部门
* *
* @param 部门岗位id * @param 部门岗位id
* @return * @return
*/ */
@PostMapping(value = "/empdept") @PostMapping(value = "/empdept")
@ApiOperation(value = "批量修改/删除员工部门", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "批量修改/删除员工部门", httpMethod = "POST", notes = "接口发布说明")
public Result<Void> updatelistempdept(@CurrentUser UserBean userBean, @RequestBody UpEmpDeptDto upEmpDeptDto) { public Result<Void> updatelistempdept(@CurrentUser UserBean userBean, @RequestBody UpEmpDeptDto upEmpDeptDto) {
Integer dpetId = upEmpDeptDto.getDpetId(); Integer dpetId = upEmpDeptDto.getDpetId();
List<Integer> empNums = upEmpDeptDto.getEmpNum(); List<Integer> empNums = upEmpDeptDto.getEmpNum();
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build(); YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build();
// zzglLogDgjlMapper // zzglLogDgjlMapper
UpdateWrapper<YgglMainEmp> updateWrapper = new UpdateWrapper<YgglMainEmp>(); UpdateWrapper<YgglMainEmp> updateWrapper = new UpdateWrapper<YgglMainEmp>();
updateWrapper.set("bmgw_id", dpetId).eq("org_code", userBean.getOrgCode()).in("emp_num", empNums); updateWrapper.set("bmgw_id", dpetId).eq("org_code", userBean.getOrgCode()).in("emp_num", empNums);
zzglLogDgjlMapper.insertbyaddemp(empNums, userBean.getEmpNum(), dpetId, userBean.getOrgCode(), zzglLogDgjlMapper.insertbyaddemp(empNums, userBean.getEmpNum(), dpetId, userBean.getOrgCode(),
dpetId == null || dpetId == 0 ? "岗位删除员工" : upEmpDeptDto.getIsdg() == null ? "岗位添加员工" : "员工调岗"); dpetId == null || dpetId == 0 ? "岗位删除员工" : upEmpDeptDto.getIsdg() == null ? "岗位添加员工" : "员工调岗");
ygglMainEmp.update(updateWrapper); ygglMainEmp.update(updateWrapper);
// zzglLogDgjlMapper.insert // zzglLogDgjlMapper.insert
return ResultUtil.success(); return ResultUtil.success();
} }
/** /**
* 岗位权限 * 岗位权限
* *
* @param 部门岗位id * @param 部门岗位id
* @return * @return
*/ */
@GetMapping(value = "/auth/{id}") @GetMapping(value = "/auth/{id}")
@ApiOperation(value = "获取岗位岗位权限", httpMethod = "GET", notes = "接口发布说明") @ApiOperation(value = "获取岗位岗位权限", httpMethod = "GET", notes = "接口发布说明")
public Result<List<ZzglAuth>> auth(@CurrentUser UserBean userBean, @PathVariable Integer id) { public Result<List<ZzglAuth>> auth(@CurrentUser UserBean userBean, @PathVariable Integer id) {
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
ArrayList<Integer> list = new ArrayList<Integer>(); ArrayList<Integer> list = new ArrayList<Integer>();
List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper) List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
.eq(ZzglBmgwM::getOrgCode, orgCode).list(); .eq(ZzglBmgwM::getOrgCode, orgCode).list();
ZzglBmgwM.getupDepts(list, id, zzglBmgwMs); ZzglBmgwM.getupDepts(list, id, zzglBmgwMs);
if (list == null || list.size() == 0) { if (list == null || list.size() == 0) {
return ResultUtil.error("部门信息不存在,请先添加部门!"); return ResultUtil.error("部门信息不存在,请先添加部门!");
} else { } else {
LambdaQueryWrapper<ZzglAuth> wp = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ZzglAuth> wp = new LambdaQueryWrapper<>();
wp.select(ZzglAuth::getMenuId, ZzglAuth::getBmgwId).eq(ZzglAuth::getOrgCode, orgCode) wp.select(ZzglAuth::getMenuId, ZzglAuth::getBmgwId).eq(ZzglAuth::getOrgCode, orgCode)
.and(i -> i.in(ZzglAuth::getBmgwId, list.toArray())); .and(i -> i.in(ZzglAuth::getBmgwId, list.toArray()));
List<ZzglAuth> zas = ZzglAuth.builder().build().selectList(wp); List<ZzglAuth> zas = ZzglAuth.builder().build().selectList(wp);
return ResultUtil.data(zas); return ResultUtil.data(zas);
} }
} }
/** /**
* 批量修改/删除岗位权限 * 批量修改/删除岗位权限
* *
* @param 部门岗位id * @param 部门岗位id
* @param 菜单ids * @param 菜单ids
* @return * @return
*/ */
@PostMapping(value = "/auth/{id}") @PostMapping(value = "/auth/{id}")
@ApiOperation(value = "批量修改/删除岗位权限", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "批量修改/删除岗位权限", httpMethod = "POST", notes = "接口发布说明")
public Result<Void> auth(@CurrentUser UserBean userBean, @PathVariable Integer id, @RequestBody List<String> ids) { public Result<Void> auth(@CurrentUser UserBean userBean, @PathVariable Integer id, @RequestBody List<String> ids) {
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
ZzglAuth.builder().build().delete( ZzglAuth.builder().build().delete(
new QueryWrapper<ZzglAuth>().lambda().eq(ZzglAuth::getOrgCode, orgCode).eq(ZzglAuth::getBmgwId, id)); new QueryWrapper<ZzglAuth>().lambda().eq(ZzglAuth::getOrgCode, orgCode).eq(ZzglAuth::getBmgwId, id));
ids.forEach(o -> { ids.forEach(o -> {
ZzglAuth za = ZzglAuth.builder().build(); ZzglAuth za = ZzglAuth.builder().build();
za.setBmgwId(id); za.setBmgwId(id);
za.setOrgCode(orgCode); za.setOrgCode(orgCode);
za.setMenuId(o); za.setMenuId(o);
za.insert(); za.insert();
}); });
return ResultUtil.success(); return ResultUtil.success();
} }
} }
package cn.timer.api.dao.htzz; package cn.timer.api.dao.htzz;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.htzz.HtzzAdminZzda; import cn.timer.api.bean.htzz.HtzzAdminZzda;
/** /**
* 合同证照档案表 * 合同证照档案表
* *
* @author Tang 2019-12-04 * @author Tang 2019-12-04
*/ */
@Repository @Repository
public interface HtzzAdminZzdaMapper extends BaseMapper<HtzzAdminZzda> { public interface HtzzAdminZzdaMapper extends BaseMapper<HtzzAdminZzda> {
} }
package cn.timer.api.dao.htzz; package cn.timer.api.dao.htzz;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.htzz.HtzzAssoHtgx; import cn.timer.api.bean.htzz.HtzzAssoHtgx;
/** /**
* 合同关系表 * 合同关系表
* *
* @author Tang 2019-12-18 * @author Tang 2019-12-18
*/ */
@Repository @Repository
public interface HtzzAssoHtgxMapper extends BaseMapper<HtzzAssoHtgx> { public interface HtzzAssoHtgxMapper extends BaseMapper<HtzzAssoHtgx> {
} }
package cn.timer.api.dao.htzz; package cn.timer.api.dao.htzz;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.htzz.HtzzAssoZztx; import cn.timer.api.bean.htzz.HtzzAssoZztx;
/** /**
* 证照提醒表 * 证照提醒表
* *
* @author Tang 2019-12-04 * @author Tang 2019-12-04
*/ */
@Repository @Repository
public interface HtzzAssoZztxMapper extends BaseMapper<HtzzAssoZztx> { public interface HtzzAssoZztxMapper extends BaseMapper<HtzzAssoZztx> {
public static void main(String[] args) { public static void main(String[] args) {
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String a = format1.format(new Date()); String a = format1.format(new Date());
System.err.println(a); System.err.println(a);
} }
} }
package cn.timer.api.dao.yggl; package cn.timer.api.dao.yggl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.dto.yggl.YgQueryDto; import cn.timer.api.dto.yggl.YgCartogramDto;
import cn.timer.api.dto.yggl.YgglCartogramDto; import cn.timer.api.dto.yggl.YgQueryDto;
import cn.timer.api.dto.yggl.YgbintuDto;
/** import cn.timer.api.dto.yggl.YgglCartogramDto;
* 员工档案+统计图查询
* /**
* @author dsc 2019-11-23 * 员工档案+统计图查询
*/ *
@Repository * @author dsc 2019-11-23
public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> { */
@Repository
/** public interface YgglMainEmpMapper extends BaseMapper<YgglMainEmp> {
* 查询员工信息 /**
* @param userBean * 人事仪表盘
* @return * @param userBean
*/ * @return
List<YgQueryDto> queryEmpMessage(UserBean userBean); */
List<YgbintuDto> rsybp();
/** /**
* 查询在职员工(试用员工人数+正式员工人数) * 查询员工信息
* @param userBean * @param userBean
* @return * @return
*/ */
YgglCartogramDto queryInservice(UserBean userBean); List<YgQueryDto> queryEmpMessage(UserBean userBean);
/**
* 查询当月入职人数 /**
* @param userBean * 查询在职员工(试用员工人数+正式员工人数)
* @return * @param userBean
*/ * @return
YgglCartogramDto queryInduction(UserBean userBean); */
YgglCartogramDto queryInservice(UserBean userBean);
/**
* 查询本月转正人数 /**
* @param userBean * 查询当月入职人数
* @return * @param userBean
*/ * @return
YgglCartogramDto queryPositive(UserBean userBean); */
YgglCartogramDto queryInduction(UserBean userBean);
/**
* 查询员工平均年龄 /**
* @param userBean * 查询本月转正人数
* @return * @param userBean
*/ * @return
YgglCartogramDto queryAvgAge(UserBean userBean); */
YgglCartogramDto queryPositive(UserBean userBean);
/**
* 查询部门名称及人数 /**
* @param userBean * 查询员工平均年龄
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryDepartmentNum(UserBean userBean); */
YgglCartogramDto queryAvgAge(UserBean userBean);
/**
* 查询岗位名称及人数 /**
* @param userBean * 查询部门名称及人数
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryJobsNum(UserBean userBean); */
List<YgglCartogramDto> queryDepartmentNum(UserBean userBean);
/**
* 学历及人数查询 /**
* @param userBean * 查询岗位名称及人数
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryEducation(UserBean userBean); */
List<YgglCartogramDto> queryJobsNum(UserBean userBean);
/**
* 员工年龄分布查询 /**
* @param userBean * 学历及人数查询
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryEmpAge(UserBean userBean); */
List<YgglCartogramDto> queryEducation(UserBean userBean);
/**
* 籍贯统计(省份)人数分布查询 /**
* @param userBean * 员工年龄分布查询
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryNativeplace(UserBean userBean); */
List<YgglCartogramDto> queryEmpAge(UserBean userBean);
/**
* 员工工龄分布查询 /**
* @param userBean * 籍贯统计(省份)人数分布查询
* @return * @param userBean
*/ * @return
List<YgglCartogramDto> queryWorkingAge(UserBean userBean); */
} List<YgglCartogramDto> queryNativeplace(UserBean userBean);
/**
* 员工工龄分布查询
* @param userBean
* @return
*/
List<YgglCartogramDto> queryWorkingAge(UserBean userBean);
}
package cn.timer.api.dao.yggl;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.dto.yggl.YgtitleDto;
/**
* 人事仪表盘饼图表
* @author Tang 2019-11-15
*/
@Repository
public interface YgtitleDtoMapper extends BaseMapper<YgtitleDto> {
}
/**
* @date 2020年4月1日
* @author 翁东州
* @方法中文名称:
*/
package cn.timer.api.dto.yggl;
import io.swagger.annotations.ApiModelProperty;
/**
* @date 2020年4月1日
* @author 翁东州
* @方法中文名称:
*/
public class YgCartogramDto {
@ApiModelProperty(value="统计图--标头 ",example="标头")
private YgtitleDto ygtitleDto;
@ApiModelProperty(value="统计图--饼图和直方图 ",example="饼图和直方图")
private YgbintuDto ygbintuDto;
}
package cn.timer.api.dto.yggl;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Tang 2019-11-15
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("统计图--饼图和直方图")
public class YgbintuDto{
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="编号",example="1")
private Integer id;
@ApiModelProperty(value="年龄 ",example="省编码")
private Integer age;
@ApiModelProperty(value="部门岗位id",example="市编码")
private Integer bmgwId;
@ApiModelProperty(value="岗位名",example="市编码")
private String gw;
@ApiModelProperty(value="部门名",example="市编码")
private String bm;
@ApiModelProperty(value="籍贯省份",example="名字")
private String proname;
@ApiModelProperty(value="学历",example="名字")
private String eduname;
@ApiModelProperty(value="员工状态",example="名字")
private Integer jobStatus;
@ApiModelProperty(value="工龄天数",example="名字")
private Integer workage;
}
package cn.timer.api.dto.yggl;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Tang 2019-11-15
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("yggl_atta_title")
@ApiModel("统计图--标头")
public class YgtitleDto{
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="id编号",example="1")
private Integer id;
@ApiModelProperty(value="在职人数",example="1")
private Integer zaizhi;
@ApiModelProperty(value="本月新入职 ",example="1")
private Integer xinruzhi;
@ApiModelProperty(value="本月离职",example="1")
private Integer lizhi;
@ApiModelProperty(value="本月转正",example="1")
private Integer zhuanzhen;
@ApiModelProperty(value="平均年龄",example="22")
private Integer nianlin;
@ApiModelProperty(value="组织机构代码",example="117")
private Integer orgCode;
}
package cn.timer.api.utils; package cn.timer.api.utils;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.timer.api.bean.htzz.HtzzAdminZzda; import cn.timer.api.bean.htzz.HtzzAdminZzda;
import cn.timer.api.bean.htzz.HtzzAssoHtgx; import cn.timer.api.bean.htzz.HtzzAssoHtgx;
/** /**
* 记录当前时间循环输出 遍历合同提醒关系表,每天固定时间(8点)查询是否提醒 * 记录当前时间循环输出 遍历合同提醒关系表,每天固定时间(8点)查询是否提醒
* *
* @author Administrator * @author Administrator
* *
*/ */
@Component @Component
@Lazy(false) @Lazy(false)
@EnableScheduling @EnableScheduling
public class RemindUtil { public class RemindUtil {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
/** /**
* 间隔时间提醒 10min/次 * 间隔时间提醒 10min/次
*/ */
@Scheduled(fixedRate = 30 * 60 * 1000) @Scheduled(fixedRate = 30 * 60 * 1000)
private void now() { private void now() {
System.err.println("当前时间:" + dateFormat.format(new Date())); System.err.println("当前时间:" + dateFormat.format(new Date()));
} }
/** /**
* 每天固定时间提醒 * 每天固定时间提醒
*/ */
@Scheduled(cron = "0 0 8 * * ?") // 每天8点扫一下看有没要提醒的,有就发一个 @Scheduled(cron = "0 0 8 * * ?") // 每天8点扫一下看有没要提醒的,有就发一个
// @Scheduled(cron = "0 8 15 * * ?") // 测试合同提醒 // @Scheduled(cron = "0 8 15 * * ?") // 测试合同提醒
public static void reportCurrentTime() { public static void reportCurrentTime() {
List<HtzzAssoHtgx> htgxs = HtzzAssoHtgx.builder().build().selectAll(); List<HtzzAssoHtgx> htgxs = HtzzAssoHtgx.builder().build().selectAll();
for (HtzzAssoHtgx htgx : htgxs) { for (HtzzAssoHtgx htgx : htgxs) {
QueryWrapper<HtzzAdminZzda> q = new QueryWrapper<HtzzAdminZzda>(); QueryWrapper<HtzzAdminZzda> q = new QueryWrapper<HtzzAdminZzda>();
q.select("id", "zjmc", "txkg_type", "yxdqr").eq("id", htgx.getHtid()).eq("is_delete", 0).eq("txkg_type", 0); q.select("id", "zjmc", "txkg_type", "yxdqr").eq("id", htgx.getHtid()).eq("is_delete", 0).eq("txkg_type", 0);
HtzzAdminZzda zzda = HtzzAdminZzda.builder().build().selectOne(q); HtzzAdminZzda zzda = HtzzAdminZzda.builder().build().selectOne(q);
if (zzda != null) { if (zzda != null) {
String name = htgx.getName(); // 员工姓名 String name = htgx.getName(); // 员工姓名
String phone = htgx.getPhone(); // 员工手机 String phone = htgx.getPhone(); // 员工手机
String htname = zzda.getZjmc(); // 合同名称 String htname = zzda.getZjmc(); // 合同名称
Date now = new Date(); // 当前时间 Date now = new Date(); // 当前时间
Date dqsj = zzda.getYxdqr(); // 到期时间 Date dqsj = zzda.getYxdqr(); // 到期时间
String time = DateUtil.formatDate(dqsj); // 到期時間格式 String time = DateUtil.formatDate(dqsj); // 到期時間格式
Long betweenDay = DateUtil.between(dqsj, now, DateUnit.DAY); // 时间差天数 Long betweenDay = DateUtil.between(dqsj, now, DateUnit.DAY); // 时间差天数
Long sjc = dqsj.getTime() - now.getTime(); // 时间差数值 Long sjc = dqsj.getTime() - now.getTime(); // 时间差数值
System.err.println(betweenDay); System.err.println(betweenDay);
if (sjc > 0) { if (sjc > 0) {
if (betweenDay <= 1) { if (betweenDay <= 1) {
AliyunSMS.tx(name, htname, time, phone); // 少于1天短信提醒 AliyunSMS.tx(name, htname, time, phone); // 少于1天短信提醒
} else if (betweenDay == 3) { } else if (betweenDay == 3) {
AliyunSMS.tx(name, htname, time, phone); // 少于3天短信提醒 AliyunSMS.tx(name, htname, time, phone); // 少于3天短信提醒
} else if (betweenDay == 7) { } else if (betweenDay == 7) {
AliyunSMS.tx(name, htname, time, phone); // 少于7天短信提醒 AliyunSMS.tx(name, htname, time, phone); // 少于7天短信提醒
} else if (betweenDay == 30) { } else if (betweenDay == 30) {
AliyunSMS.tx(name, htname, time, phone); // 少于30天短信提醒 AliyunSMS.tx(name, htname, time, phone); // 少于30天短信提醒
} }
} else { } else {
zzda.setTxkgType(1); // 关闭提醒 zzda.setTxkgType(1); // 关闭提醒
zzda.updateById(); zzda.updateById();
} }
} }
} }
} }
} }
\ No newline at end of file
#生产环境 #生产环境
server: server:
port: 8089 port: 8089
servlet: servlet:
# context-path: /YoulinghrApiV100 # context-path: /YoulinghrApiV100
session: session:
timeout: 3600 # session会话过期时间 timeout: 3600 # session会话过期时间
spring: spring:
servlet: servlet:
multipart: multipart:
max-file-size: 20MB max-file-size: 20MB
max-request-size: 20MB max-request-size: 20MB
jpa: jpa:
# 配置生成表 存储引擎InnoDB # 配置生成表 存储引擎InnoDB
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
# database: # database:
open-in-view: false open-in-view: false
# naming: # naming:
# spring boot jpa hibernate 根据实体类生成表以及字段的命名策略 # spring boot jpa hibernate 根据实体类生成表以及字段的命名策略
# 无修改命名 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # 无修改命名 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# 遇到大写字母 加”_”的命名 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # 遇到大写字母 加”_”的命名 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
hibernate: hibernate:
ddl-auto: update ddl-auto: update
show-sql: true show-sql: true
datasource: datasource:
# username: root # username: root
# password: youlingHR73! # password: youlingHR73!
username: youling8timer username: youling8timer
password: (!0YouLing8Timer0!) password: (!0YouLing8Timer0!)
# username: tang # username: tang
# password: Tang123456! # password: Tang123456!
# url: jdbc:mysql://120.24.172.51:3306/youlingrc_tang?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL # url: jdbc:mysql://120.24.172.51:3306/youlingrc_tang?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
url: jdbc:mysql://120.24.24.239:3306/8timer_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL url: jdbc:mysql://120.24.24.239:3306/8timer_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
# url: jdbc:mysql://192.168.172.200:3306/youlingrc_8timer201?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL # url: jdbc:mysql://192.168.172.200:3306/youlingrc_8timer201?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
# url: jdbc:mysql://db.hhlsz.com:3306/youlingrc_8timer201?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL # url: jdbc:mysql://db.hhlsz.com:3306/youlingrc_8timer201?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
druid: druid:
# 下面为连接池的补充设置,应用到上面所有数据源中 # 下面为连接池的补充设置,应用到上面所有数据源中
# 初始化大小,最小,最大 # 初始化大小,最小,最大
initial-size: 5 initial-size: 5
min-idle: 5 min-idle: 5
max-active: 20 max-active: 20
max-wait: 60000 # 配置获取连接等待超时的时间 max-wait: 60000 # 配置获取连接等待超时的时间
time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位是毫秒 min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间,单位是毫秒
validation-query: SELECT 1 FROM DUAL validation-query: SELECT 1 FROM DUAL
test-while-idle: true # 当连接空闲时,是否执行连接测试 test-while-idle: true # 当连接空闲时,是否执行连接测试
test-on-borrow: false # 当从连接池借用连接时,是否测试该连接 test-on-borrow: false # 当从连接池借用连接时,是否测试该连接
test-on-return: false # 在连接归还到连接池时是否测试该连接 test-on-return: false # 在连接归还到连接池时是否测试该连接
# 打开PSCache,并且指定每个连接上PSCache的大小 # 打开PSCache,并且指定每个连接上PSCache的大小
pool-prepared-statements: true pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20 max-pool-prepared-statement-per-connection-size: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 ,不能用log4j,不然报错:Failed to bind properties under 'spring.datasource.druid' to javax.sql.DataSource: # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 ,不能用log4j,不然报错:Failed to bind properties under 'spring.datasource.druid' to javax.sql.DataSource:
filters: stat,slf4j filters: stat,slf4j
use-global-data-source-stat: true use-global-data-source-stat: true
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
#connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 配置监控服务器 # 配置监控服务器
stat-view-servlet: stat-view-servlet:
login-username: Tang login-username: Tang
login-password: 123 login-password: 123
reset-enable: false reset-enable: false
url-pattern: /druid/* url-pattern: /druid/*
# 添加IP白名单 # 添加IP白名单
#allow: #allow:
# 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高 # 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高
#deny: #deny:
web-stat-filter: web-stat-filter:
# 添加过滤规则 # 添加过滤规则
url-pattern: /* url-pattern: /*
# 忽略过滤格式 # 忽略过滤格式
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
# 时间戳统一转换 # 时间戳统一转换
jackson: jackson:
date-format: yyyy-MM-dd HH:mm:ss date-format: yyyy-MM-dd HH:mm:ss
# spring boot启动打印横幅 配置 # spring boot启动打印横幅 配置
banner: banner:
charset: UTF-8 # Banner file encoding. charset: UTF-8 # Banner file encoding.
location: banner.txt # Banner text resource location. location: banner.txt # Banner text resource location.
image: image:
location: banner.gif # Banner image file location (jpg or png can also be used). location: banner.gif # Banner image file location (jpg or png can also be used).
width: 76 # Width of the banner image in chars. width: 76 # Width of the banner image in chars.
height: 76 # Height of the banner image in chars (default based on image height). height: 76 # Height of the banner image in chars (default based on image height).
margin: 2 # Left hand image margin in chars. margin: 2 # Left hand image margin in chars.
invert: false # Whether images should be inverted for dark terminal themes. invert: false # Whether images should be inverted for dark terminal themes.
# mybatis-plus # mybatis-plus
mybatis-plus: mybatis-plus:
mapper-locations: classpath:mapping/**/*Mapper.xml # dao到xml文件映射 mapper-locations: classpath:mapping/**/*Mapper.xml # dao到xml文件映射
type-aliases-package: cn.timer.api.bean # xml中#全局类名别名 type-aliases-package: cn.timer.api.bean # xml中#全局类名别名
configuration: configuration:
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # sql日志打印 #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # sql日志打印
call-setters-on-nulls: true # Map做返回体时 字段值为null依然返回 call-setters-on-nulls: true # Map做返回体时 字段值为null依然返回
cache-enabled: true cache-enabled: true
global-config: global-config:
db-config: db-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
#id-type: uuid #id-type: uuid
id-type: auto id-type: auto
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
# field-strategy: not_null # field-strategy: not_null
#驼峰下划线转换 #驼峰下划线转换
table-underline: true table-underline: true
#逻辑删除配置 #逻辑删除配置
#logic-delete-value: 0 #logic-delete-value: 0
#logic-not-delete-value: 1 #logic-not-delete-value: 1
# 分页插件 # 分页插件
pagehelper: pagehelper:
helperDialect: mysql helperDialect: mysql
reasonable: true reasonable: true
supportMethodsArguments: true supportMethodsArguments: true
params: count=countSql params: count=countSql
#showSql #showSql
logging: logging:
level: level:
root: info root: info
cn.timer.api.dao: error cn.timer.api.dao: error
pattern: pattern:
console: '--%p--%m%n' console: '--%p--%m%n'
#swagger: #swagger:
# ui-config: # ui-config:
# operations-sorter: method # 它提供了两个配置项:alpha和method,分别代表了按字母表排序以及按方法定义顺序排序 # operations-sorter: method # 它提供了两个配置项:alpha和method,分别代表了按字母表排序以及按方法定义顺序排序
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.timer.api.dao.yggl.YgglMainEmpMapper"> <mapper namespace="cn.timer.api.dao.yggl.YgglMainEmpMapper">
<resultMap id="BaseResultMap" type="cn.timer.api.bean.yggl.YgglMainEmp" > <resultMap id="BaseResultMap" type="cn.timer.api.bean.yggl.YgglMainEmp" >
<id column="id" property="id" /> <id column="id" property="id" />
<result column="emp_num" property="empNum" /> <result column="emp_num" property="empNum" />
<result column="phone" property="phone" /> <result column="phone" property="phone" />
<result column="password" property="password" /> <result column="password" property="password" />
<result column="head_url" property="headUrl" /> <result column="head_url" property="headUrl" />
<result column="name" property="name" /> <result column="name" property="name" />
<result column="english_name" property="englishName" /> <result column="english_name" property="englishName" />
<result column="sex" property="sex" /> <result column="sex" property="sex" />
<result column="zj_type" property="zjType" /> <result column="zj_type" property="zjType" />
<result column="zj_num" property="zjNum" /> <result column="zj_num" property="zjNum" />
<result column="sfzyx_time" property="sfzyxTime" /> <result column="sfzyx_time" property="sfzyxTime" />
<result column="birthday" property="birthday" /> <result column="birthday" property="birthday" />
<result column="age" property="age" /> <result column="age" property="age" />
<result column="is_married" property="isMarried" /> <result column="is_married" property="isMarried" />
<result column="is_pregnant" property="isPregnant" /> <result column="is_pregnant" property="isPregnant" />
<result column="area" property="area" /> <result column="area" property="area" />
<result column="mz" property="mz" /> <result column="mz" property="mz" />
<result column="zzmm" property="zzmm" /> <result column="zzmm" property="zzmm" />
<result column="jg" property="jg" /> <result column="jg" property="jg" />
<result column="city" property="city" /> <result column="city" property="city" />
<result column="hk_type" property="hkType" /> <result column="hk_type" property="hkType" />
<result column="hk_address" property="hkAddress" /> <result column="hk_address" property="hkAddress" />
<result column="qq" property="qq" /> <result column="qq" property="qq" />
<result column="wechat" property="wechat" /> <result column="wechat" property="wechat" />
<result column="email" property="email" /> <result column="email" property="email" />
<result column="blood_type" property="bloodType" /> <result column="blood_type" property="bloodType" />
<result column="language" property="language" /> <result column="language" property="language" />
<result column="edu" property="edu" /> <result column="edu" property="edu" />
<result column="zy" property="zy" /> <result column="zy" property="zy" />
<result column="zz_remark" property="zzRemark" /> <result column="zz_remark" property="zzRemark" />
<result column="job_type" property="jobType" /> <result column="job_type" property="jobType" />
<result column="job_status" property="jobStatus" /> <result column="job_status" property="jobStatus" />
<result column="rz_time" property="rzTime" /> <result column="rz_time" property="rzTime" />
<result column="syq" property="syq" /> <result column="syq" property="syq" />
<result column="zz_time" property="zzTime" /> <result column="zz_time" property="zzTime" />
<result column="sjzz_time" property="sjzzTime" /> <result column="sjzz_time" property="sjzzTime" />
<result column="is_jrkq" property="isJrkq" /> <result column="is_jrkq" property="isJrkq" />
<result column="job_num" property="jobNum" /> <result column="job_num" property="jobNum" />
<result column="work_address" property="workAddress" /> <result column="work_address" property="workAddress" />
<result column="work_phone" property="workPhone" /> <result column="work_phone" property="workPhone" />
<result column="work_email" property="workEmail" /> <result column="work_email" property="workEmail" />
<result column="zpqd" property="zpqd" /> <result column="zpqd" property="zpqd" />
<result column="bmgw_id" property="bmgwId" /> <result column="bmgw_id" property="bmgwId" />
<result column="org_code" property="orgCode" /> <result column="org_code" property="orgCode" />
<result column="unionid" property="unionid" /> <result column="unionid" property="unionid" />
<result column="openid" property="openid" /> <result column="openid" property="openid" />
<result column="mpopenid" property="mpopenid" /> <result column="mpopenid" property="mpopenid" />
<result column="appopenid" property="appopenid" /> <result column="appopenid" property="appopenid" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <resultMap id="Bintu" type="cn.timer.api.dto.yggl.YgbintuDto" >
id, <id column="id" property="id" />
emp_num, <result column="age" property="age" />
phone, <result column="bmgwId" property="bmgwId" />
password, <result column="gw" property="gw" />
head_url, <result column="bm" property="bm" />
name, <result column="proname" property="proname" />
english_name, <result column="eduname" property="eduname" />
sex, <result column="jobStatus" property="jobStatus" />
zj_type, <result column="workage" property="workage" />
zj_num, </resultMap>
sfzyx_time,
birthday, <sql id="Base_Column_List">
age, id,
is_married, emp_num,
is_pregnant, phone,
area, password,
mz, head_url,
zzmm, name,
jg, english_name,
city, sex,
hk_type, zj_type,
hk_address, zj_num,
qq, sfzyx_time,
wechat, birthday,
email, age,
blood_type, is_married,
language, is_pregnant,
edu, area,
zy, mz,
zz_remark, zzmm,
job_type, jg,
job_status, city,
rz_time, hk_type,
syq, hk_address,
zz_time, qq,
sjzz_time, wechat,
is_jrkq, email,
job_num, blood_type,
work_address, language,
work_phone, edu,
work_email, zy,
zpqd, zz_remark,
bmgw_id, job_type,
org_code, job_status,
unionid, rz_time,
openid, syq,
mpopenid, zz_time,
appopenid sjzz_time,
</sql> is_jrkq,
job_num,
<sql id="Base_Column_List_Alias"> work_address,
id YgglMainEmp_id, work_phone,
emp_num YgglMainEmp_emp_num, work_email,
phone YgglMainEmp_phone, zpqd,
password YgglMainEmp_password, bmgw_id,
head_url YgglMainEmp_head_url, org_code,
name YgglMainEmp_name, unionid,
english_name YgglMainEmp_english_name, openid,
sex YgglMainEmp_sex, mpopenid,
zj_type YgglMainEmp_zj_type, appopenid
zj_num YgglMainEmp_zj_num, </sql>
sfzyx_time YgglMainEmp_sfzyx_time,
birthday YgglMainEmp_birthday, <sql id="Base_Column_List_Alias">
age YgglMainEmp_age, id YgglMainEmp_id,
is_married YgglMainEmp_is_married, emp_num YgglMainEmp_emp_num,
is_pregnant YgglMainEmp_is_pregnant, phone YgglMainEmp_phone,
area YgglMainEmp_area, password YgglMainEmp_password,
mz YgglMainEmp_mz, head_url YgglMainEmp_head_url,
zzmm YgglMainEmp_zzmm, name YgglMainEmp_name,
jg YgglMainEmp_jg, english_name YgglMainEmp_english_name,
city YgglMainEmp_city, sex YgglMainEmp_sex,
hk_type YgglMainEmp_hk_type, zj_type YgglMainEmp_zj_type,
hk_address YgglMainEmp_hk_address, zj_num YgglMainEmp_zj_num,
qq YgglMainEmp_qq, sfzyx_time YgglMainEmp_sfzyx_time,
wechat YgglMainEmp_wechat, birthday YgglMainEmp_birthday,
email YgglMainEmp_email, age YgglMainEmp_age,
blood_type YgglMainEmp_blood_type, is_married YgglMainEmp_is_married,
language YgglMainEmp_language, is_pregnant YgglMainEmp_is_pregnant,
edu YgglMainEmp_edu, area YgglMainEmp_area,
zy YgglMainEmp_zy, mz YgglMainEmp_mz,
zz_remark YgglMainEmp_zz_remark, zzmm YgglMainEmp_zzmm,
job_type YgglMainEmp_job_type, jg YgglMainEmp_jg,
job_status YgglMainEmp_job_status, city YgglMainEmp_city,
rz_time YgglMainEmp_rz_time, hk_type YgglMainEmp_hk_type,
syq YgglMainEmp_syq, hk_address YgglMainEmp_hk_address,
zz_time YgglMainEmp_zz_time, qq YgglMainEmp_qq,
sjzz_time YgglMainEmp_sjzz_time, wechat YgglMainEmp_wechat,
is_jrkq YgglMainEmp_is_jrkq, email YgglMainEmp_email,
job_num YgglMainEmp_job_num, blood_type YgglMainEmp_blood_type,
work_address YgglMainEmp_work_address, language YgglMainEmp_language,
work_phone YgglMainEmp_work_phone, edu YgglMainEmp_edu,
work_email YgglMainEmp_work_email, zy YgglMainEmp_zy,
zpqd YgglMainEmp_zpqd, zz_remark YgglMainEmp_zz_remark,
bmgw_id YgglMainEmp_bmgw_id, job_type YgglMainEmp_job_type,
org_code YgglMainEmp_org_code, job_status YgglMainEmp_job_status,
unionid YgglMainEmp_unionid, rz_time YgglMainEmp_rz_time,
openid YgglMainEmp_openid, syq YgglMainEmp_syq,
mpopenid YgglMainEmp_mpopenid, zz_time YgglMainEmp_zz_time,
appopenid YgglMainEmp_appopenid sjzz_time YgglMainEmp_sjzz_time,
</sql> is_jrkq YgglMainEmp_is_jrkq,
job_num YgglMainEmp_job_num,
<!-- 查询员工信息 搜索 分页 --> work_address YgglMainEmp_work_address,
<select id="queryEmpMessage" resultType="cn.timer.api.dto.yggl.YgQueryDto"> work_phone YgglMainEmp_work_phone,
SELECT work_email YgglMainEmp_work_email,
a. NAME empName, zpqd YgglMainEmp_zpqd,
a.emp_num empNum, bmgw_id YgglMainEmp_bmgw_id,
b. NAME deptName, org_code YgglMainEmp_org_code,
a.rz_time rzTime, unionid YgglMainEmp_unionid,
a.job_type jobType, openid YgglMainEmp_openid,
a.phone phone, mpopenid YgglMainEmp_mpopenid,
a.job_status jobStatus appopenid YgglMainEmp_appopenid
FROM </sql>
yggl_main_emp a <!-- rsybp人事仪表盘 -->
LEFT JOIN zzgl_bmgw_m b ON a.bmgw_id = b.id <select id="rsybp" resultMap="Bintu">
WHERE SELECT e.id AS id,e.age AS age,e.bmgw_id AS bmgwId,b.`name` AS gw,bb.`name` AS bm, p.`name` AS proname,d.`name` AS eduname,e.job_status AS jobStatus,datediff(CURDATE(),e.rz_time) AS workage
a.org_code = #{orgCode} FROM yggl_main_emp e
AND LEFT JOIN zzgl_bmgw_m b ON b.id = e.bmgw_id
a.job_status != 4 LEFT JOIN zzgl_bmgw_m bb ON bb.id = b.up_id
ORDER BY LEFT JOIN province_class p ON left (e.`jg`,2) = p.province
emp_num DESC LEFT JOIN education_class d ON d.number = e.edu
</select> WHERE e.org_code = 117 AND b.org_code =117;
</select>
<!-- 查询在职员工(试用员工人数+正式员工人数) --> <!-- 查询员工信息 搜索 分页 -->
<select id="queryInservice" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> <select id="queryEmpMessage" resultType="cn.timer.api.dto.yggl.YgQueryDto">
SELECT SELECT
SUM(job_status=1) AS probation, a. NAME empName,
SUM(job_status=2) AS regular a.emp_num empNum,
FROM b. NAME deptName,
yggl_main_emp a.rz_time rzTime,
WHERE a.job_type jobType,
org_code=#{orgCode} a.phone phone,
</select> a.job_status jobStatus
FROM
<!-- 查询当月入职人数 --> yggl_main_emp a
<select id="queryInduction" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> LEFT JOIN zzgl_bmgw_m b ON a.bmgw_id = b.id
SELECT WHERE
EXTRACT(MONTH FROM rz_time) AS month, a.org_code = #{orgCode}
COUNT(emp_num) induction AND
FROM a.job_status != 4
yggl_main_emp ORDER BY
WHERE emp_num DESC
org_code=#{orgCode} </select>
</select>
<!-- 查询在职员工(试用员工人数+正式员工人数) -->
<select id="queryInservice" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
<!-- 查询本月转正人数 --> SELECT
<select id="queryPositive" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> SUM(job_status=1) AS probation,
SELECT SUM(job_status=2) AS regular
EXTRACT(MONTH FROM sjzz_time) AS month, FROM
COUNT(emp_num) positive yggl_main_emp
FROM WHERE
yggl_main_emp org_code=#{orgCode}
WHERE </select>
org_code=#{orgCode}
</select> <!-- 查询当月入职人数 -->
<select id="queryInduction" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
<!-- 查询员工平均年龄 --> SELECT
<select id="queryAvgAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> EXTRACT(MONTH FROM rz_time) AS month,
SELECT COUNT(emp_num) induction
avg(age) avgAge FROM
FROM yggl_main_emp
yggl_main_emp WHERE
WHERE org_code=#{orgCode}
org_code=#{orgCode} </select>
</select>
<!-- 查询岗位上级部门id及名称及人数 --> <!-- 查询本月转正人数 -->
<select id="queryDepartmentNum" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> <select id="queryPositive" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
SELECT SELECT
IFNULL(c.name,'null') updeptname, EXTRACT(MONTH FROM sjzz_time) AS month,
IFNULL(b.up_id,0) updeptid, COUNT(emp_num) positive
count(1) updeptnum FROM
FROM yggl_main_emp
yggl_main_emp y WHERE
LEFT JOIN zzgl_bmgw_m b ON y.bmgw_id = b.id org_code=#{orgCode}
LEFT JOIN zzgl_bmgw_m c ON c.id = b.up_id </select>
WHERE
y.org_code = #{orgCode} <!-- 查询员工平均年龄 -->
GROUP BY <select id="queryAvgAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
c.name, SELECT
b.up_id avg(age) avgAge
</select> FROM
yggl_main_emp
<!-- 查询岗位名称及人数 --> WHERE
<select id="queryJobsNum" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> org_code=#{orgCode}
SELECT </select>
IFNULL(b.name,'null') jobname,
IFNULL(y.bmgw_id,0) jobid, <!-- 查询岗位上级部门id及名称及人数 -->
count(1) jobnum <select id="queryDepartmentNum" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
FROM SELECT
yggl_main_emp y IFNULL(c.name,'null') updeptname,
LEFT JOIN zzgl_bmgw_m b ON y.bmgw_id = b.id IFNULL(b.up_id,0) updeptid,
WHERE count(1) updeptnum
y.org_code = #{orgCode} FROM
GROUP BY yggl_main_emp y
y.bmgw_id, LEFT JOIN zzgl_bmgw_m b ON y.bmgw_id = b.id
b.name; LEFT JOIN zzgl_bmgw_m c ON c.id = b.up_id
</select> WHERE
y.org_code = #{orgCode}
<!-- 学历及人数查询 --> GROUP BY
<select id="queryEducation" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> c.name,
SELECT b.up_id
IFNULL(e.name,'null') education,count(y.edu) educationNum </select>
FROM
yggl_main_emp y <!-- 查询岗位名称及人数 -->
LEFT JOIN <select id="queryJobsNum" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
education_class e SELECT
ON IFNULL(b.name,'null') jobname,
y.edu = e.id IFNULL(y.bmgw_id,0) jobid,
WHERE count(1) jobnum
org_code = #{orgCode} FROM
GROUP BY yggl_main_emp y
e.name LEFT JOIN zzgl_bmgw_m b ON y.bmgw_id = b.id
ORDER BY WHERE
e.id ASC y.org_code = #{orgCode}
</select> GROUP BY
y.bmgw_id,
<!-- 员工年龄分布查询 --> b.name;
<select id="queryEmpAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> </select>
<![CDATA[
SELECT <!-- 学历及人数查询 -->
SUM((CASE WHEN age < 0.5 THEN 1 ELSE 0 END)) AS lowerEighteen, <select id="queryEducation" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
SUM((CASE WHEN age >= 18 AND age < 25 THEN 1 ELSE 0 END)) AS eighteenToTwentyfive, SELECT
SUM((CASE WHEN age >= 25 AND age < 32 THEN 1 ELSE 0 END)) AS twentyfiveToThirtytwo, IFNULL(e.name,'null') education,count(y.edu) educationNum
SUM((CASE WHEN age >= 32 AND age < 38 THEN 1 ELSE 0 END)) AS thirtytwoToThirtyeight, FROM
SUM((CASE WHEN age >= 38 AND age < 45 THEN 1 ELSE 0 END)) AS thirtyeightToFortyfive, yggl_main_emp y
SUM((CASE WHEN age >=45 THEN 1 ELSE 0 END)) AS higherFortyfive LEFT JOIN
FROM education_class e
yggl_main_emp ON
WHERE y.edu = e.id
org_code = #{orgCode} WHERE
]]> org_code = #{orgCode}
</select> GROUP BY
e.name
<!-- 籍贯统计(省份)查询 --> ORDER BY
<select id="queryNativeplace" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> e.id ASC
SELECT </select>
IFNULL(c.name,'null') province,count(y.jg) provinceNum
FROM <!-- 员工年龄分布查询 -->
yggl_main_emp y <select id="queryEmpAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
LEFT JOIN <![CDATA[
city_class c SELECT
ON SUM((CASE WHEN age < 0.5 THEN 1 ELSE 0 END)) AS lowerEighteen,
y.jg = c.id SUM((CASE WHEN age >= 18 AND age < 25 THEN 1 ELSE 0 END)) AS eighteenToTwentyfive,
WHERE SUM((CASE WHEN age >= 25 AND age < 32 THEN 1 ELSE 0 END)) AS twentyfiveToThirtytwo,
org_code = #{orgCode} SUM((CASE WHEN age >= 32 AND age < 38 THEN 1 ELSE 0 END)) AS thirtytwoToThirtyeight,
GROUP BY SUM((CASE WHEN age >= 38 AND age < 45 THEN 1 ELSE 0 END)) AS thirtyeightToFortyfive,
c.name SUM((CASE WHEN age >=45 THEN 1 ELSE 0 END)) AS higherFortyfive
</select> FROM
yggl_main_emp
<!-- 员工工龄分布查询 --> WHERE
<select id="queryWorkingAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto"> org_code = #{orgCode}
<![CDATA[ ]]>
SELECT </select>
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 < 0.5 THEN 1 ELSE 0 END)) AS lowerHalfyear,
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 0.5 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 1 THEN 1 ELSE 0 END)) AS halfYear, <!-- 籍贯统计(省份)查询 -->
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 1 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 1.5 THEN 1 ELSE 0 END)) AS oneYear, <select id="queryNativeplace" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 1.5 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 2 THEN 1 ELSE 0 END)) AS onehalfYear, SELECT
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 2 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 2.5 THEN 1 ELSE 0 END)) AS twoYear, IFNULL(c.name,'null') province,count(y.jg) provinceNum
SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >=2.5 THEN 1 ELSE 0 END)) AS higherTwohalfYear FROM
FROM yggl_main_emp y
yggl_main_emp LEFT JOIN
WHERE city_class c
org_code = #{orgCode} ON
]]> y.jg = c.id
</select> WHERE
org_code = #{orgCode}
<!-- GROUP BY
c.name
<insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.yggl.YgglMainEmp"> </select>
INSERT INTO yggl_main_emp
<trim prefix="(" suffix=")" suffixOverrides=","> <!-- 员工工龄分布查询 -->
<if test ='null != empNum'> <select id="queryWorkingAge" resultType="cn.timer.api.dto.yggl.YgglCartogramDto">
emp_num, <![CDATA[
</if> SELECT
<if test ='null != phone'> SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 < 0.5 THEN 1 ELSE 0 END)) AS lowerHalfyear,
phone, SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 0.5 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 1 THEN 1 ELSE 0 END)) AS halfYear,
</if> SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 1 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 1.5 THEN 1 ELSE 0 END)) AS oneYear,
<if test ='null != password'> SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 1.5 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 2 THEN 1 ELSE 0 END)) AS onehalfYear,
password, SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >= 2 AND TIMESTAMPDIFF(day, rz_time,now())/365 < 2.5 THEN 1 ELSE 0 END)) AS twoYear,
</if> SUM((CASE WHEN TIMESTAMPDIFF(day, rz_time,now())/365 >=2.5 THEN 1 ELSE 0 END)) AS higherTwohalfYear
<if test ='null != headUrl'> FROM
head_url, yggl_main_emp
</if> WHERE
<if test ='null != name'> org_code = #{orgCode}
name, ]]>
</if> </select>
<if test ='null != englishName'>
english_name, <!--
</if>
<if test ='null != sex'> <insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.yggl.YgglMainEmp">
sex, INSERT INTO yggl_main_emp
</if> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test ='null != zjType'> <if test ='null != empNum'>
zj_type, emp_num,
</if> </if>
<if test ='null != zjNum'> <if test ='null != phone'>
zj_num, phone,
</if> </if>
<if test ='null != sfzyxTime'> <if test ='null != password'>
sfzyx_time, password,
</if> </if>
<if test ='null != birthday'> <if test ='null != headUrl'>
birthday, head_url,
</if> </if>
<if test ='null != age'> <if test ='null != name'>
age, name,
</if> </if>
<if test ='null != isMarried'> <if test ='null != englishName'>
is_married, english_name,
</if> </if>
<if test ='null != isPregnant'> <if test ='null != sex'>
is_pregnant, sex,
</if> </if>
<if test ='null != area'> <if test ='null != zjType'>
area, zj_type,
</if> </if>
<if test ='null != mz'> <if test ='null != zjNum'>
mz, zj_num,
</if> </if>
<if test ='null != zzmm'> <if test ='null != sfzyxTime'>
zzmm, sfzyx_time,
</if> </if>
<if test ='null != jg'> <if test ='null != birthday'>
jg, birthday,
</if> </if>
<if test ='null != city'> <if test ='null != age'>
city, age,
</if> </if>
<if test ='null != hkType'> <if test ='null != isMarried'>
hk_type, is_married,
</if> </if>
<if test ='null != hkAddress'> <if test ='null != isPregnant'>
hk_address, is_pregnant,
</if> </if>
<if test ='null != qq'> <if test ='null != area'>
qq, area,
</if> </if>
<if test ='null != wechat'> <if test ='null != mz'>
wechat, mz,
</if> </if>
<if test ='null != email'> <if test ='null != zzmm'>
email, zzmm,
</if> </if>
<if test ='null != bloodType'> <if test ='null != jg'>
blood_type, jg,
</if> </if>
<if test ='null != language'> <if test ='null != city'>
language, city,
</if> </if>
<if test ='null != edu'> <if test ='null != hkType'>
edu, hk_type,
</if> </if>
<if test ='null != zy'> <if test ='null != hkAddress'>
zy, hk_address,
</if> </if>
<if test ='null != zzRemark'> <if test ='null != qq'>
zz_remark, qq,
</if> </if>
<if test ='null != jobType'> <if test ='null != wechat'>
job_type, wechat,
</if> </if>
<if test ='null != jobStatus'> <if test ='null != email'>
job_status, email,
</if> </if>
<if test ='null != rzTime'> <if test ='null != bloodType'>
rz_time, blood_type,
</if> </if>
<if test ='null != syq'> <if test ='null != language'>
syq, language,
</if> </if>
<if test ='null != zzTime'> <if test ='null != edu'>
zz_time, edu,
</if> </if>
<if test ='null != sjzzTime'> <if test ='null != zy'>
sjzz_time, zy,
</if> </if>
<if test ='null != isJrkq'> <if test ='null != zzRemark'>
is_jrkq, zz_remark,
</if> </if>
<if test ='null != jobNum'> <if test ='null != jobType'>
job_num, job_type,
</if> </if>
<if test ='null != workAddress'> <if test ='null != jobStatus'>
work_address, job_status,
</if> </if>
<if test ='null != workPhone'> <if test ='null != rzTime'>
work_phone, rz_time,
</if> </if>
<if test ='null != workEmail'> <if test ='null != syq'>
work_email, syq,
</if> </if>
<if test ='null != zpqd'> <if test ='null != zzTime'>
zpqd, zz_time,
</if> </if>
<if test ='null != bmgwId'> <if test ='null != sjzzTime'>
bmgw_id, sjzz_time,
</if> </if>
<if test ='null != orgCode'> <if test ='null != isJrkq'>
org_code, is_jrkq,
</if> </if>
<if test ='null != unionid'> <if test ='null != jobNum'>
unionid, job_num,
</if> </if>
<if test ='null != openid'> <if test ='null != workAddress'>
openid, work_address,
</if> </if>
<if test ='null != mpopenid'> <if test ='null != workPhone'>
mpopenid, work_phone,
</if> </if>
<if test ='null != appopenid'> <if test ='null != workEmail'>
appopenid work_email,
</if> </if>
</trim> <if test ='null != zpqd'>
<trim prefix="values (" suffix=")" suffixOverrides=","> zpqd,
<if test ='null != empNum'> </if>
#{empNum}, <if test ='null != bmgwId'>
</if> bmgw_id,
<if test ='null != phone'> </if>
#{phone}, <if test ='null != orgCode'>
</if> org_code,
<if test ='null != password'> </if>
#{password}, <if test ='null != unionid'>
</if> unionid,
<if test ='null != headUrl'> </if>
#{headUrl}, <if test ='null != openid'>
</if> openid,
<if test ='null != name'> </if>
#{name}, <if test ='null != mpopenid'>
</if> mpopenid,
<if test ='null != englishName'> </if>
#{englishName}, <if test ='null != appopenid'>
</if> appopenid
<if test ='null != sex'> </if>
#{sex}, </trim>
</if> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test ='null != zjType'> <if test ='null != empNum'>
#{zjType}, #{empNum},
</if> </if>
<if test ='null != zjNum'> <if test ='null != phone'>
#{zjNum}, #{phone},
</if> </if>
<if test ='null != sfzyxTime'> <if test ='null != password'>
#{sfzyxTime}, #{password},
</if> </if>
<if test ='null != birthday'> <if test ='null != headUrl'>
#{birthday}, #{headUrl},
</if> </if>
<if test ='null != age'> <if test ='null != name'>
#{age}, #{name},
</if> </if>
<if test ='null != isMarried'> <if test ='null != englishName'>
#{isMarried}, #{englishName},
</if> </if>
<if test ='null != isPregnant'> <if test ='null != sex'>
#{isPregnant}, #{sex},
</if> </if>
<if test ='null != area'> <if test ='null != zjType'>
#{area}, #{zjType},
</if> </if>
<if test ='null != mz'> <if test ='null != zjNum'>
#{mz}, #{zjNum},
</if> </if>
<if test ='null != zzmm'> <if test ='null != sfzyxTime'>
#{zzmm}, #{sfzyxTime},
</if> </if>
<if test ='null != jg'> <if test ='null != birthday'>
#{jg}, #{birthday},
</if> </if>
<if test ='null != city'> <if test ='null != age'>
#{city}, #{age},
</if> </if>
<if test ='null != hkType'> <if test ='null != isMarried'>
#{hkType}, #{isMarried},
</if> </if>
<if test ='null != hkAddress'> <if test ='null != isPregnant'>
#{hkAddress}, #{isPregnant},
</if> </if>
<if test ='null != qq'> <if test ='null != area'>
#{qq}, #{area},
</if> </if>
<if test ='null != wechat'> <if test ='null != mz'>
#{wechat}, #{mz},
</if> </if>
<if test ='null != email'> <if test ='null != zzmm'>
#{email}, #{zzmm},
</if> </if>
<if test ='null != bloodType'> <if test ='null != jg'>
#{bloodType}, #{jg},
</if> </if>
<if test ='null != language'> <if test ='null != city'>
#{language}, #{city},
</if> </if>
<if test ='null != edu'> <if test ='null != hkType'>
#{edu}, #{hkType},
</if> </if>
<if test ='null != zy'> <if test ='null != hkAddress'>
#{zy}, #{hkAddress},
</if> </if>
<if test ='null != zzRemark'> <if test ='null != qq'>
#{zzRemark}, #{qq},
</if> </if>
<if test ='null != jobType'> <if test ='null != wechat'>
#{jobType}, #{wechat},
</if> </if>
<if test ='null != jobStatus'> <if test ='null != email'>
#{jobStatus}, #{email},
</if> </if>
<if test ='null != rzTime'> <if test ='null != bloodType'>
#{rzTime}, #{bloodType},
</if> </if>
<if test ='null != syq'> <if test ='null != language'>
#{syq}, #{language},
</if> </if>
<if test ='null != zzTime'> <if test ='null != edu'>
#{zzTime}, #{edu},
</if> </if>
<if test ='null != sjzzTime'> <if test ='null != zy'>
#{sjzzTime}, #{zy},
</if> </if>
<if test ='null != isJrkq'> <if test ='null != zzRemark'>
#{isJrkq}, #{zzRemark},
</if> </if>
<if test ='null != jobNum'> <if test ='null != jobType'>
#{jobNum}, #{jobType},
</if> </if>
<if test ='null != workAddress'> <if test ='null != jobStatus'>
#{workAddress}, #{jobStatus},
</if> </if>
<if test ='null != workPhone'> <if test ='null != rzTime'>
#{workPhone}, #{rzTime},
</if> </if>
<if test ='null != workEmail'> <if test ='null != syq'>
#{workEmail}, #{syq},
</if> </if>
<if test ='null != zpqd'> <if test ='null != zzTime'>
#{zpqd}, #{zzTime},
</if> </if>
<if test ='null != bmgwId'> <if test ='null != sjzzTime'>
#{bmgwId}, #{sjzzTime},
</if> </if>
<if test ='null != orgCode'> <if test ='null != isJrkq'>
#{orgCode}, #{isJrkq},
</if> </if>
<if test ='null != unionid'> <if test ='null != jobNum'>
#{unionid}, #{jobNum},
</if> </if>
<if test ='null != openid'> <if test ='null != workAddress'>
#{openid}, #{workAddress},
</if> </if>
<if test ='null != mpopenid'> <if test ='null != workPhone'>
#{mpopenid}, #{workPhone},
</if> </if>
<if test ='null != appopenid'> <if test ='null != workEmail'>
#{appopenid} #{workEmail},
</if> </if>
</trim> <if test ='null != zpqd'>
</insert> #{zpqd},
</if>
<delete id="delete" > <if test ='null != bmgwId'>
DELETE FROM yggl_main_emp #{bmgwId},
WHERE id = #{id} </if>
</delete> <if test ='null != orgCode'>
#{orgCode},
<update id="update" parameterType="cn.timer.api.bean.yggl.YgglMainEmp"> </if>
UPDATE yggl_main_emp <if test ='null != unionid'>
<set> #{unionid},
<if test ='null != empNum'>emp_num = #{empNum},</if> </if>
<if test ='null != phone'>phone = #{phone},</if> <if test ='null != openid'>
<if test ='null != password'>password = #{password},</if> #{openid},
<if test ='null != headUrl'>head_url = #{headUrl},</if> </if>
<if test ='null != name'>name = #{name},</if> <if test ='null != mpopenid'>
<if test ='null != englishName'>english_name = #{englishName},</if> #{mpopenid},
<if test ='null != sex'>sex = #{sex},</if> </if>
<if test ='null != zjType'>zj_type = #{zjType},</if> <if test ='null != appopenid'>
<if test ='null != zjNum'>zj_num = #{zjNum},</if> #{appopenid}
<if test ='null != sfzyxTime'>sfzyx_time = #{sfzyxTime},</if> </if>
<if test ='null != birthday'>birthday = #{birthday},</if> </trim>
<if test ='null != age'>age = #{age},</if> </insert>
<if test ='null != isMarried'>is_married = #{isMarried},</if>
<if test ='null != isPregnant'>is_pregnant = #{isPregnant},</if> <delete id="delete" >
<if test ='null != area'>area = #{area},</if> DELETE FROM yggl_main_emp
<if test ='null != mz'>mz = #{mz},</if> WHERE id = #{id}
<if test ='null != zzmm'>zzmm = #{zzmm},</if> </delete>
<if test ='null != jg'>jg = #{jg},</if>
<if test ='null != city'>city = #{city},</if> <update id="update" parameterType="cn.timer.api.bean.yggl.YgglMainEmp">
<if test ='null != hkType'>hk_type = #{hkType},</if> UPDATE yggl_main_emp
<if test ='null != hkAddress'>hk_address = #{hkAddress},</if> <set>
<if test ='null != qq'>qq = #{qq},</if> <if test ='null != empNum'>emp_num = #{empNum},</if>
<if test ='null != wechat'>wechat = #{wechat},</if> <if test ='null != phone'>phone = #{phone},</if>
<if test ='null != email'>email = #{email},</if> <if test ='null != password'>password = #{password},</if>
<if test ='null != bloodType'>blood_type = #{bloodType},</if> <if test ='null != headUrl'>head_url = #{headUrl},</if>
<if test ='null != language'>language = #{language},</if> <if test ='null != name'>name = #{name},</if>
<if test ='null != edu'>edu = #{edu},</if> <if test ='null != englishName'>english_name = #{englishName},</if>
<if test ='null != zy'>zy = #{zy},</if> <if test ='null != sex'>sex = #{sex},</if>
<if test ='null != zzRemark'>zz_remark = #{zzRemark},</if> <if test ='null != zjType'>zj_type = #{zjType},</if>
<if test ='null != jobType'>job_type = #{jobType},</if> <if test ='null != zjNum'>zj_num = #{zjNum},</if>
<if test ='null != jobStatus'>job_status = #{jobStatus},</if> <if test ='null != sfzyxTime'>sfzyx_time = #{sfzyxTime},</if>
<if test ='null != rzTime'>rz_time = #{rzTime},</if> <if test ='null != birthday'>birthday = #{birthday},</if>
<if test ='null != syq'>syq = #{syq},</if> <if test ='null != age'>age = #{age},</if>
<if test ='null != zzTime'>zz_time = #{zzTime},</if> <if test ='null != isMarried'>is_married = #{isMarried},</if>
<if test ='null != sjzzTime'>sjzz_time = #{sjzzTime},</if> <if test ='null != isPregnant'>is_pregnant = #{isPregnant},</if>
<if test ='null != isJrkq'>is_jrkq = #{isJrkq},</if> <if test ='null != area'>area = #{area},</if>
<if test ='null != jobNum'>job_num = #{jobNum},</if> <if test ='null != mz'>mz = #{mz},</if>
<if test ='null != workAddress'>work_address = #{workAddress},</if> <if test ='null != zzmm'>zzmm = #{zzmm},</if>
<if test ='null != workPhone'>work_phone = #{workPhone},</if> <if test ='null != jg'>jg = #{jg},</if>
<if test ='null != workEmail'>work_email = #{workEmail},</if> <if test ='null != city'>city = #{city},</if>
<if test ='null != zpqd'>zpqd = #{zpqd},</if> <if test ='null != hkType'>hk_type = #{hkType},</if>
<if test ='null != bmgwId'>bmgw_id = #{bmgwId},</if> <if test ='null != hkAddress'>hk_address = #{hkAddress},</if>
<if test ='null != orgCode'>org_code = #{orgCode},</if> <if test ='null != qq'>qq = #{qq},</if>
<if test ='null != unionid'>unionid = #{unionid},</if> <if test ='null != wechat'>wechat = #{wechat},</if>
<if test ='null != openid'>openid = #{openid},</if> <if test ='null != email'>email = #{email},</if>
<if test ='null != mpopenid'>mpopenid = #{mpopenid},</if> <if test ='null != bloodType'>blood_type = #{bloodType},</if>
<if test ='null != appopenid'>appopenid = #{appopenid}</if> <if test ='null != language'>language = #{language},</if>
</set> <if test ='null != edu'>edu = #{edu},</if>
WHERE id = #{id} <if test ='null != zy'>zy = #{zy},</if>
</update> <if test ='null != zzRemark'>zz_remark = #{zzRemark},</if>
<if test ='null != jobType'>job_type = #{jobType},</if>
<if test ='null != jobStatus'>job_status = #{jobStatus},</if>
<select id="load" resultMap="BaseResultMap"> <if test ='null != rzTime'>rz_time = #{rzTime},</if>
SELECT <include refid="Base_Column_List" /> <if test ='null != syq'>syq = #{syq},</if>
FROM yggl_main_emp <if test ='null != zzTime'>zz_time = #{zzTime},</if>
WHERE id = #{id} <if test ='null != sjzzTime'>sjzz_time = #{sjzzTime},</if>
</select> <if test ='null != isJrkq'>is_jrkq = #{isJrkq},</if>
<if test ='null != jobNum'>job_num = #{jobNum},</if>
<select id="pageList" resultMap="BaseResultMap"> <if test ='null != workAddress'>work_address = #{workAddress},</if>
SELECT <include refid="Base_Column_List" /> <if test ='null != workPhone'>work_phone = #{workPhone},</if>
FROM yggl_main_emp <if test ='null != workEmail'>work_email = #{workEmail},</if>
LIMIT #{offset}, #{pageSize} <if test ='null != zpqd'>zpqd = #{zpqd},</if>
</select> <if test ='null != bmgwId'>bmgw_id = #{bmgwId},</if>
<if test ='null != orgCode'>org_code = #{orgCode},</if>
<select id="pageListCount" resultType="java.lang.Integer"> <if test ='null != unionid'>unionid = #{unionid},</if>
SELECT count(1) <if test ='null != openid'>openid = #{openid},</if>
FROM yggl_main_emp <if test ='null != mpopenid'>mpopenid = #{mpopenid},</if>
</select> <if test ='null != appopenid'>appopenid = #{appopenid}</if>
</set>
--> WHERE id = #{id}
</update>
<select id="load" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM yggl_main_emp
WHERE id = #{id}
</select>
<select id="pageList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM yggl_main_emp
LIMIT #{offset}, #{pageSize}
</select>
<select id="pageListCount" resultType="java.lang.Integer">
SELECT count(1)
FROM yggl_main_emp
</select>
-->
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment