|
@@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.poi.hssf.record.DVALRecord;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
@@ -101,7 +102,7 @@ public class InvalidRequestFileService extends ServiceImpl<InvalidRequestFileMap
|
|
|
invalidRequestFile.setReportAffairId(reportAffairId);
|
|
|
invalidRequestFile.insert();
|
|
|
//同步报告官限
|
|
|
- this.getCommonMethod(projectId);
|
|
|
+ this.getCommonMethod(projectId, addInvalidRequestFileDTO.getAssoCasePhaseId());
|
|
|
//3. 添加报告事务与文件关联
|
|
|
List<String> fileGuids = addInvalidRequestFileDTO.getFileGuids();
|
|
|
if (fileGuids != null && !fileGuids.isEmpty()) {
|
|
@@ -170,7 +171,7 @@ public class InvalidRequestFileService extends ServiceImpl<InvalidRequestFileMap
|
|
|
reportAffair.setAssoCasePhaseId(updateInvalidRequestFileDTO.getAssoCasePhaseId());
|
|
|
reportAffair.updateById();
|
|
|
//同步报告官限
|
|
|
- this.getCommonMethod(projectId);
|
|
|
+ this.getCommonMethod(projectId, updateInvalidRequestFileDTO.getAssoCasePhaseId());
|
|
|
//3. 更新报告事务与文件关联
|
|
|
List<String> fileGuids = updateInvalidRequestFileDTO.getFileGuids();
|
|
|
assoReportAffairFileService.updateAffairFile(reportAffairId, fileGuids);
|
|
@@ -181,59 +182,62 @@ public class InvalidRequestFileService extends ServiceImpl<InvalidRequestFileMap
|
|
|
}
|
|
|
|
|
|
//计算官限
|
|
|
- public void getCommonMethod(Integer projectId) {
|
|
|
- List<QueryReportAffairCasePhaseVO> casePhaseVOS = reportAffairMapper.queryReportAffairCasePhase(projectId);
|
|
|
- if (!CollectionUtils.isEmpty(casePhaseVOS)) {
|
|
|
- QueryReportAffairCasePhaseVO casePhaseVO = casePhaseVOS.get(0);
|
|
|
- if (ObjectUtils.isNotEmpty(casePhaseVO)) {
|
|
|
- Date occurredTime = casePhaseVO.getOccurredTime();
|
|
|
- String deadline = casePhaseVO.getCalOfficialDeadline();
|
|
|
- int num = Integer.parseInt(deadline.substring(0, deadline.length() - 1));
|
|
|
- String numStr = deadline.substring(deadline.length() - 1);
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- calendar.setTime(occurredTime);
|
|
|
- if (numStr.equals("月")) {
|
|
|
- calendar.add(Calendar.MONTH, num);
|
|
|
- } else {
|
|
|
- calendar.add(Calendar.DAY_OF_MONTH, num);
|
|
|
- }
|
|
|
- Date time = calendar.getTime();
|
|
|
- String casePhase = casePhaseVO.getCasePhase();
|
|
|
- if (!casePhase.equals("无效")) {
|
|
|
- this.updateReportOfficialDeadline(projectId, time);
|
|
|
- } else {
|
|
|
- Integer priority = casePhaseVO.getPriority();
|
|
|
- if (priority < 8) {
|
|
|
- //查询出最新口审通知书记录
|
|
|
- List<ReportAffair> list = reportAffairService.list(new LambdaQueryWrapper<ReportAffair>()
|
|
|
- .eq(ReportAffair::getProjectId, projectId)
|
|
|
- .eq(ReportAffair::getAssoCasePhaseId, 31)
|
|
|
- .orderByDesc(ReportAffair::getOccurredTime));
|
|
|
- if (!CollectionUtils.isEmpty(list)) {
|
|
|
- ReportAffair affair = list.get(0);
|
|
|
- Integer affairId = affair.getId();
|
|
|
- LambdaQueryWrapper<OralTrail> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(OralTrail::getReportAffairId, affairId);
|
|
|
- OralTrail oralTrail = oralTrailService.getOne(queryWrapper, false);
|
|
|
- if (ObjectUtils.isNotEmpty(oralTrail)) {
|
|
|
- Date oralDate = oralTrail.getOralDate();
|
|
|
- //官限时间在口审日期之后,以口审日期为准
|
|
|
- if (oralDate != null && time.after(oralDate)) {
|
|
|
- this.updateReportOfficialDeadline(projectId, oralDate);
|
|
|
- } else {
|
|
|
- this.updateReportOfficialDeadline(projectId, time);
|
|
|
+ public void getCommonMethod(Integer projectId,Integer casePahseId) {
|
|
|
+ ReportAffairCasePhase phase = reportAffairCasePhaseMapper.selectById(casePahseId);
|
|
|
+ if (ObjectUtils.isNotEmpty(phase) && StringUtils.isNotEmpty(phase.getCalOfficialDeadline())) {
|
|
|
+ List<QueryReportAffairCasePhaseVO> casePhaseVOS = reportAffairMapper.queryReportAffairCasePhase(projectId);
|
|
|
+ if (!CollectionUtils.isEmpty(casePhaseVOS)) {
|
|
|
+ QueryReportAffairCasePhaseVO casePhaseVO = casePhaseVOS.get(0);
|
|
|
+ if (ObjectUtils.isNotEmpty(casePhaseVO)) {
|
|
|
+ Date occurredTime = casePhaseVO.getOccurredTime();
|
|
|
+ String deadline = casePhaseVO.getCalOfficialDeadline();
|
|
|
+ int num = Integer.parseInt(deadline.substring(0, deadline.length() - 1));
|
|
|
+ String numStr = deadline.substring(deadline.length() - 1);
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.setTime(occurredTime);
|
|
|
+ if (numStr.equals("月")) {
|
|
|
+ calendar.add(Calendar.MONTH, num);
|
|
|
+ } else {
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, num);
|
|
|
+ }
|
|
|
+ Date time = calendar.getTime();
|
|
|
+ String casePhase = casePhaseVO.getCasePhase();
|
|
|
+ if (!casePhase.equals("无效")) {
|
|
|
+ this.updateReportOfficialDeadline(projectId, time);
|
|
|
+ } else {
|
|
|
+ Integer priority = casePhaseVO.getPriority();
|
|
|
+ if (priority < 8) {
|
|
|
+ //查询出最新口审通知书记录
|
|
|
+ List<ReportAffair> list = reportAffairService.list(new LambdaQueryWrapper<ReportAffair>()
|
|
|
+ .eq(ReportAffair::getProjectId, projectId)
|
|
|
+ .eq(ReportAffair::getAssoCasePhaseId, 31)
|
|
|
+ .orderByDesc(ReportAffair::getOccurredTime));
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ ReportAffair affair = list.get(0);
|
|
|
+ Integer affairId = affair.getId();
|
|
|
+ LambdaQueryWrapper<OralTrail> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(OralTrail::getReportAffairId, affairId);
|
|
|
+ OralTrail oralTrail = oralTrailService.getOne(queryWrapper, false);
|
|
|
+ if (ObjectUtils.isNotEmpty(oralTrail)) {
|
|
|
+ Date oralDate = oralTrail.getOralDate();
|
|
|
+ //官限时间在口审日期之后,以口审日期为准
|
|
|
+ if (oralDate != null && time.after(oralDate)) {
|
|
|
+ this.updateReportOfficialDeadline(projectId, oralDate);
|
|
|
+ } else {
|
|
|
+ this.updateReportOfficialDeadline(projectId, time);
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ this.updateReportOfficialDeadline(projectId, time);
|
|
|
}
|
|
|
} else {
|
|
|
this.updateReportOfficialDeadline(projectId, time);
|
|
|
}
|
|
|
- } else {
|
|
|
- this.updateReportOfficialDeadline(projectId, time);
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ this.updateReportOfficialDeadline(projectId, null);
|
|
|
}
|
|
|
- } else {
|
|
|
- this.updateReportOfficialDeadline(projectId, null);
|
|
|
}
|
|
|
}
|
|
|
|