diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarLawsInformationEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarLawsInformationEOService.java index 4a98ff62..2d4860be 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarLawsInformationEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarLawsInformationEOService.java @@ -29,17 +29,16 @@ public class ActSarLawsInformationEOService { SarLawsInformation sarLawsInformation = JSONObject.parseObject(lawsInformationInfo, SarLawsInformation.class); JSONObject jsonObject = JSONObject.parseObject(lawsInformationInfo); String applyUserId = jsonObject.getString("applyUserId"); - String applyUserName = jsonObject.getString("applyUserName"); +// String applyUserName = jsonObject.getString("applyUserName"); String approverId = jsonObject.getString("approverId"); - String approverName = jsonObject.getString("approverName"); +// String approverName = jsonObject.getString("approverName"); String createAndApproveBy = ""; // 判断发起人和审批人是否相同 if (approverId.equals(applyUserId)) { - createAndApproveBy = applyUserName + "(" + applyUserId + ")"; + createAndApproveBy = applyUserId; }else { - createAndApproveBy = applyUserName + "(" + applyUserId + ")," + approverName + "(" + approverId + ")"; + createAndApproveBy = applyUserId + "," + approverId; } - sarLawsInformation.setCreateAndApproveBy(createAndApproveBy); sarLawsInformation.setDownloadableBy(createAndApproveBy); sarLawsInformation.setViewableBy(createAndApproveBy); logger.info("政策法规资料入库:" + sarLawsInformation); diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java index 0f93f85a..1c2900c1 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/rest/LoginRestController.java @@ -142,10 +142,10 @@ public class LoginRestController { if(userEO.getDisableFlag()==1){ return Result.error("r0011", "帐号已禁用"); } - String position = userService.selectPositionByUserId(account); - if(StringUtils.isBlank(position)){ - return Result.error("r0011", "无配置岗位"); - } +// String position = userService.selectPositionByUserId(account); +// if(StringUtils.isBlank(position)){ +// return Result.error("r0011", "无配置岗位"); +// } String token = jwtUtils.generateToken(userEO.getUsid()); userEO.setToken(token); // 加密重要信息 @@ -212,10 +212,10 @@ public class LoginRestController { if(userEO.getDisableFlag()==1){ return Result.error("r0011", "帐号已禁用"); } - String position = userService.selectPositionByUserId(account); - if(StringUtils.isBlank(position)){ - return Result.error("r0011", "无配置岗位"); - } +// String position = userService.selectPositionByUserId(account); +// if(StringUtils.isBlank(position)){ +// return Result.error("r0011", "无配置岗位"); +// } String token = jwtUtils.generateToken(userEO.getUsid()); userEO.setToken(token); // 加密重要信息 diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index df594ac1..95249a3c 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -197,12 +197,25 @@ public class WebMvcConfig implements WebMvcConfigurer { // 政策课题导出接口 addInterceptor.excludePathPatterns("/api/lawss/sarLawsTopic/exportLawsTopicInfo"); + // 政策资料导出接口 addInterceptor.excludePathPatterns("/api/lawss/sarLawsInformation/exportLawsInformationInfo"); // 获取onlyOffice历史文件接口 addInterceptor.excludePathPatterns("/api/lawss/activiti/getAllOnlyOfficeHisFileById"); -// // 添加自定义拦截器,并拦截对应 url + // 内外部会议模板下载 + addInterceptor.excludePathPatterns("/api/lawss/insideOutsideMeeting/exportTemplateFile"); + + // 政策课题模板下载 + addInterceptor.excludePathPatterns("/api/lawss/sarLawsTopic/exportTemplateFile"); + + // 政策资料模板下载 + addInterceptor.excludePathPatterns("/api/lawss/sarLawsInformation/exportTemplateFile"); + + // 标准体系列表导出 + addInterceptor.excludePathPatterns("/api/lawss/sarMenuStandardLimit/standardSystemListExport"); + + // 添加自定义拦截器,并拦截对应 url addInterceptor.addPathPatterns("/**"); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java index 98537ae7..4dca1bcb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/dao/InsideOutsideMeetingDao.java @@ -16,7 +16,7 @@ import java.util.List; @Mapper public interface InsideOutsideMeetingDao extends BaseMapper { - Integer queryByPageCount(InsideOutsideMeetingVO page); + List queryByPageCount(InsideOutsideMeetingVO page); List queryByPage(InsideOutsideMeetingVO page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java index d4297649..8d95f88f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/InsideOutsideMeetingVO.java @@ -86,7 +86,9 @@ public class InsideOutsideMeetingVO extends BasePage { private String sortMode = "asc"; - private String meetingTimeOperator = "="; + // 会议时间查询字段 + private String meetingTimeBegin; + private String meetingTimeEnd; // 导出使用字段 // 被前端选中的记录的ids diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java index dd9435f5..fa77fe1a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/entity/MeetingTopic.java @@ -12,6 +12,8 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import java.util.Date; + /** * @author tjzdw * @description @@ -55,4 +57,12 @@ public class MeetingTopic extends BaseEntity { @TableField("AGENDA_CONTENT") @Excel(name = "议题主要内容") private String agendaContent; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATE_TIME") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + private Date modifyTime; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java index d3305cc3..e0703eb0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/InsideOntSideMeeting/service/impl/InsideOutsideMeetingServiceImpl.java @@ -81,6 +81,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(MeetingTopic::getMeetingId, meetingId); + wrapper.orderByAsc(MeetingTopic::getCreateTime); List meetingTopicList = meetingTopicService.list(wrapper); insideOutsideMeeting.setMeetingTopicList(meetingTopicList); } @@ -108,7 +109,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl diffList = compareInsideOutsideMeeting(insideOutsideMeetingDB, insideOutsideMeeting); if (diffList.size() > 0) { insideOutsideMeeting.setModifyTime(new Date()); @@ -187,7 +188,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl insideOutsideMeetingVOList = this.baseMapper.queryByPage(page); for (InsideOutsideMeetingVO insideOutsideMeeting : insideOutsideMeetingVOList) { @@ -427,7 +428,7 @@ public class InsideOutsideMeetingServiceImpl extends ServiceImpl compareInsideOutsideMeeting(InsideOutsideMeeting oldMeeting, InsideOutsideMeeting newMeeting) { List changes = new ArrayList<>(); // 不需要比较的字段 - String[] ignoreFields = {"id","validFlag","createTime","modifyTime", "firstMeetingTypeName", "secondMeetingTypeName"}; + String[] ignoreFields = {"id","validFlag","createTime","modifyTime","meetingMinutesList", "firstMeetingTypeName", "secondMeetingTypeName"}; List ignoreFieldList = Arrays.asList(ignoreFields); // 获取SarLawsInformation类的所有字段 Field[] fields = InsideOutsideMeeting.class.getDeclaredFields(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java index f10d5d5d..fa4476ff 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/esRevisePlan/controller/EsRevisePlanController.java @@ -8,8 +8,7 @@ import com.adc.da.http.PageInfo; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanService; -import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao; -import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; import com.adc.da.utils.util.EsRevisePlanExportUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiOperation; @@ -29,10 +28,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; +import java.util.*; /** *

@@ -52,7 +48,7 @@ public class EsRevisePlanController extends BaseController { @Autowired IEsRevisePlanService iEsRevisePlanService; @Autowired - private QualityEvaluationDao qualityEvaluationDao; + private IQualityEvaluationService qualityEvaluationService; @ApiOperation(value = "获取所有企标计划") @GetMapping("getAllPlans") @@ -106,38 +102,41 @@ public class EsRevisePlanController extends BaseController { revisePlan.setArea(area); //查评分 if (ObjectUtils.isNotEmpty(revisePlan.getStandId())) { - List last = new ArrayList<>(); - List evaluations = qualityEvaluationDao.getEvaluationForm(new QueryWrapper().eq("law_id", revisePlan.getStandId()).eq("evaluation_type", "quality")); - for (QualityEvaluation evaluation : evaluations) { - Double score; - String value; - if (evaluation.getProcessNode()==null){ - value=""; - }else { - value=evaluation.getProcessNode(); - } - String evaluationScore = ObjectUtils.isEmpty(evaluation.getScore()) ? "0" : evaluation.getScore(); - switch (value){ - case "征求意见": - score=Double.valueOf(evaluationScore) * 0.3; - break; - case "技术委员会评审、评审意见修改": - score=Double.valueOf(evaluationScore) * 0.4; - break; - case "重新技术委员会评审、评审意见修改": - score=Double.valueOf(evaluationScore) * 0.4; - break; - case "标准化复审": - score=Double.valueOf(evaluationScore) * 0.15; - break; - case "标准法规部高级经理审核": - score=Double.valueOf(evaluationScore) * 0.15; - break; - default: score=Double.valueOf(evaluationScore); - } - last.add(score); - } - revisePlan.setScore(last.stream().mapToDouble(Double::doubleValue).sum()); + Map score = qualityEvaluationService.getScore(revisePlan.getStandId()); + revisePlan.setScore(score.get("finalScore")); +// List last = new ArrayList<>(); +// List evaluations = qualityEvaluationDao.getEvaluationForm(new QueryWrapper().eq("law_id", revisePlan.getStandId()).eq("evaluation_type", "quality")); +// for (QualityEvaluation evaluation : evaluations) { +// Double score; +// String value; +// if (evaluation.getProcessNode()==null){ +// value=""; +// }else { +// value=evaluation.getProcessNode(); +// } +// String evaluationScore = ObjectUtils.isEmpty(evaluation.getScore()) ? "0" : evaluation.getScore(); +// switch (value){ +// case "征求意见": +// score=Double.valueOf(evaluationScore) * 0.3; +// break; +// case "技术委员会评审、评审意见修改": +// score=Double.valueOf(evaluationScore) * 0.4; +// break; +// case "重新技术委员会评审、评审意见修改": +// score=Double.valueOf(evaluationScore) * 0.4; +// break; +// case "标准化复审": +// score=Double.valueOf(evaluationScore) * 0.15; +// break; +// case "标准法规部高级经理审核": +// score=Double.valueOf(evaluationScore) * 0.15; +// break; +// default: score=Double.valueOf(evaluationScore); +// } +// last.add(score); +// } +// revisePlan.setScore(last.stream().mapToDouble(Double::doubleValue).sum()); + } } workbook = EsRevisePlanExportUtil.exportDatas(datas); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java index 49f72ee1..dc23da79 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/fileMaterialCenter/service/impl/FileMaterialServiceImpl.java @@ -5,12 +5,12 @@ import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterial; import com.adc.da.slrs.fileMaterialCenter.dao.FileMaterialDao; import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterialPage; import com.adc.da.slrs.fileMaterialCenter.service.IFileMaterialService; -import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; import com.adc.da.slrs.zlTree.service.IZlTreeService; +import com.adc.da.sys.service.IUserRoleEOService; import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import javax.management.Query; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -44,12 +45,11 @@ public class FileMaterialServiceImpl extends ServiceImpl getFileMaterial(FileMaterialPage queryPage) { @@ -63,8 +63,9 @@ public class FileMaterialServiceImpl extends ServiceImpl positionIds = tsUserDao.selectPositionIds(loginUserId); - List roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds = tsUserDao.selectPositionIds(loginUserId); +// List roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(loginUserId); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in("ROLE_ID", roleIds); List tsRoleMenuData = iTsRoleMenuDataService.list(wrapper); @@ -105,8 +106,9 @@ public class FileMaterialServiceImpl extends ServiceImpl positionIds = tsUserDao.selectPositionIds(userId); - List roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds = tsUserDao.selectPositionIds(userId); +// List roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in("ROLE_ID", roleIds); List tsRoleMenuData = iTsRoleMenuDataService.list(wrapper); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/controller/RoleReplacePositionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/controller/RoleReplacePositionController.java new file mode 100644 index 00000000..2373ba2e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/controller/RoleReplacePositionController.java @@ -0,0 +1,34 @@ +package com.adc.da.slrs.roleReplacePosition.controller; + +import com.adc.da.slrs.roleReplacePosition.service.UserPositionService; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author: Mzaxd + * @Date: 2023/11/14 13:46 + */ + +@RestController +@Api(tags = "福田标准法规--角色替换岗位") +@RequestMapping("/api/roleReplacePosition") +public class RoleReplacePositionController { + + @Resource + private UserPositionService userPositionService; + + /** + * 角色替换岗位 + * + * @return + */ + @GetMapping("/start") + public void roleReplacePosition() { + userPositionService.roleReplacePosition(); + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/PositionRoleMapper.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/PositionRoleMapper.java new file mode 100644 index 00000000..c7b0d80a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/PositionRoleMapper.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.roleReplacePosition.dao; + +import com.adc.da.slrs.roleReplacePosition.domain.PositionRole; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** +* @author ThinkBook +* @description 针对表【ts_position_role】的数据库操作Mapper +* @createDate 2023-11-14 13:53:47 +* @Entity com.adc.da.slrs.roleReplacePosition.domain.PositionRole +*/ +@Repository +public interface PositionRoleMapper extends BaseMapper { + +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/UserPositionMapper.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/UserPositionMapper.java new file mode 100644 index 00000000..54d22e19 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/dao/UserPositionMapper.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.roleReplacePosition.dao; + +import com.adc.da.slrs.roleReplacePosition.domain.UserPosition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** +* @author ThinkBook +* @description 针对表【ts_user_position】的数据库操作Mapper +* @createDate 2023-11-14 13:49:37 +* @Entity com.adc.da.slrs.roleReplacePosition.domain.UserPosition +*/ +@Repository +public interface UserPositionMapper extends BaseMapper { + +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/PositionRole.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/PositionRole.java new file mode 100644 index 00000000..029b3b6d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/PositionRole.java @@ -0,0 +1,95 @@ +package com.adc.da.slrs.roleReplacePosition.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; + +/** + * + * @TableName ts_position_role + */ +@TableName(value ="ts_position_role") +public class PositionRole implements Serializable { + /** + * 角色ID + */ + @TableId + private String roleId; + + /** + * 岗位ID + */ + @TableId + private String positionId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + + /** + * 角色ID + */ + public String getRoleId() { + return roleId; + } + + /** + * 角色ID + */ + public void setRoleId(String roleId) { + this.roleId = roleId; + } + + /** + * 岗位ID + */ + public String getPositionId() { + return positionId; + } + + /** + * 岗位ID + */ + public void setPositionId(String positionId) { + this.positionId = positionId; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + PositionRole other = (PositionRole) that; + return (this.getRoleId() == null ? other.getRoleId() == null : this.getRoleId().equals(other.getRoleId())) + && (this.getPositionId() == null ? other.getPositionId() == null : this.getPositionId().equals(other.getPositionId())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getRoleId() == null) ? 0 : getRoleId().hashCode()); + result = prime * result + ((getPositionId() == null) ? 0 : getPositionId().hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", roleId=").append(roleId); + sb.append(", positionId=").append(positionId); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/UserPosition.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/UserPosition.java new file mode 100644 index 00000000..e3b71a16 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/domain/UserPosition.java @@ -0,0 +1,93 @@ +package com.adc.da.slrs.roleReplacePosition.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; + +/** + * + * @TableName ts_user_position + */ +@TableName(value ="ts_user_position") +public class UserPosition implements Serializable { + /** + * 用户ID + */ + private String userId; + + /** + * 岗位ID + */ + private String positionId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + public String getUserId() { + return userId; + } + + /** + * 用户ID + */ + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * 岗位ID + */ + public String getPositionId() { + return positionId; + } + + /** + * 岗位ID + */ + public void setPositionId(String positionId) { + this.positionId = positionId; + } + + @Override + public boolean equals(Object that) { + if (this == that) { + return true; + } + if (that == null) { + return false; + } + if (getClass() != that.getClass()) { + return false; + } + UserPosition other = (UserPosition) that; + return (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) + && (this.getPositionId() == null ? other.getPositionId() == null : this.getPositionId().equals(other.getPositionId())); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); + result = prime * result + ((getPositionId() == null) ? 0 : getPositionId().hashCode()); + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", userId=").append(userId); + sb.append(", positionId=").append(positionId); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/PositionRoleService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/PositionRoleService.java new file mode 100644 index 00000000..e160e34a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/PositionRoleService.java @@ -0,0 +1,13 @@ +package com.adc.da.slrs.roleReplacePosition.service; + +import com.adc.da.slrs.roleReplacePosition.domain.PositionRole; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author ThinkBook +* @description 针对表【ts_position_role】的数据库操作Service +* @createDate 2023-11-14 13:53:47 +*/ +public interface PositionRoleService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/UserPositionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/UserPositionService.java new file mode 100644 index 00000000..27c81bfc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/UserPositionService.java @@ -0,0 +1,14 @@ +package com.adc.da.slrs.roleReplacePosition.service; + +import com.adc.da.slrs.roleReplacePosition.domain.UserPosition; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author ThinkBook +* @description 针对表【ts_user_position】的数据库操作Service +* @createDate 2023-11-14 13:49:37 +*/ +public interface UserPositionService extends IService { + + void roleReplacePosition(); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/PositionRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/PositionRoleServiceImpl.java new file mode 100644 index 00000000..75472fb1 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/PositionRoleServiceImpl.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.roleReplacePosition.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.adc.da.slrs.roleReplacePosition.domain.PositionRole; +import com.adc.da.slrs.roleReplacePosition.service.PositionRoleService; +import com.adc.da.slrs.roleReplacePosition.dao.PositionRoleMapper; +import org.springframework.stereotype.Service; + +/** +* @author ThinkBook +* @description 针对表【ts_position_role】的数据库操作Service实现 +* @createDate 2023-11-14 13:53:47 +*/ +@Service +public class PositionRoleServiceImpl extends ServiceImpl + implements PositionRoleService{ + +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/UserPositionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/UserPositionServiceImpl.java new file mode 100644 index 00000000..61c4eb5f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/roleReplacePosition/service/impl/UserPositionServiceImpl.java @@ -0,0 +1,68 @@ +package com.adc.da.slrs.roleReplacePosition.service.impl; + +import com.adc.da.slrs.roleReplacePosition.domain.PositionRole; +import com.adc.da.slrs.roleReplacePosition.service.PositionRoleService; +import com.adc.da.sys.entity.UserRoleEO; +import com.adc.da.sys.service.IUserRoleEOService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.adc.da.slrs.roleReplacePosition.domain.UserPosition; +import com.adc.da.slrs.roleReplacePosition.service.UserPositionService; +import com.adc.da.slrs.roleReplacePosition.dao.UserPositionMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** +* @author ThinkBook +* @description 针对表【ts_user_position】的数据库操作Service实现 +* @createDate 2023-11-14 13:49:37 +*/ +@Service +public class UserPositionServiceImpl extends ServiceImpl + implements UserPositionService{ + + @Resource + private PositionRoleService positionRoleService; + + @Resource + private IUserRoleEOService userRoleEOService; + + @Override + public void roleReplacePosition() { + // 找到所有对应关系 + List userPositions = this.list(); + + // 转换对应关系 + Map> positionRoleMap = positionRoleService.list().stream() + .collect(Collectors.groupingBy(PositionRole::getPositionId)); + + Set userRoleEOSet = new HashSet<>(); + for (UserPosition userPosition : userPositions) { + // 去除空指针异常 + if (positionRoleMap.get(userPosition.getPositionId()) == null) { + continue; + } + List roleIds = positionRoleMap.get(userPosition.getPositionId()).stream() + .map(PositionRole::getRoleId).collect(Collectors.toList()); + for (String roleId : roleIds) { + UserRoleEO userRoleEO = new UserRoleEO(); + userRoleEO.setUserId(userPosition.getUserId()); + userRoleEO.setRoleId(roleId); + userRoleEOSet.add(userRoleEO); + } + } + // 保存对应关系 + // 先找出所有用户角色,然后和构建好的用户角色去重后再进行添加,避免出现多条重复数据 + List userRoleEOList = userRoleEOService.list(); + userRoleEOList.forEach(userRoleEOSet::remove); + userRoleEOService.saveBatch(userRoleEOSet, userRoleEOSet.size()); + } + + +} + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/dao/SarBussStandMenuDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/dao/SarBussStandMenuDao.java index a5d69489..14e6fa4c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/dao/SarBussStandMenuDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandMenu/dao/SarBussStandMenuDao.java @@ -37,4 +37,5 @@ public interface SarBussStandMenuDao extends BaseMapper { int updateMenuidByMenuid (@Param("oldMenuid") String oldMenuid ,@Param("newMenuid") String newMenuid); + List getESStandMenu(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java index c4508960..0dc6cea4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/dao/SarBussionessStandDao.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarBussionessStand.dao; import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport; +import com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO; import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; @@ -138,5 +139,7 @@ public interface SarBussionessStandDao extends BaseMapper { List selectAllStandStatus(); String selectMaxStandSn(String standSort); + + List getESSystemData(@Param("param") StandSystemDTO standSystemDTO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java index 54b6a43d..61e11b15 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/controller/SarLawsInformationController.java @@ -69,6 +69,9 @@ public class SarLawsInformationController extends BaseController> page(SarLawsInformation sarLawsInformation) { List rows = informationService.queryByPage(sarLawsInformation); + if (rows == null) { + return Result.error("查询失败!"); + } return Result.success(getPageInfo(sarLawsInformation.getPager(), rows)); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationAuthDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationAuthDao.java new file mode 100644 index 00000000..264b5b97 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/dao/SarLawsInformationAuthDao.java @@ -0,0 +1,14 @@ +package com.adc.da.slrs.sarLawsInformation.dao; + +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformationAuth; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author tjzdw + * @description + * @date 2023/11/10 + */ +@Mapper +public interface SarLawsInformationAuthDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java index 8883148f..c24b5639 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformation.java @@ -37,7 +37,7 @@ public class SarLawsInformation extends BasePage implements Serializable { /** * 一级资料类别 */ - @ApiModelProperty("一级资料类别") + @ApiModelProperty("1级资料分类") @TableField(value = "FIRST_TYPE") private String firstType; @@ -45,8 +45,8 @@ public class SarLawsInformation extends BasePage implements Serializable { * 一级资料类别名称 */ @ApiModelProperty(value = "一级资料类别名称") - @TableField(exist = false) - @Excel(name = "一级资料类别", orderNum = "0") +// @TableField(exist = false) + @Excel(name = "1级资料分类", orderNum = "0") private String firstTypeName; /** @@ -60,8 +60,8 @@ public class SarLawsInformation extends BasePage implements Serializable { * 二级资料类别名称 */ @ApiModelProperty(value = "二级资料类别名称") - @TableField(exist = false) - @Excel(name = "二级资料类别", orderNum = "1") +// @TableField(exist = false) + @Excel(name = "2级资料分类", orderNum = "1") private String secondTypeName; /** @@ -75,8 +75,8 @@ public class SarLawsInformation extends BasePage implements Serializable { * 三级资料类别名称 */ @ApiModelProperty(value = "三级资料类别名称") - @TableField(exist = false) - @Excel(name = "三级资料类别", orderNum = "2") +// @TableField(exist = false) + @Excel(name = "3级资料分类", orderNum = "2") private String thirdTypeName; /** @@ -90,8 +90,8 @@ public class SarLawsInformation extends BasePage implements Serializable { * 四级资料类别名称 */ @ApiModelProperty(value = "四级资料类别名称") - @TableField(exist = false) - @Excel(name = "四级资料类别", orderNum = "3") +// @TableField(exist = false) + @Excel(name = "4级资料分类", orderNum = "3") private String fourthTypeName; /** @@ -154,21 +154,21 @@ public class SarLawsInformation extends BasePage implements Serializable { * 可查看者,若设置为空则所有用户均可查看,若设置人员后,仅有可查看者可以查看文件信息。 */ @ApiModelProperty(value = "可查看者") - @TableField(value = "VIEWABLE_BY") + @TableField(exist = false) private String viewableBy; /** * 可下载者,若设置为空则仅有上传人和审批人可以查看,若设置人员后,仅有可下载者可下载文件信息。 */ @ApiModelProperty(value = "可下载者") - @TableField(value = "DOWNLOADABLE_BY") + @TableField(exist = false) private String downloadableBy; /** * 创建人和审批人 */ @ApiModelProperty(value = "创建人和审批人") - @TableField + @TableField(exist = false) private String createAndApproveBy; /** @@ -242,4 +242,20 @@ public class SarLawsInformation extends BasePage implements Serializable { @TableField(exist = false) private static final long serialVersionUID = 1L; + + // 上传时间查询字段 + @TableField(exist = false) + private String uploadTimeBegin; + @TableField(exist = false) + private String uploadTimeEnd; + // 查询使用 所有子节点列表 + @TableField(exist = false) + private List treeNodeIdList; + + @TableField(exist = false) + private List informationIdList; + + // 是否可下载 + @TableField(exist = false) + private Boolean downloadable; } \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformationAuth.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformationAuth.java new file mode 100644 index 00000000..1181e545 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/entity/SarLawsInformationAuth.java @@ -0,0 +1,41 @@ +package com.adc.da.slrs.sarLawsInformation.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @author tjzdw + * @description + * @date 2023/11/10 + */ +@TableName(value ="sar_laws_information_auth") +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@Data +public class SarLawsInformationAuth extends BaseEntity implements Serializable { + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + @ApiModelProperty(value = "权限类型") + @TableField(value = "AUTH_TYPE") + private String authType; + + @ApiModelProperty(value = "政策资料ID") + @TableField(value = "LAWS_INFORMATION_ID") + private String lawsInformationId; + + @ApiModelProperty(value = "用户ID") + @TableField(value = "USER_ID") + private String userId; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationAuthService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationAuthService.java new file mode 100644 index 00000000..efebd65f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationAuthService.java @@ -0,0 +1,12 @@ +package com.adc.da.slrs.sarLawsInformation.service; + +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformationAuth; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @author tjzdw + * @description + * @date 2023/11/10 + */ +public interface SarLawsInformationAuthService extends IService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java index d2affd3e..a338297f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/SarLawsInformationService.java @@ -18,7 +18,7 @@ public interface SarLawsInformationService extends IService List queryByPage(SarLawsInformation sarLawsInformation); - Integer addLawsInformation(SarLawsInformation sarLawsInformation); + Boolean addLawsInformation(SarLawsInformation sarLawsInformation); Boolean deleteInformation(String id); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationAuthServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationAuthServiceImpl.java new file mode 100644 index 00000000..24d61257 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationAuthServiceImpl.java @@ -0,0 +1,18 @@ +package com.adc.da.slrs.sarLawsInformation.service.impl; + +import com.adc.da.slrs.sarLawsInformation.dao.SarLawsInformationAuthDao; +import com.adc.da.slrs.sarLawsInformation.dao.SarLawsInformationDao; +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformationAuth; +import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationAuthService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * @author tjzdw + * @description + * @date 2023/11/10 + */ +@Service +public class SarLawsInformationAuthServiceImpl extends ServiceImpl + implements SarLawsInformationAuthService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java index 4cd5ecf0..072b1504 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformation/service/impl/SarLawsInformationServiceImpl.java @@ -1,6 +1,5 @@ package com.adc.da.slrs.sarLawsInformation.service.impl; -import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; import com.adc.da.att.entity.AttFileEO; @@ -10,11 +9,12 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.person.entity.TsPersonCollect; import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformationAuth; +import com.adc.da.slrs.sarLawsInformation.service.SarLawsInformationAuthService; import com.adc.da.slrs.sarLawsInformationCenterTree.entity.SarLawsInformationCenterTree; import com.adc.da.slrs.sarLawsInformationCenterTree.service.SarLawsInformationCenterTreeService; import com.adc.da.slrs.sarUpdLog.entity.SarUpdLog; import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; -import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.slrs.tsDictionaryType.entity.TsDicType; import com.adc.da.slrs.tsDictionaryType.service.ITsDicTypeService; @@ -22,7 +22,6 @@ import com.adc.da.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.FieldConvertUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.adc.da.slrs.sarLawsInformation.entity.SarLawsInformation; @@ -47,6 +46,8 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -61,6 +62,8 @@ public class SarLawsInformationServiceImpl extends ServiceImpl 0) { sarLawsInformation.setCollectId(list.get(0).getId()); } + // 查询可查看用户和可下载用户 + String userId = LoginUserUtil.getUserId(); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(SarLawsInformationAuth::getLawsInformationId, sarLawsInformation.getId()); + wrapper1.eq(SarLawsInformationAuth::getAuthType, "viewableBy"); + wrapper1.select(SarLawsInformationAuth::getUserId); + List list1 = authService.list(wrapper1); + if (list1.size() > 0) { + List viewableBy = new ArrayList<>(); + list1.forEach(item -> { + String userName = userService.userIdByName(item.getUserId()); + viewableBy.add(userName + "(" + item.getUserId() + ")"); + }); + sarLawsInformation.setViewableBy(String.join(",", viewableBy)); + } + sarLawsInformation.setDownloadable(false); + LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(SarLawsInformationAuth::getLawsInformationId, sarLawsInformation.getId()); + wrapper2.eq(SarLawsInformationAuth::getAuthType, "downloadableBy"); + wrapper2.select(SarLawsInformationAuth::getUserId); + List list2 = authService.list(wrapper2); + if (list2.size() > 0) { + List downloadableBy = new ArrayList<>(); + list2.forEach(item -> { + String userName = userService.userIdByName(item.getUserId()); + downloadableBy.add(userName + "(" + item.getUserId() + ")"); + // 判断是否可下载 + if (item.getUserId().equals(userId)) { + sarLawsInformation.setDownloadable(true); + } + }); + sarLawsInformation.setDownloadableBy(String.join(",", downloadableBy)); + } else { + sarLawsInformation.setDownloadable(true); + } + LambdaQueryWrapper wrapper3 = new LambdaQueryWrapper<>(); + wrapper3.eq(SarLawsInformationAuth::getLawsInformationId, sarLawsInformation.getId()); + wrapper3.eq(SarLawsInformationAuth::getAuthType, "createAndApproveBy"); + wrapper3.eq(SarLawsInformationAuth::getUserId, userId); + int count = authService.count(wrapper3); + if (count > 0) { + sarLawsInformation.setDownloadable(true); + } return sarLawsInformation; } @Override public List queryByPage(SarLawsInformation page) { + String userId = LoginUserUtil.getUserId(); + if (StringUtils.isBlank(userId)) { + return null; + } + // 查询有权限的资料ID + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarLawsInformationAuth::getUserId, userId); + wrapper.eq(SarLawsInformationAuth::getAuthType, "viewableBy"); + wrapper.or().eq(SarLawsInformationAuth::getAuthType, "createAndApproveBy"); + wrapper.select(SarLawsInformationAuth::getLawsInformationId); + List informationAuthList = authService.list(wrapper); + if (informationAuthList.size() > 0) { + List informationIdList = informationAuthList.stream().map(SarLawsInformationAuth::getLawsInformationId).collect(Collectors.toList()); + page.setInformationIdList(informationIdList); + } // 设置排序字段 +// if("name".equals(page.getSortField()) || "uploadTime".equals(page.getSortField())) { +// String sortField = StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(page.getSortField()),"_").toUpperCase(); +// page.setSortField(sortField); +// } if (StringUtils.isNotBlank(page.getSortField())) { String sortField = StringUtils.join(StringUtils.splitByCharacterTypeCamelCase(page.getSortField()),"_").toUpperCase(); page.setSortField(sortField); @@ -113,9 +178,17 @@ public class SarLawsInformationServiceImpl extends ServiceImpl treeNodeIdList = new ArrayList<>(); + treeService.querySubordinateTreeNode(treeNodeIdList, page.getTreeNodeId()); + page.setTreeNodeIdList(treeNodeIdList); + } Integer rowCount = this.baseMapper.queryByPageCount(page); page.getPager().setRowCount(rowCount); List sarLawsInformationList = this.baseMapper.queryByPage(page); + // 对一级类别或二级类别做排序 +// if (page.getSortField().contains("_")) for (SarLawsInformation sarLawsInformation : sarLawsInformationList) { // 将字典编号变更为字典值 convertCodeToName(sarLawsInformation); @@ -134,7 +207,7 @@ public class SarLawsInformationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); @@ -152,7 +222,56 @@ public class SarLawsInformationServiceImpl extends ServiceImpl viewableByList = extractContentInParentheses(sarLawsInformation.getViewableBy()); + if (!viewableByList.contains(userId)) { + viewableByList.add(userId); + } + viewableByList.forEach(viewableBy -> { + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(sarLawsInformation.getId()); + auth.setAuthType("viewableBy"); + auth.setUserId(viewableBy); + authService.save(auth); + }); + } + if (StringUtils.isNotBlank(sarLawsInformation.getDownloadableBy())) { + List downloadableByList = extractContentInParentheses(sarLawsInformation.getDownloadableBy()); + if (!downloadableByList.contains(userId)) { + downloadableByList.add(userId); + } + downloadableByList.forEach(viewableBy -> { + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(sarLawsInformation.getId()); + auth.setAuthType("downloadableBy"); + auth.setUserId(viewableBy); + authService.save(auth); + }); + } + // 流程入库审批人和创建人入库 + if (sarLawsInformation.getCreateAndApproveBy() != null) { + for (String userIdBy : sarLawsInformation.getCreateAndApproveBy().split(",")) { + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(sarLawsInformation.getId()); + auth.setAuthType("createAndApproveBy"); + auth.setUserId(userIdBy); + authService.save(auth); + } + } else { + // 配置初始人员权限 + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(sarLawsInformation.getId()); + auth.setAuthType("createAndApproveBy"); + auth.setUserId(userId); + authService.save(auth); + } + return true; } @Override @@ -161,7 +280,13 @@ public class SarLawsInformationServiceImpl extends ServiceImpl wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(SarLawsInformationAuth::getLawsInformationId, id); + authService.remove(wrapper1); + } + return false; } @Override @@ -175,6 +300,36 @@ public class SarLawsInformationServiceImpl extends ServiceImpl compareResult = compareSarLawsInformation(oldLawsInformation, lawsInformation); if (compareResult.size() > 0) { int update = this.baseMapper.updateById(lawsInformation); + for (String compareItem : compareResult) { + if (compareItem.contains("可查看者")) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarLawsInformationAuth::getLawsInformationId, lawsInformation.getId()); + wrapper.eq(SarLawsInformationAuth::getAuthType, "viewableBy"); + authService.remove(wrapper); + List viewableByList = extractContentInParentheses(lawsInformation.getViewableBy()); + viewableByList.forEach(viewableBy -> { + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(lawsInformation.getId()); + auth.setAuthType("viewableBy"); + auth.setUserId(viewableBy); + authService.save(auth); + }); + } + if (compareItem.contains("可下载者")) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarLawsInformationAuth::getLawsInformationId, lawsInformation.getId()); + wrapper.eq(SarLawsInformationAuth::getAuthType, "downloadableBy"); + authService.remove(wrapper); + List downloadableByList = extractContentInParentheses(lawsInformation.getDownloadableBy()); + downloadableByList.forEach(downloadableBy -> { + SarLawsInformationAuth auth = new SarLawsInformationAuth(); + auth.setLawsInformationId(lawsInformation.getId()); + auth.setAuthType("downloadableBy"); + auth.setUserId(downloadableBy); + authService.save(auth); + }); + } + } // 添加修改记录 SarUpdLog sarUpdLogEO = new SarUpdLog(); sarUpdLogEO.setId(UUIDUtils.randomUUID20()); @@ -193,19 +348,31 @@ public class SarLawsInformationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.in(SarLawsInformation::getId, idList); List sarLawsInformationList = this.baseMapper.selectList(wrapper); - for (SarLawsInformation sarLawsInformation : sarLawsInformationList) { - // 将字典编号变更为字典值 - convertCodeToName(sarLawsInformation); - } +// for (SarLawsInformation sarLawsInformation : sarLawsInformationList) { +// // 将字典编号变更为字典值 +// convertCodeToName(sarLawsInformation); +// } return sarLawsInformationList; } @Override public List getAllLawsInformation(SarLawsInformation sarLawsInformation) { + String userId = LoginUserUtil.getUserId(); + // 查询有权限的资料ID + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarLawsInformationAuth::getUserId, userId); + wrapper.eq(SarLawsInformationAuth::getAuthType, "viewableBy"); + wrapper.or().eq(SarLawsInformationAuth::getAuthType, "createAndApproveBy"); + wrapper.select(SarLawsInformationAuth::getLawsInformationId); + List informationAuthList = authService.list(wrapper); + if (informationAuthList.size() > 0) { + List informationIdList = informationAuthList.stream().map(SarLawsInformationAuth::getLawsInformationId).collect(Collectors.toList()); + sarLawsInformation.setInformationIdList(informationIdList); + } List sarLawsInformationList = this.baseMapper.getAllLawsInformation(sarLawsInformation); for (SarLawsInformation lawsInformation : sarLawsInformationList) { // 将字典编号变更为字典值 - convertCodeToName(lawsInformation); +// convertCodeToName(lawsInformation); // 查询文件信息 if (StringUtils.isNotBlank(lawsInformation.getInformationFile())) { String[] split = lawsInformation.getInformationFile().split(","); @@ -425,63 +592,70 @@ public class SarLawsInformationServiceImpl extends ServiceImpl compareSarLawsInformation(SarLawsInformation oldInfo, SarLawsInformation newInfo) { List changes = new ArrayList<>(); - // 不需要比较的字段 - String[] ignoreFields = {"id","firstTypeName","secondTypeName","thirdTypeName","fourthTypeName","uploadTime", - "informationFileList","createAndApproveBy","treeNodeId","treeNodeName","validFlag","createTime", - "modifyTime","sortField","sortMode","collectId","serialVersionUID"}; - List ignoreFieldList = Arrays.asList(ignoreFields); + // 需要比较的字段 + String[] fieldArr = {"firstType","secondType","thirdType","fourthType","name", + "department","author","description","informationFile","treeNodeId","viewableBy","downloadableBy"}; + List fieldList = Arrays.asList(fieldArr); // 获取SarLawsInformation类的所有字段 Field[] fields = SarLawsInformation.class.getDeclaredFields(); for (Field field : fields) { - if (!ignoreFieldList.contains(field.getName())) { + if (fieldList.contains(field.getName())) { try { field.setAccessible(true); String oldValue = String.valueOf(field.get(oldInfo)); String newValue = String.valueOf(field.get(newInfo)); if (!Objects.equals(oldValue, newValue)) { - if ("firstType".equals(field.getName()) || "secondType".equals(field.getName()) || "thirdType".equals(field.getName()) || - "fourthType".equals(field.getName())) { - List typeNameList = new ArrayList<>(); - if (StringUtils.isNotBlank(newValue)) { - for (String type : newValue.split(",")) { - if (StringUtils.isNotBlank(type)) { - typeNameList.add(dicTypeService.getDicTypeNameByDicCode(type)); + switch (field.getName()) { +// case "firstType": +// case "secondType": +// case "thirdType": +// case "fourthType": { +// List typeNameList = new ArrayList<>(); +// if (StringUtils.isNotBlank(newValue)) { +// for (String type : newValue.split(",")) { +// if (StringUtils.isNotBlank(type)) { +// typeNameList.add(dicTypeService.getDicTypeNameByDicCode(type)); +// } +// } +// } +// // 获取资料类型名称 +// String fieldName = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1); +// Method method = SarLawsInformation.class.getMethod("get" + fieldName + "Name"); +// Object oldTypeName = method.invoke(oldInfo); +// ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; +// changes.add(annotationsByType.value() + "由\"" + oldTypeName + "\"改为\"" + String.join(",", typeNameList) + "\""); +// break; +// } + case "informationFile": { + List fileNameList = new ArrayList<>(); + if (StringUtils.isNotBlank(newValue)) { + String[] split = newValue.split(","); + for (String attId : split) { + AttFileEO fileInfo = attFileEOService.getFileInfo(attId); + fileNameList.add(fileInfo.getOldFileName()); } } - } - // 获取资料类型名称 - String fieldName = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1); - Method method = SarLawsInformation.class.getMethod("get" + fieldName + "Name"); - Object oldTypeName = method.invoke(oldInfo); - ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; - changes.add(annotationsByType.value() + "由\"" + oldTypeName + "\"改为\"" + String.join(",",typeNameList) + "\""); - } else if ("informationFile".equals(field.getName())) { - List fileNameList = new ArrayList<>(); - if (StringUtils.isNotBlank(newValue)) { - String[] split = newValue.split(","); - for (String attId : split) { - AttFileEO fileInfo = attFileEOService.getFileInfo(attId); - fileNameList.add(fileInfo.getOldFileName()); + // 获取资料类型名称 + String fieldName = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1); + Method method = SarLawsInformation.class.getMethod("get" + fieldName + "List"); + List oldFileList = (List) method.invoke(oldInfo); + List oldFileNameList = new ArrayList<>(); + if (oldFileList != null && oldFileList.size() > 0) { + for (Object oldFile : oldFileList) { + AttFileEO oldFile1 = (AttFileEO) oldFile; + oldFileNameList.add(oldFile1.getOldFileName()); + } } + // 获取字段名称 + ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; + changes.add(annotationsByType.value() + "由\"" + String.join(",", oldFileNameList) + "\"改为\"" + String.join(",", fileNameList) + "\""); + break; } - // 获取资料类型名称 - String fieldName = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1); - Method method = SarLawsInformation.class.getMethod("get" + fieldName + "Name"); - List oldFileList = (List)method.invoke(oldInfo); - List oldFileNameList = new ArrayList<>(); - if (oldFileList != null && oldFileList.size() > 0) { - for (Object oldFile : oldFileList) { - AttFileEO oldFile1 = (AttFileEO) oldFile; - oldFileNameList.add(oldFile1.getOldFileName()); - } + default: { + ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; + changes.add(annotationsByType.value() + "由\"" + oldValue + "\"改为\"" + newValue + "\""); + break; } - // 获取字段名称 - ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; - changes.add(annotationsByType.value() + "由\"" + String.join(",",oldFileNameList) + "\"改为\"" + String.join(",",fileNameList) + "\""); - } - else { - ApiModelProperty annotationsByType = field.getAnnotationsByType(ApiModelProperty.class)[0]; - changes.add(annotationsByType.value() + "由\"" + oldValue + "\"改为\"" + newValue + "\""); } } } catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { @@ -509,6 +683,21 @@ public class SarLawsInformationServiceImpl extends ServiceImpl extractContentInParentheses(String input) { + List results = new ArrayList<>(); + Pattern pattern = Pattern.compile("\\(([^)]+)\\)"); + Matcher matcher = pattern.matcher(input); + while (matcher.find()) { + results.add(matcher.group(1)); + } + return results; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java index a511b834..4ff24cac 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/SarLawsInformationCenterTreeService.java @@ -22,4 +22,6 @@ public interface SarLawsInformationCenterTreeService extends IService getTree(); boolean updateTreeNode(SarLawsInformationCenterTree informationCenterTree); + + void querySubordinateTreeNode(List treeNodeIdList, String treeNodeId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java index 016db49c..36d19867 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsInformationCenterTree/service/impl/SarLawsInformationCenterTreeServiceImpl.java @@ -101,6 +101,20 @@ public class SarLawsInformationCenterTreeServiceImpl extends ServiceImpl 0; } + // 递归查询所有子节点 + @Override + public void querySubordinateTreeNode(List treeNodeIdList, String treeNodeId) { + treeNodeIdList.add(treeNodeId); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarLawsInformationCenterTree::getParentId, treeNodeId); + List list = list(wrapper); + if (list.size()>0) { + for (SarLawsInformationCenterTree sarLawsInformationCenterTree : list) { + querySubordinateTreeNode(treeNodeIdList,sarLawsInformationCenterTree.getId()); + } + } + } + @Transactional @Override public void setResource(SarLawsInformationCenterTree informationCenterTree) { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/controller/SarLawsTopicController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/controller/SarLawsTopicController.java index 1f06ca25..d2f908f0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/controller/SarLawsTopicController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/controller/SarLawsTopicController.java @@ -76,24 +76,24 @@ public class SarLawsTopicController extends BaseController { @ApiOperation(value = "新增政策课题") @PostMapping(value = "/addLawsTopic", consumes = "application/json;charset=UTF-8") - public ResponseMessage create(@RequestBody SarLawsTopic lawsTopic) throws Exception { + public ResponseMessage addLawsTopic(@RequestBody SarLawsTopic lawsTopic) throws Exception { lawsTopicService.addLawsTopicInfo(lawsTopic); return Result.success(); } - @ApiOperation("根据会议ID删除会议") + @ApiOperation("根据政策课题id删除课题") @DeleteMapping("/deleteLawsTopicById") - public ResponseMessage deleteMeeting(String lawsTopicId) { - if (StringUtils.isBlank(lawsTopicId)) { + public ResponseMessage deleteLawsTopicById(String id) { + if (StringUtils.isBlank(id)) { return Result.error("删除失败,政策课题ID为空"); } - lawsTopicService.deleteLawsTopicInfo(lawsTopicId); + lawsTopicService.deleteLawsTopicInfo(id); return Result.success(); } - @ApiOperation("根据会议ID修改会议信息") + @ApiOperation("根据政策课题ID修改课题信息") @PutMapping("/updateLawsTopicInfo") - public ResponseMessage updateMeetingInfo(@RequestBody SarLawsTopic lawsTopic) { + public ResponseMessage updateLawsTopicInfo(@RequestBody SarLawsTopic lawsTopic) { if (ObjectUtils.isEmpty(lawsTopic)) { return Result.error("更新失败,政策课题信息不存在"); } @@ -178,7 +178,7 @@ public class SarLawsTopicController extends BaseController { HSSFCellStyle cellStyle1 = workbook.createCellStyle(); cellStyle1.setAlignment(HorizontalAlignment.CENTER); cellStyle1.setVerticalAlignment(VerticalAlignment.CENTER); - String exportFieldName = "课题名称,课题承办单位,课题指导单位,课题参与单位,开始时间,结题时间,课题费用(万元)"; + String exportFieldName = "课题名称,课题承办单位,课题指导单位,课题参与单位,启动时间,结题时间,课题费用(万元)"; String[] headerArr = exportFieldName.split(","); for (int i=0;i < headerArr.length; i++) { Cell cell = rowHeader.createCell(i); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/dao/SarLawsTopicMapper.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/dao/SarLawsTopicMapper.java index ddbd8f2b..62169489 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/dao/SarLawsTopicMapper.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/dao/SarLawsTopicMapper.java @@ -17,7 +17,7 @@ import java.util.List; @Mapper public interface SarLawsTopicMapper extends BaseMapper { - Integer queryByPageCount(SarLawsTopicVO page); + List queryByPageCount(SarLawsTopicVO page); List queryByPage(SarLawsTopicVO page); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopic.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopic.java index 9ceb0cff..de104c22 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopic.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopic.java @@ -58,7 +58,7 @@ public class SarLawsTopic implements Serializable { /** * 开始时间 */ - @ApiModelProperty(value = "开始时间") + @ApiModelProperty(value = "启动时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @TableField(value = "START_TIME") private Date startTime; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopicVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopicVO.java index ecc187da..0a5cd210 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopicVO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/entity/SarLawsTopicVO.java @@ -56,7 +56,7 @@ public class SarLawsTopicVO extends BasePage { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") - @Excel(name = "开始时间", orderNum = "4", exportFormat = "yyyy-MM-dd", needMerge = true) + @Excel(name = "启动时间", orderNum = "4", exportFormat = "yyyy-MM-dd", needMerge = true) private Date startTime; /** @@ -238,8 +238,9 @@ public class SarLawsTopicVO extends BasePage { private String sortMode = "asc"; - private String startTimeOperator = "="; - private String closeTimeOperator = "="; + // 排序字段 + private String startTimeBegin; + private String startTimeEnd; // 导出使用的属性 // 导出文件名 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java index 7e94b4ad..17dc63bd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsTopic/service/impl/SarLawsTopicServiceImpl.java @@ -217,7 +217,7 @@ public class SarLawsTopicServiceImpl extends ServiceImpl sarLawsTopicVOList = this.baseMapper.queryByPage(page); for (SarLawsTopicVO lawsTopicVO : sarLawsTopicVOList) { @@ -414,14 +414,16 @@ public class SarLawsTopicServiceImpl extends ServiceImpl fileNameList = new ArrayList<>(); - if (StringUtils.isNotBlank(newValue)) { - String[] split = newValue.split(","); + if (StringUtils.isNotBlank(newValueStr)) { + String[] split = newValueStr.split(","); for (String attId : split) { AttFileEO fileInfo = attFileEOService.getFileInfo(attId); fileNameList.add(fileInfo.getOldFileName()); @@ -447,7 +449,21 @@ public class SarLawsTopicServiceImpl extends ServiceImpl - * 前端控制器 - *

-* -* @author super_liu -* @since 2021-07-07 -*/ + *

+ * 前端控制器 + *

+ * + * @author super_liu + * @since 2021-07-07 + */ @RestController @Api(tags = "福田标准法规--标准法规库-菜单标准体系") @RequestMapping("/${restPath}/lawss/sarMenuStandardLimit") +@Slf4j public class SarMenuStandardNewController extends BaseController { @Autowired @@ -39,16 +43,16 @@ public class SarMenuStandardNewController extends BaseController getTopMenu(SarMenuStandardNew sarMenuStandardNew){ - String tsResources= iSarMenuStandardNewService.getTopMenu(sarMenuStandardNew); + public ResponseMessage getTopMenu(SarMenuStandardNew sarMenuStandardNew) { + String tsResources = iSarMenuStandardNewService.getTopMenu(sarMenuStandardNew); return Result.success(tsResources); } @ApiOperation("查询有权限资源") @GetMapping("/getListStandLimit") - public ResponseMessage> getListStandLimit(SarMenuStandardNew sarMenuStandardNew){ + public ResponseMessage> getListStandLimit(SarMenuStandardNew sarMenuStandardNew) { List access = tsUserService.getResourceUserId(LoginUserUtil.getUserId()); - List tsResources= iSarMenuStandardNewService.getListStandLimit(sarMenuStandardNew,access); + List tsResources = iSarMenuStandardNewService.getListStandLimit(sarMenuStandardNew, access); return Result.success(tsResources); } @@ -64,7 +68,7 @@ public class SarMenuStandardNewController extends BaseController getMenuStandardById(@RequestParam String menuId){ + public ResponseMessage getMenuStandardById(@RequestParam String menuId) { if (StringUtils.isBlank(menuId)) { return Result.error("获取失败,菜单ID为空"); } @@ -86,6 +90,27 @@ public class SarMenuStandardNewController extends BaseController standardSystemTree() { + return Result.success(iSarMenuStandardNewService.standardSystemTree()); + } + + @ApiOperation("法规弹窗列表") + @PostMapping("/standardSystemList") + public ResponseMessage standardSystemList(@RequestBody StandSystemDTO standSystemDTO) { + return Result.success(iSarMenuStandardNewService.standardSystemList(standSystemDTO)); + } + + @ApiOperation("法规列表弹窗Excel导出") + @GetMapping("/standardSystemListExport") + public ResponseMessage standardSystemListExport(StandSystemDTO standSystemDTO, + HttpServletResponse response, HttpServletRequest request) { + iSarMenuStandardNewService.standardSystemListExport(standSystemDTO, response, request); + return Result.success(); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java new file mode 100644 index 00000000..ce8c946d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java @@ -0,0 +1,85 @@ +package com.adc.da.slrs.sarMenuStandard.entity; + +import com.adc.da.exception.AdcDaBaseException; + +/** + * @author: Mzaxd + * @Date: 2023/11/15 17:36 + */ +public enum StandCategoryEnum { + // INLAND 类型的枚举实例 + INLAND_GB("INLAND", "GB", 0), + INLAND_GBT("INLAND", "GB/T", 1), + INLAND_QCT("INLAND", "QC/T", 2), + INLAND_JT("INLAND", "JT", 3), + INLAND_JB("INLAND", "JB", 4), + INLAND_GA("INLAND", "GA", 5), + INLAND_GJB("INLAND", "GJB", 6), + INLAND_HJ("INLAND", "HJ", 7), + + // FOREIGN 类型的枚举实例 + FOREIGN_ECE("FOREIGN", "ECE", 0), + FOREIGN_EU("FOREIGN", "EU", 1), + FOREIGN_EC("FOREIGN", "EC", 2), + FOREIGN_EEC("FOREIGN", "EEC", 3), + FOREIGN_ISO("FOREIGN", "ISO", 4), + FOREIGN_IEC("FOREIGN", "IEC", 5), + FOREIGN_GTR("FOREIGN", "GTR", 6), + FOREIGN_CFR("FOREIGN", "CFR", 7), + FOREIGN_JASO("FOREIGN", "JASO", 8), + FOREIGN_JIS("FOREIGN", "JIS", 9), + FOREIGN_GSO("FOREIGN", "GSO", 10), + FOREIGN_GOST("FOREIGN", "GOST", 11), + FOREIGN_ΓOCT("FOREIGN", "ΓOCT", 12), + FOREIGN_TP("FOREIGN", "TP", 13), + FOREIGN_SASO("FOREIGN", "SASO", 14), + FOREIGN_UAE("FOREIGN", "UAE", 15), + FOREIGN_CONTRAN("FOREIGN", "CONTRAN", 16), + FOREIGN_DENATRAN("FOREIGN", "DENATRAN", 17), + FOREIGN_ABNT_NBR("FOREIGN", "ABNT NBR", 18), + FOREIGN_NBR("FOREIGN", "NBR", 19), + FOREIGN_INMETRO("FOREIGN", "INMETRO", 20), + FOREIGN_CONAMA("FOREIGN", "CONAMA", 21), + FOREIGN_Normative_Instruction("FOREIGN", "Normative Instruction", 22), + FOREIGN_ADR("FOREIGN", "ADR", 23), + ; + + private final String standType; + private final String standSort; + private final int sortValue; + + StandCategoryEnum(String standType, String standSort, int sortValue) { + this.standType = standType; + this.standSort = standSort; + this.sortValue = sortValue; + } + + // 根据 standSort 返回 value 的静态方法 + public static int getSortByStandType(String standType, String standSort) { + for (StandCategoryEnum category : StandCategoryEnum.values()) { + if (category.getStandType().equals(standType) && category.getStandSort().equals(standSort)) { + return category.getSortValue(); + } + // 给国标 外标默认值 + if (category.getStandType().equals("INLAND")) { + return 8; + } else if (category.getStandType().equals("FOREIGN")) { + return 24; + } + } + throw new AdcDaBaseException("标准类型错误"); + } + + // Getter 方法 + public String getStandType() { + return standType; + } + + public String getStandSort() { + return standSort; + } + + public int getSortValue() { + return sortValue; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java new file mode 100644 index 00000000..7e6f6b19 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandSystemDTO.java @@ -0,0 +1,159 @@ +package com.adc.da.slrs.sarMenuStandard.entity; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/11/14 17:20 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +public class StandSystemDTO { + + @ApiModelProperty(value = "节点Id") + private String menuId; + + @Excel(name = "体系结构", width = 40, orderNum = "1") + @ApiModelProperty(value = "体系结构") + private String standSystem; + + @ApiModelProperty(value = "标准Id") + private String standId; + + @Excel(name = "标准编号", width = 25, orderNum = "2") + @ApiModelProperty(value = "标准编号") + private String standNo; + + @Excel(name = "标准名称", width = 25, orderNum = "3") + @ApiModelProperty(value = "标准名称") + private String standName; + + @ApiModelProperty(value = "标准状态") + private String standState; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "开始发布日期") + private Date startReleaseDate; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "开始发布日期字符串") + private String startReleaseDateString; + + @Excel(name = "发布日期", width = 25, orderNum = "4", exportFormat = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") + private Date releaseDate; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "结束发布日期") + private Date endReleaseDate; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "结束发布日期字符串") + private String endReleaseDateString; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "开始实施日期") + private Date startImplementDate; + + @Excel(name = "实施日期", width = 25, orderNum = "5", exportFormat = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "实施日期") + private Date implementDate; + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "结束实施日期") + private Date endImplementDate; + + @Excel(name = "代替标准", width = 25, orderNum = "5") + @ApiModelProperty(value = "代替标准") + private String replaceStandardNo; + + @Excel(name = "编制单位", width = 25, orderNum = "5") + @ApiModelProperty(value = "编制单位") + private String dept; + + @Excel(name = "起草人", width = 25, orderNum = "5") + @ApiModelProperty(value = "起草人") + private String draftUserName; + + @Excel(name = "数据来源", width = 25, orderNum = "5") + @ApiModelProperty(value = "数据来源") + private String dataSource; + + @ApiModelProperty(value = "排序字段") + private String sortField; + + @ApiModelProperty(value = "排序规则") + private String sortMode; + + @ApiModelProperty(value = "标准类型(数据排序用)") + private String standSort; + + private String selectIds; + + private List selectIdList; + + @ApiModelProperty(value = "页码") + private int page; + + @ApiModelProperty(value = "每页数量") + private int pageSize; + + @ApiModelProperty(value = "体系排序顺序号") + private int systemSort; + + @ApiModelProperty(value = "国标外表企标排序号") + private int standTypeSort; + + @ApiModelProperty(value = "标准类别排序号") + private int standCategorySort; + + @ApiModelProperty(value = "相关联的节点ID列表(数据库查询用)") + private List menuIdList; + + @ApiModelProperty(value = "导出文件名称") + private String exportName; + + public void setSelectIds(String selectIds) { + this.selectIds = selectIds; + this.selectIdList = java.util.Arrays.asList(selectIds.split(",")); + } + + public void setStartReleaseDate(Date startReleaseDate) { + this.startReleaseDate = startReleaseDate; + if (startReleaseDate != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + this.startReleaseDateString = sdf.format(startReleaseDate); + } + } + + public void setEndReleaseDate(Date endReleaseDate) { + this.endReleaseDate = endReleaseDate; + if (endReleaseDate != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + this.endReleaseDateString = sdf.format(endReleaseDate); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java index bbd48c1b..6e2a0472 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/ISarMenuStandardNewService.java @@ -1,9 +1,13 @@ package com.adc.da.slrs.sarMenuStandard.service; import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew; +import com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO; import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -26,7 +30,13 @@ public interface ISarMenuStandardNewService extends IService Integer updateMenuStandard(SarMenuStandardNew sarMenuStandardNew); - Integer deleteMenuStandard(String menuId); + void deleteMenuStandard(String menuId); SarMenuStandard getMenuStandardById(String menuId); + + List standardSystemTree(); + + IPage standardSystemList(StandSystemDTO standSystemDTO); + + void standardSystemListExport(StandSystemDTO standSystemDTO, HttpServletResponse response, HttpServletRequest request); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java index 630b7970..07d16275 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java @@ -1,22 +1,54 @@ package com.adc.da.slrs.sarMenuStandard.service.impl; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import cn.hutool.core.util.StrUtil; +import com.adc.da.common.ReadExcel; +import com.adc.da.exception.AdcDaBaseException; +import com.adc.da.scheduled.dao.SarStandardInfoDao; +import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; +import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; +import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; +import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; +import com.adc.da.slrs.sarLawsTopic.entity.SarLawsTopicVO; import com.adc.da.slrs.sarMenuStandard.dao.SarMenuStandardNewDao; import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew; +import com.adc.da.slrs.sarMenuStandard.entity.StandCategoryEnum; +import com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO; import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService; import com.adc.da.slrs.sarResource.dao.TsResourceDao; import com.adc.da.slrs.sarRole.dao.TsRoleDao; +import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao; +import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; +import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService; +import com.adc.da.slrs.tsDictionaryType.entity.TsDicType; +import com.adc.da.slrs.tsDictionaryType.service.ITsDicTypeService; import com.adc.da.sys.sarMenuStandard.dao.SarMenuStandardDao; import com.adc.da.sys.sarMenuStandard.entity.SarMenuStandard; +import com.adc.da.sys.sarMenuStandard.entity.StandMenuRelation; +import com.adc.da.sys.util.BeanCopyUtils; import com.adc.da.util.LoginUserUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.util.IOUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.*; import java.util.stream.Collectors; @@ -28,6 +60,7 @@ import java.util.stream.Collectors; * @author super_liu * @since 2021-07-07 */ +@Slf4j @Service public class SarMenuStandardNewServiceNewImpl extends ServiceImpl implements ISarMenuStandardNewService { @@ -37,7 +70,22 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl standardSystemTree() { + // 构造树 + List TsResources; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DIC_ID", "9m4qqqaansxmox5e82zm"); + queryWrapper.eq("VALID_FLAG", 0); + queryWrapper.isNull("PARENT_ID"); + queryWrapper.orderByAsc("DISPLAY_SEQ"); + TsResources = dao.selectList(queryWrapper); + + for (SarMenuStandard resource : TsResources) { + resource.setTreeType("sarMs"); + QueryWrapper TsResourceQueryWrapper = new QueryWrapper<>(); + TsResourceQueryWrapper.like("PARENT_IDS", resource.getId()); + TsResourceQueryWrapper.eq("VALID_FLAG", 0); + TsResourceQueryWrapper.orderByAsc("DISPLAY_SEQ"); + List children = dao.selectList(TsResourceQueryWrapper); + resource.setChildren(recursionGetListChildrenStand((resource), (children))); + } + // 把所有关联表中的数据拉出来 + // 国标 + List gbStandMenu = sarStandMenuDao.getGBStandMenu().stream().filter(item -> item.getStandId() != null).collect(Collectors.toList()); + List gbRelations = BeanCopyUtils.copyBeanList(gbStandMenu, StandMenuRelation.class); + + // 外标 + List fbStandMenu = sarStandMenuDao.getFBStandMenu().stream().filter(item -> item.getStandId() != null).collect(Collectors.toList());; + List fbRelations = BeanCopyUtils.copyBeanList(fbStandMenu, StandMenuRelation.class); + + // 企标 + List esStandMenu = sarBussStandMenuDao.getESStandMenu().stream().filter(item -> item.getBussStandId() != null).collect(Collectors.toList()); + List esRelations = new ArrayList<>(); + for (SarBussStandMenu s : esStandMenu) { + StandMenuRelation standMenuRelation = new StandMenuRelation(s.getBussStandId(), s.getMenuId()); + esRelations.add(standMenuRelation); + } + // 计算每个节点的数值 + TsResources.get(0).calculateAndSetCounts(gbRelations, fbRelations, esRelations, 0); + // 拼接返回 + return TsResources; + } + + @Override + public IPage standardSystemList(StandSystemDTO standSystemDTO) { + boolean select = standSystemDTO.getSelectIdList() != null; + String menuId = standSystemDTO.getMenuId(); + // 校验menuId不能为空 + if (StringUtils.isBlank(menuId)) { + throw new AdcDaBaseException("menuId不能为空"); + } + + // 体系树 + SarMenuStandard sarMenuStandard = this.standardSystemTree().get(0); + + // 找到menuId对应的节点 + SarMenuStandard targetNode = SarMenuStandard.findNodeById(sarMenuStandard, menuId); + + // 收集目标节点及其所有子节点的ID + List childIds = new ArrayList<>(); + targetNode.collectChildIds(childIds); + standSystemDTO.setMenuIdList(childIds); + if (!select) { + standSystemDTO.setSelectIdList(targetNode.getGbStandIdList()); + } + // 查国标 + Set gbList = new HashSet<>(sarStandMenuDao.getStandInfoSystemData(standSystemDTO, "INLAND")); + if (!select) { + standSystemDTO.setSelectIdList(targetNode.getFbStandIdList()); + } + // 查外标 + Set fbList = new HashSet<>(sarStandMenuDao.getStandInfoSystemData(standSystemDTO, "FOREIGN")); + if (!select) { + standSystemDTO.setSelectIdList(targetNode.getEsStandIdList()); + } + // 查企标 + Set esList = new HashSet<>(sarBussionessStandDao.getESSystemData(standSystemDTO)); + // 数据转换后整合 + List resultList = new ArrayList<>(); + resultList.addAll(gbList); + resultList.addAll(fbList); + resultList.addAll(esList); + + // 构造体系路径映射 + Map pathMap = new HashMap<>(); + sarMenuStandard.buildPathMap(pathMap, ""); + + // 为树设置systemSort + SarMenuStandard.setSystemSort(sarMenuStandard, ""); + + // 国标外标标准状态字典 + List gbStateDictList = dicItemService.selectAllDicTypeNameByDicCode("STANDSTATE"); + // 企标标准状态字典 + List esStateDictList = dicItemService.selectAllDicTypeNameByDicCode("TEXTSTATUSBUSS"); + + // 构造体系路径 && 设置标准内部类别排序号 && 翻译 + for (StandSystemDTO dto : resultList) { + String fullPath = pathMap.get(dto.getMenuId()); + dto.setStandSystem(fullPath); + dto.setStandCategorySort(StandCategoryEnum.getSortByStandType(dto.getDataSource(), dto.getStandSort())); + // 设置体系排序号 + SarMenuStandard node = SarMenuStandard.findNodeById(targetNode, dto.getMenuId()); + dto.setSystemSort(node.getSystemSort()); + // 翻译 + this.translateStandardSystemDTO(dto, gbStateDictList, esStateDictList); + } + + // 根据排序字段对 resultList 进行排序 + // 按照标准体系排序 + // 体系内部按照国内/海外/企业排序 + // 每个类别的标准内部按照类别排序 + resultList.sort(Comparator.comparingInt(StandSystemDTO::getSystemSort) + .thenComparingInt(StandSystemDTO::getStandTypeSort) + .thenComparingInt(StandSystemDTO::getStandCategorySort)); + // 两个时间排序 + String sortField = standSystemDTO.getSortField(); + if (StringUtils.isNotBlank(sortField)) { + String sortMode = standSystemDTO.getSortMode(); + if (sortField.equals("releaseDate") && sortMode.equals("desc")) { + resultList.sort(Comparator.comparing(StandSystemDTO::getStartImplementDate)); + } else { + resultList.sort(Comparator.comparing(StandSystemDTO::getStartImplementDate).reversed()); + } + if (sortField.equals("implementDate") && sortMode.equals("desc")) { + resultList.sort(Comparator.comparing(StandSystemDTO::getStartImplementDate)); + } else { + resultList.sort(Comparator.comparing(StandSystemDTO::getStartImplementDate).reversed()); + } + } + + // 手动分页 + int pageNum = standSystemDTO.getPage(); + int pageSize = standSystemDTO.getPageSize(); + + // 计算总页数 + int total = resultList.size(); + int totalPages = (total + pageSize - 1) / pageSize; + + // 计算当前页应该显示的数据的起始和结束索引 + int start = (pageNum - 1) * pageSize; + int end = Math.min(start + pageSize, total); + + // 获取当前页面的数据 + List pageList = resultList.subList(start, end); + + // 使用MyBatis Plus的Page类来构造分页对象 + Page page = new Page<>(pageNum, pageSize, total); + page.setRecords(pageList); // 设置当前页面的记录 + page.setTotal(total); // 设置总记录数 + page.setPages(totalPages); // 设置总页数 + return page; + } + + private void translateStandardSystemDTO(StandSystemDTO dto, List gbStateDictList, List esStateDictList) { + // 翻译数据来源、标准状态 + switch (dto.getDataSource()) { + case "INLAND": + dto.setDataSource("国内标准库"); + dto.setStandState(gbStateDictList.stream() + .filter(dict -> dict.getDicTypeCode().equals(dto.getStandState())) + .findFirst().orElse(new TsDicType()).getDicTypeName()); + break; + case "FOREIGN": + dto.setDataSource("海外标准库"); + dto.setStandState(gbStateDictList.stream() + .filter(dict -> dict.getDicTypeCode().equals(dto.getStandState())) + .findFirst().orElse(new TsDicType()).getDicTypeName()); + break; + case "ENTERPRISE": + dto.setDataSource("企业标准库"); + dto.setStandState(esStateDictList.stream() + .filter(dict -> dict.getDicTypeCode().equals(dto.getStandState())) + .findFirst().orElse(new TsDicType()).getDicTypeName()); + break; + } + } + + @Override + public void standardSystemListExport(StandSystemDTO standSystemDTO, HttpServletResponse response, HttpServletRequest request) { + OutputStream os = null; + Workbook workbook; + List dataList; + standSystemDTO.setPage(1); + standSystemDTO.setPageSize(Integer.MAX_VALUE); + try { + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(standSystemDTO.getExportName()+".xlsx", + request)); + // 导出数据,若指定了值则使用ids字段条件导出,否则根据条件导出 + IPage page = this.standardSystemList(standSystemDTO); + dataList = page.getRecords(); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + exportParams.setSheetName(standSystemDTO.getExportName()); + workbook = ExcelExportUtil.exportExcel(exportParams, StandSystemDTO.class, dataList); + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + } catch (IOException e) { + log.error(e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } + } + @Override public Integer updateMenuStandard(SarMenuStandardNew sarMenuStandardNew) { SarMenuStandard menuStandarddb = dao.selectById(sarMenuStandardNew.getId()); @@ -122,12 +375,25 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl menuUpdateWrapper = new LambdaUpdateWrapper<>(); + menuUpdateWrapper.eq(SarMenuStandard::getId, menuId); + this.dao.delete(menuUpdateWrapper); + log.info("删除主表中的节点成功"); + // 删除国标外标体系关联关系 + LambdaUpdateWrapper gbWrapper = new LambdaUpdateWrapper<>(); + gbWrapper.eq(SarStandMenu::getMenuId, menuId); + sarStandMenuService.remove(gbWrapper); + log.info("删除国标外标主表中的相应字段成功"); + // 删除企标体系关联关系 + LambdaUpdateWrapper esWrapper = new LambdaUpdateWrapper<>(); + esWrapper.eq(SarBussStandMenu::getMenuId, menuId); + sarBussStandMenuService.remove(esWrapper); + log.info("删除企标主表中的相应字段成功"); + // TODO 理论上这里应该删除国标外标企标主表中的中文字段 } /** diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java index 2708d80b..d5f74bcd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/dao/TsPositionDao.java @@ -72,20 +72,20 @@ public interface TsPositionDao extends BaseMapper { Integer countPositionAndRole(TsPosition tsPosition); - /** - * 通过岗位列表查询绑定的角色列表 - * @param positionIds:岗位列表 - * @return List - */ - List getRoleIdsByPositionIds(List positionIds); +// /** +// * 通过岗位列表查询绑定的角色列表 +// * @param positionIds:岗位列表 +// * @return List +// */ +// List getRoleIdsByPositionIds(List positionIds); long pageTotal(); - /** - * 通过roleId查询岗位ID列表 - * @param roleId:角色ID - * @return List - */ - @Select("select position_id from ts_position_role where role_id=#{roleId}") - List getPositionIdsByRoleId(String roleId); +// /** +// * 通过roleId查询岗位ID列表 +// * @param roleId:角色ID +// * @return List +// */ +// @Select("select position_id from ts_position_role where role_id=#{roleId}") +// List getPositionIdsByRoleId(String roleId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java index 87932f8c..206d50c1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/ITsPositionService.java @@ -67,17 +67,17 @@ public interface ITsPositionService extends IService { */ ResponseMessage deletePosition(String positionId); - /** - * 通过岗位列表查询绑定的角色列表 - * @param positionIds:岗位列表 - * @return List - */ - List getRoleIdsByPositionIds(List positionIds); - - /** - * 通过roleId查询岗位ID列表 - * @param roleId:角色ID - * @return List - */ - List getPositionIdsByRoleId(String roleId); +// /** +// * 通过岗位列表查询绑定的角色列表 +// * @param positionIds:岗位列表 +// * @return List +// */ +// List getRoleIdsByPositionIds(List positionIds); +// +// /** +// * 通过roleId查询岗位ID列表 +// * @param roleId:角色ID +// * @return List +// */ +// List getPositionIdsByRoleId(String roleId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java index c67e7c20..0ebb75c4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarPosition/service/impl/TsPositionServiceImpl.java @@ -195,26 +195,26 @@ public class TsPositionServiceImpl extends ServiceImpl - */ - @Override - public List getRoleIdsByPositionIds(List positionIds) { - if(positionIds!=null&&positionIds.size()>0){ - return tsPositionDao.getRoleIdsByPositionIds(positionIds); - } - return null; - } +// /** +// * 通过岗位列表查询绑定的角色列表 +// * @param positionIds:岗位列表 +// * @return List +// */ +// @Override +// public List getRoleIdsByPositionIds(List positionIds) { +// if(positionIds!=null&&positionIds.size()>0){ +// return tsPositionDao.getRoleIdsByPositionIds(positionIds); +// } +// return null; +// } - /** - * 通过roleId查询岗位ID列表 - * @param roleId:角色ID - * @return List - */ - @Override - public List getPositionIdsByRoleId(String roleId) { - return tsPositionDao.getPositionIdsByRoleId(roleId); - } +// /** +// * 通过roleId查询岗位ID列表 +// * @param roleId:角色ID +// * @return List +// */ +// @Override +// public List getPositionIdsByRoleId(String roleId) { +// return tsPositionDao.getPositionIdsByRoleId(roleId); +// } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java index fc70a78d..9e249a0e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarRole/service/impl/TsRoleServiceImpl.java @@ -163,10 +163,10 @@ public class TsRoleServiceImpl extends ServiceImpl implements if(childrenRole!=null&&childrenRole.size()>0){ return Result.error("该角色有下属角色,无法删除"); } - List positionIds=tsRoleDao.getPositionIds(roleId); - if(positionIds!=null&&positionIds.size()>0){ - return Result.error("该角色已绑定岗位,无法删除"); - } +// List positionIds=tsRoleDao.getPositionIds(roleId); +// if(positionIds!=null&&positionIds.size()>0){ +// return Result.error("该角色已绑定岗位,无法删除"); +// } tsRoleDao.deleteById(roleId); return Result.success(); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/dao/SarStandMenuDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/dao/SarStandMenuDao.java index ccda4edd..2c845073 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/dao/SarStandMenuDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/dao/SarStandMenuDao.java @@ -1,7 +1,9 @@ package com.adc.da.slrs.sarStandMenu.dao; +import com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO; import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import javax.annotation.Resource; import java.util.List; @@ -31,4 +33,9 @@ public interface SarStandMenuDao extends BaseMapper { List getMenuByStandId(SarStandMenu sarStandMenu); + List getGBStandMenu(); + + List getFBStandMenu(); + + List getStandInfoSystemData(@Param("param") StandSystemDTO standSystemDTO, @Param("dataSource") String dataSource); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/ISarStandMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/ISarStandMenuService.java index c96f9818..f163580b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/ISarStandMenuService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/ISarStandMenuService.java @@ -19,4 +19,7 @@ public interface ISarStandMenuService extends IService { List selectAllMenuByStandId(SarStandMenu sarStandMenuEO); + void deleteStandSystemByStandId(String id); + + void addStandSystemRelation(String standSystem, String id); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/impl/SarStandMenuServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/impl/SarStandMenuServiceImpl.java index 889b796e..c8893e01 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/impl/SarStandMenuServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandMenu/service/impl/SarStandMenuServiceImpl.java @@ -5,6 +5,8 @@ import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; import com.adc.da.slrs.sarStandMenu.dao.SarStandMenuDao; import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,4 +42,20 @@ public class SarStandMenuServiceImpl extends ServiceImpl sarStandMenuWrapper = new LambdaUpdateWrapper<>(); + sarStandMenuWrapper.eq(SarStandMenu::getStandId, id); + remove(sarStandMenuWrapper); + } + + @Override + public void addStandSystemRelation(String standSystem, String id) { + SarStandMenu sarStandMenu = new SarStandMenu(); + // 生成不带横杠的UUID + sarStandMenu.setId(java.util.UUID.randomUUID().toString().replaceAll("-", "")); + sarStandMenu.setStandId(id).setMenuId(standSystem).setValidFlag(0); + save(sarStandMenu); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java index 2ba4759f..86e8879f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/entity/SarStandardsInfo.java @@ -243,6 +243,8 @@ public class SarStandardsInfo extends BaseEntity { @TableField(exist = false) private String standSystemName; + @TableField(exist = false) + private String standSystemId; public static long getSerialVersionUID() { return serialVersionUID; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index fe1aacb5..270e475b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -17,7 +17,7 @@ import com.adc.da.slrs.sarBussionessStand.entity.OldSystem; import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao; import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto; import com.adc.da.slrs.sarPosition.entity.TsPosition; -import com.adc.da.slrs.sarPosition.service.ITsPositionService; +//import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarStandFile.service.ISarStandFileService; import com.adc.da.slrs.sarStandWarning.entity.WarningDate; import com.adc.da.slrs.sarStandWarning.service.Impl.WarningDateServiceImpl; @@ -114,6 +114,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -150,8 +151,8 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl tsPositionQW = new QueryWrapper<>(); - tsPositionQW.select("name") - .in("id", valArr); - List stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString()); - value = String.join(",", stringList.isEmpty() ? valArr : stringList); - break; - } +// //通过id绑定责任部门师名称 +// case "ZRBM": { +// QueryWrapper tsPositionQW = new QueryWrapper<>(); +// tsPositionQW.select("name") +// .in("id", valArr); +// List stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString()); +// value = String.join(",", stringList.isEmpty() ? valArr : stringList); +// break; +// } default: value = dicTypeEODao.getDicNamesByCodes(valArr, ""); } @@ -1996,6 +1997,11 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl */ public int updateSarStandardsInfo(SarStandardsInfo sarStandardsInfoEO) throws Exception { + // 标准体系 + sarStandMenuService.deleteStandSystemByStandId(sarStandardsInfoEO.getId()); + if (StringUtils.isNotEmpty(sarStandardsInfoEO.getStandSystemId())) { + sarStandMenuService.addStandSystemRelation(sarStandardsInfoEO.getStandSystemId(), sarStandardsInfoEO.getId()); + } /** * 加入对应"国家/地区"的清单列表 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index d4310ff6..7437c2bd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -7,9 +7,9 @@ import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; import com.adc.da.slrs.sarMenu.entity.SarMenu; import com.adc.da.slrs.sarMenu.service.ISarMenuService; -import com.adc.da.slrs.sarPosition.dao.TsPositionDao; +//import com.adc.da.slrs.sarPosition.dao.TsPositionDao; import com.adc.da.slrs.sarPosition.entity.TsPosition; -import com.adc.da.slrs.sarPosition.service.ITsPositionService; +//import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarRole.service.ITsRoleService; @@ -20,10 +20,13 @@ import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData; import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService; import com.adc.da.sync.service.SyncUserService; import com.adc.da.sys.entity.UserEO; +import com.adc.da.sys.entity.UserRoleEO; +import com.adc.da.sys.service.IUserRoleEOService; import com.adc.da.utils.util.ListUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -34,6 +37,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -54,8 +58,8 @@ public class TsUserServiceImpl extends ServiceImpl implements private TsUserDao tsUserDao; @Autowired private ITsUserService tsUserService; - @Autowired - private ITsPositionService tsPositionService; +// @Autowired +// private ITsPositionService tsPositionService; @Autowired @Lazy private ITsRoleService tsRoleService; @@ -65,12 +69,15 @@ public class TsUserServiceImpl extends ServiceImpl implements private ITsResourceService tsResourceService; @Autowired private SyncUserService syncUserService; - @Autowired - private TsPositionDao tsPositionDao; +// @Autowired +// private TsPositionDao tsPositionDao; @Autowired private ITsInstitutionService tsInstitutionService; @Autowired ITsRoleMenuDataService iTsRoleMenuDataService; + @Resource + private IUserRoleEOService userRoleEOService; + public void deleteUser(){ @@ -289,16 +296,17 @@ public class TsUserServiceImpl extends ServiceImpl implements public List getMenu() { UserEO userEO=UserUtils.getUser(); String userId= userEO.getUsid(); - List positionIds=tsUserDao.selectPositionIds(userId); +// List positionIds=tsUserDao.selectPositionIds(userId); /** * 当用户没有所属岗位,默认给一个other岗位,适用于特定权限外的其他用户 * 用户同步时需要将用户配置的系统内的岗位保留 */ - if(positionIds == null || positionIds.isEmpty()){ - positionIds = Arrays.asList(new String[]{"other"}); - } - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// if(positionIds == null || positionIds.isEmpty()){ +// positionIds = Arrays.asList(new String[]{"other"}); +// } +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); List menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds); return sarMenuService.getMenuByIds(menuIds); } @@ -313,8 +321,9 @@ public class TsUserServiceImpl extends ServiceImpl implements UserEO userEO=UserUtils.getUser(); String userId= userEO.getUsid(); System.out.println(userId); - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); List resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds); return tsResourceService.getResourceByIds(resourceIds,tsResource.getSorDivide()); } @@ -326,8 +335,16 @@ public class TsUserServiceImpl extends ServiceImpl implements */ @Override public List getUserIdsByRoleId(String roleId) { - List positionIds=tsPositionService.getPositionIdsByRoleId(roleId); - return tsUserDao.getUserIdsByPositionIds(positionIds); + LambdaQueryWrapper userRoleEOLambdaQueryWrapper = new LambdaQueryWrapper<>(); + userRoleEOLambdaQueryWrapper.eq(UserRoleEO::getRoleId,roleId); + // 根据角色ID查询用户ID + List list = userRoleEOService.list(userRoleEOLambdaQueryWrapper); + // 判空 + if (list == null || list.isEmpty()) { + return null; + } + // 获取用户ID + return list.stream().map(UserRoleEO::getUserId).collect(Collectors.toList()); } /** @@ -337,8 +354,9 @@ public class TsUserServiceImpl extends ServiceImpl implements */ @Override public List getMenusByUserId(String userId){ - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); List menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds); return sarMenuService.getMenuByIds(menuIds); } @@ -353,8 +371,9 @@ public class TsUserServiceImpl extends ServiceImpl implements UserEO userEO=UserUtils.getUser(); String userId= userEO.getUsid(); System.out.println(userId); - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); return tsRoleService.getResourceIdsByRoleIds(roleIds); } @@ -365,8 +384,9 @@ public class TsUserServiceImpl extends ServiceImpl implements */ @Override public List getResourceUserId(String userId) { - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); return tsRoleService.getResourceIdsByRoleIds(roleIds); } @@ -376,8 +396,9 @@ public class TsUserServiceImpl extends ServiceImpl implements */ @Override public List getResourceDataUserId(String userId) { - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); QueryWrapper wrapper=new QueryWrapper<>(); wrapper.select("MENU_ID"); wrapper.in("ROLE_ID",roleIds); @@ -420,15 +441,15 @@ public class TsUserServiceImpl extends ServiceImpl implements for(SyncUser syncUser:syncUsers){ QueryWrapper positionQueryWrapper=new QueryWrapper<>(); positionQueryWrapper.eq("name",syncUser.getTitle()); - TsPosition tsPosition=tsPositionDao.selectOne(positionQueryWrapper); - if(tsPosition==null){ - tsPosition=new TsPosition(); - tsPosition.setName(syncUser.getTitle()); - tsPosition.setType("1"); - tsPositionDao.insert(tsPosition); - } +// TsPosition tsPosition=tsPositionDao.selectOne(positionQueryWrapper); +// if(tsPosition==null){ +// tsPosition=new TsPosition(); +// tsPosition.setName(syncUser.getTitle()); +// tsPosition.setType("1"); +// tsPositionDao.insert(tsPosition); +// } TsUser tsUser=SyncUser.toUser(syncUser); - tsUser.setPositionId(tsPosition.getId()); +// tsUser.setPositionId(tsPosition.getId()); tsUserDao.insert(tsUser); } @@ -436,8 +457,9 @@ public class TsUserServiceImpl extends ServiceImpl implements @Override public List getSecondMenusByUserId(String userId) { - List positionIds=tsUserDao.selectPositionIds(userId); - List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); +// List positionIds=tsUserDao.selectPositionIds(userId); +// List roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds); + List roleIds = userRoleEOService.getRoleIdsByUserId(userId); List menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds); return sarMenuService.getSecondMenuByIds(menuIds); } @@ -506,12 +528,12 @@ public class TsUserServiceImpl extends ServiceImpl implements } ids.removeIf(s -> null==s); List tsUsers = tsUserDao.userUnderInstitution((tsUser.getCurrent() - 1) * tsUser.getSize(), tsUser.getSize(), tsUser, ids); - if(tsUsers!=null && !tsUsers.isEmpty()){ - for (TsUser user:tsUsers) { - List positionList = tsPositionService.getPositionDataByUserId(user.getUserId()); - user.setPositions(positionList); - } - } +// if(tsUsers!=null && !tsUsers.isEmpty()){ +// for (TsUser user:tsUsers) { +// List positionList = tsPositionService.getPositionDataByUserId(user.getUserId()); +// user.setPositions(positionList); +// } +// } Page tsUserPage = new Page<>(); tsUserPage.setCurrent(tsUser.getCurrent()); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java index ab1c43e1..a7181c46 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java @@ -33,8 +33,11 @@ public class BussStandExportUtil { Map attrInfoMap = new HashMap<>(); for (SarStandAttrDetails detailsEO : detailsEOList) { if (!InitStandAttrUtil.fileFieldListBuss.contains(detailsEO.getAttrField())) { - attrBud.append(detailsEO.getAttrName() + ","); attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField()); + if ("关联流程".equals(detailsEO.getAttrName())) { + continue; + } + attrBud.append(detailsEO.getAttrName() + ","); } } String header = FieldConvertUtil.exportBaseFieldNamesBuss + "," + attrBud.toString(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java index 77b17ad3..1d63b5c6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java @@ -33,9 +33,15 @@ public class FieldConvertUtil { public static String exportBaseFieldNames = "标准体系,是否纳入认证清单,标准性质,标准类别,标准编号,标准年份,中文名称,英文名称," + "文本状态,发布日期"; // 导出基础表字段 //删除 实施日期 2021-05-28 + public static String exportBaseFieldNewNames = "标准编号,中文名称,英文名称,标准体系," + + "文本状态,发布日期,标准性质"; // 导出基础表字段 // 删除是否纳入认证清单,删除 标准类别 标准编号 标准年份 ,统一为标准编号 2023-11-13 + public static String exportBaseFieldNamesForeign = "标准类别,标准编号,标准年份,中文名称,英文名称," + "文本状态,发布日期,是否纳入认证清单,标准体系,适用认证,能源类型";// 导出基础表字段 + public static String exportBaseFieldNamesNewForeign = "标准编号,中文名称,英文名称," + + "文本状态,发布日期,是否纳入认证清单,标准体系,适用认证,能源类型";// 导出基础表字段 //删除 标准类别 标准编号 标准年份 ,统一为标准编号 2023-11-13 + public static String exportAttrFieldNamesInland = "归口管理部门,发布机构,工作组信息,我司参与深度,适用车辆类型,要求类型," + "标签,发布稿(必读),增补件(必读),报批稿,送审稿,征求意见稿,草案,相关资料,新车型实施日期(文本),在产车实施日期(文本)," + "EOP实施日期(文本),责任部门,相关部门,SVPPS,FO,项目评估角色,法规维护人,代替标准编号," + @@ -64,7 +70,7 @@ public class FieldConvertUtil { public static String exportFieldNamesMeetingTopic = "议题名称,汇报人,汇报单位,议题主要内容"; // 政策法规资料 表头 - public static String exportFieldLawsInformation = "一级资料类别,二级资料类别,三级资料类别,四级资料类别,资料名称,资料归属部门,作者,资料说明"; + public static String exportFieldLawsInformation = "1级资料分类,2级资料分类,3级资料分类,4级资料分类,资料名称,资料归属部门,作者,资料说明"; // 政策课题 表头 public static String exportFieldLawsTopic = "课题名称,课题承办单位,课题指导单位,课题参与单位,开始时间,结题时间,课题费用(万元),课题组会议列表,课题组联系方式,内部联系方式"; diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/StandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/StandExportUtil.java index 3a9ae643..e7aecc4e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/StandExportUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/StandExportUtil.java @@ -39,17 +39,21 @@ public class StandExportUtil { } for (SarStandAttrDetails detailsEO : detailsEOList) { if (!InitStandAttrUtil.fileFieldList.contains(detailsEO.getAttrField())) { - attrBud.append(detailsEO.getAttrName() + ","); attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField()); + // 去掉 参会记录 和 相关流程 两个导出字段 2023-11-13 + if("参会记录".equals(detailsEO.getAttrName()) || "相关流程".equals(detailsEO.getAttrName())) { + continue; + } + attrBud.append(detailsEO.getAttrName() + ","); } } - String header = FieldConvertUtil.exportBaseFieldNames + "," + attrBud.toString(); + String header = FieldConvertUtil.exportBaseFieldNewNames + "," + attrBud.toString(); //国内导出去掉体系类别 if (SarTypeEnum.INLAND_STAND.getValue().equals(standType)) { header = header.replace(",体系类别",""); } if (SarTypeEnum.FOREIGN_STAND.getValue().equals(standType)) { - header = FieldConvertUtil.exportBaseFieldNamesForeign + "," + attrBud.toString(); + header = FieldConvertUtil.exportBaseFieldNamesNewForeign + "," + attrBud.toString(); } //创建工作表对象 Sheet sheet = workbook.createSheet(); @@ -125,9 +129,9 @@ public class StandExportUtil { case "适用区域": value = verifyBean(sarStandardsInfoEO.getCountryShow()); break; - case "标准类别": - value = verifyBean(sarStandardsInfoEO.getStandSortShow()); - break; +// case "标准类别": +// value = verifyBean(sarStandardsInfoEO.getStandSortShow()); +// break; case "重要度": if (StringUtils.isNotBlank(sarStandardsInfoEO.getIsRelateAccess())) { if ("1".equals(sarStandardsInfoEO.getIsRelateAccess())) { @@ -138,11 +142,14 @@ public class StandExportUtil { } value = sarStandardsInfoEO.getIsRelateAccess(); break; +// case "标准编号": +// value = verifyBean(sarStandardsInfoEO.getStandNumber()); +// break; +// case "标准年份": +// value = verifyBean(sarStandardsInfoEO.getStandYear()); +// break; case "标准编号": - value = verifyBean(sarStandardsInfoEO.getStandNumber()); - break; - case "标准年份": - value = verifyBean(sarStandardsInfoEO.getStandYear()); + value = sarStandardsInfoEO.getStandCode(); break; case "中文名称": value = verifyBean(sarStandardsInfoEO.getStandName()); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml index 5d069c4e..9773ed28 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/InsideOntSideMeeting/InsideOntSideMeeting.xml @@ -26,6 +26,8 @@ + + @@ -50,8 +52,8 @@ and MEETING_ORGANIZER like concat('%',#{meetingOrganizer},'%') - - and MEETING_TIME ${meetingTimeOperator} #{meetingTime} + + and MEETING_TIME between DATE_FORMAT(#{meetingTimeBegin}, '%Y-%m-%d') and DATE_FORMAT(#{meetingTimeEnd}, '%Y-%m-%d') and MEETING_ADDRESS like concat('%',#{meetingAddress},'%') @@ -88,10 +90,11 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/positionRole/PositionRoleMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/positionRole/PositionRoleMapper.xml new file mode 100644 index 00000000..2e0d18c7 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/positionRole/PositionRoleMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + role_id,position_id + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml index 2d1f6a2b..39abea45 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandMenu/SarBussStandMenuMapper.xml @@ -203,6 +203,24 @@ where buss_stand_id = #{bussStandId} and valid_flag=0 + + delete from SAR_BUSS_STAND_MENU where buss_stand_id = #{bussStandId, jdbcType=VARCHAR} and MENU_ID = #{menuId, jdbcType=VARCHAR} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 2846dfb0..793f870e 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -1267,4 +1267,96 @@ where id = #{attfId} + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml index aed4403b..9112ffd9 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarLawsInformation/SarLawsInformationMapper.xml @@ -20,10 +20,8 @@ - - - + @@ -35,9 +33,13 @@ THIRD_TYPE, FOURTH_TYPE, `NAME`, - DEPARTMENT,AUTHOR,UPLOAD_TIME, - `DESCRIPTION`,INFORMATION_FILE,VIEWABLE_BY, - DOWNLOADABLE_BY,VALID_FLAG,CREATE_TIME, + DEPARTMENT, + AUTHOR, + UPLOAD_TIME, + `DESCRIPTION`, + INFORMATION_FILE, + VALID_FLAG, + CREATE_TIME, MODIFY_TIME @@ -50,11 +52,20 @@ and `NAME` like concat('%',#{name},'%') - - and UPLOAD_TIME = #{uploadTime} + + and UPLOAD_TIME between DATE_FORMAT(#{uploadTimeBegin}, '%Y-%m-%d') and DATE_FORMAT(#{uploadTimeEnd}, '%Y-%m-%d') - - and TREE_NODE_ID = #{treeNodeId} + + and TREE_NODE_ID in + + #{treeNodeId} + + + + and ID in + + #{informationId} + - select count(1) from sar_laws_topic slt left join sar_laws_topic_meeting sltm on slt.ID = sltm.LAWS_TOPIC_ID + select count(slt.ID) from sar_laws_topic slt left join sar_laws_topic_meeting sltm on slt.ID = sltm.LAWS_TOPIC_ID left join sar_laws_contact_information slci1 on slt.ID = slci1.LAWS_TOPIC_ID and slci1.GROUP_TYPE = 'topicGroup' left join sar_laws_contact_information slci2 on slt.ID = slci2.LAWS_TOPIC_ID and slci2.GROUP_TYPE = 'inside' where slt.VALID_FLAG = 0 + group by slt.ID