@@ -30,23 +30,12 @@ public class TenderStateChangeAction { | |||||
} | } | ||||
/** | /** | ||||
* 填写采购信息 | |||||
* | |||||
* @param message \ | |||||
*/ | |||||
@OnTransition(source = "TO_BE_SUBMIT_PURCHASE_INFO", target = "TO_BE_SUBMIT_CONSTRUCTION_INFO") | |||||
public void SUBMIT_PURCHASE_INFO(Message<ProjectStateChangeEvent> message) { | |||||
Purchase purchase = getPurchaseInfo(message); | |||||
purchase.setStatus(TenderStatus.TO_BE_SUBMIT_CONSTRUCTION_INFO.getCode()); | |||||
} | |||||
/** | |||||
* 填写合同信息 | * 填写合同信息 | ||||
* | * | ||||
* @param message \ | * @param message \ | ||||
*/ | */ | ||||
@OnTransition(source = "TO_BE_SUBMIT_CONSTRUCTION_INFO", target = "TO_BE_SUBMIT_OPERATION_PLAN") | |||||
public void SUBMIT_CONSTRUCTION_INFO(Message<ProjectStateChangeEvent> message) { | |||||
@OnTransition(source = "TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO", target = "TO_BE_SUBMIT_OPERATION_PLAN") | |||||
public void SUBMIT_PURCHASE_CONSTRUCTION_INFO(Message<ProjectStateChangeEvent> message) { | |||||
Purchase purchase = getPurchaseInfo(message); | Purchase purchase = getPurchaseInfo(message); | ||||
purchase.setStatus(TenderStatus.TO_BE_SUBMIT_OPERATION_PLAN.getCode()); | purchase.setStatus(TenderStatus.TO_BE_SUBMIT_OPERATION_PLAN.getCode()); | ||||
} | } | ||||
@@ -65,21 +65,15 @@ public class TenderStateMachineBuilderImpl implements BaseStateMachineBuilder<Pu | |||||
builder.configureStates() | builder.configureStates() | ||||
.withStates() | .withStates() | ||||
.initial(TenderStatus.TO_BE_SUBMIT_PURCHASE_INFO) | |||||
.initial(TenderStatus.TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO) | |||||
.states(EnumSet.allOf(TenderStatus.class)); | .states(EnumSet.allOf(TenderStatus.class)); | ||||
builder.configureTransitions() | builder.configureTransitions() | ||||
// 填写采购信息 | |||||
// 填写采购&合同信息 | |||||
.withExternal() | .withExternal() | ||||
.source(TenderStatus.TO_BE_SUBMIT_PURCHASE_INFO) | |||||
.target(TenderStatus.TO_BE_SUBMIT_CONSTRUCTION_INFO) | |||||
.event(TenderStateChangeEvent.SUBMIT_PURCHASE_INFO) | |||||
.and() | |||||
// 填写合同信息 | |||||
.withExternal() | |||||
.source(TenderStatus.TO_BE_SUBMIT_CONSTRUCTION_INFO) | |||||
.source(TenderStatus.TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO) | |||||
.target(TenderStatus.TO_BE_SUBMIT_OPERATION_PLAN) | .target(TenderStatus.TO_BE_SUBMIT_OPERATION_PLAN) | ||||
.event(TenderStateChangeEvent.SUBMIT_CONSTRUCTION_INFO) | |||||
.event(TenderStateChangeEvent.SUBMIT_PURCHASE_CONSTRUCTION_INFO) | |||||
.and() | .and() | ||||
// 填写实施计划 | // 填写实施计划 | ||||
.withExternal() | .withExternal() | ||||
@@ -16,13 +16,9 @@ import lombok.Getter; | |||||
public enum TenderStateChangeEvent implements AbstractStateChangeEvent { | public enum TenderStateChangeEvent implements AbstractStateChangeEvent { | ||||
/** | /** | ||||
* 填写采购信息 | |||||
* 填写采购&合同信息 | |||||
*/ | */ | ||||
SUBMIT_PURCHASE_INFO(101, null, null), | |||||
/** | |||||
* 填写合同信息 | |||||
*/ | |||||
SUBMIT_CONSTRUCTION_INFO(102, null, null), | |||||
SUBMIT_PURCHASE_CONSTRUCTION_INFO(101, null, null), | |||||
/** | /** | ||||
* 填写实施计划 | * 填写实施计划 | ||||
*/ | */ | ||||
@@ -4,8 +4,6 @@ import com.hz.pm.api.common.util.ExcelDownUtil; | |||||
import com.hz.pm.api.projectdeclared.manage.ConstructionManage; | import com.hz.pm.api.projectdeclared.manage.ConstructionManage; | ||||
import com.hz.pm.api.projectdeclared.model.dto.PaymentPlanSupplementDTO; | import com.hz.pm.api.projectdeclared.model.dto.PaymentPlanSupplementDTO; | ||||
import com.hz.pm.api.projectdeclared.model.dto.PreInsSaveDTO; | import com.hz.pm.api.projectdeclared.model.dto.PreInsSaveDTO; | ||||
import com.hz.pm.api.projectdeclared.model.dto.XcfhxApplySaveDTO; | |||||
import com.hz.pm.api.projectdeclared.model.req.SubmitConstructionReq; | |||||
import com.hz.pm.api.projectdeclared.model.req.XcfhxApplyReq; | import com.hz.pm.api.projectdeclared.model.req.XcfhxApplyReq; | ||||
import com.hz.pm.api.projectdeclared.model.vo.ContractVO; | import com.hz.pm.api.projectdeclared.model.vo.ContractVO; | ||||
import com.hz.pm.api.projectdeclared.model.vo.PreInsVO; | import com.hz.pm.api.projectdeclared.model.vo.PreInsVO; | ||||
@@ -65,13 +63,6 @@ public class ConstructionController { | |||||
return constructionManage.detailContractByProjectId(projectId); | return constructionManage.detailContractByProjectId(projectId); | ||||
} | } | ||||
@ApiOperation(value = "填写合同信息") | |||||
@WebLog("填写合同信息") | |||||
@PostMapping("/submit-contract") | |||||
public String submitContract(@Validated @RequestBody SubmitConstructionReq req) { | |||||
return constructionManage.submitPurchaseContract(req); | |||||
} | |||||
@ApiOperation(value = "补充实际支付金额", notes = "补充实际支付金额") | @ApiOperation(value = "补充实际支付金额", notes = "补充实际支付金额") | ||||
@WebLog("补充实际支付金额") | @WebLog("补充实际支付金额") | ||||
@PostMapping("/supplement") | @PostMapping("/supplement") | ||||
@@ -74,10 +74,10 @@ public class PurchaseController { | |||||
purchaseManage.submitPurchaseNotice(req); | purchaseManage.submitPurchaseNotice(req); | ||||
} | } | ||||
@ApiOperation("采购信息备案") | |||||
@WebLog("采购信息备案") | |||||
@ApiOperation("采购&合同信息备案") | |||||
@WebLog("采购&合同信息备案") | |||||
@PostMapping("/record/submit") | @PostMapping("/record/submit") | ||||
public void submitPurchaseRecord(@RequestBody SubmitPurchaseRecordReq req) { | |||||
public void submitPurchaseRecord(@RequestBody SubmitPurchaseContractRecordReq req) { | |||||
purchaseManage.submitPurchaseRecord(req); | purchaseManage.submitPurchaseRecord(req); | ||||
} | } | ||||
@@ -136,7 +136,7 @@ public class PurchaseController { | |||||
@WebLog("新增系统(信创审符合性查信息)") | @WebLog("新增系统(信创审符合性查信息)") | ||||
@PostMapping("/add-system") | @PostMapping("/add-system") | ||||
public Long addSystem(@Validated @RequestBody XcfhxApplySaveDTO dto) { | public Long addSystem(@Validated @RequestBody XcfhxApplySaveDTO dto) { | ||||
return purchaseManage.addSystem(dto); | |||||
return purchaseManage.addSystem(dto); | |||||
} | } | ||||
@ApiOperation("编辑信创审符合性查信息") | @ApiOperation("编辑信创审符合性查信息") | ||||
@@ -154,8 +154,8 @@ public class PurchaseController { | |||||
@GetMapping("/exportXcfhFile/{code}") | @GetMapping("/exportXcfhFile/{code}") | ||||
@ApiOperation("直接导出信创文件") | @ApiOperation("直接导出信创文件") | ||||
public void exportXcfhFile(@PathVariable String code,HttpServletResponse response) throws UnsupportedEncodingException { | |||||
purchaseManage.exportXcfhFile(code,response); | |||||
public void exportXcfhFile(@PathVariable String code, HttpServletResponse response) throws UnsupportedEncodingException { | |||||
purchaseManage.exportXcfhFile(code, response); | |||||
} | } | ||||
@GetMapping("/purchaseIntention/{unitId}") | @GetMapping("/purchaseIntention/{unitId}") | ||||
@@ -14,7 +14,6 @@ import com.hz.pm.api.common.model.constant.BizConst; | |||||
import com.hz.pm.api.common.statemachine.util.ProjectStateMachineUtil; | import com.hz.pm.api.common.statemachine.util.ProjectStateMachineUtil; | ||||
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil; | import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil; | ||||
import com.hz.pm.api.common.statemachine.util.XcfhxStateMachineUtil; | import com.hz.pm.api.common.statemachine.util.XcfhxStateMachineUtil; | ||||
import com.hz.pm.api.common.util.DecimalUtil; | |||||
import com.hz.pm.api.common.util.ExcelDownUtil; | import com.hz.pm.api.common.util.ExcelDownUtil; | ||||
import com.hz.pm.api.common.util.ExcelExportStyle; | import com.hz.pm.api.common.util.ExcelExportStyle; | ||||
import com.hz.pm.api.common.util.StrUtils; | import com.hz.pm.api.common.util.StrUtils; | ||||
@@ -22,9 +21,7 @@ import com.hz.pm.api.projectdeclared.helper.MhXchxFileHelper; | |||||
import com.hz.pm.api.projectdeclared.model.dto.DeclaredProjectExportDTO; | import com.hz.pm.api.projectdeclared.model.dto.DeclaredProjectExportDTO; | ||||
import com.hz.pm.api.projectdeclared.model.dto.PaymentPlanSupplementDTO; | import com.hz.pm.api.projectdeclared.model.dto.PaymentPlanSupplementDTO; | ||||
import com.hz.pm.api.projectdeclared.model.dto.PreInsSaveDTO; | import com.hz.pm.api.projectdeclared.model.dto.PreInsSaveDTO; | ||||
import com.hz.pm.api.projectdeclared.model.dto.XcfhxApplySaveDTO; | |||||
import com.hz.pm.api.projectdeclared.model.entity.*; | import com.hz.pm.api.projectdeclared.model.entity.*; | ||||
import com.hz.pm.api.projectdeclared.model.req.SubmitConstructionReq; | |||||
import com.hz.pm.api.projectdeclared.model.req.XcfhxApplyReq; | import com.hz.pm.api.projectdeclared.model.req.XcfhxApplyReq; | ||||
import com.hz.pm.api.projectdeclared.model.vo.ContractVO; | import com.hz.pm.api.projectdeclared.model.vo.ContractVO; | ||||
import com.hz.pm.api.projectdeclared.model.vo.PreInsAcceptancePersonVO; | import com.hz.pm.api.projectdeclared.model.vo.PreInsAcceptancePersonVO; | ||||
@@ -289,53 +286,6 @@ public class ConstructionManage { | |||||
return BeanUtil.copyToList(contracts, ContractVO.class); | return BeanUtil.copyToList(contracts, ContractVO.class); | ||||
} | } | ||||
@Transactional(rollbackFor = Exception.class) | |||||
public synchronized String submitPurchaseContract(SubmitConstructionReq req) { | |||||
UserInfoDetails user = LoginUserUtil.loginUserDetail(); | |||||
Long projectId = req.getProjectId(); | |||||
Project project = projectService.getNewestNoNull(req.getProjectId()); | |||||
//首先要判断 项目当前状态 是不是 采购结果备案 | |||||
VUtils.isTrue(!ProjectStatus.ON_PURCHASING.getCode().equals(project.getStatus()) || | |||||
!ProjectStatus.PROJECT_APPROVED.getCode().equals(project.getStage())) | |||||
.throwMessage("提交失败 该项目不是 建设中或者已立项阶段"); | |||||
Purchase purchase = purchaseService.getById(req.getBidId()); | |||||
if (!TenderStatus.TO_BE_SUBMIT_CONSTRUCTION_INFO.eq(purchase.getStatus())) { | |||||
throw BizException.wrap("该标段不支持填写合同信息"); | |||||
} | |||||
tenderStateMachineUtil.pass(purchase); | |||||
purchaseService.updateById(purchase); | |||||
LocalDateTime now = LocalDateTime.now(); | |||||
Contract contract = new Contract(); | |||||
contract.setContractTime(req.getContractTime()); | |||||
contract.setAttachment(req.getAttachment()); | |||||
contract.setName(req.getName()); | |||||
contract.setProjectId(projectId); | |||||
contract.setProjectCode(project.getProjectCode()); | |||||
contract.setBidId(req.getBidId()); | |||||
contract.setId(req.getConstructionId()); | |||||
contract.setCreateBy(user.getUserIdStr()); | |||||
contract.setUpdateBy(user.getUserIdStr()); | |||||
contract.setCreateOn(now); | |||||
contract.setUpdateOn(now); | |||||
contract.setTotalAmount(req.getTotalAmount()); | |||||
contract.setConstructionNo(req.getConstructionNo()); | |||||
contract.setSupplierContact(req.getSupplierContact()); | |||||
contract.setSupplierContactInfo(req.getSupplierContactInfo()); | |||||
contractService.saveOrUpdate(contract); | |||||
LambdaQueryWrapper<Contract> query = Wrappers.lambdaQuery(Contract.class) | |||||
.eq(Contract::getProjectId, projectId); | |||||
List<Contract> allContracts = contractService.list(query); | |||||
BigDecimal totalAmount = DecimalUtil.sum(allContracts, Contract::getTotalAmount); | |||||
project.setUpdateOn(now); | |||||
project.setContractAmount(totalAmount); | |||||
projectService.updateById(project); | |||||
return "填写成功"; | |||||
} | |||||
private static final List<TenderStatus> PRE_INSPECTED_PURCHASE_STATUS; | private static final List<TenderStatus> PRE_INSPECTED_PURCHASE_STATUS; | ||||
static { | static { | ||||
@@ -600,7 +550,7 @@ public class ConstructionManage { | |||||
if (StrUtils.isBlank(purchase.getMhXcfhxReportFile()) || | if (StrUtils.isBlank(purchase.getMhXcfhxReportFile()) || | ||||
req.getMhXcfhxReportFile().equals(purchase.getMhXcfhxReportFile())) { | req.getMhXcfhxReportFile().equals(purchase.getMhXcfhxReportFile())) { | ||||
String fileName = purchase.getBidName() + "-信创符合性测评报告."; | String fileName = purchase.getBidName() + "-信创符合性测评报告."; | ||||
purchase.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(req.getMhXcfhxReportFile(),fileName)); | |||||
purchase.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(req.getMhXcfhxReportFile(), fileName)); | |||||
} | } | ||||
purchase.setMhXcfhxReportRecordId(req.getMhXcfhxReportRecordId()); | purchase.setMhXcfhxReportRecordId(req.getMhXcfhxReportRecordId()); | ||||
purchase.setMhXcfhxReportFile(req.getMhXcfhxReportFile()); | purchase.setMhXcfhxReportFile(req.getMhXcfhxReportFile()); | ||||
@@ -621,7 +571,7 @@ public class ConstructionManage { | |||||
public synchronized String submitXcfhxApplyManual(Long id) { | public synchronized String submitXcfhxApplyManual(Long id) { | ||||
Xinchuang xinhcuang = xinchuangService.getById(id); | Xinchuang xinhcuang = xinchuangService.getById(id); | ||||
VUtils.isTrue(Objects.isNull(xinhcuang)).throwMessage("信创符合性申请不存在"); | VUtils.isTrue(Objects.isNull(xinhcuang)).throwMessage("信创符合性申请不存在"); | ||||
if(StringUtils.isNotBlank(xinhcuang.getInstCode())){ | |||||
if (StringUtils.isNotBlank(xinhcuang.getInstCode())) { | |||||
List<Task> tasks = taskService.createTaskQuery().active() | List<Task> tasks = taskService.createTaskQuery().active() | ||||
.processInstanceId(xinhcuang.getInstCode()) | .processInstanceId(xinhcuang.getInstCode()) | ||||
.list(); | .list(); | ||||
@@ -48,7 +48,7 @@ import com.hz.pm.api.projectlib.entity.PurchaseStatusChange; | |||||
import com.hz.pm.api.projectlib.helper.ProjectManageUtil; | import com.hz.pm.api.projectlib.helper.ProjectManageUtil; | ||||
import com.hz.pm.api.projectlib.model.entity.Project; | import com.hz.pm.api.projectlib.model.entity.Project; | ||||
import com.hz.pm.api.projectlib.model.entity.ProjectInst; | import com.hz.pm.api.projectlib.model.entity.ProjectInst; | ||||
import com.hz.pm.api.projectlib.model.enumeration.*; | |||||
import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum; | |||||
import com.hz.pm.api.projectlib.model.enumeration.status.*; | import com.hz.pm.api.projectlib.model.enumeration.status.*; | ||||
import com.hz.pm.api.projectlib.model.req.ProjectListReq; | import com.hz.pm.api.projectlib.model.req.ProjectListReq; | ||||
import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO; | import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO; | ||||
@@ -78,6 +78,7 @@ import org.springframework.beans.BeanUtils; | |||||
import org.springframework.beans.factory.annotation.Value; | import org.springframework.beans.factory.annotation.Value; | ||||
import org.springframework.stereotype.Component; | import org.springframework.stereotype.Component; | ||||
import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||
import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.io.UnsupportedEncodingException; | import java.io.UnsupportedEncodingException; | ||||
@@ -338,7 +339,7 @@ public class PurchaseManage { | |||||
purchase.setSelfTestStatus(TenderSelfTestStatus.WITHOUT_SELF_TEST_INFO.getCode()); | purchase.setSelfTestStatus(TenderSelfTestStatus.WITHOUT_SELF_TEST_INFO.getCode()); | ||||
purchase.setTestValidStatus(TenderTestValidStatus.WITHOUT_TEST_VALID_INFO.getCode()); | purchase.setTestValidStatus(TenderTestValidStatus.WITHOUT_TEST_VALID_INFO.getCode()); | ||||
purchase.setAdaptStatus(TenderAdaptStatus.WITHOUT_ADAPT_INFO.getCode()); | purchase.setAdaptStatus(TenderAdaptStatus.WITHOUT_ADAPT_INFO.getCode()); | ||||
purchase.setStatus(TenderStatus.TO_BE_SUBMIT_PURCHASE_INFO.getCode()); | |||||
purchase.setStatus(TenderStatus.TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO.getCode()); | |||||
purchase.setXcfhxApplyStatus(TenderXcfhxApplyStatus.TO_BE_SUBMIT_XCFHX_APPLY.getCode()); | purchase.setXcfhxApplyStatus(TenderXcfhxApplyStatus.TO_BE_SUBMIT_XCFHX_APPLY.getCode()); | ||||
if (Boolean.TRUE.equals(mhPurchaseNoticeOpen)) { | if (Boolean.TRUE.equals(mhPurchaseNoticeOpen)) { | ||||
notices.add(buildPurchaseNotice(w, user)); | notices.add(buildPurchaseNotice(w, user)); | ||||
@@ -398,11 +399,12 @@ public class PurchaseManage { | |||||
} | } | ||||
@Transactional(rollbackFor = Exception.class) | @Transactional(rollbackFor = Exception.class) | ||||
public synchronized void submitPurchaseRecord(SubmitPurchaseRecordReq req) { | |||||
public synchronized void submitPurchaseRecord(SubmitPurchaseContractRecordReq req) { | |||||
Purchase purchase = purchaseService.getById(req.getBidId()); | Purchase purchase = purchaseService.getById(req.getBidId()); | ||||
if (!TenderStatus.TO_BE_SUBMIT_PURCHASE_INFO.eq(purchase.getStatus())) { | |||||
throw BizException.wrap("该标段无法进行采购信息备案"); | |||||
if (!TenderStatus.TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO.eq(purchase.getStatus())) { | |||||
throw BizException.wrap("该标段无法进行采购&合同信息备案"); | |||||
} | } | ||||
// 保存采购信息 | |||||
purchase.setId(req.getBidId()); | purchase.setId(req.getBidId()); | ||||
purchase.setAcceptanceLetter(req.getAcceptanceLetter()); | purchase.setAcceptanceLetter(req.getAcceptanceLetter()); | ||||
purchase.setBidBuildContent(req.getBidBuildContent()); | purchase.setBidBuildContent(req.getBidBuildContent()); | ||||
@@ -412,6 +414,41 @@ public class PurchaseManage { | |||||
purchase.setBidType(req.getBidType()); | purchase.setBidType(req.getBidType()); | ||||
tenderStateMachineUtil.pass(purchase); | tenderStateMachineUtil.pass(purchase); | ||||
purchaseService.saveOrUpdate(purchase); | purchaseService.saveOrUpdate(purchase); | ||||
UserInfoDetails user = LoginUserUtil.loginUserDetail(); | |||||
Long projectId = req.getProjectId(); | |||||
Project project = projectService.getNewestNoNull(projectId); | |||||
LocalDateTime now = LocalDateTime.now(); | |||||
// 保存合同信息 | |||||
Contract contract = contractService.getByBidId(req.getBidId()); | |||||
if (contract == null) { | |||||
contract = new Contract(); | |||||
contract.setCreateBy(user.getUserIdStr()); | |||||
contract.setCreateOn(now); | |||||
} | |||||
contract.setContractTime(req.getContractTime()); | |||||
contract.setAttachment(req.getAttachment()); | |||||
contract.setName(req.getName()); | |||||
contract.setProjectId(projectId); | |||||
contract.setProjectCode(project.getProjectCode()); | |||||
contract.setBidId(req.getBidId()); | |||||
contract.setId(req.getConstructionId()); | |||||
contract.setUpdateBy(user.getUserIdStr()); | |||||
contract.setUpdateOn(now); | |||||
contract.setTotalAmount(req.getTotalAmount()); | |||||
contract.setConstructionNo(req.getConstructionNo()); | |||||
contract.setSupplierContact(req.getSupplierContact()); | |||||
contract.setSupplierContactInfo(req.getSupplierContactInfo()); | |||||
contractService.saveOrUpdate(contract); | |||||
// 修改项目合同金额 | |||||
Wrapper<Contract> query = Wrappers.lambdaQuery(Contract.class) | |||||
.eq(Contract::getProjectId, projectId); | |||||
List<Contract> allContracts = contractService.list(query); | |||||
BigDecimal totalAmount = DecimalUtil.sum(allContracts, Contract::getTotalAmount); | |||||
project.setUpdateOn(now); | |||||
project.setContractAmount(totalAmount); | |||||
projectService.updateById(project); | |||||
} | } | ||||
private PageVo<TestValidListVO> queryData(TestValidListReq req, | private PageVo<TestValidListVO> queryData(TestValidListReq req, | ||||
@@ -684,12 +721,13 @@ public class PurchaseManage { | |||||
/** | /** | ||||
* 详情 | * 详情 | ||||
* | |||||
* @param id | * @param id | ||||
* @return | * @return | ||||
*/ | */ | ||||
public XinchuangVO detailXcfhxApply(Long id) { | public XinchuangVO detailXcfhxApply(Long id) { | ||||
Xinchuang xinchuang = xinchuangService.getById(id); | Xinchuang xinchuang = xinchuangService.getById(id); | ||||
if(Objects.isNull(xinchuang)){ | |||||
if (Objects.isNull(xinchuang)) { | |||||
return null; | return null; | ||||
} | } | ||||
return BeanUtil.copyProperties(xinchuang, XinchuangVO.class); | return BeanUtil.copyProperties(xinchuang, XinchuangVO.class); | ||||
@@ -721,6 +759,7 @@ public class PurchaseManage { | |||||
/** | /** | ||||
* 新增信创系统 | * 新增信创系统 | ||||
* | |||||
* @param dto | * @param dto | ||||
* @return | * @return | ||||
*/ | */ | ||||
@@ -733,7 +772,7 @@ public class PurchaseManage { | |||||
xinchuang.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(dto.getMhXcfhxReportFile(), fileName)); | xinchuang.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(dto.getMhXcfhxReportFile(), fileName)); | ||||
} | } | ||||
} | } | ||||
if(xinchuangService.save(xinchuang)){ | |||||
if (xinchuangService.save(xinchuang)) { | |||||
return xinchuang.getId(); | return xinchuang.getId(); | ||||
} | } | ||||
throw BizException.wrap("新增失败"); | throw BizException.wrap("新增失败"); | ||||
@@ -748,7 +787,7 @@ public class PurchaseManage { | |||||
String fileName = xinchuang.getBidName() + "-信创符合性测评报告."; | String fileName = xinchuang.getBidName() + "-信创符合性测评报告."; | ||||
xinchuang.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(dto.getMhXcfhxReportFile(), fileName)); | xinchuang.setXcfhxReportFiles(mhXchxFileHelper.getXchxFile(dto.getMhXcfhxReportFile(), fileName)); | ||||
} | } | ||||
if(xinchuangService.updateById(xinchuang)){ | |||||
if (xinchuangService.updateById(xinchuang)) { | |||||
return xinchuang.getId(); | return xinchuang.getId(); | ||||
} | } | ||||
throw BizException.wrap("编辑失败"); | throw BizException.wrap("编辑失败"); | ||||
@@ -758,7 +797,7 @@ public class PurchaseManage { | |||||
return mhXchxFileHelper.getXchxFile(code, null); | return mhXchxFileHelper.getXchxFile(code, null); | ||||
} | } | ||||
public void exportXcfhFile(String code,HttpServletResponse response) throws UnsupportedEncodingException { | |||||
public void exportXcfhFile(String code, HttpServletResponse response) throws UnsupportedEncodingException { | |||||
mhXchxFileHelper.exportReport(code, response); | mhXchxFileHelper.exportReport(code, response); | ||||
} | } | ||||
} | } |
@@ -1,7 +1,6 @@ | |||||
package com.hz.pm.api.projectdeclared.model.req; | package com.hz.pm.api.projectdeclared.model.req; | ||||
import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||
import io.swagger.annotations.ApiModel; | |||||
import io.swagger.annotations.ApiModelProperty; | import io.swagger.annotations.ApiModelProperty; | ||||
import lombok.Data; | import lombok.Data; | ||||
@@ -11,26 +10,45 @@ import java.time.LocalDateTime; | |||||
/** | /** | ||||
* <p> | * <p> | ||||
* SubmitConstructionReq | |||||
* SubmitPurchaseContractRecordReq | |||||
* </p> | * </p> | ||||
* | * | ||||
* @author WendyYang | * @author WendyYang | ||||
* @since 00:14 2024/2/23 | |||||
* @since 13:55 2024/7/9 | |||||
*/ | */ | ||||
@Data | @Data | ||||
@ApiModel(value = "合同对象") | |||||
public class SubmitConstructionReq { | |||||
public class SubmitPurchaseContractRecordReq { | |||||
@ApiModelProperty("项目ID") | @ApiModelProperty("项目ID") | ||||
@NotNull(message = "项目ID不能为空") | |||||
@NotNull(message = "请传项目ID") | |||||
private Long projectId; | private Long projectId; | ||||
@ApiModelProperty("合同ID") | |||||
private Long constructionId; | |||||
@ApiModelProperty("标段ID") | @ApiModelProperty("标段ID") | ||||
private Long bidId; | private Long bidId; | ||||
@ApiModelProperty("标段类型") | |||||
private Integer bidType; | |||||
@ApiModelProperty("供应商") | |||||
private String supplier; | |||||
@ApiModelProperty("供应商社会信用代码") | |||||
private String supplierSocialCreditCode; | |||||
@ApiModelProperty("投标文件") | |||||
private String biddingDoc; | |||||
@ApiModelProperty("中标通知书") | |||||
private String acceptanceLetter; | |||||
@ApiModelProperty("标段建设内容") | |||||
private String bidBuildContent; | |||||
// 合同信息 | |||||
@ApiModelProperty("合同ID") | |||||
private Long constructionId; | |||||
@ApiModelProperty("合同名称") | @ApiModelProperty("合同名称") | ||||
private String name; | private String name; | ||||
@@ -53,4 +71,5 @@ public class SubmitConstructionReq { | |||||
@ApiModelProperty("供应商联系方式") | @ApiModelProperty("供应商联系方式") | ||||
private String supplierContactInfo; | private String supplierContactInfo; | ||||
} | } |
@@ -1,48 +0,0 @@ | |||||
package com.hz.pm.api.projectdeclared.model.req; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.AllArgsConstructor; | |||||
import lombok.Data; | |||||
import javax.validation.constraints.NotEmpty; | |||||
import javax.validation.constraints.NotNull; | |||||
import java.util.List; | |||||
/** | |||||
* <p> | |||||
* 采购信息备案提交参数类 | |||||
* </p> | |||||
* | |||||
* @author WendyYang | |||||
* @since 11:34 2024/2/22 | |||||
*/ | |||||
@Data | |||||
@AllArgsConstructor | |||||
public class SubmitPurchaseRecordReq { | |||||
@ApiModelProperty("项目ID") | |||||
@NotNull(message = "请传项目ID") | |||||
private Long projectId; | |||||
@ApiModelProperty("标段ID") | |||||
private Long bidId; | |||||
@ApiModelProperty("标段类型") | |||||
private Integer bidType; | |||||
@ApiModelProperty("供应商") | |||||
private String supplier; | |||||
@ApiModelProperty("供应商社会信用代码") | |||||
private String supplierSocialCreditCode; | |||||
@ApiModelProperty("投标文件") | |||||
private String biddingDoc; | |||||
@ApiModelProperty("中标通知书") | |||||
private String acceptanceLetter; | |||||
@ApiModelProperty("标段建设内容") | |||||
private String bidBuildContent; | |||||
} |
@@ -20,8 +20,7 @@ import java.util.Optional; | |||||
@AllArgsConstructor | @AllArgsConstructor | ||||
public enum TenderStatus implements IStatus<Integer, String> { | public enum TenderStatus implements IStatus<Integer, String> { | ||||
TO_BE_SUBMIT_PURCHASE_INFO(ProjectStatus.ON_PURCHASING, 101, "待填写采购信息"), | |||||
TO_BE_SUBMIT_CONSTRUCTION_INFO(ProjectStatus.ON_PURCHASING, 102, "待填写合同信息"), | |||||
TO_BE_SUBMIT_PURCHASE_CONSTRUCTION_INFO(ProjectStatus.ON_PURCHASING, 101, "待填写采购&合同信息"), | |||||
TO_BE_SUBMIT_OPERATION_PLAN(ProjectStatus.ON_PURCHASING, 103, "待填写实施计划"), | TO_BE_SUBMIT_OPERATION_PLAN(ProjectStatus.ON_PURCHASING, 103, "待填写实施计划"), | ||||
TO_BE_SUBMIT_FIRST_INSPECTED_INFO(ProjectStatus.TO_BE_FIRST_INSPECTED, 201, "待上传初验材料"), | TO_BE_SUBMIT_FIRST_INSPECTED_INFO(ProjectStatus.TO_BE_FIRST_INSPECTED, 201, "待上传初验材料"), | ||||
TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY(ProjectStatus.ON_PILOT_RUNNING, 401, "待终验申报"), | TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY(ProjectStatus.ON_PILOT_RUNNING, 401, "待终验申报"), | ||||