sangwenwei 1 year ago
parent
commit
4008393af7
21 changed files with 320 additions and 105 deletions
  1. 28 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/flowable/factory/IJyUserApiFallbackFactory.java
  2. 23 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/flowable/feign/IJyUserApi.java
  3. 5 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/domain/RefundHis.java
  4. 1 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/mapper/xml/BorrowMapper.xml
  5. 9 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/service/BorrowService.java
  6. 17 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/controller/StaffDimissionController.java
  7. 7 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/mapper/StaffHeirMapper.java
  8. 17 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/mapper/xml/StaffHeirMapper.xml
  9. 17 3
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/service/StaffDimissionService.java
  10. 48 35
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/meetingRoom/service/MeetingRoomService.java
  11. 5 5
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/MonthlyService.java
  12. 2 2
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/JyProjectReportsSubmitMapper.xml
  13. 1 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/ProjectListMapper.xml
  14. 1 0
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java
  15. 1 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/mapper/JyWorkContractInfoMapper.java
  16. 1 1
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/mapper/xml/JyWorkContractInfoMapper.xml
  17. 65 37
      jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/service/JyWorkContractService.java
  18. 5 1
      jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/jeeplus/domain/JyProjectReportsSubmitInfo.java
  19. 27 0
      jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/jeeplus/domain/StaffHeirInfoDTO.java
  20. 10 0
      jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/feign/JyUserFeignApi.java
  21. 30 18
      jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

+ 28 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/flowable/factory/IJyUserApiFallbackFactory.java

@@ -0,0 +1,28 @@
+package com.jeeplus.flowable.factory;
+
+import com.jeeplus.flowable.feign.IJyProjectApi;
+import com.jeeplus.flowable.feign.IJyUserApi;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class IJyUserApiFallbackFactory implements FallbackFactory<IJyUserApi> {
+    @Override
+    public IJyUserApi create(Throwable cause) {
+        log.error ( "嘉溢项目服务调用失败:{}", cause.getMessage ( ) );
+        return new IJyUserApi() {
+
+            @Override
+            public String getList() {
+                return null;
+            }
+
+            @Override
+            public String updateUserById(String id, String loginFlag) {
+                return null;
+            }
+        };
+    }
+}

+ 23 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/flowable/feign/IJyUserApi.java

@@ -0,0 +1,23 @@
+package com.jeeplus.flowable.feign;
+
+import com.jeeplus.common.constant.AppNameConstants;
+import com.jeeplus.flowable.factory.JyProjectApiFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@FeignClient(contextId = "IJyUserApi", name = AppNameConstants.APP_JYPROJECT_MODULES, fallbackFactory = JyProjectApiFallbackFactory.class)
+public interface IJyUserApi {
+    /**
+     * 获取所有交接完成的员工信息
+     */
+    @GetMapping(value = "/employeeDimission/getList")
+    String getList();
+
+    /**
+     * 冻结员工账号
+     */
+    @GetMapping(value = "/employeeDimission/updateUserById")
+    String updateUserById(@RequestParam(value = "id")String id,@RequestParam(value = "loginFlag") String loginFlag);
+}
+

+ 5 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/domain/RefundHis.java

@@ -25,6 +25,11 @@ public class RefundHis extends BaseEntity {
      */
     private String finalMoney;
 
+    /**
+     * json数据
+     */
+    private String jsonData;
+
     @TableField(exist = false)
     private String createName;
 

+ 1 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/mapper/xml/BorrowMapper.xml

@@ -150,6 +150,7 @@
             a.create_time,
             a.refund_money,
             a.final_money,
+            a.json_data,
             su.name as createName
         from jy_refund_history a
         left join sys_user su on a.create_by_id = su.id and su.del_flag = '0'

+ 9 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/borrow/service/BorrowService.java

@@ -379,6 +379,9 @@ public class BorrowService {
         borrowMapper.updateRefundById(refundDTO.getId(),refundDTO.getStatus());
         //如果审核同意,则往历史表中添加一条数据
         if (refundDTO.getStatus().equals("5")){
+            //查询还款数据
+            BorrowDTO dto = borrowMapper.findById(refundDTO.getId());
+            String jsonString = JSON.toJSONString(dto);
             //根据id找到当前还款信息
             Refund refund = refundMapper.selectById(refundDTO.getId());
             RefundHis refundHis = new RefundHis();
@@ -387,6 +390,7 @@ public class BorrowService {
             refundHis.setRefundId(refund.getId());
             refundHis.setFinalMoney(refund.getFinalMoney());
             refundHis.setCreateTime(new Date());
+            refundHis.setJsonData(jsonString);
             refundHisMapper.insert(refundHis);
         }
     }
@@ -505,11 +509,15 @@ public class BorrowService {
             map.put("result","success");
             return map;
         }else {
+            //解析json数据
+            BorrowDTO borrowDTO = JSON.parseObject(refundHis.getJsonData(), BorrowDTO.class);
             //如果存在,则将还款信息还原成上一次的还款记录
             Refund refund = refundMapper.selectOne(new LambdaQueryWrapper<Refund>().eq(Refund::getId, id));
             refund.setFinalMoney(refundHis.getFinalMoney());
             refund.setRefundLower(refundHis.getRefundMoney());
-            refund.setStatus("5");
+            refund.setStatus(borrowDTO.getRefundStatus());
+            refund.setProcInsId(borrowDTO.getProcInsIdRefund());
+            refund.setProcessDefinitionId(borrowDTO.getProcDefIdRefund());
             refundMapper.updateById(refund);
             //同时修改借款表中的剩余借款金额
             BorrowMoney borrowMoney = new BorrowMoney();

+ 17 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/controller/StaffDimissionController.java

@@ -1,5 +1,6 @@
 package com.jeeplus.business.humanResources.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.business.finance.util.EasyPoiUtil;
@@ -139,7 +140,23 @@ public class StaffDimissionController {
             result = staffDimissionService.findPageList(dimissionDTO,page).getRecords();
         }
         EasyPoiUtil.exportExcel ( result, sheetName,  sheetName, StaffDimissionDTO.class, fileName, response );
+    }
 
+    /**
+     * 获取所有离职人员信息
+     */
+    @GetMapping("getList")
+    public String getList(){
+        List<StaffHeirDTO> list=staffDimissionService.getList();
+        return JSON.toJSONString(list);
+    }
+
+    /**
+     * 将员工账号进行冻结
+     */
+    @GetMapping("updateUserById")
+    public void updateUserById(@RequestParam(value = "id")String id,@RequestParam(value = "loginFlag")String loginFlag){
+        staffDimissionService.updateUserById(id,loginFlag);
     }
 
 

+ 7 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/mapper/StaffHeirMapper.java

@@ -1,14 +1,21 @@
 package com.jeeplus.business.humanResources.mapper;
 
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.business.humanResources.domain.StaffHeir;
 import com.jeeplus.business.humanResources.service.dto.StaffHeirDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 @Mapper
 public interface StaffHeirMapper extends BaseMapper<StaffHeir> {
     void updateHeirStatusById(@Param("status") String status, @Param("id") String id,@Param("userId") String userId);
 
     StaffHeirDTO findHeirById(@Param("id") String id);
+    @InterceptorIgnore(tenantLine = "true")
+    List<StaffHeirDTO> getList();
+    @InterceptorIgnore(tenantLine = "true")
+    void updateUserById(@Param("id")String id, @Param("loginFlag")String loginFlag);
 }

+ 17 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/mapper/xml/StaffHeirMapper.xml

@@ -24,4 +24,21 @@
         left join sys_office so on su.office_id = so.id and so.del_flag = '0'
         where a.id=#{id}
     </select>
+
+    <select id="getList" resultType="com.jeeplus.business.humanResources.service.dto.StaffHeirDTO">
+        select
+            a.id,
+            a.create_by_id,
+            a.create_time,
+            a.heir,
+            a.status,
+            a.proc_ins_id,
+            a.process_definition_id
+        from
+            staff_heir a
+        where a.del_flag = '0'
+    </select>
+    <update id="updateUserById">
+        update sys_user set login_flag = #{loginFlag} where id = #{id}
+    </update>
 </mapper>

+ 17 - 3
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/humanResources/service/StaffDimissionService.java

@@ -235,9 +235,10 @@ public class StaffDimissionService {
             }
 
             //冻结离职人员信息
-            UserDTO dto = SpringUtil.getBean(IUserApi.class).getById(staffHeirDTO.getCreateById());
-            dto.setLoginFlag("0");
-            SpringUtil.getBean(IUserApi.class).updateUser(dto);
+//            UserDTO dto = SpringUtil.getBean(IUserApi.class).getById(staffHeirDTO.getCreateById());
+//            dto.setLoginFlag("0");
+//            SpringUtil.getBean(IUserApi.class).updateUser(dto);
+
         }
 
     }
@@ -340,4 +341,17 @@ public class StaffDimissionService {
         });
         return jyProcesses;
     }
+
+    /**
+     * 获取所有离职信息
+     * @return
+     */
+    public List<StaffHeirDTO> getList() {
+        List<StaffHeirDTO> list = staffHeirMapper.getList();
+        return list;
+    }
+
+    public void updateUserById(String id, String loginFlag) {
+        staffHeirMapper.updateUserById(id,loginFlag);
+    }
 }

+ 48 - 35
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/meetingRoom/service/MeetingRoomService.java

@@ -1,6 +1,7 @@
 package com.jeeplus.business.meetingRoom.service;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
 import java.sql.Time;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.ZoneId;
@@ -210,13 +212,13 @@ public class MeetingRoomService {
                         //当新时间与会议结束时间一致时,在延续半小时,循环结束
                         Time time = Time.valueOf(localTime.format(formatter));
                         if (time.equals(meetingRoom.getEndTime())) {
-                            /*int m = localTime.getMinute();
+                            int m = localTime.getMinute();
                             if (m < 30) {
                                 localTime = localTime.withMinute(30);
                             } else {
                                 localTime = localTime.withMinute(0).plusHours(1);
                             }
-                            hashMap.put((i + 2) + "", localTime.format(formatter));*/
+                            hashMap.put((i + 2) + "", localTime.format(formatter));
                             break;
                         }
                     }
@@ -245,46 +247,57 @@ public class MeetingRoomService {
             }
 
         }
-        //获取当前时间
-        LocalTime now = LocalTime.now();
-        String format1 = now.format(formatter);
-        Time nowDate = Time.valueOf(format1);
-        ArrayList<LocalTime> dateList = new ArrayList<>();
-        //判断当前时间在哪个范围内
-        if ((nowDate.after(am1) && nowDate.before(am2))){
-            // 获取时间段内的所有时间
-            LocalTime currentTime = time1;
-            dateList.add(currentTime);
-            while (currentTime.isBefore(time2)) {
-                currentTime = currentTime.plus(30 * 60, ChronoUnit.SECONDS); // 每隔半小时
+            //获取当天日期
+            LocalDate today = LocalDate.now();
+            //获取会议预约日期
+            DateTimeFormatter formatte = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate startDate1 = LocalDate.parse(startDate, formatte);
+        //比较两个日期,
+        if (today.equals(startDate1)){
+            //获取当前时间
+            LocalTime now = LocalTime.now();
+            String format1 = now.format(formatter);
+            Time nowDate = Time.valueOf(format1);
+            ArrayList<LocalTime> dateList = new ArrayList<>();
+            //判断当前时间在哪个范围内
+            if ((nowDate.after(am1) && nowDate.before(am2)) || (nowDate.after(am2) && nowDate.before(pm1)) || nowDate.after(pm2)){
+                // 获取时间段内的所有时间
+                LocalTime currentTime = time1;
                 dateList.add(currentTime);
-            }
-            //将每半个小时的时间进行遍历,与当前时间比较
-            for (LocalTime localTime : dateList) {
-                Time time = Time.valueOf(localTime);
-                //如果当前时间在每半小时间隔之后,则将之前的存到map中
-                if (nowDate.after(time)){
-                    mergedMap.put(time+"",localTime.format(formatter));
+                while (currentTime.isBefore(time2)) {
+                    currentTime = currentTime.plus(30 * 60, ChronoUnit.SECONDS); // 每隔半小时
+                    dateList.add(currentTime);
+                }
+                //将每半个小时的时间进行遍历,与当前时间比较
+                for (LocalTime localTime : dateList) {
+                    Time time = Time.valueOf(localTime);
+                    //如果当前时间在每半小时间隔之后,则将之前的存到map中
+                    if (nowDate.after(time)){
+                        mergedMap.put(time+"",localTime.format(formatter));
+                    }
                 }
             }
-        }
-        if ((nowDate.after(pm1) && nowDate.before(pm2))){
-            // 获取时间段内的所有时间
-            LocalTime currentTime = time3;
-            while (currentTime.isBefore(time4)) {
-                currentTime = currentTime.plus(30 * 60, ChronoUnit.SECONDS); // 每隔半小时
-                dateList.add(currentTime);
-            }
-            //将每半个小时的时间进行遍历,与当前时间比较
-            for (LocalTime localTime : dateList) {
-                Time time = Time.valueOf(localTime);
-                //如果当前时间在每半小时间隔之后,则将之前的存到map中
-                if (nowDate.after(time)){
-                    mergedMap.put(time+"",localTime.format(formatter));
+            if ((nowDate.after(pm1) && nowDate.before(pm2)) || nowDate.after(pm2)){
+                // 获取时间段内的所有时间
+                LocalTime currentTime = time3;
+                while (currentTime.isBefore(time4)) {
+                    currentTime = currentTime.plus(30 * 60, ChronoUnit.SECONDS); // 每隔半小时
+                    dateList.add(currentTime);
+                }
+                //将每半个小时的时间进行遍历,与当前时间比较
+                for (LocalTime localTime : dateList) {
+                    Time time = Time.valueOf(localTime);
+                    //如果当前时间在每半小时间隔之后,则将之前的存到map中
+                    if (nowDate.after(time)){
+                        mergedMap.put(time+"",localTime.format(formatter));
+                    }
                 }
             }
         }
 
+
+
+
         return mergedMap;
     }
 

+ 5 - 5
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/monthly/service/MonthlyService.java

@@ -105,10 +105,10 @@ public class MonthlyService {
             }
         }
         //根据月报表id查询项目进度
-        List<JyProcess> processList=jyProcessMapper.findByMonthId(id);
-        if (ObjectUtils.isNotEmpty(processList)){
-            monthlyDTO.setProcessList(processList);
-        }else {
+//        List<JyProcess> processList=jyProcessMapper.findByMonthId(id);
+//        if (ObjectUtils.isNotEmpty(processList)){
+//            monthlyDTO.setProcessList(processList);
+//        }else {
             String mid = UUID.randomUUID().toString().replace("-", "");
             //先往月报表中添加一条数据
 //            Monthly monthly = new Monthly();
@@ -178,7 +178,7 @@ public class MonthlyService {
             }
             List<JyProcess> jyProcessList = saveProcess(arrayList, mid);
             monthlyDTO.setProcessList(jyProcessList);
-        }
+//        }
         return monthlyDTO;
     }
 

+ 2 - 2
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/JyProjectReportsSubmitMapper.xml

@@ -31,7 +31,7 @@
     </update>
 
     <select id="findReportsSubmitListExccedTime" resultType="com.jeeplus.business.project.domain.JyProjectReportsSubmit">
-        select
+        select distinct
             a.id,
             a.create_by_id,
             su.name as createByName,
@@ -59,7 +59,7 @@
     </update>
 
     <select id="findReportsSubmitListInTime" resultType="com.jeeplus.business.project.domain.JyProjectReportsSubmit">
-        select
+        select distinct
             a.id,
             a.create_by_id,
             su.name as createByName,

+ 1 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/mapper/xml/ProjectListMapper.xml

@@ -1014,7 +1014,7 @@
 						left join jy_project_audit pa1 on pa1.project_id = a.id and pa1.audit_level = '1' and pa1.del_flag = '0'
             LEFT JOIN jy_project_audit pa2 ON pa2.project_id = a.id and pa2.audit_level = '2' and pa2.del_flag = '0'
             LEFT JOIN jy_project_audit pa3 ON pa3.project_id = a.id and pa3.audit_level = '3' and pa3.del_flag = '0'
-            where a.create_by_id=#{id} and par.status != '5' and a.status = '5' order by a.update_time DESC
+            where a.create_by_id=#{id} and par.status != '5' and a.status = '5' and a.del_flag = '0' order by a.update_time DESC
     </select>
 
 

+ 1 - 0
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/project/service/JyProjectService.java

@@ -1935,6 +1935,7 @@ public class JyProjectService {
         List<JyProjectDTO> projectDTOList=jyProjectMapper.getByIdNoArchive(id);
         //获取用印id
         QueryWrapper<Signet> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("del_flag",'0');
         queryWrapper.orderByDesc("create_time");
         List<Signet> signets = signetMapper.selectList(queryWrapper);
         projectDTOList.stream().forEach(item ->{

+ 1 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/mapper/JyWorkContractInfoMapper.java

@@ -48,7 +48,7 @@ public interface JyWorkContractInfoMapper extends BaseMapper<JyWorkContractInfo>
     List<JyWorkContractInfoDto> getInfoByClientId (@Param("clientId") String clientId);
 
 
-    void updateContractById(@Param("updateById")String updateById, @Param("updateTime")Date updateTime,@Param("filedType") String filedType,@Param("filedNo") String filedNo,@Param("id") String id);
+    void updateContractById(@Param("updateById")String updateById, @Param("updateTime")Date updateTime,@Param("filedType") String filedType,@Param("filedNo") String filedNo,@Param("contractNo")String contractNo,@Param("id") String id);
 
     /**
      * 查询合同类型

+ 1 - 1
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/mapper/xml/JyWorkContractInfoMapper.xml

@@ -193,7 +193,7 @@
 	</select>
 
 	<update id="updateContractById">
-		UPDATE jy_work_contract_info SET update_By_id=#{updateById},update_time=#{updateTime}, `filed_type` = #{filedType},filed_no=#{filedNo} WHERE del_flag = 0 AND id = #{id}
+		UPDATE jy_work_contract_info SET update_By_id=#{updateById},update_time=#{updateTime}, `filed_type` = #{filedType},filed_no=#{filedNo},`no` = #{contractNo} WHERE del_flag = 0 AND id = #{id}
 	</update>
 
 	<select id="findType" resultType="string">

+ 65 - 37
jeeplus-modules/jeeplus-business/src/main/java/com/jeeplus/business/workContractInfo/service/JyWorkContractService.java

@@ -154,24 +154,24 @@ public class JyWorkContractService {
         StringBuffer sb = new StringBuffer();
         if (CollectionUtil.isNotEmpty(contractTypes)){
             for (List<String> contractType : contractTypes) {
-                if (contractType.size()>0){
-                    switch (contractType.get(0)){
-                        case "1": //环境监测
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE4,TokenProvider.getCurrentToken());
-                            break;
-                        case "2": //环境影响评价
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE3,TokenProvider.getCurrentToken());
-                            break;
-                        case "3": //水土保持
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE2,TokenProvider.getCurrentToken());
-                            break;
-                        case "4": //其他
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE1,TokenProvider.getCurrentToken());
-                            break;
-                        default:
-                            return null;
-                    }
-                }
+//                if (contractType.size()>0){
+//                    switch (contractType.get(0)){
+//                        case "1": //环境监测
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE4,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "2": //环境影响评价
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE3,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "3": //水土保持
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE2,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "4": //其他
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE1,TokenProvider.getCurrentToken());
+//                            break;
+//                        default:
+//                            return null;
+//                    }
+//                }
                 //判断合同类型是否有二级
                 if (contractType.size()>1){
                     sb.append(contractType.get(1)+",");
@@ -254,22 +254,22 @@ public class JyWorkContractService {
             StringBuffer sb = new StringBuffer();
             for (List<String> contractType : contractTypes) {
                 if (contractType.size()>0){
-                    switch (contractType.get(0)){
-                        case "1": //环境监测
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE4,TokenProvider.getCurrentToken());
-                            break;
-                        case "2": //环境影响评价
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE3,TokenProvider.getCurrentToken());
-                            break;
-                        case "3": //水土保持
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE2,TokenProvider.getCurrentToken());
-                            break;
-                        case "4": //其他
-                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE1,TokenProvider.getCurrentToken());
-                            break;
-                        default:
-                            return null;
-                    }
+//                    switch (contractType.get(0)){
+//                        case "1": //环境监测
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE4,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "2": //环境影响评价
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE3,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "3": //水土保持
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE2,TokenProvider.getCurrentToken());
+//                            break;
+//                        case "4": //其他
+//                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE1,TokenProvider.getCurrentToken());
+//                            break;
+//                        default:
+//                            return null;
+//                    }
                 }
                 //判断合同类型是否有二级
                 if (contractType.size()>1){
@@ -371,7 +371,7 @@ public class JyWorkContractService {
                     newList.add(info.getContractTypeFirst());
                     newList.add(s);
                     //将集合副本存入到集合中,在前端取值进行回显
-                    jyWorkContractInfos.add(count++,newList);
+                    jyWorkContractInfos.add(newList);
                 }
 
             }
@@ -557,7 +557,7 @@ public class JyWorkContractService {
      * @param workContractInfoDto
      * @return
      */
-    public String saveContract(JyWorkContractInfoDto workContractInfoDto) {
+    public String saveContract(JyWorkContractInfoDto workContractInfoDto) throws Exception {
         //获取当前登录人信息
         UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
         JyWorkContractInfo info = jyWorkContractInfoMapper.findById(workContractInfoDto.getId());
@@ -571,7 +571,35 @@ public class JyWorkContractService {
                 }
             }
         }
-        jyWorkContractInfoMapper.updateContractById(info.getUpdateById(),info.getUpdateTime(),workContractInfoDto.getFiledType(),info.getFiledNo(),workContractInfoDto.getId());
+        //审核同意时生成合同编号
+        String contractNo="";
+        if (workContractInfoDto.getFiledType().equals("5")){
+            //合同编号生成
+            List<List<String>> contractTypes = new ArrayList<>();
+            contractTypes = workContractInfoDto.getContractTypes();
+            for (List<String> contractType : contractTypes) {
+                if (contractType.size()>0){
+                    switch (contractType.get(0)){
+                        case "1": //环境监测
+                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE4,TokenProvider.getCurrentToken());
+                            break;
+                        case "2": //环境影响评价
+                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE3,TokenProvider.getCurrentToken());
+                            break;
+                        case "3": //水土保持
+                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE2,TokenProvider.getCurrentToken());
+                            break;
+                        case "4": //其他
+                            contractNo=SpringUtil.getBean ( IWorkAttachmentApi.class ).genSerialNum(userDTO.getCompanyDTO().getId(), JyWorkContractInfoDto.BIZ_CODE1,TokenProvider.getCurrentToken());
+                            break;
+                        default:
+                            return null;
+                    }
+                }
+            }
+
+        }
+        jyWorkContractInfoMapper.updateContractById(info.getUpdateById(),info.getUpdateTime(),workContractInfoDto.getFiledType(),info.getFiledNo(),contractNo,workContractInfoDto.getId());
         return workContractInfoDto.getId();
     }
 

+ 5 - 1
jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/jeeplus/domain/JyProjectReportsSubmitInfo.java

@@ -8,7 +8,11 @@ import lombok.Data;
 import java.util.Date;
 
 @Data
-public class JyProjectReportsSubmitInfo extends BaseEntity {
+public class JyProjectReportsSubmitInfoDTO {
+
+    private String id;
+
+    private String createById;
 
     private String procInsId;
 

+ 27 - 0
jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/jeeplus/domain/StaffHeirInfoDTO.java

@@ -0,0 +1,27 @@
+package com.jeeplus.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+import java.util.List;
+
+/*
+员工交接表
+ */
+@Data
+public class StaffHeirInfoDTO extends BaseEntity {
+
+    //交接人
+    private String heir;
+
+    private String status;                //流程状态
+    private String procInsId;
+    private String processDefinitionId;
+
+    private String taskId;
+
+    //离职id
+    private String dimissionId;
+
+}

+ 10 - 0
jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/feign/JyUserFeignApi.java

@@ -0,0 +1,10 @@
+package com.xxl.job.executor.feign;
+
+import com.jeeplus.common.constant.AppNameConstants;
+import com.jeeplus.flowable.feign.IJyUserApi;
+import com.jeeplus.flowable.feign.MonthlyApi;
+import org.springframework.cloud.openfeign.FeignClient;
+
+@FeignClient(contextId = "JyUserFeignApi", name = AppNameConstants.APP_JYPROJECT_MODULES)
+public interface JyUserFeignApi extends IJyUserApi {
+}

+ 30 - 18
jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

@@ -5,18 +5,13 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.jeeplus.domain.*;
 import com.jeeplus.flowable.feign.*;
-import com.jeeplus.sys.feign.IOfficeApi;
-import com.jeeplus.sys.feign.IPostApi;
 import com.jeeplus.sys.feign.IUserApi;
-import com.jeeplus.sys.service.dto.PostDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import com.xxl.job.core.context.XxlJobHelper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import com.xxl.job.executor.feign.*;
-import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -63,6 +58,23 @@ public class SampleXxlJob {
     }
 
     /**
+     * 将交接完成的员工账号进行冻结
+     */
+    @XxlJob("staffHeir")
+    public void getList(){
+        String list = SpringUtil.getBean(JyUserFeignApi.class).getList();
+        List<StaffHeirInfoDTO> staffUserInfoDTOS = JSON.parseObject(list, new TypeReference<List<StaffHeirInfoDTO>>() {});
+        for (StaffHeirInfoDTO staffUserInfoDTO : staffUserInfoDTOS) {
+            if ("5".equals(staffUserInfoDTO.getStatus())){
+                //将员工账号冻结
+                SpringUtil.getBean(JyUserFeignApi.class).updateUserById(staffUserInfoDTO.getCreateById(),"0");
+            }
+        }
+
+    }
+
+
+    /**
      * 嘉溢转正申请发送通知
      */
     @XxlJob("regularApply")
@@ -510,22 +522,22 @@ public class SampleXxlJob {
         System.out.println("进来了---");
         //获取报批签发逾期的数据
         String json = SpringUtil.getBean ( ReportsSubmitFeignApi.class ).findReportsSubmitListExccedTime();
-        List<JyProjectReportsSubmitInfo> jyProjectReportsSubmitInfos=JSON.parseObject(json,new TypeReference<List<JyProjectReportsSubmitInfo>>(){});
-        for (JyProjectReportsSubmitInfo jyProjectReportsSubmitInfo : jyProjectReportsSubmitInfos) {
+        List<JyProjectReportsSubmitInfoDTO> jyProjectReportsSubmitInfoDTOS =JSON.parseObject(json,new TypeReference<List<JyProjectReportsSubmitInfoDTO>>(){});
+        for (JyProjectReportsSubmitInfoDTO jyProjectReportsSubmitInfoDTO : jyProjectReportsSubmitInfoDTOS) {
             //修改报批签发状态
-            SpringUtil.getBean( IJyProjectApi.class).updateExceedTimeStatus(jyProjectReportsSubmitInfo.getId(),jyProjectReportsSubmitInfo.getStatus(),"1");
+            SpringUtil.getBean( JyProjectAuditFeignApi.class).updateExceedTimeStatus(jyProjectReportsSubmitInfoDTO.getId(), jyProjectReportsSubmitInfoDTO.getStatus(),"1");
         }
         //获取报批签发未逾期的数据
         String json1 = SpringUtil.getBean ( ReportsSubmitFeignApi.class ).findReportsSubmitListInTime();
-        List<JyProjectReportsSubmitInfo> jyProjectReportsSubmitInfoList=JSON.parseObject(json1,new TypeReference<List<JyProjectReportsSubmitInfo>>(){});
-        for (JyProjectReportsSubmitInfo jyProjectReportsSubmitInfo : jyProjectReportsSubmitInfoList) {
+        List<JyProjectReportsSubmitInfoDTO> jyProjectReportsSubmitInfoDTOList =JSON.parseObject(json1,new TypeReference<List<JyProjectReportsSubmitInfoDTO>>(){});
+        for (JyProjectReportsSubmitInfoDTO jyProjectReportsSubmitInfoDTO : jyProjectReportsSubmitInfoDTOList) {
             //对数据进行发送通知
             String taskName = null;
             String titleStr = null;
             //创建calendar对象
             Calendar instance = Calendar.getInstance();
             //将日期设置为用印修改时间
-            instance.setTime(jyProjectReportsSubmitInfo.getFirstSubmitTime());
+            instance.setTime(jyProjectReportsSubmitInfoDTO.getFirstSubmitTime());
             //往后推两周
             instance.add(Calendar.MONTH,2);
             //获取推送后的日期
@@ -535,17 +547,17 @@ public class SampleXxlJob {
             //如果当前时间小于首次发起报批签发两个月后的时间且在期限时间七天之内
             taskName = "嘉溢-报批签发";
             if(newDate.after(new Date()) && interval1 <= 7 && interval1 >=0){
-                titleStr = "项目【"+ jyProjectReportsSubmitInfo.getProjectName().substring(0,jyProjectReportsSubmitInfo.getProjectName().lastIndexOf(","))+"】还未完成,";
+                titleStr = "项目【"+ jyProjectReportsSubmitInfoDTO.getProjectName().substring(0, jyProjectReportsSubmitInfoDTO.getProjectName().lastIndexOf(","))+"】还未完成,";
                 titleStr = titleStr + "剩余:" + interval1 + "天。请尽快发起!";
             }else {
-                titleStr = "项目【"+ jyProjectReportsSubmitInfo.getProjectName().substring(0,jyProjectReportsSubmitInfo.getProjectName().lastIndexOf(","))+"】还未完成";
+                titleStr = "项目【"+ jyProjectReportsSubmitInfoDTO.getProjectName().substring(0, jyProjectReportsSubmitInfoDTO.getProjectName().lastIndexOf(","))+"】还未完成";
             }
 
             Set<String> noticeUserSet = new HashSet<String>();
             //发送通知
-            if(StringUtils.isNotBlank(jyProjectReportsSubmitInfo.getCreateById())){
+            if(StringUtils.isNotBlank(jyProjectReportsSubmitInfoDTO.getCreateById())){
 
-                String byIdForXXL = SpringUtil.getBean(IUserApi.class).getByIdForXXL(jyProjectReportsSubmitInfo.getCreateById());
+                String byIdForXXL = SpringUtil.getBean(IUserApi.class).getByIdForXXL(jyProjectReportsSubmitInfoDTO.getCreateById());
                 UserDTO createUser = JSON.parseObject(byIdForXXL, new TypeReference<UserDTO>() {});
                 if(null != createUser && StringUtils.isNotBlank(createUser.getId())){
                     noticeUserSet.add(createUser.getId());
@@ -560,9 +572,9 @@ public class SampleXxlJob {
                 myNotice.setUpdateTime(new Date());
                 myNotice.setDelFlag(0);
                 //根据procInsId获取taskId
-                String currentTask = SpringUtil.getBean(IFlowableApi.class).getTaskIdByprocInstId(jyProjectReportsSubmitInfo.getProcInsId());
+                String currentTask = SpringUtil.getBean(IFlowableApi.class).getTaskIdByprocInstId(jyProjectReportsSubmitInfoDTO.getProcInsId());
                 myNotice.setTaskId(currentTask);
-                myNotice.setDefId(jyProjectReportsSubmitInfo.getProcessDefinitionId());
+                myNotice.setDefId(jyProjectReportsSubmitInfoDTO.getProcessDefinitionId());
                 myNotice.setTitle(titleStr);
                 myNotice.setTaskName(taskName);
                 myNotice.setLink("结束");
@@ -572,7 +584,7 @@ public class SampleXxlJob {
 
                 for (String noticeUserId : noticeUserList) {
                     myNotice.setNoticeId(noticeUserId);
-                    String byIdForXXL = SpringUtil.getBean(IUserApi.class).getByIdForXXL(jyProjectReportsSubmitInfo.getCreateById());
+                    String byIdForXXL = SpringUtil.getBean(IUserApi.class).getByIdForXXL(jyProjectReportsSubmitInfoDTO.getCreateById());
                     UserDTO createUser = JSON.parseObject(byIdForXXL, new TypeReference<UserDTO>() {});
                     myNotice.setNoticeName(createUser.getName());
                     //根据taskName和通知人 查询重复数量