Quellcode durchsuchen

修改报问题

qingyang_zhang vor 5 Monaten
Ursprung
Commit
e4fdda3229

+ 7 - 2
app/workSheetSystem/pom.xml

@@ -121,13 +121,18 @@
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-starter-undertow</artifactId>
             <scope>provided</scope>
-         </dependency>-->
+         </dependency>
 
          <dependency>
              <groupId>org.mybatis.spring.boot</groupId>
              <artifactId>mybatis-spring-boot-starter</artifactId>
              <version>2.2.2</version>
-         </dependency>
+         </dependency>-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.3.4</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 29 - 0
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/config/MyBatisPlusConfig.java

@@ -0,0 +1,29 @@
+package com.qy.worksheetsystem.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.sql.DataSource;
+
+
+@Configuration
+public class MyBatisPlusConfig {
+    @Bean
+    public MybatisPlusInterceptor mybatisPlusInterceptor() {
+        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
+        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
+        return interceptor;
+    }
+
+    @Bean
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
+        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
+        factoryBean.setDataSource(dataSource);
+        // 其他配置...
+        return factoryBean.getObject();
+    }
+}

+ 18 - 1
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/PersonWorkController.java

@@ -169,7 +169,24 @@ public class PersonWorkController {
             return MessageResultV2.error(e.getMessage());
         }
     }
-
+    @ApiOperation(value = "获取员工报工列表", notes = "获取员工报工列表")
+    @RequestMapping(value = "/getPersonWorkListV2", method = RequestMethod.GET)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
+            @ApiImplicitParam(name = "beginTime", value = "开始时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "endTime", value = "开始时间yyyy-MM-dd", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "state", value = "true已提交,false待提交", required = false, paramType = "query", dataType = "Boolean"),
+    })
+    public MessageResult getPersonWorkListV2(@RequestHeader("token") String token, String beginTime,String endTime,Boolean state) {
+        String number = JWTUtil.getNumber(token);
+        if (StringUtils.isEmpty(number)) {
+            return MessageResult.error("token异常");
+        }
+        List<JobBooking> list = personWorkService.getPersonWorkListV2(number,beginTime,endTime,state);
+        MessageResult result=MessageResult.success();
+        result.add("datalist",list);
+        return result;
+    }
     @ApiOperation(value = "获取员工报工列表", notes = "获取员工报工列表")
     @RequestMapping(value = "/getPersonWorkList", method = RequestMethod.GET)
     @ApiImplicitParams({

+ 11 - 2
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/controller/YunzhijiaController.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -23,6 +24,7 @@ import java.util.Map;
  * @Description: TODO
  * @Version: 1.0
  */
+@Slf4j
 @RestController
 @RequestMapping("/work/yunzhijia")
 @Api(value = "云之家",tags="云之家对接")
@@ -39,9 +41,16 @@ public class YunzhijiaController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "encryptId", value = "人员id", required = true, paramType = "header", dataType = "String"),
     })
-    public MessageResult getUserInfoByEncryptId(@RequestHeader("encryptId") String encryptId) throws Exception {
-        String str = JWTUtil.decrypt(encryptId,password);
+    public MessageResult getUserInfoByEncryptId(@RequestHeader("encryptId") String encryptId) {
+        String str ="";
         MessageResult messageResult = null;
+        try {
+             str = JWTUtil.decrypt(encryptId, password);
+        }catch (Exception e){
+            log.error(e.getMessage(),e);
+            messageResult = MessageResult.fail("认证失败!");
+        }
+
         if(StrUtil.isNotBlank(str)) {
             String[] strs = str.split(",");
             String id = strs[0];

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

@@ -9,4 +9,5 @@ public class JobBookingEntry {
     private String notes;
     private String workingHours;
     private String workingDate;
+    private String date;
 }

+ 4 - 2
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonWorkMapper.java

@@ -10,8 +10,9 @@ import java.util.Map;
 
 @Repository
 public interface PersonWorkMapper {
-        String selectBillKey();
-        String selectKeyByBosTyoe(@Param("employeeID") String employeeID);
+
+        String selectBillKey(@Param("time") long time);
+        String selectKeyByBosTyoe(@Param("employeeID") String employeeID,@Param("time") long time);
 
         List<Map<String,Object>> getAvailableDateInfo(@Param("employeeID") String employeeID, @Param("startDate")String startDate,  @Param("endDate")String endDate);
 
@@ -20,6 +21,7 @@ public interface PersonWorkMapper {
         int insertWork(@Param("workList")List<Map<String, Object>> workList);
 
         List<Map<String,Object>> getPersonWorkList(String number,String beginTime, String endTime, Boolean state);
+        List<JobBooking> getPersonWorkListV2(String number,String beginTime, String endTime, Boolean state);
 
         List<Map<String,Object>> getPersonWorkSumInfo(String number,String beginTime, String endTime, Boolean state);
         JobBooking getPersonWorkInfoById(String number,String id);

+ 34 - 10
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/model/mapper/PersonWorkMapper.xml

@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.qy.worksheetsystem.model.mapper.PersonWorkMapper">
-    <select id="selectBillKey" resultType="String">
-        select newbosid('CF9DCEB1') as id  from dual
+    <select id="selectBillKey" resultType="String" useCache="false">
+        select newbosid('CF9DCEB1') as id  from dual where #{time}=#{time}
     </select>
-    <select id="selectKeyByBosTyoe" resultType="String">
-        select newbosid(#{bosTyoe}) as id  from dual
+    <select id="selectKeyByBosTyoe" resultType="String" useCache="false">
+        select newbosid(#{bosTyoe}) as id  from dual  where #{time}=#{time}
     </select>
     <select id="getAvailableDateInfo" resultType="java.util.Map">
         SELECT
@@ -28,7 +28,6 @@
         AND w.FISDEFAULT=1
         order by item.FDate
     </select>
-    <!---->
     <select id="getPersonWorkList" resultType="java.util.Map">
         select p.fnumber "personNumber",p.fname_l2 "personName",
         whr.CFAffiliatedProjec "projectID", pm.CFProjectName "projectName",
@@ -48,6 +47,30 @@
             and whr.fbillState=0
         </if>
     </select>
+    <!---->
+    <select id="getPersonWorkListV2" resultMap="JobBookingEntry">
+        select whr.fid "id",to_char(whr.CFFILLINGSTARTDATE,'YYYY-MM-DD') "startDate",
+        to_char(whr.CFFILLINGENDDATE,'YYYY-MM-DD')  "endDate" , whr.FBILLSTATE "state",
+        p.fid "personId",p.fname_l2 "personName",p.fnumber "personNumber",
+        pm.CFPROJECTNAME "projectName",pm.fid "projectId",
+        to_char(hre.CFDATA,'YYYY-MM-DD') "workingDate",hre.CFWORKINGHOURS "workingHours",
+        hre.CFNOTES "notes",hre.FSEQ "seq",
+        hre.fid "entryId"
+        from
+        CT_PRO_WorkHoursReportEntry hre
+        left join CT_PRO_WorkHoursReport whr on whr.fid=hre.FParentID
+        left join CT_PRO_ProjectManagement pm on pm.FID=whr.CFAffiliatedProjec
+        left join t_bd_person p on hre.CFEmployeeID=p.FID
+        where p.fnumber=#{number}
+        and  hre.CfData BETWEEN to_date(#{beginTime},'YYYY-MM-DD')
+        AND  to_date(#{endTime},'YYYY-MM-DD')
+        <if test="state==true">
+            and whr.fbillState!=0
+        </if>
+        <if test="state==false">
+            and whr.fbillState=0
+        </if>
+    </select>
     <select id="getPersonWorkSumInfo" resultType="java.util.Map">
         select whr.fbillState "state",sum(hre.CFWorkingHours) "WorkingHours"
         from CT_PRO_WorkHoursReportEntry hre
@@ -77,10 +100,10 @@
         <foreach collection="billList" item="item" index="index" separator="UNION ALL">
             SELECT
             #{item.affiliatedProject}, #{item.adminOrg}, #{item.hrOrgUnit},
-            #{item.billState}, #{item.number}, #{item.bizDate},
+            #{item.billState}, #{item.number},  SYSDATE,
             #{item.creator}, SYSDATE, #{item.lastUpdateUser},
             SYSDATE, #{item.CU}, #{item.id},
-            'employeeReport', #{item.fillingStartDate}, #{item.fillingEndDate}
+            'employeeReport', to_date(#{item.fillingStartDate},'YYYY-MM-DD'), to_date(#{item.fillingEndDate},'YYYY-MM-DD')
             FROM dual
         </foreach>
 
@@ -117,14 +140,15 @@
             <result column="notes" property="notes"/>
             <result column="workingHours" property="workingHours"/>
             <result column="workingDate" property="workingDate"/>
+            <result column="workingDate" property="date"/>
         </collection>
     </resultMap>
     <select id="getPersonWorkInfoById" resultMap="JobBookingEntry">
-        select whr.fid "id",whr.CFFILLINGSTARTDATE "startDate",
-        whr.CFFILLINGENDDATE "endDate" , whr.FBILLSTATE "state",
+        select whr.fid "id",to_char(whr.CFFILLINGSTARTDATE,'YYYY-MM-DD') "startDate",
+        to_char(whr.CFFILLINGENDDATE,'YYYY-MM-DD')  "endDate" , whr.FBILLSTATE "state",
         p.fid "personId",p.fname_l2 "personName",p.fnumber "personNumber",
         pm.CFPROJECTNAME "projectName",pm.fid "projectId",
-        hre.CFDATA "workingDate",hre.CFWORKINGHOURS "workingHours",
+        to_char(hre.CFDATA,'YYYY-MM-DD') "workingDate",hre.CFWORKINGHOURS "workingHours",
         hre.CFNOTES "notes",hre.FSEQ "seq",
         hre.fid "entryId"
         from

+ 4 - 1
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/PersonWorkService.java

@@ -18,7 +18,10 @@ public interface PersonWorkService {
 
     public List<Map<String, Object>> getAvailableDateInfo(String number, String startDate, String endDate);
     List<Map<String,Object>> getPersonWorkList(String number,String beginTime, String endTime, Boolean state);
-    List<Map<String,Object>> getPersonWorkSumInfo(String number,String beginTime, String endTime, Boolean state);
+
+    List<JobBooking>  getPersonWorkListV2(String number, String beginTime, String endTime, Boolean state);
+
+    List<Map<String,Object>> getPersonWorkSumInfo(String number, String beginTime, String endTime, Boolean state);
 
     JobBooking getPersonWorkInfoById(String number, String id);
 

+ 9 - 7
app/workSheetSystem/src/main/java/com/qy/worksheetsystem/service/impl/PersonWorkServiceImpl.java

@@ -81,22 +81,19 @@ public class PersonWorkServiceImpl implements PersonWorkService {
 
                 Map<String, Object> billMap = new HashMap<>();
 
-                String billID = personWorkMapper.selectBillKey();
+                String billID = personWorkMapper.selectBillKey(System.currentTimeMillis());
                 billMap.put("id", billID);
                 billMap.put("affiliatedProject", projectId);
-                billMap.put("fillingStartDate", beginDate);
-                billMap.put("fillingEndDate", endDate);
+                billMap.put("fillingStartDate", jobWork.getBeginTime());
+                billMap.put("fillingEndDate", jobWork.getEndTime());
                 billMap.put("adminOrg", person.get("adminOrgId"));
                 billMap.put("hrOrgUnit", person.get("hrOrgUnitID"));
                 billMap.put("billState", "0");
                 billMap.put("number", number);
                 billMap.put("CU", person.get("controlUnitID"));
                 Date createTime = new Date();
-                billMap.put("bizDate", createTime);
                 billMap.put("creator", person.get("userID"));
-                billMap.put("createTime", createTime);
                 billMap.put("lastUpdateUser", person.get("userID"));
-                billMap.put("lastUpdateTime", createTime);
                 for (int i = begin; i <= end; i++) {
                     Map<String, Object> objectMap = Maps.newHashMap();
                     String iday = "01";
@@ -113,7 +110,7 @@ public class PersonWorkServiceImpl implements PersonWorkService {
                     objectMap.put("employee", person.get("id"));
                     objectMap.put("clockTime", reportDate);
                     objectMap.put("clockLocation", "移动端");
-                    objectMap.put("data", format.parse(reportDate));
+                    objectMap.put("data", reportDate);
                     objectMap.put("WorkingHours", Hour);
                     objectMap.put("notes", "");
                     objectMap.put("seq", i);
@@ -157,6 +154,11 @@ public class PersonWorkServiceImpl implements PersonWorkService {
         return list;
     }
     @Override
+    public   List<JobBooking> getPersonWorkListV2(String number, String beginTime, String endTime, Boolean state) {
+        List<JobBooking> list = personWorkMapper.getPersonWorkListV2(number,beginTime,endTime,state);
+        return list;
+    }
+    @Override
     public List<Map<String,Object>> getPersonWorkSumInfo(String number,String beginTime,String endTime,Boolean state){
         List<Map<String,Object>> list =personWorkMapper.getPersonWorkSumInfo(number,beginTime,endTime,state);
         return list;

+ 1 - 1
app/workSheetSystem/src/main/resources/application.yml

@@ -90,7 +90,7 @@ HR:
   #密钥
   ais:
     password: htyshrtest
-    effective: 10000
+    effective: 300000
     url: https://10.3.119.205:80/shr
     serviceName: workHoursReportService
 #企业微信

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

@@ -26,7 +26,7 @@
         <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
         <!-- 例如:如果此处配置了INFO级别,则后面其他位置即使配置了DEBUG级别的日志,也不会被输出 -->
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>info</level>
+            <level>debug</level>
         </filter>
         <encoder>
             <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
@@ -171,12 +171,12 @@
     <root level="DEBUG">
         <appender-ref ref="CONSOLE"/>
         <appender-ref ref="DEBUG_FILE"/>
-        <appender-ref ref="INFO_FILE"/>
-        <appender-ref ref="WARN_FILE"/>
-        <appender-ref ref="ERROR_FILE"/>
+    <!--<appender-ref ref="INFO_FILE"/>
+   <appender-ref ref="WARN_FILE"/>
+   <appender-ref ref="ERROR_FILE"/>-->
     </root>
 
-        <!--生产环境:输出err与warn文件-->
+   <!--生产环境:输出err与warn文件-->
 <!--        <root level="info">-->
 <!--            <appender-ref ref="WARN_FILE" />-->
 <!--            <appender-ref ref="ERROR_FILE" />-->