|
@@ -13,7 +13,10 @@ import com.ozs.pm.doman.vo.responseVo.*;
|
|
|
import com.ozs.pm.mapper.PmDemandHisMapper;
|
|
|
import com.ozs.pm.service.*;
|
|
|
import com.ozs.system.domain.SysFileInfo;
|
|
|
+import com.ozs.system.domain.SysFileRef;
|
|
|
import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
|
|
|
+import com.ozs.system.service.SysFileRefService;
|
|
|
+import com.ozs.system.service.SysFileService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -21,6 +24,7 @@ import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -31,6 +35,32 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDemandHis> implements PmDemandHisService {
|
|
|
+ @Autowired
|
|
|
+ private IPmDemandService iPmDemandService;
|
|
|
+ @Autowired
|
|
|
+ private SysFileRefService sysFileRefService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private PmBidFailureService pmBidFailureService;
|
|
|
+ @Autowired
|
|
|
+ private PmBidOpeningService pmBidOpeningService;
|
|
|
+ @Autowired
|
|
|
+ private PmBidWinningService pmBidWinningService;
|
|
|
+ @Autowired
|
|
|
+ private PmBidWinningOpeningRefService pmBidWinningOpeningRefService;
|
|
|
+ @Autowired
|
|
|
+ private PmBookBuildingService pmBookBuildingService;
|
|
|
+ @Autowired
|
|
|
+ private PmCallQuestionService pmCallQuestionService;
|
|
|
+ @Autowired
|
|
|
+ private PmDemandExpertRefService pmDemandExpertRefService;
|
|
|
+ @Autowired
|
|
|
+ private PmExpertFeedbackService pmExpertFeedbackService;
|
|
|
+ @Autowired
|
|
|
+ private PmProcurementDocumentsReviewService pmProcurementDocumentsReviewService;
|
|
|
+ @Autowired
|
|
|
+ private PmReleaseAnnouncementService pmReleaseAnnouncementService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private PmBidFailureHisService pmBidFailureHisService;
|
|
|
@Autowired
|
|
@@ -53,7 +83,6 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
private PmProcurementDocumentsReviewHisService pmProcurementDocumentsReviewHisService;
|
|
|
@Autowired
|
|
|
private PmReleaseAnnouncementHisService pmReleaseAnnouncementHisService;
|
|
|
-
|
|
|
/**
|
|
|
* 流废标退回
|
|
|
* @param demandId
|
|
@@ -64,37 +93,319 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean returnBidFailure(Long demandId,String updateBy) throws Exception {
|
|
|
-// PmDemand pmDemand = this.getById(demandId);
|
|
|
-// if(ObjectUtils.isEmpty(pmDemand)){
|
|
|
-// throw new Exception("参数错误");
|
|
|
-// }
|
|
|
-// //把相关表数据存入历史表,清空相关表数据
|
|
|
-// PmDemandHis pmDemandHis = new PmDemandHis();
|
|
|
-// BeanUtils.copyProperties(pmDemand,pmDemandHis);
|
|
|
-//
|
|
|
-// LambdaQueryWrapper<PmDemandHis> pmDemandHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
-// pmDemandHisLambdaQueryWrapper.eq(PmDemandHis::getDemandId,demandId)
|
|
|
-// .orderByDesc(PmDemandHis::getReturnOrderNumber).last(" limit 1");
|
|
|
-// PmDemandHis pmDemandHisDb= this.pmDemandHisService.getOne(pmDemandHisLambdaQueryWrapper);
|
|
|
-// if(pmDemandHisDb != null){
|
|
|
-// pmDemandHis.setReturnOrderNumber(pmDemandHisDb.getReturnOrderNumber() + 1);
|
|
|
-// } else {
|
|
|
-// pmDemandHis.setReturnOrderNumber(1);
|
|
|
-// }
|
|
|
-// if(this.pmDemandHisService.save(pmDemandHis)){
|
|
|
-// UpdateWrapper<PmDemand> pmDemandUpdateWrapper = new UpdateWrapper<>();
|
|
|
-// pmDemandUpdateWrapper.lambda()
|
|
|
-// .set(PmDemand::getAgencyId,null)
|
|
|
-// .set(PmDemand::getExtractAgencyTime,null)
|
|
|
-// .set(PmDemand::getPurchaseTaskDocumentNumber,null)
|
|
|
-// .set(PmDemand::getTaskReleaseTime,null)
|
|
|
-// .set(PmDemand::getHasExpert,0)
|
|
|
-// .set(PmDemand::getProjectStatus,PmProjectStatus.WASTE_BID_RETURN.getCode())
|
|
|
-// .set(PmDemand::getUpdateBy,updateBy)
|
|
|
-// .set(PmDemand::getUpdateTime,new Date())
|
|
|
-// .eq(PmDemand::getDemandId,demandId);
|
|
|
-// this.update(pmDemandUpdateWrapper);
|
|
|
-// }
|
|
|
+ PmDemand pmDemand = iPmDemandService.getById(demandId);
|
|
|
+ if(ObjectUtils.isEmpty(pmDemand)){
|
|
|
+ throw new Exception("参数错误");
|
|
|
+ }
|
|
|
+ //把相关表数据存入历史表,清空相关表数据
|
|
|
+
|
|
|
+ //1需求建档表
|
|
|
+ LambdaQueryWrapper<PmBookBuilding> pmBookBuildingLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBookBuildingLambdaQueryWrapper.eq(PmBookBuilding::getDemandId,demandId);
|
|
|
+ PmBookBuilding pmBookBuildingDb = this.pmBookBuildingService.getOne(pmBookBuildingLambdaQueryWrapper);
|
|
|
+ if(pmBookBuildingDb != null) {
|
|
|
+ PmBookBuildingHis pmBookBuildingHis = new PmBookBuildingHis();
|
|
|
+ BeanUtils.copyProperties(pmBookBuildingDb,pmBookBuildingHis);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmBookBuildingHis> pmBookBuildingHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBookBuildingHisLambdaQueryWrapper.eq(PmBookBuildingHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmBookBuildingHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmBookBuildingHis pmBookBuildingHisDb = this.pmBookBuildingHisService.getOne(pmBookBuildingHisLambdaQueryWrapper);
|
|
|
+ if(pmBookBuildingHisDb != null){
|
|
|
+ pmBookBuildingHis.setReturnOrderNumber(pmBookBuildingHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmBookBuildingHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmBookBuildingHisService.save(pmBookBuildingHis)){
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmBookBuildingDb.getId(), SysFileRefEnum.PM_BOOK_BUILDING.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_BOOK_BUILDING.getType() + "" + pmBookBuildingHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+ this.pmBookBuildingService.removeById(pmBookBuildingDb.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //2专家意见反馈表
|
|
|
+ LambdaQueryWrapper<PmExpertFeedback> pmExpertFeedbackLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmExpertFeedbackLambdaQueryWrapper.eq(PmExpertFeedback::getDemandId,demandId);
|
|
|
+ PmExpertFeedback pmExpertFeedbackDb = this.pmExpertFeedbackService.getOne(pmExpertFeedbackLambdaQueryWrapper);
|
|
|
+ if(pmExpertFeedbackDb != null) {
|
|
|
+ PmExpertFeedbackHis pmExpertFeedbackHis = new PmExpertFeedbackHis();
|
|
|
+ BeanUtils.copyProperties(pmExpertFeedbackDb,pmExpertFeedbackHis);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmExpertFeedbackHis> pmExpertFeedbackHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmExpertFeedbackHisLambdaQueryWrapper.eq(PmExpertFeedbackHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmExpertFeedbackHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmExpertFeedbackHis pmExpertFeedbackHisDb = this.pmExpertFeedbackHisService.getOne(pmExpertFeedbackHisLambdaQueryWrapper);
|
|
|
+ if(pmExpertFeedbackHisDb != null){
|
|
|
+ pmExpertFeedbackHis.setReturnOrderNumber(pmExpertFeedbackHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmExpertFeedbackHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmExpertFeedbackHisService.save(pmExpertFeedbackHis)){
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmExpertFeedbackDb.getId(), SysFileRefEnum.PM_EXPERT_FEEDBACK.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_EXPERT_FEEDBACK.getType() + "" + pmExpertFeedbackHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+ this.pmExpertFeedbackService.removeById(pmExpertFeedbackDb.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //3采购文件编制审核表
|
|
|
+ LambdaQueryWrapper<PmProcurementDocumentsReview> pmProcurementDocumentsReviewLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmProcurementDocumentsReviewLambdaQueryWrapper.eq(PmProcurementDocumentsReview::getDemandId,demandId);
|
|
|
+ PmProcurementDocumentsReview pmProcurementDocumentsReviewDb = this.pmProcurementDocumentsReviewService.getOne(pmProcurementDocumentsReviewLambdaQueryWrapper);
|
|
|
+ if(pmProcurementDocumentsReviewDb != null) {
|
|
|
+ PmProcurementDocumentsReviewHis pmProcurementDocumentsReviewHis = new PmProcurementDocumentsReviewHis();
|
|
|
+ BeanUtils.copyProperties(pmProcurementDocumentsReviewDb,pmProcurementDocumentsReviewHis);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmProcurementDocumentsReviewHis> pmProcurementDocumentsReviewHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmProcurementDocumentsReviewHisLambdaQueryWrapper.eq(PmProcurementDocumentsReviewHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmProcurementDocumentsReviewHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmProcurementDocumentsReviewHis pmProcurementDocumentsReviewHisDb = this.pmProcurementDocumentsReviewHisService.getOne(pmProcurementDocumentsReviewHisLambdaQueryWrapper);
|
|
|
+ if(pmProcurementDocumentsReviewHisDb != null){
|
|
|
+ pmProcurementDocumentsReviewHis.setReturnOrderNumber(pmProcurementDocumentsReviewHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmProcurementDocumentsReviewHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmProcurementDocumentsReviewHisService.save(pmProcurementDocumentsReviewHis)){
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmProcurementDocumentsReviewDb.getId(), SysFileRefEnum.PM_BID_FILE.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_BID_FILE.getType() + "" + pmProcurementDocumentsReviewHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+
|
|
|
+ this.pmProcurementDocumentsReviewService.removeById(pmProcurementDocumentsReviewDb.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //4发布公告表
|
|
|
+ LambdaQueryWrapper<PmReleaseAnnouncement> pmReleaseAnnouncementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmReleaseAnnouncementLambdaQueryWrapper.eq(PmReleaseAnnouncement::getDemandId,demandId);
|
|
|
+ List<PmReleaseAnnouncement> pmReleaseAnnouncementDbList = this.pmReleaseAnnouncementService.list(pmReleaseAnnouncementLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmReleaseAnnouncementDbList)) {
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmReleaseAnnouncementHis> pmReleaseAnnouncementHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmReleaseAnnouncementHisLambdaQueryWrapper.eq(PmReleaseAnnouncementHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmReleaseAnnouncementHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmReleaseAnnouncementHis pmReleaseAnnouncementHisDb = this.pmReleaseAnnouncementHisService.getOne(pmReleaseAnnouncementHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmReleaseAnnouncement pmReleaseAnnouncementDb : pmReleaseAnnouncementDbList) {
|
|
|
+ PmReleaseAnnouncementHis pmReleaseAnnouncementHis = new PmReleaseAnnouncementHis();
|
|
|
+ BeanUtils.copyProperties(pmReleaseAnnouncementDb,pmReleaseAnnouncementHis);
|
|
|
+
|
|
|
+ if(pmReleaseAnnouncementHisDb != null){
|
|
|
+ pmReleaseAnnouncementHis.setReturnOrderNumber(pmReleaseAnnouncementHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmReleaseAnnouncementHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmReleaseAnnouncementHisService.save(pmReleaseAnnouncementHis)){
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmReleaseAnnouncementDb.getId(), SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_ANNOUNCEMENT_FILE.getType() + "" + pmReleaseAnnouncementHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+ this.pmReleaseAnnouncementService.removeById(pmReleaseAnnouncementDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //5质疑表
|
|
|
+ LambdaQueryWrapper<PmCallQuestion> pmCallQuestionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmCallQuestionLambdaQueryWrapper.eq(PmCallQuestion::getDemandId,demandId);
|
|
|
+ List<PmCallQuestion> pmCallQuestionDbList = this.pmCallQuestionService.list(pmCallQuestionLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmCallQuestionDbList)) {
|
|
|
+ LambdaQueryWrapper<PmCallQuestionHis> pmCallQuestionHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmCallQuestionHisLambdaQueryWrapper.eq(PmCallQuestionHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmCallQuestionHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmCallQuestionHis pmCallQuestionHisDb = this.pmCallQuestionHisService.getOne(pmCallQuestionHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmCallQuestion pmCallQuestionDb : pmCallQuestionDbList) {
|
|
|
+ PmCallQuestionHis pmCallQuestionHis = new PmCallQuestionHis();
|
|
|
+ BeanUtils.copyProperties(pmCallQuestionDb,pmCallQuestionHis);
|
|
|
+
|
|
|
+ if(pmCallQuestionHisDb != null){
|
|
|
+ pmCallQuestionHis.setReturnOrderNumber(pmCallQuestionHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmCallQuestionHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmCallQuestionHisService.save(pmCallQuestionHis)){
|
|
|
+ String type = pmCallQuestionDb.getType();
|
|
|
+ Integer sysFileRefType = null;
|
|
|
+ if("0".equals(type)){
|
|
|
+ sysFileRefType = SysFileRefEnum.PM_PRE_BID_CALL_QUESTION.getType();
|
|
|
+ } else {
|
|
|
+ sysFileRefType = SysFileRefEnum.PM_BID_CALL_QEUSTION_FILE.getType();
|
|
|
+ }
|
|
|
+
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmCallQuestionDb.getId(), sysFileRefType);
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(sysFileRefType + "" + pmCallQuestionHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+ this.pmCallQuestionService.removeById(pmCallQuestionDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //6项目专家关联表
|
|
|
+ LambdaQueryWrapper<PmDemandExpertRef> pmDemandExpertRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandExpertRefLambdaQueryWrapper.eq(PmDemandExpertRef::getDemandId,demandId);
|
|
|
+ List<PmDemandExpertRef> pmDemandExpertRefDbList = this.pmDemandExpertRefService.list(pmDemandExpertRefLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmDemandExpertRefDbList)) {
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandExpertRefHis> pmDemandExpertRefHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandExpertRefHisLambdaQueryWrapper.eq(PmDemandExpertRefHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmDemandExpertRefHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmDemandExpertRefHis pmDemandExpertRefHisDb = this.pmDemandExpertRefHisService.getOne(pmDemandExpertRefHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmDemandExpertRef pmDemandExpertRefDb : pmDemandExpertRefDbList) {
|
|
|
+ PmDemandExpertRefHis pmDemandExpertRefHis = new PmDemandExpertRefHis();
|
|
|
+ BeanUtils.copyProperties(pmDemandExpertRefDb,pmDemandExpertRefHis);
|
|
|
+
|
|
|
+ if(pmDemandExpertRefHisDb != null){
|
|
|
+ pmDemandExpertRefHis.setReturnOrderNumber(pmDemandExpertRefHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmDemandExpertRefHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmDemandExpertRefHisService.save(pmDemandExpertRefHis)){
|
|
|
+ this.pmDemandExpertRefService.removeById(pmDemandExpertRefDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //6开标信息表
|
|
|
+ LambdaQueryWrapper<PmBidOpening> pmBidOpeningLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidOpeningLambdaQueryWrapper.eq(PmBidOpening::getDemandId,demandId);
|
|
|
+ List<PmBidOpening> pmBidOpeningDbList = this.pmBidOpeningService.list(pmBidOpeningLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmBidOpeningDbList)) {
|
|
|
+ LambdaQueryWrapper<PmBidOpeningHis> pmBidOpeningHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidOpeningHisLambdaQueryWrapper.eq(PmBidOpeningHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmBidOpeningHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmBidOpeningHis pmBidOpeningHisDb = this.pmBidOpeningHisService.getOne(pmBidOpeningHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmBidOpening pmBidOpeningDb : pmBidOpeningDbList) {
|
|
|
+ PmBidOpeningHis pmBidOpeningHis = new PmBidOpeningHis();
|
|
|
+ BeanUtils.copyProperties(pmBidOpeningDb,pmBidOpeningHis);
|
|
|
+
|
|
|
+ if(pmBidOpeningHisDb != null){
|
|
|
+ pmBidOpeningHis.setReturnOrderNumber(pmBidOpeningHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmBidOpeningHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmBidOpeningHisService.save(pmBidOpeningHis)){
|
|
|
+ this.pmBidOpeningService.removeById(pmBidOpeningDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //7中标基本情况表
|
|
|
+ LambdaQueryWrapper<PmBidWinning> pmBidWinningLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidWinningLambdaQueryWrapper.eq(PmBidWinning::getDemandId,demandId);
|
|
|
+ List<PmBidWinning> pmBidWinningDbList = this.pmBidWinningService.list(pmBidWinningLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmBidWinningDbList)) {
|
|
|
+ LambdaQueryWrapper<PmBidWinningHis> pmBidWinningHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidWinningHisLambdaQueryWrapper.eq(PmBidWinningHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmBidWinningHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmBidWinningHis pmBidWinningHisDb = this.pmBidWinningHisService.getOne(pmBidWinningHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmBidWinning pmBidWinningDb : pmBidWinningDbList) {
|
|
|
+ PmBidWinningHis pmBidWinningHis = new PmBidWinningHis();
|
|
|
+ BeanUtils.copyProperties(pmBidWinningDb,pmBidWinningHis);
|
|
|
+
|
|
|
+ if(pmBidWinningHisDb != null){
|
|
|
+ pmBidWinningHis.setReturnOrderNumber(pmBidWinningHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmBidWinningHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmBidWinningHisService.save(pmBidWinningHis)){
|
|
|
+ //文件
|
|
|
+ List<SysFileRef> fileRefs = getSysFileRefList(pmBidWinningDb.getId(), SysFileRefEnum.PM_BID_WINNING_FILE.getType());
|
|
|
+ if (!ObjectUtils.isEmpty(fileRefs)) {
|
|
|
+ for (SysFileRef sysFileRef : fileRefs) {
|
|
|
+ sysFileRef.setType(Integer.parseInt(SysFileRefEnum.PM_BID_WINNING_FILE.getType() + "" + pmBidWinningHis.getReturnOrderNumber()));
|
|
|
+ }
|
|
|
+ sysFileRefService.updateBatchById(fileRefs);
|
|
|
+ }
|
|
|
+
|
|
|
+ //8中标开标关联表
|
|
|
+ LambdaQueryWrapper<PmBidWinningOpeningRef> pmBidWinningOpeningRefLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidWinningOpeningRefLambdaQueryWrapper.eq(PmBidWinningOpeningRef::getWinningId,pmBidWinningDb.getId());
|
|
|
+ List<PmBidWinningOpeningRef> pmBidWinningOpeningRefDbList = this.pmBidWinningOpeningRefService.list(pmBidWinningOpeningRefLambdaQueryWrapper);
|
|
|
+ if(!ObjectUtils.isEmpty(pmBidWinningOpeningRefDbList)) {
|
|
|
+ LambdaQueryWrapper<PmBidWinningOpeningRefHis> pmBidWinningOpeningRefHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmBidWinningOpeningRefHisLambdaQueryWrapper.eq(PmBidWinningOpeningRefHis::getWinningId,demandId)
|
|
|
+ .orderByDesc(PmBidWinningOpeningRefHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmBidWinningOpeningRefHis pmBidWinningOpeningRefHisDb = this.pmBidWinningOpeningRefHisService.getOne(pmBidWinningOpeningRefHisLambdaQueryWrapper);
|
|
|
+
|
|
|
+ for(PmBidWinningOpeningRef pmBidWinningOpeningRefDb : pmBidWinningOpeningRefDbList) {
|
|
|
+ PmBidWinningOpeningRefHis pmBidWinningOpeningRefHis = new PmBidWinningOpeningRefHis();
|
|
|
+ BeanUtils.copyProperties(pmBidWinningOpeningRefDb,pmBidWinningOpeningRefHis);
|
|
|
+
|
|
|
+ if(pmBidWinningOpeningRefHisDb != null){
|
|
|
+ pmBidWinningOpeningRefHis.setReturnOrderNumber(pmBidWinningOpeningRefHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmBidWinningOpeningRefHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmBidWinningOpeningRefHisService.save(pmBidWinningOpeningRefHis)){
|
|
|
+ this.pmBidWinningOpeningRefService.removeById(pmBidWinningOpeningRefDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.pmBidWinningService.removeById(pmBidWinningDb.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ PmDemandHis pmDemandHis = new PmDemandHis();
|
|
|
+ BeanUtils.copyProperties(pmDemand,pmDemandHis);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandHis> pmDemandHisLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandHisLambdaQueryWrapper.eq(PmDemandHis::getDemandId,demandId)
|
|
|
+ .orderByDesc(PmDemandHis::getReturnOrderNumber).last(" limit 1");
|
|
|
+ PmDemandHis pmDemandHisDb= this.pmDemandHisService.getOne(pmDemandHisLambdaQueryWrapper);
|
|
|
+ if(pmDemandHisDb != null){
|
|
|
+ pmDemandHis.setReturnOrderNumber(pmDemandHisDb.getReturnOrderNumber() + 1);
|
|
|
+ } else {
|
|
|
+ pmDemandHis.setReturnOrderNumber(1);
|
|
|
+ }
|
|
|
+ if(this.pmDemandHisService.save(pmDemandHis)){
|
|
|
+ UpdateWrapper<PmDemand> pmDemandUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ pmDemandUpdateWrapper.lambda()
|
|
|
+ .set(PmDemand::getAgencyId,null)
|
|
|
+ .set(PmDemand::getExtractAgencyTime,null)
|
|
|
+ .set(PmDemand::getPurchaseTaskDocumentNumber,null)
|
|
|
+ .set(PmDemand::getTaskReleaseTime,null)
|
|
|
+ .set(PmDemand::getHasExpert,0)
|
|
|
+ .set(PmDemand::getProjectStatus,PmProjectStatus.WASTE_BID_RETURN.getCode())
|
|
|
+ .set(PmDemand::getUpdateBy,updateBy)
|
|
|
+ .set(PmDemand::getUpdateTime,new Date())
|
|
|
+ .eq(PmDemand::getDemandId,demandId);
|
|
|
+ iPmDemandService.update(pmDemandUpdateWrapper);
|
|
|
+ }
|
|
|
|
|
|
return true;
|
|
|
}
|
|
@@ -109,4 +420,13 @@ public class PmDemandHisServiceImpl extends ServiceImpl<PmDemandHisMapper, PmDem
|
|
|
public PmDemandResVo selectPmDemandHisByDemandId(Long demandId, String detailType,Integer returnOrderNumber) {
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ private List<SysFileRef> getSysFileRefList(Long redId, Integer type) {
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
+ map.put("red_id", redId);
|
|
|
+ map.put("type", type);
|
|
|
+ List<SysFileRef> fileRefs = sysFileRefService.listByMap(map);
|
|
|
+ return fileRefs;
|
|
|
+ }
|
|
|
+
|
|
|
}
|