PmContractInfoController.java 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.ozs.web.controller.pm;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.ozs.common.annotation.Log;
  4. import com.ozs.common.constant.ModularConstans;
  5. import com.ozs.common.core.controller.BaseController;
  6. import com.ozs.common.core.domain.AjaxResult;
  7. import com.ozs.common.enums.BusinessType;
  8. import com.ozs.common.enums.PmProjectStatus;
  9. import com.ozs.common.enums.SysFileRefEnum;
  10. import com.ozs.common.utils.StringUtils;
  11. import com.ozs.framework.web.service.TokenService;
  12. import com.ozs.pm.doman.PmDemand;
  13. import com.ozs.pm.doman.PmProjectConstruction;
  14. import com.ozs.pm.doman.vo.requestVo.PmContractInfoReqVo;
  15. import com.ozs.pm.doman.vo.requestVo.PmDemandReqVo;
  16. import com.ozs.pm.doman.vo.requestVo.PmProjectConstructionReqVo;
  17. import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
  18. import com.ozs.pm.service.IPmDemandService;
  19. import com.ozs.system.domain.SysFileRef;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.springframework.beans.BeanUtils;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.security.access.prepost.PreAuthorize;
  25. import org.springframework.util.ObjectUtils;
  26. import org.springframework.web.bind.annotation.PostMapping;
  27. import org.springframework.web.bind.annotation.RequestBody;
  28. import org.springframework.web.bind.annotation.RequestMapping;
  29. import org.springframework.web.bind.annotation.RestController;
  30. import javax.validation.constraints.NotEmpty;
  31. import java.util.Date;
  32. import java.util.List;
  33. /**
  34. * 合同信息Controller
  35. *
  36. * @author ruoyi
  37. * @date 2023-01-16
  38. */
  39. @Api(tags = "合同信息")
  40. @RestController
  41. @RequestMapping("/pm/contractInfo")
  42. public class PmContractInfoController extends BaseController {
  43. @Autowired
  44. private IPmDemandService pmDemandService;
  45. /**
  46. * 合同信息查询列表
  47. */
  48. @ApiOperation(value = "合同信息查询列表", notes = "参数非必传")
  49. @PostMapping("/list")
  50. @PreAuthorize("@ss.hasPermi('pm:contractInfo:list')")
  51. @Log(title = ModularConstans.contractInfo, businessType = BusinessType.QUERY)
  52. public AjaxResult list(@RequestBody PmDemandReqVo pmDemandReqVo) {
  53. IPage<PmDemandResVo> page = pmDemandService.selectPmDemandList(pmDemandReqVo,4);
  54. return success(page);
  55. }
  56. @ApiOperation(value = "合同信息填制",notes = "采购需求ID和上传附件必传")
  57. @PostMapping("/insertContractInfo")
  58. @PreAuthorize("@ss.hasPermi('pm:contractInfo:insertContractInfo')")
  59. @Log(title = ModularConstans.contractInfo, businessType = BusinessType.INSERT)
  60. public AjaxResult insertContractInfo(@NotEmpty(message = "数据为空") @RequestBody PmContractInfoReqVo pmContractInfoReqVo) {
  61. try {
  62. pmContractInfoReqVo.setCreateBy(getUserId().toString());
  63. pmContractInfoReqVo.setCreateTime(new Date());
  64. pmContractInfoReqVo.setUpdateBy(getUserId().toString());
  65. pmContractInfoReqVo.setUpdateTime(pmContractInfoReqVo.getCreateTime());
  66. return toAjax(pmDemandService.insertContractInfo(pmContractInfoReqVo));
  67. } catch (Exception e){
  68. return error(e.getMessage());
  69. }
  70. }
  71. /**
  72. * 查看详情
  73. */
  74. @ApiOperation(value = "查看详情", notes = "必传demandId和详情类型(1项目计划,2需求建档,3任务下达,4中标信息,5合同信息,6建设情况),其他字段不传")
  75. @PostMapping("/view")
  76. @PreAuthorize("@ss.hasPermi('pm:contractInfo:view')")
  77. @Log(title = ModularConstans.contractInfo, businessType = BusinessType.QUERY)
  78. public AjaxResult view(@RequestBody PmDemandReqVo pmDemandReqVo) {
  79. if(pmDemandReqVo.getDemandId() == null){
  80. return AjaxResult.error("demandId不能为空");
  81. }
  82. if(StringUtils.isEmpty(pmDemandReqVo.getDetailType())){
  83. return AjaxResult.error("详情的类型不能为空");
  84. }
  85. return success(pmDemandService.selectPmDemandByDemandId(pmDemandReqVo.getDemandId(),pmDemandReqVo.getDetailType()));
  86. }
  87. }