Browse Source

优化代码

ai_dev
zhouhaibin 4 months ago
parent
commit
6718761be2
  1. 6264
      db/easy-vben.sql
  2. 101
      easy-api/src/main/resources/application-CCtest.yml
  3. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java
  4. 11
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java
  5. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectinfoMapper.xml
  6. 3
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/WorkflowMapper.xml
  7. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java
  8. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  9. 29
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  10. 119
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
  11. 28
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/WorkflowServiceImpl.java
  12. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageByRefromOV.java

6264
db/easy-vben.sql

File diff suppressed because one or more lines are too long

101
easy-api/src/main/resources/application-CCtest.yml

@ -0,0 +1,101 @@
project:
# 项目访问url
url: http://127.0.0.1
# 前端访问url
front-end-url: http://localhost:3100
# 文件上传路径(不要写以~开头的路径会导致无法访问)
file-upload-path: /Users/guoyan/development/easy-vben
node: 127.0.0.1:${server.port}
springdoc:
api-docs:
#是否开启文档功能
enabled: true
#包扫描路径
packagesToScan: com.easy.admin
server:
# 端口号
port: 8001
logging:
file:
path: logs
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
elasticsearch:
rest:
# 连接超时时间
connection-timeout: 1s
username:
password:
# 读取超时时间
read-timeout: 30s
# es rest 接口地址,多个用逗号隔开
uris: ${ES_HOST:127.0.0.1}:${ES_PORT:9200}
# Redis
redis:
# 数据库索引(默认为0)
database: 9
# 服务器地址
host: 127.0.0.1
# 服务器连接端口
port: 6379
# 服务器连接密码(默认为空)
password: root
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 连接池中的最大空闲连接
max-idle: 8
# 连接池中的最小空闲连接
min-idle: 0
# 连接超时时间 单位: 秒
timeout: 10
# 默认的数据过期时间 30 分钟 单位: 秒
expire: 1800
datasource:
dynamic:
datasource:
master:
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:guoyan_projectMG}?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMulQueries=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullDatabaseMeansCurrent=true&useInformationSchema=true
username: ${DB_USERNAME:root}
password: ${DB_PASSWORD:root}
aj:
captcha:
# 滑动验证,底图路径,不配置将使用默认图片
jigsaw: classpath:images/verification
async:
executor:
thread:
# 配置核心线程数
core-pool-size: 5
# 配置最大线程数
max-pool-size: 5
# 配置队列大小
queue-capacity: 999
# 配置线程池中的线程的名称前缀
name-prefix: async-
# 配置线程最大空闲时间 s
keep-alive-seconds: 30
jeecg:
uploadType: local
path:
#文件上传根目录 设置
upload: /opt/guoyan/upload
#webapp文件路径
webapp: /opt/guoyan/webapp
file:
storage:
# 文件存储方式:local - 本地存储 / oss - 对象存储
# type: oss
type: local
# 文件存放(local - 默认文件夹名称 / oss - 默认bucket名称),命名规范:只能包括小写字母、数字和短划线(-);必须以小写字母或者数字开头和结尾;长度为3~63个字符。
default-bucket: easy-default
# local - 本地存储
local:
# 用于存放上传的文件、临时文件等,以目录分隔符结尾(不要写以~开头的路径会导致无法访问)
path: /Users/guoyan/development/easy-vben/

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlanController.java

@ -4,6 +4,7 @@ package com.easy.admin.modules.huzhou.controller;
import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -180,7 +181,6 @@ public class HuzhouPlanController {
/**
* 获取项目计划的树形结构List
* @param projectid 项目id
* @param isArchive 是否已归档
* @param pageNo 页码
* @param pageSize 页数
* @return 返回值

11
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java

@ -19,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
@ -289,6 +290,11 @@ public class HuzhouProjectController {
CountNumberOV result = projectinfoService.countSupportingNumber();
return Result.ok(result);
}
@GetMapping("/getStopNumber")
public Result<?> getStopNumber(){
CountNumberOV result = projectinfoService.countStopNumber();
return Result.ok(result);
}
@GetMapping("/getStoragedFound")
public Result<?> getStoragedFound(){
FundByTypeOV result = projectinfoService.countStoragedFound();
@ -369,4 +375,9 @@ public class HuzhouProjectController {
projectinfoService.updateSortByImportFile(file);
return Result.ok("更新成功");
}
@GetMapping("/getUrtTaskStatusNum")
public Result<HashMap<String, Object>> getUrtTaskStatusNum(HuzhouProjectinfoOV projectinfo){
HashMap<String, Object> result = projectinfoService.getUrtTaskStatusNum(projectinfo);
return Result.ok(result);
}
}

10
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectinfoMapper.xml

@ -157,6 +157,7 @@
<if test="info.stage!=null and info.stage!=''">
and u.stage &gt;= #{info.stage}
</if>
and u.id !='1783670295161462785'
</where>
order by create_date desc
</select>
@ -197,6 +198,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and u.id !='1783670295161462785'
</where>
order by u.create_date desc
</select>
@ -233,6 +235,7 @@ order by create_date desc
<if test="info.stage!=null and info.stage!=''">
and u.stage &gt;= #{info.stage}
</if>
and u.id !='1783670295161462785'
<choose>
<when test="stageList!=null">
and u.stage in
@ -278,6 +281,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and id !='1783670295161462785'
</where>
group by duty_workplace,admin_division,workplace_properties,super_leader
order by ${orderBy} ${orderDir}
@ -307,6 +311,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and id !='1783670295161462785'
</where>
group by duty_workplace,admin_division,workplace_properties,super_leader
</select>
@ -335,6 +340,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and id !='1783670295161462785'
</where>
order by ${orderBy} ${orderDir}
</select>
@ -363,6 +369,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and id !='1783670295161462785'
</where>
</select>
<select id="getListByCondition" resultMap="HuzhouProjectinfoMap">
@ -422,6 +429,7 @@ order by create_date desc
<if test="info.type!=null and info.type!=''">
and type = #{info.type}
</if>
and u.id !='1783670295161462785'
</where>
</select>
<select id="getUnitedTechnicalReviewList" resultMap="HuzhouProjectinfoMap">
@ -545,7 +553,7 @@ order by create_date desc
</select>
<select id="getTaskNames" resultType="java.lang.String" >
select distinct(ta.name_) from act_ru_task ta where ta.execution_id_ in
(select ex.id_ from act_ru_execution ex where ex.proc_inst_id_=(select pro.processInstanceId from huzhou_processinfo pro where pro.projectId=#{planId}))
(select ex.id_ from act_ru_execution ex where ex.proc_inst_id_=(select pro.processInstanceId from huzhou_processinfo pro where pro.projectId=#{planId} and pro.processstatus!=0))
</select>
</mapper>

3
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/WorkflowMapper.xml

@ -48,6 +48,8 @@
(SELECT DISTINCT sd.name from sys_dict sd where sd.dict_type="superLeader" and sd.code =super_leader ))) as phone
FROM
huzhou_projectinfo
where
super_leader !=9
GROUP BY
super_leader,
reform_name
@ -87,7 +89,6 @@
sys_user su ON sur.user_id = su.id
WHERE
sr.code IN (
"manageOrg",
"市财政局",
"市发展改革委",
"市数据局",

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java

@ -9,6 +9,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -209,5 +210,8 @@ public interface IHuzhouProjectinfoService extends IService<HuzhouProjectinfo> {
void updateSortByImportFile (MultipartFile file) throws Exception;
HashMap<String, Object> getUrtTaskStatusNum(HuzhouProjectinfoOV projectinfom);
CountNumberOV countStopNumber();
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java

@ -609,8 +609,8 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
@Override
public IPage<HuzhouProjectinfoOV> projectPlanPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize, String newStage) {
// runtimeService.deleteProcessInstance("371898","停止流程");
// runtimeService.deleteProcessInstance("371950","停止流程");
// runtimeService.deleteProcessInstance("454855","停止流程");
// runtimeService.deleteProcessInstance("423634","停止流程");
// runtimeService.deleteProcessInstance("415628","停止流程");
// runtimeService.deleteProcessInstance("415680","停止流程");

29
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

@ -18,8 +18,7 @@ import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfofileMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMoneyMapper;
import com.easy.admin.modules.huzhou.entity.*;
import com.easy.admin.modules.huzhou.service.*;
import com.easy.admin.modules.huzhou.vo.HuzhouMergesplitinfoVo;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import com.fasterxml.jackson.core.type.TypeReference;
@ -218,9 +217,25 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
// planinfoService.updateById(huzhouPlaninfo);
// }
if(Arrays.asList(names).contains(taskName)||existsContractinfo){
WorkFlow workFlow = workflowService.createFlow("createPlaninfoFile",planinfoid);
Task task = workFlow.getTask();
// if(Arrays.asList(names).contains(taskName)||existsContractinfo){
if(Arrays.asList(names).contains(taskName)||existsContractinfo){
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("chuBuSheJiShenPi","初步设计审批");
hashMap.put("zhongYanJieDuan","终验阶段");
hashMap.put("chuYanJieDuan","初验阶段");
hashMap.put("shouFuZhiFu","首付支付");
hashMap.put("heTongQianDing","合同签订");
// 假设比较的值是来自外部输入,命名为 value
String key = null;
// 遍历 HashMap 查找匹配的 key
for (Map.Entry<String, String> entry : hashMap.entrySet()) {
if (entry.getValue().equals(taskName)) {
key = entry.getKey();
break; // 找到后可以跳出循环
}
}
WorkFlow workFlow = workflowService.createFlow(key,planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
String processInstanceId = workFlow.getProcessInstanceId();
Map<String, Object> variables = new HashMap<>();
@ -306,7 +321,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
huzhouPlaninfo1.setActualEndTime(new Date());
planinfoService.updateById(huzhouPlaninfo1);
} else if ("可研报告稿编制".equals(taskName)) {
} else if ("可研报告送审稿编制".equals(taskName)) {
//finalFeasibilityReportDraft
WorkFlow workFlow = workflowService.createFlow("finalFeasibilityReportDraft",planinfoid);
Task task = workFlow.getTask();
@ -451,7 +466,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
if(processInstance==null&&"1".equals(flag)){
HuzhouPlaninfo byId = planinfoService.getById(planinfoid);
String taskName = StrUtil.trim(byId.getTaskName());
if("可研报告稿编制".equals(taskName)){
if("可研报告送审稿编制".equals(taskName)){
//查询是否已有完成的流程。有两个以上
queryWrapper.clear();
queryWrapper.eq(HuzhouProcessinfo::getProjectid,planinfoid);

119
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -43,6 +44,7 @@ import java.io.InputStream;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
@ -97,6 +99,8 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
@Autowired
HuzhouPlaninfoMapper planinfoMapper;
@Autowired
private SysUserService userService;
@Override
@ -511,6 +515,49 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
@Override
public Object queryProjectInfoById(String id) {
// LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(HuzhouPlaninfo::getProjectId,id);
// wrapper.eq(HuzhouPlaninfo::getTaskName,"造价评估报告确认");
// List<HuzhouPlaninfo> list = planinfoService.list(wrapper);
// if(list.size()==0){
// throw new EasyException("未找到造价评估报告确认阶段");
// }
// HuzhouPlaninfo planinfo1 = list.get(0);
// HuzhouProjectinfo huzhouProjectinfo = projectinfoMapper.selectById(id);
// String superLeader = "";
// //如果项目信息为空说明是子项目
// if(huzhouProjectinfo==null){
// HuzhouSubProjectinfo byId1 = subProjectinfoService.getById(id);
// superLeader = byId1.getSuperLeader();
// }else {
// superLeader=huzhouProjectinfo.getSuperLeader();
// }
// SysDict dict = sysDictService.getDictByCode("superLeader", superLeader);
// String dictName = dict.getName();
// //上级指导室中文名称查询角色有哪些人
// List<HashMap<String, String>> userDictByRoles = userService.getUserDictByRoles(dictName);
// ArrayList<String> strings = new ArrayList<>();
// if(userDictByRoles==null||userDictByRoles.size()==0){
// String error = "任务牵头处室"+dictName+"负责人未找到";
// throw new EasyException(error);
// }
// for (HashMap<String, String> map:userDictByRoles
// ) {
// String userid = map.get("value");
// strings.add(userid);
// }
// //启动流程
// WorkFlow workFlow1 = workflowService.createFlow("costEvalReportConfirm",planinfo1.getId());
// String processInstanceId = workFlow1.getProcessInstanceId();
// runtimeService.setVariable(processInstanceId, "startP", planinfo1.getCreateUser());//设置第四个人变量信息
// runtimeService.setVariable(processInstanceId, "taskLeadingDepartment", strings.get(0));//设置第四个人变量信息
// //修改可研技术审查报告确认节点id
// HuzhouPlaninfo huzhouPlaninfo1 = new HuzhouPlaninfo();
// huzhouPlaninfo1.setId(planinfo1.getId());
// huzhouPlaninfo1.setIsfinish("1");
// huzhouPlaninfo1.setActualStartTime(new Date());
// huzhouPlaninfo1.setActualEndTime(new Date());
// planinfoService.updateById(huzhouPlaninfo1);
HuzhouProjectinfo projectinfo = getById(id);
//projectinfo为空说明是子项目
if (null == projectinfo) {
@ -1153,7 +1200,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
public CountBoardOV showCountBoard() {
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
//只要入库项目
// projectInfo.setStage("0");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
List<HuzhouProjectinfoOV> rkList = projectinfoOVList.stream().filter(x -> Objects.equals(x.getType(), "1")).collect(Collectors.toList());
@ -1166,10 +1213,10 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
int ptNum=0;
int rkNum=0;
if(numByType.get("1")!=null){
ptNum=numByType.get("1").getNum();
rkNum=numByType.get("1").getNum();
}
if(numByType.get("2")!=null){
rkNum=numByType.get("2").getNum();
ptNum=numByType.get("2").getNum();
}
CountBoardOV result = CountBoardOV.builder().total(String.valueOf(total)).ptNum(String.valueOf(ptNum)).rkNum(String.valueOf(rkNum)).build();
//项目总进度
@ -1268,7 +1315,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
int countryNum = 0;
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect).stream().filter(x->!x.getStage().equals("-1")).collect(Collectors.toList());
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
if(projectinfoOVList.size()>0){
total=projectinfoOVList.size();
cityNum=projectinfoOVList.stream().filter(x->x.getAdminDivision().equals("市本级")).collect(Collectors.toList()).size();
@ -1295,6 +1342,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
//入库项目:1,配套项目:2
projectInfo.setType(type);
projectInfo.setStage("0");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect).stream().filter(x->!x.getStage().equals("-1")).collect(Collectors.toList());
if(projectinfoOVList.size()>0){
@ -1519,6 +1567,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
stageMap.put("5","项目验收阶段");//验收
//只要入库项目
projectInfo.setType("1");
projectInfo.setStage("0");
projectInfo.setDutyWorkplace(projectInfo.getDutyWorkplace());
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
Page page = new Page(1, 10000);
@ -1857,6 +1906,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
stageMap.put("5",0);//验收
//只要入库项目
projectInfo.setType("1");
projectInfo.setStage("0");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
Page page = new Page(1, 10000);
List<HuzhouProjectinfoOV> projectAndChildInfoList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect).getRecords();
@ -1910,6 +1960,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
valueMap.put("4","");//绩效
valueMap.put("5","");//验收
projectInfo.setDutyWorkplace(projectInfo.getDutyWorkplace());
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
Page page = new Page(1, 10000);
Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect);
@ -2143,7 +2194,20 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
countStageByRefromOV.setReviewNum(String.valueOf(reviewNum));
countStageByRefromOV.setVerifyNum(String.valueOf(verifyNum));
countStageByRefromOV.setApprovalNum(String.valueOf(approvalNum));
//查询已关闭的数量
LambdaQueryWrapper<HuzhouProjectinfo> query=new LambdaQueryWrapper<>();
query.eq(HuzhouProjectinfo::getReformName,value.get(0).getReformName());
query.eq(HuzhouProjectinfo::getSuperLeader,value.get(0).getSuperLeader());
// query.ne(HuzhouProjectinfo::getType, "1").or().eq(HuzhouProjectinfo::getStage, -1);
query.and((wrapper)->{
wrapper.ne(HuzhouProjectinfo::getType,"1")
.or().eq(HuzhouProjectinfo::getStage,"-1");
});
// query.ge(HuzhouProjectinfo::getCreateDate, LocalDateTime.of(2024, 10, 1, 0, 0));
int size = projectinfoMapper.selectList(query).size();
countStageByRefromOV.setCloseNum(Integer.toString(size));
re.add(countStageByRefromOV);
}
//手动分页
int fromIndex = (pageNo - 1) * pageSize;
@ -2217,4 +2281,51 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
}
}
@Override
public HashMap<String, Object> getUrtTaskStatusNum(HuzhouProjectinfoOV projectinfo) {
//只要入库项目
projectinfo.setType("1");
projectinfo.setStage("0");
Page page = new Page(1, 10000);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectAndChildInfoPage = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect);
List<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectAndChildInfoPage.getRecords();
HashMap<String, Object> stringObjectHashMap = new HashMap<>();
stringObjectHashMap.put("totalNum", projectAndChildInfoPage.getTotal());
LambdaQueryWrapper<HuzhouPlaninfo> huzhouPlaninfoQueryWrapper = new LambdaQueryWrapper<>();
huzhouPlaninfoQueryWrapper.eq(HuzhouPlaninfo::getTaskName, "联合技术审查");
huzhouPlaninfoQueryWrapper.in(HuzhouPlaninfo::getProjectId, projectAndChildInfoPageList.stream().map(x -> x.getId()).collect(Collectors.toList()));
List<HuzhouPlaninfo> huzhouPlaninfoList = planinfoMapper.selectList(huzhouPlaninfoQueryWrapper);
//获取未完成,已完成,审批中的数量
long unfinishedNum = huzhouPlaninfoList.stream().filter(x -> x.getIsfinish().equals("0")).collect(Collectors.toList()).size();
long finishedNum = huzhouPlaninfoList.stream().filter(x -> x.getIsfinish().equals("2")).collect(Collectors.toList()).size();
long approvalNum = huzhouPlaninfoList.stream().filter(x -> x.getIsfinish().equals("1")).collect(Collectors.toList()).size();
unfinishedNum=projectAndChildInfoPage.getTotal()-finishedNum-approvalNum;//部分项目未开始项目计划
stringObjectHashMap.put("unfinishedNum", unfinishedNum);
stringObjectHashMap.put("finishedNum", finishedNum);
stringObjectHashMap.put("approvalNum", approvalNum);
return stringObjectHashMap;
}
@Override
public CountNumberOV countStopNumber() {
int total=0;
int cityNum=0;
int countryNum=0;
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
projectInfo.setStage("-1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
List<HuzhouProjectinfoOV> projectinfoOVList = projectinfoMapper.getProjectAndChildInfoPageList(projectInfoAuthSelect);
if(projectinfoOVList.size()>0){
total=projectinfoOVList.stream().filter(x->x.getStage().equals("-1")).collect(Collectors.toList()).size();
}
CountNumberOV result=new CountNumberOV();
result.setTotal(total);
result.setCityNum(cityNum);
result.setCountyNum(countryNum);
return result;
}
}

28
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/WorkflowServiceImpl.java

@ -749,10 +749,10 @@ public class WorkflowServiceImpl implements IWorkflowService {
ArrayList<UrtsituationOV> arrayList = new ArrayList<>();
com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page(pageNo, pageSize);
projectInfo.setStage("0");
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
com.baomidou.mybatisplus.extension.plugins.pagination.Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page, projectInfoAuthSelect);
for (HuzhouProjectinfoOV item :
projectAndChildInfoPageList.getRecords()) {
for (HuzhouProjectinfoOV item : projectAndChildInfoPageList.getRecords()) {
UrtsituationOV urtsituationOV = new UrtsituationOV();
String id = item.getId();
LambdaQueryWrapper<HuzhouPlaninfo> huzhouPlaninfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
@ -773,12 +773,21 @@ public class WorkflowServiceImpl implements IWorkflowService {
HashMap<String, String> hashMap = new HashMap<>();
for (HistoricTaskInstance activityInstance :
history) {
String approvalSuggestion="";
List<Comment> taskComments = taskService.getTaskComments(activityInstance.getId());
if (taskComments != null && !taskComments.isEmpty()) {
approvalSuggestion = taskComments.get(0).getFullMessage();
//审批建议
// String approvalSuggestion="";
// List<Comment> taskComments = taskService.getTaskComments(activityInstance.getId());
// if (taskComments != null && !taskComments.isEmpty()) {
// approvalSuggestion = taskComments.get(0).getFullMessage();
// }
// hashMap.put(activityInstance.getName(), approvalSuggestion);
List<HistoricVariableInstance> variablelist = historyService.createHistoricVariableInstanceQuery()
.taskId(activityInstance.getId())
.list();
if (variablelist.size()>0) {
for (HistoricVariableInstance hisvar:variablelist) {
hashMap.put(activityInstance.getName(),hisvar.getValue().toString());//approvalStatue
}
}
hashMap.put(activityInstance.getName(), approvalSuggestion);
}
urtsituationOV.setProjectName(item.getProjectName());
urtsituationOV.setSczj(hashMap.get("市财政局"));
@ -794,6 +803,9 @@ public class WorkflowServiceImpl implements IWorkflowService {
urtsituationOV.setPlaninfoid(planId);
}else{
urtsituationOV.setProjectName(item.getProjectName());
urtsituationOV.setIsfinish(huzhouPlaninfos.get(0).getIsfinish());
urtsituationOV.setId(id);
urtsituationOV.setPlaninfoid(planId);
}
}else {
urtsituationOV.setProjectName(item.getProjectName());
@ -841,7 +853,7 @@ public class WorkflowServiceImpl implements IWorkflowService {
if(unApprovedDays!=null&&unApprovedDays.size()>0){
item.setUnapprovedCount(unApprovedDays.stream().count());
item.setUnapprovedCount2d(unApprovedDays.stream().filter(count -> count==2).count());
item.setUnapprovedCount3d(unApprovedDays.stream().filter(count -> count==3).count());
item.setUnapprovedCount3d(unApprovedDays.stream().filter(count -> count>=3).count());
item.setUnapprovedCount5d(unApprovedDays.stream().filter(count -> count==5).count());
item.setUnapprovedCountOver5d(unApprovedDays.stream().filter(count -> count>5).count());
}else{

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/CountStageByRefromOV.java

@ -26,7 +26,7 @@ public class CountStageByRefromOV {
private String verifyNum;
private String approvalNum;
private String closeNum;

Loading…
Cancel
Save