|
|
@@ -223,7 +223,6 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
|
|
|
}
|
|
|
}*/
|
|
|
|
|
|
-
|
|
|
IPage<CwProjectReportArchiveDTO> list = cwProjectReportArchiveMapper.findList(page, userDTO, isBmzr, officeIds.toString(), queryWrapper, cwProjectReportArchiveDTO.getArchiveSta());
|
|
|
List<CwProjectReportArchiveDTO> records = list.getRecords();
|
|
|
if (null != records && records.size()>0){
|
|
|
@@ -802,5 +801,133 @@ public class CwProjectReportArchiveService extends ServiceImpl<CwProjectReportAr
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 项目归档列表信息
|
|
|
+ * @param page
|
|
|
+ * @param cwProjectReportArchiveDTO
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ public IPage<CwProjectReportArchiveDTO> ExportList(Page<CwProjectReportArchiveDTO> page, CwProjectReportArchiveDTO cwProjectReportArchiveDTO) throws Exception{
|
|
|
+ QueryWrapper<CwProjectReportArchive> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwProjectReportArchiveWrapper.INSTANCE.toEntity(cwProjectReportArchiveDTO), CwProjectReportArchive.class );
|
|
|
+ queryWrapper.eq("cw_pa.del_flag","0");
|
|
|
+ if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO.getCwProjectRecordsDTO())){
|
|
|
+ // 项目名称
|
|
|
+ if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectName())){
|
|
|
+ List<CwProjectRecords> cwProjectRecords = cwProjectRecordsMapper.selectList(new QueryWrapper<CwProjectRecords>().lambda().like(CwProjectRecords::getProjectName, cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectName()));
|
|
|
+ List<String> ids = cwProjectRecords.stream().map(CwProjectRecords::getId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
|
|
|
+ if(CollectionUtil.isNotEmpty(ids)) {
|
|
|
+ queryWrapper.in("cw_pa.project_id",ids);
|
|
|
+ }else{
|
|
|
+ return new Page<>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 项目经理1
|
|
|
+ if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectMasterName())){
|
|
|
+ queryWrapper.like("su1.name",cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getProjectMasterName());
|
|
|
+
|
|
|
+ }
|
|
|
+ // 项目经理2
|
|
|
+ if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getRealHeaderName())){
|
|
|
+ queryWrapper.like("su2.name",cwProjectReportArchiveDTO.getCwProjectRecordsDTO().getRealHeaderName());
|
|
|
+
|
|
|
+ }
|
|
|
+ // 创建时间
|
|
|
+ if (ArrayUtil.isNotEmpty(cwProjectReportArchiveDTO.getCreateDates())){
|
|
|
+ queryWrapper.between("cw_pa.create_time", cwProjectReportArchiveDTO.getCreateDates()[0], cwProjectReportArchiveDTO.getCreateDates()[1]);
|
|
|
+ }
|
|
|
+ // 归档时间
|
|
|
+ if (ArrayUtil.isNotEmpty(cwProjectReportArchiveDTO.getAuditDates())){
|
|
|
+ queryWrapper.between("cw_pa.audit_date", cwProjectReportArchiveDTO.getAuditDates()[0], cwProjectReportArchiveDTO.getAuditDates()[1]);
|
|
|
+ }
|
|
|
+ //如果案卷号存在,同时添加模糊查询文档位置
|
|
|
+ if(StringUtils.isNotBlank(cwProjectReportArchiveDTO.getNumber())){
|
|
|
+ queryWrapper.and(qw ->
|
|
|
+ qw.like("cw_pa.number", cwProjectReportArchiveDTO.getNumber())
|
|
|
+ .or()
|
|
|
+ .like("cw_pa.special_place", cwProjectReportArchiveDTO.getNumber())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ // 创建人
|
|
|
+ if (ObjectUtil.isNotEmpty(cwProjectReportArchiveDTO.getCreateBy())){
|
|
|
+ if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getCreateBy().getName())){
|
|
|
+ queryWrapper.in("cw_pa.create_by_id",cwProjectReportArchiveDTO.getCreateBy().getName()).or().like("su.name",cwProjectReportArchiveDTO.getCreateBy().getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 报告文号
|
|
|
+ if (StringUtils.isNotBlank(cwProjectReportArchiveDTO.getReportNo())) {
|
|
|
+ queryWrapper.like("cw_prnl.report_no",cwProjectReportArchiveDTO.getReportNo());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String isBmzr = "0";
|
|
|
+ StringBuilder officeIds = new StringBuilder();
|
|
|
+ UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
|
|
|
+ List<String> manageOfficeIdList= Lists.newArrayList();
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(cwProjectReportArchiveDTO.getArchiveSta())) {
|
|
|
+ cwProjectReportArchiveDTO.setArchiveSta("");
|
|
|
+ }
|
|
|
+ //针对樊莉的导出做调整
|
|
|
+ IPage<CwProjectReportArchiveDTO> list = new Page<>();
|
|
|
+ if("樊莉".equals(userDTO.getName())){
|
|
|
+ list = cwProjectReportArchiveMapper.exportList(page, userDTO, isBmzr, officeIds.toString(), queryWrapper, cwProjectReportArchiveDTO.getArchiveSta());
|
|
|
+ }else{
|
|
|
+ list = cwProjectReportArchiveMapper.findList(page, userDTO, isBmzr, officeIds.toString(), queryWrapper, cwProjectReportArchiveDTO.getArchiveSta());
|
|
|
+ }
|
|
|
+
|
|
|
+ //IPage<CwProjectReportArchiveDTO> list = cwProjectReportArchiveMapper.exportList(page, userDTO, isBmzr, officeIds.toString(), queryWrapper, cwProjectReportArchiveDTO.getArchiveSta());
|
|
|
+ List<CwProjectReportArchiveDTO> records = list.getRecords();
|
|
|
+ if (null != records && records.size()>0){
|
|
|
+ //循环查询出来的数据
|
|
|
+ for (CwProjectReportArchiveDTO info : records) {
|
|
|
+ //如果归档日期为空,则表示该报告还未归档
|
|
|
+ if(null == info.getAuditDate()){
|
|
|
+ //如果归档日期差大于60天,表示超期未归档
|
|
|
+ if(info.getArchiveDay()>60){
|
|
|
+ // 超期天数
|
|
|
+ Integer overdueDay = info.getArchiveDay() - 60;
|
|
|
+ info.setArchiveSta("超期未归档");
|
|
|
+ long n = (long) Math.ceil((double)(overdueDay) / 30);
|
|
|
+ String money = Long.toString(n * 200);
|
|
|
+ info.setOverdueDay(String.valueOf(overdueDay));
|
|
|
+ info.setFineMoney(money);
|
|
|
+ }else{
|
|
|
+ //如果归档日期差小于等于60天,表示暂时未归档
|
|
|
+ info.setArchiveSta("暂时未归档");
|
|
|
+ info.setOverdueDay(String.valueOf(info.getArchiveDay() - 60));
|
|
|
+ info.setFineMoney("0");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //如果归档日期差大于60天,表示已超期归档
|
|
|
+ if(info.getArchiveDay()>60){
|
|
|
+ // 超期天数
|
|
|
+ Integer overdueDay = info.getArchiveDay() - 60;
|
|
|
+
|
|
|
+ info.setArchiveSta("已超期归档");
|
|
|
+ long n = (long) Math.ceil((double)(overdueDay) / 30);
|
|
|
+ String money = Long.toString(n * 200);
|
|
|
+ info.setOverdueDay(String.valueOf(overdueDay));
|
|
|
+ info.setFineMoney(money);
|
|
|
+ }else{
|
|
|
+ //如果归档日期差小于等于60天,表示已按时归档
|
|
|
+ info.setArchiveSta("已按时归档");
|
|
|
+ info.setOverdueDay(String.valueOf(info.getArchiveDay() - 60));
|
|
|
+ info.setFineMoney("0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 报告归档
|
|
|
+ if (StringUtils.isNotBlank(info.getTaskId()) && StringUtils.isNotBlank(info.getStatus())) {
|
|
|
+ if ("2".equals(info.getStatus())) { // “审核中”的数据要获取数据审核人
|
|
|
+ info.setAuditUserIds(flowTaskService.getTaskAuditUsers(info.getTaskId())); // 获取数据审核人
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|