Browse Source

更新优化

changchun
zhouhaibin 10 months ago
parent
commit
a1dc493577
  1. 6
      easy-activiti/src/main/java/com/easy/admin/activiti/service/impl/ActivitiProcessDefinitionServiceImpl.java
  2. 2
      easy-api/src/main/resources/application-prod.yml
  3. 8
      easy-api/src/main/resources/application-test.yml
  4. 6
      easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml
  5. 1
      easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserPersonalCenterServiceImpl.java
  6. 1
      easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java
  7. 90
      huzhou/src/main/java/com/easy/admin/common/util/CommonUtils.java
  8. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java
  9. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java
  10. 8
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectassessmentController.java
  11. 1
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouUploadfileinfoController.java
  12. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouFieldchangehistoryMapper.java
  13. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoHistoryMapper.java
  14. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java
  15. 3
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouUserprojectMapper.java
  16. 80
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
  17. 71
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouFieldchangehistoryMapper.xml
  18. 33
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoHistoryMapper.xml
  19. 7
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoMapper.xml
  20. 41
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectassessmentMapper.xml
  21. 67
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectinfoMapper.xml
  22. 60
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouUserprojectMapper.xml
  23. 42
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouWorkreportMapper.xml
  24. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPerformancescore.java
  25. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectassessment.java
  26. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfofileService.java
  27. 1
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProcessinfoService.java
  28. 3
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectassessmentService.java
  29. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java
  30. 9
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java
  31. 18
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java
  32. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPerformancescoreServiceImpl.java
  33. 19
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoHistoryServiceImpl.java
  34. 130
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoServiceImpl.java
  35. 77
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java
  36. 12
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProcessinfoServiceImpl.java
  37. 270
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectassessmentService.java
  38. 36
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
  39. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouRegulationlabServiceImpl.java
  40. 13
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java
  41. 46
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUserprojectServiceImpl.java
  42. 13
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouWorkreportServiceImpl.java
  43. 15
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/ProjectInfoAuthSelect.java
  44. BIN
      huzhou/src/main/resources/excelTemplate/项目入库导出模板.xlsx
  45. BIN
      huzhou/src/main/resources/excelTemplate/项目入库模板.xlsx
  46. BIN
      huzhou/src/main/resources/excelTemplate/项目计划模板.xlsx

6
easy-activiti/src/main/java/com/easy/admin/activiti/service/impl/ActivitiProcessDefinitionServiceImpl.java

@ -210,11 +210,11 @@ public class ActivitiProcessDefinitionServiceImpl extends ServiceImpl<ActivitiPr
// 流程发起人所在部门ID
variables.put(ActivitiVariableConst.DEPT_ID, currentUser.getDeptId());
// 流程发起人所在部门type code
variables.put(ActivitiVariableConst.DEPT_TYPE_CODE, currentUser.getDept().getTypeCode());
// variables.put(ActivitiVariableConst.DEPT_TYPE_CODE, currentUser.getDept().getTypeCode());
// 流程发起人所在部门type 名称
variables.put(ActivitiVariableConst.DEPT_TYPE_NAME, currentUser.getDept().getTypeName());
// variables.put(ActivitiVariableConst.DEPT_TYPE_NAME, currentUser.getDept().getTypeName());
// 流程发起人所在部门名称
variables.put(ActivitiVariableConst.DEPT_NAME, currentUser.getDept().getName());
// variables.put(ActivitiVariableConst.DEPT_NAME, currentUser.getDept().getName());
// 流程发起人所属角色 eg: role1,role2,role3
variables.put(ActivitiVariableConst.USER_ROLE_CODES, ArrayUtil.join(roleCodeList.toArray(), CommonConst.SPLIT));
// 设置角色快速判断参数,如isRole1、isRole2等,如果角色标识使用:隔开,则改为驼峰命名 eg: sys:admin => isSysAdmin

2
easy-api/src/main/resources/application-prod.yml

@ -42,7 +42,7 @@ spring:
# 服务器连接端口
port: 6379
# 服务器连接密码(默认为空)
password: 1q2wE$R1qaz@WSX
password: 1qaz@WSX1q2w#E$R
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)

8
easy-api/src/main/resources/application-test.yml

@ -15,7 +15,7 @@ springdoc:
packagesToScan: com.easy.admin
server:
# 端口号
port: 9004
port: 9001
logging:
file:
path: logs
@ -61,7 +61,7 @@ spring:
dynamic:
datasource:
master:
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:guoyan_test}?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMulQueries=true&allowMultiQueries=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullDatabaseMeansCurrent=true&useInformationSchema=true
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:guoyan_huzhou}?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:1q2w#E$R1qaz@WSX}
aj:
@ -85,9 +85,9 @@ jeecg:
uploadType: local
path:
#文件上传根目录 设置
upload: /opt/guoyantest/upload
upload: /opt/guoyan/upload
#webapp文件路径
webapp: /opt/guoyantest/webapp
webapp: /opt/guoyan/webapp
file:
storage:
# 文件存储方式:local - 本地存储 / oss - 对象存储

6
easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml

@ -22,6 +22,7 @@
<result column="create_date" property="createDate"/>
<result column="edit_user" property="editUser"/>
<result column="edit_date" property="editDate"/>
<result column="workplace" property="workplace"/>
</resultMap>
<update id="updateUserStatus">
update sys_user set status = #{status}
@ -61,8 +62,9 @@
</where>
</select>
<select id="getById" resultType="com.easy.admin.auth.model.SysUser">
select t.id, t.dept_id, t.post_id, t.nickname, t.username, t.sex, t.email, t.phone_number, t.birthday, t.version, t.status, t.source, t.tenant_id
from sys_user t
select t.id, t.dept_id, t.post_id, t.nickname, t.username, t.sex, t.email, t.phone_number, t.birthday, t.version, t.status, t.source, t.tenant_id,
t.workplace
from sys_user t
where t.id = #{id}
</select>
<select id="selectRoles" resultType="java.lang.String">

1
easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserPersonalCenterServiceImpl.java

@ -119,6 +119,7 @@ public class SysUserPersonalCenterServiceImpl implements SysUserPersonalCenterSe
currentUser.setNickname(sysUser.getNickname());
currentUser.setSex(sysUser.getSex());
currentUser.setBirthday(sysUser.getBirthday());
currentUser.setWorkplace(sysUser.getWorkplace());
ShiroUtil.setCurrentUser(currentUser);
if (sysUser.getAvatar() != null) {
saveUserAvatar(sysUser.getAvatar());

1
easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java

@ -309,6 +309,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
SysUser sysUser = ShiroUtil.getCurrentUser();
sysUser.setPassword(null);
sysUser.setSalt(null);
sysUser = baseMapper.getById(sysUser.getId());
// 如果没有授权,从数据库查询权限
if (sysUser.getPermissionList() == null) {
// 设置角色

90
huzhou/src/main/java/com/easy/admin/common/util/CommonUtils.java

@ -3,19 +3,36 @@ package com.easy.admin.common.util;
import com.easy.admin.auth.model.SysRole;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.auth.service.SysRoleService;
import com.easy.admin.auth.service.impl.SysRoleServiceImpl;
import com.easy.admin.common.core.common.select.Select;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.service.SysDictService;
import com.easy.admin.sys.service.impl.SysDictServiceImpl;
import com.easy.admin.util.ShiroUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @Description: 通用工具
* @author: jeecg-boot
*/
@Slf4j
@Component
public class CommonUtils {
/**
@ -28,12 +45,21 @@ public class CommonUtils {
* 文件名支持的字符串字母数字中文.-_() 除此之外的字符将被删除
*/
private static String FILE_NAME_REGEX = "[^A-Za-z\\.\\(\\)\\-()\\_0-9\\u4e00-\\u9fa5]";
@Autowired
private SysDictService dictService;
private static CommonUtils commonUtil;
@PostConstruct
public void init(){
commonUtil=this;
commonUtil.dictService = this.dictService;
}
/**
* 判断文件名是否带盘符重新处理
* @param fileName
* @return
*
*/
public static String getFileName(String fileName){
//判断是否带有盘符信息
@ -80,25 +106,69 @@ public class CommonUtils {
* @param projectinfo
* @return
*/
public static HuzhouProjectinfo setGetProjectInfoAuth(HuzhouProjectinfo projectinfo) {
public static ProjectInfoAuthSelect setGetProjectInfoAuth(HuzhouProjectinfo projectinfo) {
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
String roles = "";
String rolesCode = "";
String roleNames = "";
ProjectInfoAuthSelect projectInfoAuthSelect = new ProjectInfoAuthSelect();
BeanUtils.copyProperties(projectinfo,projectInfoAuthSelect);
for (SysRole role : roleList
) {
roles = role.getCode() + "," + roles;
rolesCode = role.getCode() + "," + rolesCode;
roleNames=role.getName()+","+roleNames;
}
//超级管理员和项目管理单位查看所有项目
if (roles.contains("manageOrg") || roles.contains("sys:admin")) {
if (rolesCode.contains("manageOrg") || rolesCode.contains("sys:admin")) {
} else if (roles.contains("supervisor")) {
//监管单位
projectinfo.setSupervisorContactor(currentUser.getId());
} else {
//其他人员查看自己有关的项目
projectinfo.setProjectContacts(currentUser.getId());
if (roleNames.contains("任务牵头处室")){
List<String> list = new ArrayList<String>();
for (SysRole role : roleList
) {
if(role.getName().contains("任务牵头处室")){
List<Select> superLeader = commonUtil.dictService.selectByDictType("superLeader").stream().filter(item -> role.getCode().equals(item.getLabel())).collect(Collectors.toList());
String value = superLeader.get(0).getValue();
list.add(value);
}
}
if(list.size()>0){
projectInfoAuthSelect.setSuperLeaderList(list);
}
projectinfo.setSupervisorContactor(currentUser.getId());
}else if(roleNames.contains("信息化保障团队")) {
List<String> list = new ArrayList<String>();
for (SysRole role : roleList
) {
if(role.getName().contains("信息化保障团队")){
String roleCode = role.getCode();
list.add(roleCode);
if(roleCode.equals("吴兴区")){
projectInfoAuthSelect.setOrDutyPlace("湖州市中心医院");
}else if(roleCode.equals("南浔区")){
projectInfoAuthSelect.setOrDutyPlace("湖州市第一人民医院");
}else if(roleCode.equals("长兴县")){
projectInfoAuthSelect.setOrDutyPlace("湖州市中医院");
}else if(roleCode.equals("德清县")){
projectInfoAuthSelect.setOrDutyPlace("湖州市第三人民医院");
}else if(roleCode.equals("安吉县")){
projectInfoAuthSelect.setOrDutyPlace("湖州市妇幼保健院");
}else {
String[] noin = {"湖州市中心医院","湖州市第一人民医院","湖州市中医院","湖州市第三人民医院","湖州市妇幼保健院"};
projectInfoAuthSelect.setNotorDutyPlace(Arrays.asList(noin));
}
}
}
if(list.size()>0){
projectInfoAuthSelect.setAdminDivisionList(list);
}
}else{
//其他人员查看自己有关的项目
projectInfoAuthSelect.setProjectContacts(currentUser.getId());
}
}
return projectinfo;
return projectInfoAuthSelect;
}
}

5
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPlaninfofileController.java

@ -84,4 +84,9 @@ public class HuzhouPlaninfofileController {
Map<String, String> planFileApprovalInfoByPlaninfoId = planinfoService.getPlanFileApprovalInfoByPlaninfoId(planinfoid);
return Result.ok(planFileApprovalInfoByPlaninfoId);
}
@GetMapping("/getProcessName")
public Result<String> getProcessName(String pid){
String processName = planinfofileService.getProcessName(pid);
return Result.ok(processName);
}
}

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

@ -19,6 +19,11 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
@RestController
@ -35,8 +40,8 @@ public class HuzhouProjectController {
* @return 返回值
*/
@PostMapping("/submitProject")
public Result<String> submitProject(@RequestBody HuzhouProjectinfo info){
projectinfoService.submitProject(info);
public Result<String> submitProject(@RequestParam(value = "file") MultipartFile[] multipartFile, HuzhouProjectinfo info) throws IOException {
projectinfoService.submitProject(multipartFile,info);
return Result.ok("项目入库申请已发起成功");
}
@ -104,6 +109,7 @@ public class HuzhouProjectController {
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
projectinfo.setStage(projectinfo.getStage());
IPage<HuzhouProjectinfoOV> pageList = projectinfoService.getProjectInfoAndChildPageList(projectinfo, pageNo, pageSize);
return pageList;
}

8
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectassessmentController.java

@ -1,7 +1,9 @@
package com.easy.admin.modules.huzhou.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.common.core.annotation.ResponseResult;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectassessment;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectassessmentService;
@ -18,6 +20,12 @@ import java.util.List;
public class HuzhouProjectassessmentController {
@Autowired
private IHuzhouProjectassessmentService projectassessmentService;
//新增项目考核查询内容,包含系统评分
@GetMapping("/getProjectassessmentIncludeSys")
public List<HuzhouProjectassessment> getPerformancescore(String type,String projectId){
List<HuzhouProjectassessment> list = projectassessmentService.getProjectassessmentIncludeSys(type,projectId);
return list;
}
@PostMapping("/addProjectassessment")
public void addProjectassessment(@RequestBody List<HuzhouProjectassessment> projectassessmentList){
projectassessmentList.forEach(item->{

1
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouUploadfileinfoController.java

@ -94,7 +94,6 @@ public class HuzhouUploadfileinfoController {
public Result<?> submitUploadFile(@RequestParam(value = "file")
MultipartFile[] files,@RequestParam(value = "projectid") String projectid) throws IOException {
uploadfileinfoService.saveFileAndFileInfo(files, projectid,"1");
WorkFlow workFlow = workflowService.createFlow("supervisionFile",projectid);
return Result.OK("上传成功!!");
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouFieldchangehistoryMapper.java

@ -10,7 +10,7 @@ import java.util.List;
import java.util.Map;
public interface HuzhouFieldchangehistoryMapper extends BaseMapper<HuzhouFieldchangehistory> {
Page<Map> getFieldchangehistoryPageList(Page page, HuzhouProjectinfo projectinfo);
Page<Map> getFieldchangehistoryPageList(Page page, HuzhouProjectinfo info);
Page<Map> getFieldchangehistoryDetailPageList(Page page,String projectid);
List<Map> getFieldDetailList(String projectid, String fieldValue);
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoHistoryMapper.java

@ -6,6 +6,6 @@ import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfoHistory;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
public interface HuzhouPlaninfoHistoryMapper extends BaseMapper<HuzhouPlaninfoHistory> {
Page<HuzhouProjectinfo> getPlanInfoHistoryPageList(Page page,HuzhouProjectinfo projectinfo);
Page<HuzhouProjectinfo> getPlanInfoHistoryPageList(Page page,HuzhouProjectinfo info);
Page<HuzhouPlaninfoHistory> getSinglePlanInfoHistoryPageList(Page page,String projectid);
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPlaninfoMapper.java

@ -3,6 +3,10 @@ package com.easy.admin.modules.huzhou.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface HuzhouPlaninfoMapper extends BaseMapper<HuzhouPlaninfo> {
List<HuzhouPlaninfo> getChildTaskBySuperior(@Param("info") HuzhouPlaninfo info);
}

3
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouUserprojectMapper.java

@ -3,6 +3,7 @@ package com.easy.admin.modules.huzhou.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import org.apache.ibatis.annotations.Mapper;
import com.easy.admin.modules.huzhou.entity.HuzhouUserproject;
@ -11,6 +12,6 @@ import java.util.Map;
public interface HuzhouUserprojectMapper extends BaseMapper<HuzhouUserproject> {
Page<Map> getMyAddressBook(Page page, Map<String,String> info);
Page<Map> getMyAddressBook(Page page, HuzhouProjectinfo info);
}

80
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml

@ -99,6 +99,7 @@
<select id="getContractProjectPageList" resultMap="HuzhouProjectinfoMap1" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
and u.id not in (select distinct project_id from huzhou_contractinfo)
and NOT exists (
SELECT 1
@ -106,25 +107,7 @@
left JOIN ( select cc.project_id,ss.project_id zhuprojectid,cc.task_name,cc.status,ss.stage from huzhou_contractinfo cc INNER JOIN huzhou_sub_projectinfo ss on cc.project_id=ss.id) c ON sub.id = c.project_id
WHERE sub.project_id = u.id and sub.stage>=5
HAVING COUNT(DISTINCT c.project_id) = COUNT(DISTINCT sub.id) AND COUNT(DISTINCT sub.id)>0)
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}
@ -168,24 +151,36 @@
)
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in (select distinct project_id from huzhou_contractinfo ct where ct.project_id
in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
<if test="info.superLeaderList!=null">
and u.id in(select distinct project_id from huzhou_contractinfo ct where ct.project_id in(
select DISTINCT id from huzhou_projectinfo e where e.super_leader in
<foreach item="id" index="index" collection="info.superLeaderList" open="(" separator="," close=")">
#{id}
</foreach>
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
</if>
<if test="info.adminDivisionList!=null">
and u.id in
(select distinct project_id from huzhou_contractinfo ct where ct.project_id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in
<foreach item="id" index="index" collection="info.adminDivisionList" open="(" separator="," close=")">
#{id}
</foreach>
<if test="info.orDutyPlace!=null">
or e.duty_workplace =#{info.orDutyPlace}
</if>
<if test="info.notorDutyPlace!=null">
and u.duty_workplace not in
<foreach item="id" index="index" collection="info.notorDutyPlace" open="(" separator="," close=")">
#{id}
</foreach>
</if>
)
)
</if>
<if test="(info.supervisorContactor==null or info.supervisorContactor=='' )and( info.projectContacts==null or info.projectContacts=='')">
<if test="(info.supervisorContactor==null or info.supervisorContactor=='' )and( info.superLeaderList==null and info.adminDivisionList==null)">
and u.id in (select distinct project_id from huzhou_contractinfo ct )
</if>
or (
@ -196,27 +191,8 @@
WHERE sub.project_id = u.id
HAVING COUNT(DISTINCT c.project_id) >0)
)
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in (
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id
in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
and
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
<if test="info.projectName!=null and info.projectName!=''">

71
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouFieldchangehistoryMapper.xml

@ -2,63 +2,46 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.easy.admin.modules.huzhou.dao.HuzhouFieldchangehistoryMapper">
<select id="getFieldchangehistoryPageList" resultType="map" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT h.projectid,p.project_name projectName,p.admin_division adminDivision,
p.reform_name reformName,p.super_leader superLeader,count(*) total FROM huzhou_fieldchangehistory h
inner JOIN huzhou_projectinfo p on h.projectid=p.id
SELECT h.projectid,u.project_name projectName,u.admin_division adminDivision,
u.reform_name reformName,u.super_leader superLeader,count(*) total FROM huzhou_fieldchangehistory h
inner JOIN huzhou_projectinfo u on h.projectid=u.id
<where>
<if test="projectinfo.projectContacts!=null and projectinfo.projectContacts!=''">
and p.id in(
select project_id from huzhou_userproject where user_id=#{projectinfo.projectContacts}
)
</if>
<if test="projectinfo.supervisorContactor!=null and projectinfo.supervisorContactor!=''">
and p.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{projectinfo.supervisorContactor})
)
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{projectinfo.supervisorContactor})
)
)
</if>
<if test="projectinfo.projectName!=null and projectinfo.projectName!=''">
<bind name="tempStr" value="'%' + projectinfo.projectName + '%'" />
and p.project_name like #{tempStr}
</if>
<if test="projectinfo.adminDivision!=null and projectinfo.adminDivision!=''">
<bind name="tempStr" value="'%' + projectinfo.adminDivision + '%'" />
and p.admin_division like #{tempStr}
</if>
<if test="projectinfo.reformName!=null and projectinfo.reformName!=''">
and p.reform_name = #{projectinfo.reformName}
</if>
<if test="projectinfo.superLeader!=null and projectinfo.superLeader!=''">
and p.super_leader like #{projectinfo.superLeader}
</if>
<!-- <if test="projectinfo.projectName!=null and projectinfo.projectName!=''">-->
<!-- <bind name="tempStr" value="'%' + projectinfo.projectName + '%'" />-->
<!-- and p.project_name like #{tempStr}-->
<!-- </if>-->
<!-- <if test="projectinfo.adminDivision!=null and projectinfo.adminDivision!=''">-->
<!-- <bind name="tempStr" value="'%' + projectinfo.adminDivision + '%'" />-->
<!-- and p.admin_division like #{tempStr}-->
<!-- </if>-->
<!-- <if test="projectinfo.reformName!=null and projectinfo.reformName!=''">-->
<!-- and p.reform_name = #{projectinfo.reformName}-->
<!-- </if>-->
<!-- <if test="projectinfo.superLeader!=null and projectinfo.superLeader!=''">-->
<!-- and p.super_leader like #{projectinfo.superLeader}-->
<!-- </if>-->
</where>
GROUP BY h.projectid,p.project_name,p.admin_division,p.reform_name,p.super_leader
GROUP BY h.projectid,u.project_name,u.admin_division,u.reform_name,u.super_leader
union
SELECT h.projectid,p.project_name projectName,p.admin_division adminDivision,
p.reform_name reformName,p.super_leader superLeader,count(*) total FROM huzhou_fieldchangehistory h
inner JOIN huzhou_sub_projectinfo p on h.projectid=p.id
<where>
<if test="projectinfo.projectName!=null and projectinfo.projectName!=''">
<bind name="tempStr" value="'%' + projectinfo.projectName + '%'" />
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and p.project_name like #{tempStr}
</if>
<if test="projectinfo.adminDivision!=null and projectinfo.adminDivision!=''">
<bind name="tempStr" value="'%' + projectinfo.adminDivision + '%'" />
<if test="info.adminDivision!=null and info.adminDivision!=''">
<bind name="tempStr" value="'%' + info.adminDivision + '%'" />
and p.admin_division like #{tempStr}
</if>
<if test="projectinfo.reformName!=null and projectinfo.reformName!=''">
and p.reform_name = #{projectinfo.reformName}
<if test="info.reformName!=null and info.reformName!=''">
and p.reform_name = #{info.reformName}
</if>
<if test="projectinfo.superLeader!=null and projectinfo.superLeader!=''">
and p.super_leader like #{projectinfo.superLeader}
<if test="info.superLeader!=null and info.superLeader!=''">
and p.super_leader like #{info.superLeader}
</if>
</where>
GROUP BY h.projectid,p.project_name,p.admin_division,p.reform_name,p.super_leader

33
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoHistoryMapper.xml

@ -2,37 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoHistoryMapper">
<select id="getPlanInfoHistoryPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
select DISTINCT p.id,p.project_name,p.admin_division,p.workplace_properties,p.reform_name,p.super_leader,p.duty_workplace,p.phone,p.stage
from huzhou_projectinfo p inner join
(SELECT project_id,group_id FROM huzhou_planinfo_history GROUP BY group_id,project_id) h on h.project_id=p.id
select DISTINCT u.id,u.project_name,u.admin_division,u.workplace_properties,u.reform_name,u.super_leader,u.duty_workplace,u.phone,u.stage
from huzhou_projectinfo u inner join
(SELECT project_id,group_id FROM huzhou_planinfo_history GROUP BY group_id,project_id) h on h.project_id=u.id
<where>
<if test="projectinfo.projectContacts!=null and projectinfo.projectContacts!=''">
and p.id in(
select project_id from huzhou_userproject where user_id=#{projectinfo.projectContacts}
)
</if>
<if test="projectinfo.supervisorContactor!=null and projectinfo.supervisorContactor!=''">
and p.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{projectinfo.supervisorContactor})
)
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{projectinfo.supervisorContactor})
)
)
</if>
<if test="projectinfo.id!=null and projectinfo.id!=''">
<bind name="tempStr" value="'%' + projectinfo.id + '%'" />
p.id like #{tempStr}
</if>
<if test="projectinfo.projectName!=null and projectinfo.projectName!=''">
<bind name="tempStr" value="'%' + projectinfo.projectName + '%'" />
and p.projectName like #{tempStr}
</if>
</where>
</select>
<select id="getSinglePlanInfoHistoryPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfoHistory">

7
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPlaninfoMapper.xml

@ -0,0 +1,7 @@
<?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.easy.admin.modules.huzhou.dao.HuzhouPlaninfoMapper">
<select id="getChildTaskBySuperior" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo" resultType="com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo">
select * from huzhou_planinfo where superior = #{info.taskLevel} and project_id = #{info.projectId} order by INET_ATON(CONCAT(task_level, '.0'))
</select>
</mapper>

41
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouProjectassessmentMapper.xml

@ -7,25 +7,9 @@
from huzhou_projectinfo u
<where>
u.id not in (SELECT project_id FROM huzhou_projectassessment GROUP BY project_id)
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
and
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}
@ -46,8 +30,6 @@
<if test="info.stage!=null and info.stage!=''">
and u.stage &gt;= #{info.stage}
</if>
and u.super_leader = '5'
and(u.duty_workplace like '%医院%' or u.duty_workplace like '%卫生健康%')
</where>
</select>
@ -61,25 +43,8 @@
from huzhou_projectinfo u inner join
(SELECT project_id,sum(sysscores) totalSysscores,sum(pscores) totalPscores FROM huzhou_projectassessment GROUP BY project_id) h on h.project_id=u.id
<where>
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}

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

@ -54,29 +54,42 @@
<result property="stage" column="sub_stage" jdbcType="VARCHAR"/>
<result property="workplaceProperties" column="sub_workplace_properties" jdbcType="VARCHAR"/>
</resultMap>
<!-- u.id,u.project_name,u.admin_division,u.duty_workplace,u.workplace_properties,u.reform_name,u.super_leader,u.stage-->
<select id="getProjectInfoPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
<sql id="selectAuthSql">
(1=1
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
<if test="info.superLeaderList!=null">
and u.super_leader in
<foreach item="id" index="index" collection="info.superLeaderList" open="(" separator="," close=")">
#{id}
</foreach>
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.adminDivisionList!=null">
and u.admin_division in
<foreach item="id" index="index" collection="info.adminDivisionList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="info.orDutyPlace!=null">
or u.duty_workplace =#{info.orDutyPlace}
</if>
<if test="info.notorDutyPlace!=null">
and u.duty_workplace not in
<foreach item="id" index="index" collection="info.notorDutyPlace" open="(" separator="," close=")">
#{id}
</foreach>
</if>
)
</sql>
<!-- u.id,u.project_name,u.admin_division,u.duty_workplace,u.workplace_properties,u.reform_name,u.super_leader,u.stage-->
<select id="getProjectInfoPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
<include refid="selectAuthSql"/>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}
@ -113,25 +126,7 @@ order by create_date desc
<select id="getProjectAndChildInfoPageList" resultMap="HuzhouProjectinfoMap" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<include refid="selectAuthSql"/>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}

60
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouUserprojectMapper.xml

@ -4,59 +4,21 @@
<select id="getMyAddressBook" resultType="Map" parameterType="Map">
(
SELECT p.project_name projectName,p.admin_division adminDivision, s.username,s.nickname,s.phone_number
phoneNumber,s.workplace from huzhou_userproject u inner JOIN sys_user s on s.id = u.user_id
inner join huzhou_projectinfo p on u.project_id =p.id
SELECT u.project_name projectName,u.admin_division adminDivision, s.username,s.nickname,s.phone_number
phoneNumber,s.workplace from huzhou_userproject up inner JOIN sys_user s on s.id = up.user_id
inner join huzhou_projectinfo u on up.project_id =u.id
where
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
<if test="info.userid!=null and info.userid!=''">
WHERE u.project_id in(
select project_id from huzhou_userproject where user_id=#{info.userid}
)
</if>
<if test="info.supervisorid!=null and info.supervisorid!=''">
WHERE u.project_id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorid})
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorid})
)
)
</if>
)
)
UNION
(
SELECT sp.project_name projectName,sp.admin_division adminDivision ,s.username,s.nickname,s.phone_number phoneNumber,s.workplace from huzhou_userproject u inner JOIN sys_user s on s.id = u.user_id
inner join huzhou_sub_projectinfo sp on u.project_id =sp.id
<if test="info.userid!=null and info.userid!=''">
WHERE u.project_id in(
select project_id from huzhou_userproject where user_id=#{info.userid}
)
</if>
<if test="info.supervisorid!=null and info.supervisorid!=''">
WHERE u.project_id in(
SELECT DISTINCT id from huzhou_sub_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_sub_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorid})
)
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_sub_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorid})
)
)
</if>
SELECT u.project_name projectName,u.admin_division adminDivision ,s.username,s.nickname,s.phone_number
phoneNumber,s.workplace from huzhou_userproject up inner JOIN sys_user s on s.id = up.user_id
inner join huzhou_sub_projectinfo u on up.project_id =u.id
where
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
)
order by username,adminDivision
</select>

42
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouWorkreportMapper.xml

@ -19,26 +19,9 @@
<select id="getWorkreportPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
u.report_type is not null
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
and u.report_type is not null
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}
@ -76,26 +59,9 @@
<select id="getNoTypeWorkReportPageList" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">
SELECT * from huzhou_projectinfo u
<where>
u.report_type is null
<if test="info.projectContacts!=null and info.projectContacts!=''">
and u.id in(
select project_id from huzhou_userproject where user_id=#{info.projectContacts}
)
</if>
<if test="info.supervisorContactor!=null and info.supervisorContactor!=''">
and u.id in(
SELECT DISTINCT id from huzhou_projectinfo e where e.admin_division in(
SELECT DISTINCT a.admin_division from huzhou_projectinfo a where a.id in (select c.project_id from
huzhou_userproject c where c.user_id=#{info.supervisorContactor})
)
<include refid="com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMapper.selectAuthSql"/>
and u.report_type is null
OR
e.super_leader in (
SELECT DISTINCT b.super_leader from huzhou_projectinfo b where b.id in (select d.project_id from
huzhou_userproject d where d.user_id=#{info.supervisorContactor})
)
)
</if>
<if test="info.projectName!=null and info.projectName!=''">
<bind name="tempStr" value="'%' + info.projectName + '%'" />
and u.project_name like #{tempStr}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPerformancescore.java

@ -52,7 +52,7 @@ public class HuzhouPerformancescore extends BaseEntity implements Serializable {
private Integer tertiaryLength;
private String type;
private String isobjectivescore;
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouProjectassessment.java

@ -43,7 +43,7 @@ public class HuzhouProjectassessment extends BaseEntity implements Serializable
/**
* 分数
*/
private String scores;
private Integer scores;
/**
* 评价维度合并单元格数量

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPlaninfofileService.java

@ -14,4 +14,6 @@ public interface IHuzhouPlaninfofileService extends IService<HuzhouPlaninfofile>
void submitPlanUploadFile(MultipartFile[] files, String planinfoid) throws IOException;
void approvePlanFile(MultipartFile[] files, String taskId, String flag, String planinfoid, String comment, MultipartFile[] adviceFiles) throws IOException;
String getProcessName(String pid);
}

1
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProcessinfoService.java

@ -23,4 +23,5 @@ public interface IHuzhouProcessinfoService extends IService<HuzhouProcessinfo> {
WorkflowBaseInfo getProjectByInstid(String processInstanceId);
String getProcessName(String pid);
}

3
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectassessmentService.java

@ -2,6 +2,7 @@ package com.easy.admin.modules.huzhou.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectassessment;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectassessmentOV;
@ -20,4 +21,6 @@ public interface IHuzhouProjectassessmentService extends IService<HuzhouProjecta
void uploadProjectassessmentFile(MultipartFile multipartFile, String id,String selfScores) throws IOException;
List<HuzhouProjectassessment> getProjectassessmentIncludeSys(String type, String projectId);
}

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

@ -71,7 +71,7 @@ public interface IHuzhouProjectinfoService extends IService<HuzhouProjectinfo>{
* 新增项目入库提交单个项目
* @param info 项目信息
*/
void submitProject(HuzhouProjectinfo info);
void submitProject(MultipartFile[] multipartFile,HuzhouProjectinfo info) throws IOException;
/**
* 审批项目入库信息

9
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java

@ -13,6 +13,7 @@ import com.easy.admin.modules.huzhou.dao.HuzhouSubProjectinfoMapper;
import com.easy.admin.modules.huzhou.entity.*;
import com.easy.admin.modules.huzhou.service.*;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import org.activiti.engine.RuntimeService;
@ -59,8 +60,8 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
@Override
public Page<HuzhouProjectinfoOV> getContractProjectPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize) {
Page page = new Page(pageNo, pageSize);
projectinfo=CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectInfoPageList = contractinfoMapper.getContractProjectPageList(page, projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectInfoPageList = contractinfoMapper.getContractProjectPageList(page, projectInfoAuthSelect);
List<HuzhouProjectinfoOV> records = projectInfoPageList.getRecords();
records.forEach(item->{
List<HuzhouSubProjectinfo> children = item.getChildren();
@ -74,8 +75,8 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
@Override
public Page<HuzhouProjectinfoOV> getContractinfoPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize) {
Page page = new Page(pageNo, pageSize);
projectinfo=CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectInfoPageList = contractinfoMapper.getContractinfoPageList(page, projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectInfoPageList = contractinfoMapper.getContractinfoPageList(page, projectInfoAuthSelect);
List<HuzhouProjectinfoOV> records = projectInfoPageList.getRecords();
records.forEach(item->{
List<HuzhouSubProjectinfo> children = item.getChildren();

18
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouFieldchangehistoryServiceImpl.java

@ -15,6 +15,7 @@ import com.easy.admin.modules.huzhou.service.IHuzhouFieldchangehistoryService;
import com.easy.admin.modules.huzhou.service.IHuzhouProcessinfoService;
import com.easy.admin.modules.huzhou.service.IHuzhouUploadfileinfoService;
import com.easy.admin.modules.huzhou.service.IWorkflowService;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import com.easy.admin.util.ShiroUtil;
@ -323,21 +324,8 @@ public class HuzhouFieldchangehistoryServiceImpl extends ServiceImpl<HuzhouField
@Override
public Page<Map> getFieldchangehistoryPageList(Page page, HuzhouProjectinfo projectinfo) {
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
String roles = "";
for (SysRole role:roleList
) {
roles = role.getCode()+","+roles;
}
if(roles.contains("manageOrg")||roles.contains("sys:admin")){
}else if(roles.contains("supervisor")){
projectinfo.setSupervisorContactor(currentUser.getId());
}else {
projectinfo.setProjectContacts(currentUser.getId());
}
Page<Map> pageList = fieldchangehistoryMapper.getFieldchangehistoryPageList(page, projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<Map> pageList = fieldchangehistoryMapper.getFieldchangehistoryPageList(page, projectInfoAuthSelect);
return pageList;
}
}

10
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPerformancescoreServiceImpl.java

@ -108,6 +108,15 @@ public class HuzhouPerformancescoreServiceImpl extends ServiceImpl<HuzhouPerform
if(StringUtils.isNotBlank(cellData)){
performancescore.setScores(Integer.parseInt(cellData));
}
Cell cellNo7 = row.getCell(7);
if(cellNo7!=null){
cellNo7.setCellType(CellType.STRING);
String stringCellValue = cellNo7.getStringCellValue();
if(StringUtils.isNotBlank(stringCellValue)){
performancescore.setIsobjectivescore(stringCellValue);
}
}
logger.info(performancescore.toString());
performancescore.setType(type);
save(performancescore);
@ -118,6 +127,7 @@ public class HuzhouPerformancescoreServiceImpl extends ServiceImpl<HuzhouPerform
LambdaQueryWrapper<HuzhouPerformancescore> huzhouPerformancescoreLambdaQueryWrapper = new LambdaQueryWrapper<>();
huzhouPerformancescoreLambdaQueryWrapper.eq(HuzhouPerformancescore::getType,type);
List<HuzhouPerformancescore> list = list(huzhouPerformancescoreLambdaQueryWrapper);
//设置总分
int sum = list.stream().filter(item->item.getScores()!=null).mapToInt(HuzhouPerformancescore::getScores).sum();
LambdaUpdateWrapper<HuzhouPerforman> performanLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
performanLambdaUpdateWrapper.eq(HuzhouPerforman::getType,type);

19
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfoHistoryServiceImpl.java

@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysRole;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoHistoryMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouSubProjectinfoMapper;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.util.ShiroUtil;
import com.google.common.collect.Lists;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
@ -45,21 +47,8 @@ public class HuzhouPlaninfoHistoryServiceImpl extends ServiceImpl<HuzhouPlaninfo
@Override
public Page<HuzhouProjectinfoOV> getPlanInfoHistoryPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize) {
Page<HuzhouProjectinfo> projectinfoPage = new Page<>(pageNo, pageSize);
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
String roles = "";
for (SysRole role:roleList
) {
roles = role.getCode()+","+roles;
}
if(roles.contains("manageOrg")||roles.contains("sys:admin")){
}else if(roles.contains("supervisor")){
projectinfo.setSupervisorContactor(currentUser.getId());
}else {
projectinfo.setProjectContacts(currentUser.getId());
}
Page<HuzhouProjectinfo> pageList = planinfoHistoryMapper.getPlanInfoHistoryPageList(projectinfoPage, projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfo> pageList = planinfoHistoryMapper.getPlanInfoHistoryPageList(projectinfoPage, projectInfoAuthSelect);
List<HuzhouProjectinfoOV> convertedList = new ArrayList<>();
for (HuzhouProjectinfo info : pageList.getRecords()) {
double subTotalMoney =0;

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

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.auth.service.SysUserService;
import com.easy.admin.common.core.common.select.Select;
import com.easy.admin.common.core.exception.EasyException;
@ -18,6 +19,7 @@ import com.easy.admin.modules.huzhou.service.*;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import com.easy.admin.util.ShiroUtil;
import com.google.common.collect.Lists;
import groovyjarjarantlr4.v4.parse.v4ParserException;
import org.activiti.engine.HistoryService;
@ -91,6 +93,8 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
private SysUserService sysUserService;
@Autowired
private SysDictService sysDictService;
@Autowired
private HuzhouPlaninfoMapper planinfoMapper;
@Override
public HashMap<String,Object> getPlanInfoListFromFile(MultipartFile multipartFile,String projectid) throws Exception {
HashMap<String, Object> resHashMap = new HashMap<>();
@ -336,7 +340,10 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
public void saveOrModifyPlanUploadFile(MultipartFile[] files, String planinfoid, String type,String stage) throws IOException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath +File.separator+"planinfoFile"+ File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath +File.separator+"planinfoFile"+ File.separator + nickname+ File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录
@ -825,13 +832,16 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
}
ArrayList<HuzhouPlaninfoOV> mapArrayList = new ArrayList<>();
String taskLevel = planinfoOV.getTaskLevel();
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPlaninfo::getSuperior,taskLevel.toString());
queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfoOV.getProjectId());
queryWrapper.orderByAsc(HuzhouPlaninfo::getTaskLevel);
List<HuzhouPlaninfo> huzhouPlaninfoList = this.list(queryWrapper);
if(huzhouPlaninfoList.size()!=0){
for(HuzhouPlaninfo childInfo:huzhouPlaninfoList){
HuzhouPlaninfo planinfo = new HuzhouPlaninfo();
BeanUtils.copyProperties(planinfoOV,planinfo);
List<HuzhouPlaninfo> childTaskBySuperior = planinfoMapper.getChildTaskBySuperior(planinfo);
// LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.eq(HuzhouPlaninfo::getSuperior,taskLevel.toString());
// queryWrapper.eq(HuzhouPlaninfo::getProjectId,planinfoOV.getProjectId());
//// queryWrapper.orderByAsc(HuzhouPlaninfo::getTaskLevel);
// List<HuzhouPlaninfo> huzhouPlaninfoList = this.list(queryWrapper);
if(childTaskBySuperior.size()!=0){
for(HuzhouPlaninfo childInfo:childTaskBySuperior){
HuzhouPlaninfoOV huzhouPlaninfoOV = new HuzhouPlaninfoOV();
BeanUtils.copyProperties(childInfo,huzhouPlaninfoOV);
HuzhouPlaninfoOV setchildmap = setchild(huzhouPlaninfoOV);
@ -872,35 +882,87 @@ public class HuzhouPlaninfoServiceImpl extends ServiceImpl<HuzhouPlaninfoMapper,
String str = "phaseNumber";
HuzhouPlaninfoOV huzhouPlaninfoOV = timelineList.get(i);
String percent = huzhouPlaninfoOV.getPercent();
Date scheduledEndTime = huzhouPlaninfoOV.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
String isfinish = huzhouPlaninfoOV.getIsfinish();
//未完成 查看是否超时
LocalDate today = LocalDate.now();
long daysUntilScheduledEnd = ChronoUnit.DAYS.between(today, scheduledEndDate);
if(!"2".equals(isfinish)){
if(daysUntilScheduledEnd<-15&&daysUntilScheduledEnd>=-30){
hashMap.put("color","orange");
}else if(daysUntilScheduledEnd<-30){
hashMap.put("color","red");
}
else{
hashMap.put("color","green");
//获取子计划信息。查看子计划是否有超时的
String taskLevel = huzhouPlaninfoOV.getTaskLevel();
LambdaQueryWrapper<HuzhouPlaninfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.likeRight(HuzhouPlaninfo::getTaskLevel,taskLevel+".");
queryWrapper.eq(HuzhouPlaninfo::getProjectId,huzhouPlaninfoOV.getProjectId());
List<HuzhouPlaninfo> childList = list(queryWrapper);
//记录每个子项目的状态,是否延期,然后取最严重的
ArrayList<String> colorList = new ArrayList<>();
for (HuzhouPlaninfo planinfo: childList) {
//计划结束日期
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
String isfinish = planinfo.getIsfinish();
if(!"2".equals(isfinish)){
//当前日期。未完成
LocalDate today = LocalDate.now();
long daysUntilScheduledEnd = ChronoUnit.DAYS.between(today, scheduledEndDate);
if(daysUntilScheduledEnd<-15&&daysUntilScheduledEnd>=-30){
colorList.add("orange");
}else if(daysUntilScheduledEnd<-30){
colorList.add("red");
}
else{
colorList.add("green");
}
}else {
//时间结束日期,已完成
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
long daysUntilactualEnd = ChronoUnit.DAYS.between(actualEndTimeDate,scheduledEndDate);
if(daysUntilactualEnd<-15&&daysUntilactualEnd>=-30){
colorList.add("orange");
}else if(daysUntilactualEnd<-30){
colorList.add("red");
}
else{
colorList.add("green");
}
}
}
if("2".equals(isfinish)){
Date actualEndTime = huzhouPlaninfoOV.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
long daysUntilactualEnd = ChronoUnit.DAYS.between(actualEndTimeDate,scheduledEndDate);
if(daysUntilactualEnd<-15&&daysUntilactualEnd>=-30){
hashMap.put("color","orange");
}else if(daysUntilactualEnd<-30){
hashMap.put("color","red");
}
else{
hashMap.put("color","green");
}
if(colorList.contains("red")){
hashMap.put("color","red");
}else if(colorList.contains("orange")){
hashMap.put("color","orange");
}
else{
hashMap.put("color","green");
}
//
// Date scheduledEndTime = huzhouPlaninfoOV.getScheduledEndTime();
// LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// String isfinish = huzhouPlaninfoOV.getIsfinish();
// //未完成 查看是否超时
// LocalDate today = LocalDate.now();
// long daysUntilScheduledEnd = ChronoUnit.DAYS.between(today, scheduledEndDate);
// if(!"2".equals(isfinish)){
// if(daysUntilScheduledEnd<-15&&daysUntilScheduledEnd>=-30){
// hashMap.put("color","orange");
// }else if(daysUntilScheduledEnd<-30){
// hashMap.put("color","red");
// }
// else{
// hashMap.put("color","green");
// }
// }
// if("2".equals(isfinish)){
// Date actualEndTime = huzhouPlaninfoOV.getActualEndTime();
// LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
// long daysUntilactualEnd = ChronoUnit.DAYS.between(actualEndTimeDate,scheduledEndDate);
// if(daysUntilactualEnd<-15&&daysUntilactualEnd>=-30){
// hashMap.put("color","orange");
// }else if(daysUntilactualEnd<-30){
// hashMap.put("color","red");
// }
// else{
// hashMap.put("color","green");
// }
// }
hashMap.put("percent",percent);
hashMap.put("taskName",huzhouPlaninfoOV.getTaskName());
map.put(str+String.valueOf(i),hashMap);

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

@ -49,8 +49,8 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
private TaskService taskService;
@Autowired
private HuzhouContractinfoMapper contractinfoMapper;
private String[] names ={"可行性研究报告审批","初验阶段","终验阶段"};
private String[] names ={"可研技术审查报告(初稿)确认","可研技术审查报告(复审稿)确认","可研技术审查报告(终稿)确认","造价评估报告确认","可行性研究报告审批(发改)","合同签订","首付支付","初验阶段","终验阶段","初步设计审批"};
private String[] tNames ={"可研报告初稿编制","可研报告第二稿编制","初步技术审查","造价评估"};
@Override
public Page<HuzhouPlaninfofile> getplanFilePageList(HuzhouPlaninfofile planinfofile,Integer pageNo, Integer pageSize) {
Page<HuzhouPlaninfofile> page = new Page<>(pageNo,pageSize);
@ -94,6 +94,16 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
superLeader=huzhouProjectinfo.getSuperLeader();
adminDivision = huzhouProjectinfo.getAdminDivision();
}
//查询当前阶段是否与合同支付相关
boolean existsContractinfo = false;
LambdaQueryWrapper<HuzhouContractinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouContractinfo::getTaskName,taskName);
queryWrapper.eq(HuzhouContractinfo::getProjectId,projectId);
queryWrapper.ge(HuzhouContractinfo::getStatus,"1");
List<HuzhouContractinfo> contractinfoList = contractinfoMapper.selectList(queryWrapper);
if(contractinfoList!=null&&contractinfoList.size()>0){
existsContractinfo=true;
}
//获取上级指导室中文名称
SysDict dict = sysDictService.getDictByCode("superLeader", superLeader);
String dictName = dict.getName();
@ -109,9 +119,9 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String userid = map.get("value");
strings.add(userid);
}
if ("可研报告编制".equals(taskName)) {
WorkFlow workFlow = workflowService.createFlow("feasibilityReportPreparation",planinfoid);
if (Arrays.asList(tNames).contains(taskName)) {
WorkFlow workFlow = workflowService.createFlow("feasibilityReportPreparation",planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
String processInstanceId = workFlow.getProcessInstanceId();
@ -156,19 +166,13 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String comment = "同意";
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId, variables);
return ;
}
//查询当前阶段是否与合同支付相关
boolean existsContractinfo = false;
LambdaQueryWrapper<HuzhouContractinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouContractinfo::getTaskName,taskName);
queryWrapper.eq(HuzhouContractinfo::getProjectId,projectId);
queryWrapper.ge(HuzhouContractinfo::getStatus,"1");
List<HuzhouContractinfo> contractinfoList = contractinfoMapper.selectList(queryWrapper);
if(contractinfoList!=null&&contractinfoList.size()>0){
existsContractinfo=true;
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
planinfoService.updateById(huzhouPlaninfo);
}
if(Arrays.asList(names).contains(taskName)||existsContractinfo){
else if(Arrays.asList(names).contains(taskName)||existsContractinfo){
WorkFlow workFlow = workflowService.createFlow("createPlaninfoFile",planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
@ -181,22 +185,12 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String comment = "同意";
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId, variables);
return ;
}
if("联合技术审查".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("jointTechnicalReview",planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
String processInstanceId = workFlow.getProcessInstanceId();
//发起人节点处理
taskService.setVariableLocal(taskId,"approvalStatue","1");//添加审批状态 通过
String comment = "同意";
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId);
return ;
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
planinfoService.updateById(huzhouPlaninfo);
}
if("集中核验".equals(taskName)){
else if("集中核验".equals(taskName)){
WorkFlow workFlow = workflowService.createFlow("centralizedCheck",planinfoid);
Task task = workFlow.getTask();
String taskId = task.getId();
@ -206,12 +200,17 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
String comment = "同意";
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId);
return ;
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("1");
planinfoService.updateById(huzhouPlaninfo);
}else{
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("2");
planinfoService.updateById(huzhouPlaninfo);
}
HuzhouPlaninfo huzhouPlaninfo = new HuzhouPlaninfo();
huzhouPlaninfo.setId(planinfoid);
huzhouPlaninfo.setIsfinish("2");
planinfoService.updateById(huzhouPlaninfo);
/**
* 检查所有阶段的状态判断是否完成
@ -288,4 +287,10 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
}
}
}
@Override
public String getProcessName(String pid) {
String name = processinfoService.getProcessName(pid);
return name;
}
}

12
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProcessinfoServiceImpl.java

@ -83,4 +83,16 @@ public class HuzhouProcessinfoServiceImpl extends ServiceImpl<HuzhouProcessinfoM
return projectInfo;
}
@Override
public String getProcessName(String pid) {
LambdaQueryWrapper<HuzhouProcessinfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouProcessinfo::getProjectid,pid);
List<HuzhouProcessinfo> list = list(queryWrapper);
if(list.size()==0){
return "createPlaninfoFile";
}
String processName = list.get(0).getProcessName();
return processName;
}
}

270
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectassessmentService.java

@ -5,53 +5,53 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysRole;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPerformancescoreMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouPlaninfoMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouProjectassessmentMapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPerformancescore;
import com.easy.admin.modules.huzhou.entity.HuzhouPlaninfo;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectassessment;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.entity.HuzhouUploadfileinfo;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectassessmentService;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectassessmentOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.util.ShiroUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.FileCopyUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
@Service
public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectassessmentMapper, HuzhouProjectassessment> implements IHuzhouProjectassessmentService {
@Autowired
private HuzhouProjectassessmentMapper projectassessmentMapper;
@Autowired
private HuzhouPerformancescoreMapper performancescoreMapper;
@Autowired
private HuzhouPlaninfoMapper huzhouPlaninfoMapper;
@Value(value = "${jeecg.path.upload}")
private String uploadpath;
@Override
public Page<HuzhouProjectassessmentOV> getProjectassessmentPageList(Page page, HuzhouProjectinfo projectinfo) {
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
String roles = "";
for (SysRole role:roleList
) {
roles = role.getCode()+","+roles;
}
if(roles.contains("manageOrg")||roles.contains("sys:admin")){
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
}else if(roles.contains("supervisor")){
projectinfo.setSupervisorContactor(currentUser.getId());
}else {
projectinfo.setProjectContacts(currentUser.getId());
}
Page<HuzhouProjectassessmentOV> projectassessmentPageList = projectassessmentMapper.getProjectassessmentPageList(page, projectinfo);
Page<HuzhouProjectassessmentOV> projectassessmentPageList = projectassessmentMapper.getProjectassessmentPageList(page, projectInfoAuthSelect);
List<HuzhouProjectassessmentOV> records = projectassessmentPageList.getRecords();
records.forEach(item->{
if(item.getTotalPscores()==null){
@ -67,21 +67,8 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
return projectassessmentPageList;
}
public Page<HuzhouProjectinfo> getProjectassessmentProjectPageList(Page page, HuzhouProjectinfo projectinfo){
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
String roles = "";
for (SysRole role:roleList
) {
roles = role.getCode()+","+roles;
}
if(roles.contains("manageOrg")||roles.contains("sys:admin")){
}else if(roles.contains("supervisor")){
projectinfo.setSupervisorContactor(currentUser.getId());
}else {
projectinfo.setProjectContacts(currentUser.getId());
}
return projectassessmentMapper.getProjectassessmentProjectPageList(page,projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
return projectassessmentMapper.getProjectassessmentProjectPageList(page,projectInfoAuthSelect);
}
@Override
@ -114,7 +101,10 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath + File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath + File.separator +"ProjectassessmentFile"+File.separator+nickname + File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录
@ -139,4 +129,212 @@ public class HuzhouProjectassessmentService extends ServiceImpl<HuzhouProjectass
updateById(huzhouProjectassessment);
}
@Override
public List<HuzhouProjectassessment> getProjectassessmentIncludeSys(String type, String projectId) {
LambdaQueryWrapper<HuzhouPerformancescore> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HuzhouPerformancescore::getType,type);
List<HuzhouPerformancescore> huzhouPerformancescoreList = performancescoreMapper.selectList(queryWrapper);
List<HuzhouProjectassessment> huzhouProjectassessmentList = new ArrayList<>();
for (HuzhouPerformancescore score:huzhouPerformancescoreList
) {
HuzhouProjectassessment huzhouProjectassessment = new HuzhouProjectassessment();
BeanUtils.copyProperties(score,huzhouProjectassessment);
String isobjectivescore = score.getIsobjectivescore();
if(isobjectivescore!=null){
if("1".equals(isobjectivescore)){
//可研技术审查报告 在计划中有几稿,初稿算一搞,二稿,算驳回一次,终稿算驳回两次
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.like(HuzhouPlaninfo::getTaskName,"可研技术审查报告");//阶段名称模糊查询
wrapper.eq(HuzhouPlaninfo::getIsfinish,"2");//已完成
Long selectCount = huzhouPlaninfoMapper.selectCount(wrapper);
if(selectCount==1){
//只有初稿满分
huzhouProjectassessment.setSysscores("2");
}else if(selectCount<=3){
//驳回两次及其以内
huzhouProjectassessment.setSysscores("1");
}else{
huzhouProjectassessment.setSysscores("0");
}
}else if("2".equals(isobjectivescore)){
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.likeRight(HuzhouPlaninfo::getTaskLevel,"2.");//第二阶段-项目采购阶段的所有子阶段
List<HuzhouPlaninfo> huzhouPlaninfoList = huzhouPlaninfoMapper.selectList(wrapper);
String fenshu="";
ArrayList<Long> longArrayList = new ArrayList<>();
for (HuzhouPlaninfo planinfo:huzhouPlaninfoList
) {
if(planinfo.getIsfinish().equals("2")){
/**
* 待优化工作日的判断
*/
//计划结束日期
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//实际完成日期
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//后面减前面
long daysUntilactualEnd = ChronoUnit.DAYS.between(scheduledEndDate,actualEndTimeDate);
longArrayList.add(daysUntilactualEnd);
}else{
//说明有未完成的内容
fenshu="0";
break;
}
}
if("0".equals(fenshu)){
huzhouProjectassessment.setSysscores("0");
}else {
//取最大值
Long max = Collections.max(longArrayList);
if(max<=0){
huzhouProjectassessment.setSysscores("3");
}else if(max<=5){
huzhouProjectassessment.setSysscores("2");
}else if(max<=10){
huzhouProjectassessment.setSysscores("1");
}else {
huzhouProjectassessment.setSysscores("0");
}
}
} else if ("3".equals(isobjectivescore)) {
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.eq(HuzhouPlaninfo::getTaskName,"首付支付");//首付支付为项目建设阶段开始的第一个阶段
List<HuzhouPlaninfo> huzhouPlaninfoList = huzhouPlaninfoMapper.selectList(wrapper);
if(huzhouPlaninfoList.size()==0||!huzhouPlaninfoList.get(0).getIsfinish().equals("2")){
huzhouProjectassessment.setSysscores("0");//没有这个阶段或者这个阶段没完成不得分
}else{
HuzhouPlaninfo planinfo = huzhouPlaninfoList.get(0);
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//实际完成日期
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//后面减前面
long months = ChronoUnit.MONTHS.between(scheduledEndDate,actualEndTimeDate);
if(months<=1){
huzhouProjectassessment.setSysscores("3");//
} else if (months<=2) {//两个月多计算结果也是2
huzhouProjectassessment.setSysscores("2");//
}else{
huzhouProjectassessment.setSysscores("0");//
}
}
}else if("4".equals(isobjectivescore)){
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.in(HuzhouPlaninfo::getTaskLevel,"1","2","3");//第二阶段-项目采购阶段的所有子阶段
List<HuzhouPlaninfo> huzhouPlaninfoList = huzhouPlaninfoMapper.selectList(wrapper);
String fenshu="";
ArrayList<Long> longArrayList = new ArrayList<>();
for (HuzhouPlaninfo planinfo:huzhouPlaninfoList
) {
if(planinfo.getIsfinish().equals("2")){
/**
* 待优化工作日的判断
*/
//计划结束日期
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//实际完成日期
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//后面减前面
long daysUntilactualEnd = ChronoUnit.MONTHS.between(scheduledEndDate,actualEndTimeDate);
longArrayList.add(daysUntilactualEnd);
}else{
//说明有未完成的内容
fenshu="0";
break;
}
}
if("0".equals(fenshu)){
huzhouProjectassessment.setSysscores("0");
}else {
//取最大值
Long max = Collections.max(longArrayList);
if(max<=0){
huzhouProjectassessment.setSysscores("3");
}else if(max<=2){
huzhouProjectassessment.setSysscores("2");
}else {
huzhouProjectassessment.setSysscores("0");
}
}
} else if ("5".equals(isobjectivescore)) {
huzhouProjectassessment.setSysscores("2");//前端在合同创建的时候强控了,默认满分
}else if("6".equals(isobjectivescore)){
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.eq(HuzhouPlaninfo::getIsfinish,"2");
List<HuzhouPlaninfo> huzhouPlaninfoList = huzhouPlaninfoMapper.selectList(wrapper);
String fenshu="";
ArrayList<Long> longArrayList = new ArrayList<>();
for (HuzhouPlaninfo planinfo:huzhouPlaninfoList
) {
/**
* 待优化工作日的判断
*/
//计划结束日期
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//实际完成日期
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//后面减前面
long daysUntilactualEnd = ChronoUnit.DAYS.between(scheduledEndDate, actualEndTimeDate);
longArrayList.add(daysUntilactualEnd);
}
//取最大值
Long max = Collections.max(longArrayList);
if(max<=0){
huzhouProjectassessment.setSysscores("3");
}else if(max<=15){
huzhouProjectassessment.setSysscores("1.5");
}else {
huzhouProjectassessment.setSysscores("0");
}
} else if ("7".equals(isobjectivescore)) {
LambdaQueryWrapper<HuzhouPlaninfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(HuzhouPlaninfo::getProjectId,projectId);//项目计划
wrapper.eq(HuzhouPlaninfo::getTaskName,"终验阶段");//首付支付为项目建设阶段开始的第一个阶段
List<HuzhouPlaninfo> huzhouPlaninfoList = huzhouPlaninfoMapper.selectList(wrapper);
if(huzhouPlaninfoList.size()==0||!huzhouPlaninfoList.get(0).getIsfinish().equals("2")){
huzhouProjectassessment.setSysscores("0");//没有这个阶段或者这个阶段没完成不得分
}else{
HuzhouPlaninfo planinfo = huzhouPlaninfoList.get(0);
Date scheduledEndTime = planinfo.getScheduledEndTime();
LocalDate scheduledEndDate = scheduledEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//实际完成日期
Date actualEndTime = planinfo.getActualEndTime();
LocalDate actualEndTimeDate = actualEndTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//后面减前面
long months = ChronoUnit.DAYS.between(scheduledEndDate,actualEndTimeDate);
if(months<=0){
huzhouProjectassessment.setSysscores("3");//
} else if (months<=15) {//两个月多计算结果也是2
huzhouProjectassessment.setSysscores("1.5");//
}else{
huzhouProjectassessment.setSysscores("0");//
}
}
}
huzhouProjectassessmentList.add(huzhouProjectassessment);
}else{
huzhouProjectassessmentList.add(huzhouProjectassessment);
}
}
return huzhouProjectassessmentList;
}
}

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

@ -1,5 +1,6 @@
package com.easy.admin.modules.huzhou.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -27,8 +28,10 @@ import com.easy.admin.modules.huzhou.entity.*;
import com.easy.admin.modules.huzhou.service.*;
import com.easy.admin.modules.huzhou.vo.HuzhouProjectinfoOV;
import com.easy.admin.modules.huzhou.vo.ProjectApproveOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import com.easy.admin.util.PasswordUtil;
import com.easy.admin.util.ShiroUtil;
import org.activiti.engine.IdentityService;
import org.activiti.engine.RuntimeService;
@ -39,10 +42,7 @@ import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import com.easy.admin.common.api.vo.Result;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -69,10 +69,6 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
private SysUserService sysUserService;
@Autowired
private SysDictService sysDictService;
@Autowired
private SysUserRoleService userRoleService;
@Autowired
private SysRoleService roleService;
@Autowired
private HuzhouSubProjectinfoMapper subProjectinfoMapper;
@ -88,9 +84,11 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
private IHuzhouProcessinfoService processinfoService;
@Autowired
private HuzhouProjectinfoHistoryMapper historyMapper;
@Autowired
private IHuzhouUploadfileinfoService uploadfileinfoService;
@Override
public void submitProject(HuzhouProjectinfo info) {
public void submitProject(MultipartFile[] multipartFile,HuzhouProjectinfo info) throws IOException {
//保存项目信息
info.setStage("1");//最开始的状态。项目入库中
if(info.getId()!=null){
@ -142,7 +140,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
taskService.addComment(taskId,processInstanceId,comment);//添加审批意见
taskService.complete(taskId, variables);
userprojectService.saveFromProject(info,"0");//保存项目联系人信息,0表示当前醒目是主项目
uploadfileinfoService.saveFileAndFileInfo(multipartFile, info.getId(), "5");
}
@Override
public void batchImportProjects(MultipartFile multipartFile) throws Exception {
@ -171,7 +169,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
Row titlerow = sheet.getRow(0);//第一行字段名称
Row chineseTitlerow = sheet.getRow(1); //第二行中文标题
int cellNum = 32;//一共32列
int cellNum = 28;//一共28
//第一行获取字段名称
for (int i = 0; i < cellNum; i++) {
NameMap.put(String.valueOf(i),titlerow.getCell(i).getStringCellValue());
@ -278,6 +276,18 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
//单个入库项目可以编辑,发起人编辑
if("1".equals(isEdit)&&"1".equals(flag)){
if(null!=projectinfo){
// 金额校验
Double totalMoney = projectinfo.getTotalMoney();
Double accountMoney = projectinfo.getCentralMoney() + projectinfo.getProvincialMoney() + projectinfo.getCityMoney() + projectinfo.getCountyMoney() + projectinfo.getSelfMoney();
Double accountYearMoney = projectinfo.getPayamount2023Money() + projectinfo.getPayamount2024Money() + projectinfo.getPayamount2025Money();
if(!totalMoney.equals(accountMoney)){
String error="各类资金之和与总投资不匹配!";
throw new EasyException(error);
}
if(!totalMoney.equals(accountYearMoney)){
String error="总支付金额与总投资不匹配!";
throw new EasyException(error);
}
//查询修改前信息进行保存
this.updateById(projectinfo);
//保存修改记录
@ -353,8 +363,8 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
@Override
public IPage<HuzhouProjectinfoOV> getProjectInfoAndChildPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize) {
Page page = new Page(pageNo, pageSize);
projectinfo = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page,projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
Page<HuzhouProjectinfoOV> projectAndChildInfoPageList = projectinfoMapper.getProjectAndChildInfoPageList(page,projectInfoAuthSelect);
List<HuzhouProjectinfoOV> records = projectAndChildInfoPageList.getRecords();
records.forEach(item->{
item.setMissingSubprojects(false);//设置默认是false

6
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouRegulationlabServiceImpl.java

@ -3,7 +3,9 @@ package com.easy.admin.modules.huzhou.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.modules.huzhou.dao.HuzhouRegulationlabMapper;
import com.easy.admin.util.ShiroUtil;
import org.apache.commons.lang3.StringUtils;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.entity.HuzhouRegulationlab;
@ -113,7 +115,9 @@ public class HuzhouRegulationlabServiceImpl extends ServiceImpl<HuzhouRegulation
private void addFile(MultipartFile file,HuzhouRegulationlab regulationlab) throws IOException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath +File.separator+"regulationlab"+ File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath +File.separator+"regulationlab"+ File.separator+nickname+ File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录

13
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUploadfileinfoServiceImpl.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouProcessinfoMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouUploadfileinfoMapper;
@ -13,6 +14,7 @@ import com.easy.admin.modules.huzhou.entity.BaseEntity;
import com.easy.admin.modules.huzhou.entity.HuzhouProcessinfo;
import com.easy.admin.modules.huzhou.entity.HuzhouUploadfileinfo;
import com.easy.admin.modules.huzhou.service.IHuzhouUploadfileinfoService;
import com.easy.admin.util.ShiroUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@ -45,7 +47,9 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
this.update(queryWrapper);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath + File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath + File.separator +nickname+ File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录
@ -80,7 +84,10 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
//获取当前时间
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath + File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath + File.separator +nickname+ File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录
@ -92,7 +99,7 @@ public class HuzhouUploadfileinfoServiceImpl extends ServiceImpl<HuzhouUploadfil
String originalFilename = item.getOriginalFilename();
originalFilename = CommonUtils.getFileName(originalFilename);
if(originalFilename.indexOf(".")!=-1){
fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")) + "_" + System.currentTimeMillis() + originalFilename.substring(originalFilename.lastIndexOf("."));
fileName = originalFilename.substring(0, originalFilename.lastIndexOf(".")) + "_"+ System.currentTimeMillis() + originalFilename.substring(originalFilename.lastIndexOf("."));
}else{
fileName = originalFilename+ "_" + System.currentTimeMillis();
}

46
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouUserprojectServiceImpl.java

@ -17,6 +17,7 @@ import com.easy.admin.common.core.exception.EasyException;
import com.easy.admin.common.core.util.ToolUtil;
import com.easy.admin.common.redis.constant.RedisPrefix;
import com.easy.admin.common.redis.util.RedisUtil;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.exception.BusinessException;
import com.easy.admin.modules.huzhou.common.HuzhouCommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouUserprojectMapper;
@ -24,6 +25,9 @@ import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import com.easy.admin.modules.huzhou.entity.HuzhouSubProjectinfo;
import com.easy.admin.modules.huzhou.entity.HuzhouUserproject;
import com.easy.admin.modules.huzhou.service.IHuzhouUserprojectService;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.sys.model.SysDict;
import com.easy.admin.sys.service.SysDictService;
import com.easy.admin.util.PasswordUtil;
import com.easy.admin.util.ShiroUtil;
import org.apache.shiro.SecurityUtils;
@ -32,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -55,6 +60,10 @@ public class HuzhouUserprojectServiceImpl extends ServiceImpl<HuzhouUserprojectM
@Autowired
private SysUserMapper userMapper;
@Autowired
private SysUserService sysUserService;
@Autowired
private SysDictService sysDictService;
@Autowired
private SysUserRoleService userRoleService;
@Override
public void saveFromProject(HuzhouProjectinfo projectinfo,String issubproject) {
@ -69,6 +78,24 @@ public class HuzhouUserprojectServiceImpl extends ServiceImpl<HuzhouUserprojectM
this.save(huzhouUserproject);
}
}
String superLeader = projectinfo.getSuperLeader();
SysDict dict = sysDictService.getDictByCode("superLeader", superLeader);
String dictName = dict.getName();
//上级指导室中文名称查询角色有哪些人
List<HashMap<String, String>> userDictByRoles = sysUserService.getUserDictByRoles(dictName);
ArrayList<String> strings = new ArrayList<>();
if(userDictByRoles==null||userDictByRoles.size()==0){
String error = "任务牵头处室"+dictName+"负责人未找到";
throw new EasyException(error);
}
userDictByRoles.forEach(item->{
String value = item.get("value");
HuzhouUserproject huzhouUserproject = new HuzhouUserproject();
huzhouUserproject.setProjectId(projectinfo.getId());
huzhouUserproject.setUserId(value);
huzhouUserproject.setIssubproject(issubproject);
this.save(huzhouUserproject);
});
}
@Override
@ -96,23 +123,10 @@ public class HuzhouUserprojectServiceImpl extends ServiceImpl<HuzhouUserprojectM
public Page<Map> getMyAddressBook(Integer pageNo, Integer pageSize) {
Page sysUserPage = new Page<SysUser>(pageNo,pageSize);
SysUser currentUser = ShiroUtil.getCurrentUser();
List<SysRole> roleList = currentUser.getRoleList();
Map<String, String> stringStringMap = new HashMap<>();
String roles = "";
for (SysRole role:roleList
) {
roles = role.getCode()+","+roles;
}
if(roles.contains("manageOrg")||roles.contains("sys:admin")){
}else if(roles.contains("supervisor")){
stringStringMap.put("supervisorid",currentUser.getId());
}else {
stringStringMap.put("userid",currentUser.getId());
}
HuzhouProjectinfo huzhouProjectinfo = new HuzhouProjectinfo();
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(huzhouProjectinfo);
Page<Map> myAddressBook = userprojectMapper.getMyAddressBook(sysUserPage, stringStringMap);
Page<Map> myAddressBook = userprojectMapper.getMyAddressBook(sysUserPage, projectInfoAuthSelect);
return myAddressBook;
}

13
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouWorkreportServiceImpl.java

@ -12,6 +12,7 @@ import com.easy.admin.modules.huzhou.entity.HuzhouWorkreport;
import com.easy.admin.modules.huzhou.service.IHuzhouProjectinfoService;
import com.easy.admin.modules.huzhou.service.IHuzhouWorkreportService;
import com.easy.admin.modules.huzhou.vo.HuzhouWorkreportOV;
import com.easy.admin.modules.huzhou.vo.ProjectInfoAuthSelect;
import com.easy.admin.util.ShiroUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@ -40,8 +41,8 @@ public class HuzhouWorkreportServiceImpl extends ServiceImpl<HuzhouWorkreportMap
@Override
public Page<HuzhouProjectinfo> getWorkreportPageList(HuzhouProjectinfo huzhouProjectinfo, Integer pageNo, Integer pageSize) {
Page<HuzhouWorkreportOV> page = new Page<>(pageNo, pageSize);
huzhouProjectinfo=CommonUtils.setGetProjectInfoAuth(huzhouProjectinfo);
Page<HuzhouProjectinfo> pageList = workreportMapper.getWorkreportPageList(page, huzhouProjectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(huzhouProjectinfo);
Page<HuzhouProjectinfo> pageList = workreportMapper.getWorkreportPageList(page, projectInfoAuthSelect);
return pageList;
}
@ -89,8 +90,8 @@ public class HuzhouWorkreportServiceImpl extends ServiceImpl<HuzhouWorkreportMap
@Override
public IPage<HuzhouProjectinfo> getNoTypeWorkReportPageList(HuzhouProjectinfo projectinfo, Integer pageNo, Integer pageSize) {
Page<HuzhouProjectinfo> page = new Page<>(pageNo, pageSize);
projectinfo=CommonUtils.setGetProjectInfoAuth(projectinfo);
IPage<HuzhouProjectinfo> res =workreportMapper.getNoTypeWorkReportPageList(page,projectinfo);
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectinfo);
IPage<HuzhouProjectinfo> res =workreportMapper.getNoTypeWorkReportPageList(page,projectInfoAuthSelect);
return res;
}
@ -104,7 +105,9 @@ public class HuzhouWorkreportServiceImpl extends ServiceImpl<HuzhouWorkreportMap
private void addContractFile(MultipartFile file, HuzhouWorkreport workreport) throws IOException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String currentDay = dateFormat.format(new Date());
File filePath = new File(uploadpath +File.separator+"workreport"+ File.separator + currentDay + File.separator);
SysUser currentUser = ShiroUtil.getCurrentUser();
String nickname = currentUser.getNickname();
File filePath = new File(uploadpath +File.separator+"workreport"+ File.separator +nickname+ File.separator+currentDay+File.separator);
//文件夹不存在则创建
if (!filePath.exists()) {
// 创建文件根目录

15
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/ProjectInfoAuthSelect.java

@ -0,0 +1,15 @@
package com.easy.admin.modules.huzhou.vo;
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo;
import lombok.Data;
import java.util.List;
@Data
public class ProjectInfoAuthSelect extends HuzhouProjectinfo {
List<String> superLeaderList;
List<String> adminDivisionList;
String orDutyPlace;
List<String> notorDutyPlace;
}

BIN
huzhou/src/main/resources/excelTemplate/项目入库导出模板.xlsx

Binary file not shown.

BIN
huzhou/src/main/resources/excelTemplate/项目入库模板.xlsx

Binary file not shown.

BIN
huzhou/src/main/resources/excelTemplate/项目计划模板.xlsx

Binary file not shown.
Loading…
Cancel
Save