Merge branch 'uat'

This commit is contained in:
dxc
2022-02-25 08:47:38 +08:00
18 changed files with 771 additions and 6 deletions

View File

@ -574,4 +574,11 @@ public class ProjectCommonUtil {
* 账号兼职正则表达式
*/
public static final String REG_PATTEN = "^.+_\\d*$";
/**
* 项目异常处理 公告状态0 未编辑
*/
public static final int PROJECT_ENTRUST_BACK_STATUS_0 = 0;
public static final int PROJECT_ENTRUST_BACK_STATUS_1 = 1;
}

View File

@ -183,6 +183,8 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CATEGORY_NAME_ERROR(110085,"询价应答格式列表数据中类别名称包含特殊字符"),
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_NAME_EMPTY(110086,"询价应答格式列表数据中目录名称不能为空字符并且不能超过30个字符"),
FRAME_EXCEPTION_PROJECT_RECORD_NOT_BACK(110087,"该项目已建档,无法撤回"),
;
/**

View File

@ -0,0 +1,90 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.column;
/**
* 字段常量 委托单撤回实体
* @author daixc
* @date 2022/02/14
*/
public class ProjectEntrustBackField {
/**
* 编号
*/
public static final String ID = "ID";
/**
* 采购人
*/
public static final String PURCHASER = "purchaser";
/**
* 委托部门
*/
public static final String ENTRUST_DEPARTMENT = "entrust_department";
/**
* 委托部门名称
*/
public static final String ENTRUST_DEPARTMENT_NAME = "entrust_department_name";
/**
* 项目名称
*/
public static final String PROJECT_NAME = "project_name";
/**
* 采购类型1-货物2-工程3-服务4-其他
*/
public static final String PROCUREMENT_TYPE = "procurement_type";
/**
* 采购方式
*/
public static final String PROCUREMENT_MODE = "procurement_mode";
/**
* 接收时间
*/
public static final String RECEIVE_TIME = "receive_time";
/**
* 状态0 出始化 1 已还原
*/
public static final String STATUS = "status";
/**
* 项目编号(方案编号)
*/
public static final String PROJECT_NUMBER = "project_number";
/**
* 备注
*/
public static final String REMARKS = "remarks";
/**
* 采购经理
*/
public static final String PURCHASING_MANAGER = "purchasing_manager";
/**
* 代理机构
*/
public static final String AGENCY_COMPANY = "agency_company";
/**
* 项目经理
*/
public static final String PROJECT_MANAGER = "project_manager";
/**
* 删除信息(记录)
*/
public static final String DELETE_DATA = "delete_data";
/**
* 委托ID
*/
public static final String ENTRUST_ID = "entrust_id";
}

View File

@ -0,0 +1,103 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBack;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBackVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustBackService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* 项目委托撤回
* @author daixc
* @date 2022/02/14
*/
@RestController
@Api(tags = "项目委托撤回信息表")
@RequestMapping("/v1/projectentrustback")
public class ProjectEntrustBackController{
@Resource
private IProjectEntrustBackService projectEntrustBackService;
/**
* 插入新数据
* @param projectEntrustBack
* @return
*/
@ApiOperation("插入新数据")
@PostMapping("")
public BaseResponse<Boolean> insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid ProjectEntrustBack projectEntrustBack){
boolean save = projectEntrustBackService.save(projectEntrustBack);
return BaseResponse.success(save);
}
/**
* 查询数据
*
* @param id
*
* @return
*/
@ApiOperation("查询数据")
@GetMapping("/{id}")
public BaseResponse<ProjectEntrustBack> get(@ApiParam(value = "主键id", required = true) @PathVariable String id){
ProjectEntrustBack projectEntrustBack = projectEntrustBackService.getById(id);
return BaseResponse.success(projectEntrustBack);
}
/**
* 查询分页数据
*
* @param projectEntrustBackVO 分页信息
*
* @return 返回结果
*/
@ApiOperation("查询分页数据")
@PostMapping("/getPage")
public BaseResponse<IPage<ProjectEntrustBackVO>> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectEntrustBackVO projectEntrustBackVO){
return BaseResponse.success(projectEntrustBackService.getPage(projectEntrustBackVO));
}
/**
* 还原数据
* @param id 主键ID
* @return 返回结果
*/
@ApiOperation("还原数据")
@GetMapping("recall/{id}")
public BaseResponse<Boolean> recall(@ApiParam(value = "主键id", required = true) @PathVariable String id){
return BaseResponse.success(projectEntrustBackService.recall(id));
}
/**
* 查询数据
*
* @param id
*
* @return
*/
@ApiOperation("查询详细数据")
@GetMapping("getDetail/{id}")
public BaseResponse<ProjectEntrustVO> getDetail(@ApiParam(value = "主键id", required = true) @PathVariable String id){
return BaseResponse.success(projectEntrustBackService.getDetail(id));
}
}

View File

@ -5,6 +5,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.idempotent.annotation.Idempotent;
import com.chinaunicom.mall.ebtp.common.log.OperationLogDetail;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.project.baseoperlog.aop.OperLog;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
@ -211,6 +214,7 @@ public class ProjectEntrustController{
@Idempotent(expireTime = 10)
@ApiOperation("委托项目信息出始化")
@PostMapping("/initProjectEntrust")
@OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_ENTRUST_INIT,operationType = EbtpLogType.INSERT,detail = "委托项目信息出始化")
public BaseResponse<Boolean> initProjectEntrust(@ApiParam(value = "实施项目编码", required = true) @RequestParam(name = "ebpProjectId") Long ebpProjectId) {
return BaseResponse.success(projectEntrustService.initProjectEntrust(String.valueOf(ebpProjectId)));
@ -240,6 +244,7 @@ public class ProjectEntrustController{
@OperLog("询价通知返回处理接口")
@ApiOperation("询价通知返回处理接口")
@PostMapping("/inquiryNotice")
@OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_INQUIRY_UPDATE,operationType = EbtpLogType.UPDATE,detail = "询价通知返回处理接口")
public BaseResponse<Boolean> inquiryNotice(@ApiParam(value = "询价通知返回实体", required = true) @RequestBody InquiryNoticeVO inquiryNoticeVO){
return BaseResponse.success(inquiryService.inquiryNotice(inquiryNoticeVO));
@ -256,9 +261,25 @@ public class ProjectEntrustController{
@OperLog("初始化询价信息接口")
@ApiOperation("初始化询价信息接口")
@PostMapping("/initInquiryProjectEntrust")
@OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_INQUIRY_ENTRUST_INIT,operationType = EbtpLogType.INSERT,detail = "初始化询价信息接口")
public BaseResponse<Boolean> initInquiryProjectEntrust(@ApiParam(value = "询价实体", required = true) @RequestBody @Valid InquiryVO inquiryVO){
return BaseResponse.success(inquiryService.initProjectEntrust(inquiryVO));
}
/**
* 根据实施项目ID删除相关信息委托 项目 标段)
* @param ebpProjectId 实施项目编码
* @return 返回结果
*/
@Idempotent(expireTime = 10)
@ApiOperation("根据实施项目ID删除相关信息")
@PostMapping("/deleteProjectEntrust")
@OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_INQUIRY_ENTRUST_INIT,operationType = EbtpLogType.DELETE,detail = "删除委托信息")
public BaseResponse<Boolean> deleteProjectEntrust(@ApiParam(value = "实施项目编码", required = true) @RequestParam(name = "ebpProjectId") Long ebpProjectId,
@ApiParam(value = "撤回原因", required = false) @RequestParam(name = "reason") String reason){
return BaseResponse.success(projectEntrustService.deleteProjectEntrust(ebpProjectId,reason));
}
}

View File

@ -0,0 +1,14 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBack;
/**
* @author daixc
* @date @date 2022/02/14
*/
public interface ProjectEntrustBackMapper extends BaseMapper<ProjectEntrustBack> {
}

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaunicom.mall.ebtp.project.bizprojectentrustback.dao.BizProjectEntrustBackMapper">
<resultMap id="BaseResultMap"
type="com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBack">
<result column="ID" jdbcType="VARCHAR" property="id"/>
<result column="purchaser" jdbcType="VARCHAR" property="purchaser"/>
<result column="entrust_department" jdbcType="VARCHAR" property="entrustDepartment"/>
<result column="entrust_department_name" jdbcType="VARCHAR" property="entrustDepartmentName"/>
<result column="project_name" jdbcType="VARCHAR" property="projectName"/>
<result column="procurement_type" jdbcType="VARCHAR" property="procurementType"/>
<result column="procurement_mode" jdbcType="VARCHAR" property="procurementMode"/>
<result column="receive_time" jdbcType="TIMESTAMP" property="receiveTime"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="project_number" jdbcType="VARCHAR" property="projectNumber"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="purchasing_manager" jdbcType="VARCHAR" property="purchasingManager"/>
<result column="agency_company" jdbcType="VARCHAR" property="agencyCompany"/>
<result column="project_manager" jdbcType="VARCHAR" property="projectManager"/>
<result column="delete_data" jdbcType="OTHER" property="deleteData" typeHandler="com.chinaunicom.mall.ebtp.common.config.CustomJacksonTypeHandler"/>
<result column="entrust_id" jdbcType="VARCHAR" property="entrustId"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="tenant_name" jdbcType="VARCHAR" property="tenantName"/>
<result column="delete_flag" jdbcType="VARCHAR" property="deleteFlag"/>
<result column="last_update_time" jdbcType="TIMESTAMP" property="lastUpdateTime"/>
</resultMap>
</mapper>

View File

@ -0,0 +1,140 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.chinaunicom.mall.ebtp.common.config.CustomJacksonTypeHandler;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 实体类 ProjectEntrustBack
* 项目委托撤销信息
*
* @author daixc
* @version 1.0
* @date 2029/10/23
*/
@Data
@Accessors(chain = true)
@ApiModel("项目委托撤销信息")
@TableName(value = "biz_project_entrust_back", autoResultMap = true)
public class ProjectEntrustBack extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
@ApiModelProperty(value = "编号")
@JsonSerialize(using = ToStringSerializer.class)
private String id;
/**
* 采购人GG_JGBH,JGBH
*/
@ApiModelProperty(value = "采购人")
private String purchaser;
/**
* 委托部门
*/
@ApiModelProperty(value = "委托部门")
private String entrustDepartment;
/**
* 委托部门名称
*/
@ApiModelProperty(value = "委托部门名称")
private String entrustDepartmentName;
/**
* 项目名称
*/
@ApiModelProperty(value = "项目名称")
private String projectName;
/**
* 采购类型1-货物2-工程3-服务4-其他
*/
@ApiModelProperty(value = "采购类型1-货物2-工程3-服务4-其他")
private String procurementType;
/**
* 采购方式参考XM_ZBXM.CGFS描述
*/
@ApiModelProperty(value = "采购方式")
private String procurementMode;
/**
* 状态0-初始化10-已提交11-已退回20-已分派30-已建档,-1-已拒绝
*/
@ApiModelProperty(value = "状态0-初始化10-已提交11-已退回20-已分派30-已建档,-1-已拒绝")
private Integer status;
/**
* 项目编号
*/
@ApiModelProperty(value = "项目编号")
private String projectNumber;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 接收时间
*/
@ApiModelProperty(value = "接收时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime receiveTime;
/**
* 采购经理
*/
@ApiModelProperty(value = "采购经理")
private String purchasingManager;
/**
* 代理公司
*/
@ApiModelProperty(value = "代理公司")
private String agencyCompany;
/**
* 项目经理
*/
@ApiModelProperty(value = "项目经理")
private String projectManager;
/**
* 删除信息
*/
@ApiModelProperty(value = "删除信息")
@TableField(typeHandler = CustomJacksonTypeHandler.class)
private ProjectEntrustDeleteData deleteData;
/**
* 委托单ID
*/
@ApiModelProperty(value = "委托单ID")
@JsonSerialize(using = ToStringSerializer.class)
private String entrustId;
}

View File

@ -0,0 +1,27 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.entity;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 实体类 ProjectEntrustBack
* 项目委托撤销信息
*
* @author daixc
* @version 1.0
* @date 2029/10/23
*/
@Data
@Accessors(chain = true)
public class ProjectEntrustBackVO extends ProjectEntrustBack implements Serializable {
/**
* 分页数据
*/
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;
}

View File

@ -0,0 +1,29 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.entity;
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 实体类 ProjectEntrustDeleteData
* 项目委托撤销删除信息
*
* @author daixc
* @version 1.0
* @date 2029/10/23
*/
@Data
@Accessors(chain = true)
@ApiModel("项目委托撤销删除信息")
public class ProjectEntrustDeleteData {
private ProjectEntrust projectEntrust;
private ProjectRecord projectRecord;
private List<ProjectSection> sectionList;
}

View File

@ -0,0 +1,37 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBack;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustBackVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
/**
* 对数据表 biz_project_entrust_back 操作的 service
* @author Auto create
*
*/
public interface IProjectEntrustBackService extends IService<ProjectEntrustBack>{
/**
* 委托单撤回页信息
* @param projectEntrustBackVO 委托单撤回查询信息
* @return 返回结果
*/
IPage<ProjectEntrustBackVO> getPage(ProjectEntrustBackVO projectEntrustBackVO);
/**
* 撤销
* @param id 主键ID
* @return 返回结果
*/
boolean recall(String id);
/**
* 查看详细信息
* @param id 主键ID
* @return 返回结果
*/
ProjectEntrustVO getDetail(String id);
}

View File

@ -93,4 +93,11 @@ public interface IProjectEntrustService extends IBaseService<ProjectEntrust>{
* @return 返回结果
*/
boolean updateProject(ProjectEntrustVO projectEntrustVO);
/**
* 根据实施项目ID删除相关信息委托 项目 标段)
* @param ebpProjectId 实施项目ID
* @return 返回结果
*/
boolean deleteProjectEntrust(Long ebpProjectId,String reason);
}

View File

@ -0,0 +1,149 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.projectentrust.column.ProjectEntrustBackField;
import com.chinaunicom.mall.ebtp.project.projectentrust.dao.ProjectEntrustBackMapper;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.*;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustBackService;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService;
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionService;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 对数据表 biz_project_entrust_back 操作的 serviceImpl
* @author daixc
*
*/
@Service
public class ProjectEntrustBackServiceImpl extends ServiceImpl<ProjectEntrustBackMapper, ProjectEntrustBack> implements IProjectEntrustBackService {
@Resource
private IProjectEntrustService entrustService;
@Resource
private IProjectRecordService recordService;
@Resource
private IProjectSectionService sectionService;
@Resource
private IProjectEntrustExpandService entrustExpandService;
/**
* 查询条件
* @param projectEntrustBack 查询条件
* @return 查询条件
*/
private QueryWrapper<ProjectEntrustBack> getProjectEntrustBackQueryWrapper(ProjectEntrustBack projectEntrustBack){
QueryWrapper<ProjectEntrustBack> query = new QueryWrapper<>();
if(StringUtils.isNotBlank(projectEntrustBack.getProjectName())){
query.like(ProjectEntrustBackField.PROJECT_NAME, projectEntrustBack.getProjectName());
}
//项目经理
if(StringUtils.isNotBlank(projectEntrustBack.getProjectManager())){
query.eq(ProjectEntrustBackField.PROJECT_MANAGER, projectEntrustBack.getProjectManager());
}
//代理机构
if(StringUtils.isNotBlank(projectEntrustBack.getAgencyCompany())){
query.eq(ProjectEntrustBackField.AGENCY_COMPANY, projectEntrustBack.getAgencyCompany());
}
//采购经理
if(StringUtils.isNotBlank(projectEntrustBack.getPurchasingManager())){
query.eq(ProjectEntrustBackField.PURCHASING_MANAGER, projectEntrustBack.getPurchasingManager());
}
//采购方式
if(StringUtils.isNotBlank(projectEntrustBack.getProcurementMode())){
query.eq(ProjectEntrustBackField.PROCUREMENT_MODE, projectEntrustBack.getProcurementMode());
}
return query;
}
@Override
public IPage<ProjectEntrustBackVO> getPage(ProjectEntrustBackVO projectEntrustBackVO) {
QueryWrapper<ProjectEntrustBack> query = getProjectEntrustBackQueryWrapper(projectEntrustBackVO);
query.orderByDesc(ProjectEntrustBackField.ID);
if(null == projectEntrustBackVO.getBasePageRequest()){
projectEntrustBackVO.setBasePageRequest(new BasePageRequest());
}
//查询
IPage<ProjectEntrustBack> p = new Page<>(projectEntrustBackVO.getBasePageRequest().getPageNo(), projectEntrustBackVO.getBasePageRequest().getPageSize());
IPage<ProjectEntrustBack> result = this.page(p, query);
IPage<ProjectEntrustBackVO> voPage = result.convert(c -> BeanUtil.toBean(c,ProjectEntrustBackVO.class));
voPage.setRecords(JsonUtils.jsonToList(result.getRecords(),ProjectEntrustBackVO.class));
return voPage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean recall(String id) {
ProjectEntrustBack entrustBack = this.getById(id);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_EXIST.customValid(null == entrustBack);
ProjectEntrustDeleteData deleteData = entrustBack.getDeleteData();
boolean result = entrustService.save(deleteData.getProjectEntrust());
if(null != deleteData.getProjectRecord()){
recordService.save(deleteData.getProjectRecord());
}
if(!CollectionUtils.isEmpty(deleteData.getSectionList())){
sectionService.saveBatch(deleteData.getSectionList());
}
entrustBack.setStatus(ProjectCommonUtil.PROJECT_ENTRUST_BACK_STATUS_1);
this.updateById(entrustBack);
return result;
}
@Override
public ProjectEntrustVO getDetail(String id) {
ProjectEntrustBack entrustBack = this.getById(id);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_FIND.customValid(null == entrustBack);
ProjectEntrustVO projectEntrustVO = BeanUtil.toBean(entrustBack.getDeleteData().getProjectEntrust(),ProjectEntrustVO.class);
ProjectEntrustExpand expand = entrustExpandService.getOne(new LambdaQueryWrapper<ProjectEntrustExpand>()
.eq(ProjectEntrustExpand::getEntrustId,entrustBack.getEntrustId()));
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_FIND.customValid(null == expand);
if(null != projectEntrustVO){
projectEntrustVO.setProjectEntrustExpand(expand);
}
return projectEntrustVO;
}
}

View File

@ -1,15 +1,21 @@
package com.chinaunicom.mall.ebtp.project.projectentrust.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.common.log.service.OperationLogService;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.baseoperlog.service.IBaseOperLogService;
@ -20,14 +26,16 @@ import com.chinaunicom.mall.ebtp.project.feign.EbtpAuctionApi;
import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi;
import com.chinaunicom.mall.ebtp.project.feign.PriceQueryApi;
import com.chinaunicom.mall.ebtp.project.projectentrust.dao.ProjectEntrustMapper;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustExpand;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.*;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.*;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustBackService;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService;
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService;
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
@ -39,6 +47,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 对数据表 biz_project_entrust 操作的 serviceImpl
@ -71,6 +80,15 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
@Resource
private PriceQueryApi priceQueryApi;
@Resource
private OperationLogService logService;
@Resource
private IProjectSectionService sectionService;
@Resource
private IProjectEntrustBackService entrustBackService;
private static final String METHOD = "initProjectEntrust";
private static final String DESCRIPTION = "项目委托查询采购数据";
@ -182,6 +200,8 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
log.info("项目经理拒绝 询价项目招投标推送询价单是否可以发布访问参数:"+JsonUtils.objectToJson(inquiryVO));
BaseResponse response = priceQueryApi.updateInquiryAllowPublish(inquiryVO);
log.info("项目经理拒绝 询价项目招投标推送询价单是否可以发布返回参数:"+JsonUtils.objectToJson(inquiryVO));
logService.addOperationLog("项目经理拒绝 询价项目招投标推送询价单是否可以发布访问参数:{}" + JsonUtils.objectToJson(inquiryVO) + ",返回结果{}"+JsonUtils.objectToJson(response),response.isSuccess(),
EbtpLogBusinessModule.PROJECT_INQUIRY_UPDATE, EbtpLogType.UNKNOWN);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(response.getMessage(),!response.isSuccess());
}
@ -209,6 +229,10 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
log.info("询价项目招投标推送询价单是否可以发布访问参数:"+JsonUtils.objectToJson(inquiryVO));
BaseResponse response = priceQueryApi.updateInquiryAllowPublish(inquiryVO);
log.info("询价项目招投标推送询价单是否可以发布返回参数:"+JsonUtils.objectToJson(inquiryVO));
logService.addOperationLog("项目经理同意 询价项目招投标推送询价单是否可以发布访问参数:{}" + JsonUtils.objectToJson(inquiryVO) + ",返回结果{}"+JsonUtils.objectToJson(response),response.isSuccess(),
EbtpLogBusinessModule.PROJECT_INQUIRY_UPDATE, EbtpLogType.UNKNOWN);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(response.getMessage(),!response.isSuccess());
}else{
//初始化项目信息
@ -297,6 +321,9 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
//调用接口 拼装数据
baseOperLogService.addLog(METHOD,JsonUtils.objectToJson(baseResponse),DESCRIPTION,cacheUserService.getCacheUser(),"",true);
logService.addOperationLog(DESCRIPTION + "请求参数{}" +Long.parseLong(ebpProjectId) + ",返回结果{}"+JsonUtils.objectToJson(baseResponse),baseResponse.isSuccess(),
EbtpLogBusinessModule.PROJECT_ENTRUST_INIT, EbtpLogType.INSERT);
if(!baseResponse.isSuccess()){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_FIND_PUR_ERROR.throwException();
@ -466,6 +493,60 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deleteProjectEntrust(Long ebpProjectId,String reason) {
LambdaQueryWrapper<ProjectEntrust> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(ProjectEntrust::getProcurementPlanId,ebpProjectId);
List<ProjectEntrust> projectEntrustList = this.list(queryWrapper);
ProjectEntrustBack entrustBack = new ProjectEntrustBack();
//判断委托单是否为空
if (!CollectionUtils.isEmpty(projectEntrustList)) {
ProjectEntrust delProjectEntrust;
//判断委托如果有多个 获取状态不为9退回状态的
if (projectEntrustList.size() > 1) {
delProjectEntrust = projectEntrustList.stream().
filter(n -> n.getStatus() != ProjectCommonUtil.ENTRUS_STATUS_9).collect(Collectors.toList()).get(0);
} else {
delProjectEntrust = projectEntrustList.get(0);
}
BeanUtil.copyProperties(delProjectEntrust,entrustBack);
entrustBack.setId(PropertyUtils.getSnowflakeId())
.setEntrustId(delProjectEntrust.getId())
.setStatus(ProjectCommonUtil.PROJECT_ENTRUST_BACK_STATUS_0)
.setRemarks(reason)
.setReceiveTime(delProjectEntrust.getCreateDate());
ProjectEntrustDeleteData deleteData = new ProjectEntrustDeleteData();
deleteData.setProjectEntrust(delProjectEntrust);
LambdaQueryWrapper<ProjectRecord> recordQueryWrapper = Wrappers.lambdaQuery();
recordQueryWrapper.eq(ProjectRecord::getEntrustId, delProjectEntrust.getId());
List<ProjectRecord> recordList = projectRecordService.list(recordQueryWrapper);
if(!CollectionUtils.isEmpty(recordList)){
long recordCount = recordList.stream().filter(n -> n.getStatus() > 1).count();
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_RECORD_NOT_BACK.customValid(recordCount > 0);
ProjectRecord record = recordList.get(0);
LambdaQueryWrapper<ProjectSection> sectionQueryWrapper = Wrappers.lambdaQuery();
sectionQueryWrapper.eq(ProjectSection::getProjectId,record.getId());
List<ProjectSection> sectionList = sectionService.list(sectionQueryWrapper);
deleteData.setProjectRecord(record);
deleteData.setSectionList(sectionList);
projectRecordService.removeById(record.getId());
sectionService.remove(new LambdaQueryWrapper<ProjectSection>().eq(ProjectSection::getProjectId,record.getId()));
}
entrustBack.setDeleteData(deleteData);
entrustBackService.save(entrustBack);
this.removeById(delProjectEntrust.getId());
}
return true;
}
/**
* 出始化项目辅助相关信息
* @param projectEntrustVO 插入信息

View File

@ -3,6 +3,9 @@ package com.chinaunicom.mall.ebtp.project.projectexception.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.log.OperationLogDetail;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.project.baseoperlog.aop.OperLog;
import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectException;
import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectExceptionVO;
@ -140,6 +143,7 @@ public class ProjectExceptionController{
@OperLog("项目中心提供异常调用接口")
@ApiOperation("项目中心提供异常调用接口")
@PostMapping("initiateException")
@OperationLogDetail(businessModule = EbtpLogBusinessModule.PROJECT_INVITATION_FAIL,operationType = EbtpLogType.UPDATE,detail = "项目中心提供异常调用接口")
public BaseResponse<Boolean> initiateException(
@ApiParam(value = "子项目ID", required = true) @RequestParam(name = "subprojectId") String subprojectId,
@ApiParam(value = "方案ID", required = true) @RequestParam(name = "projectPlanId") String projectPlanId,

View File

@ -13,6 +13,9 @@ import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.enums.ResponseEnum;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.common.log.service.OperationLogService;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
@ -44,7 +47,6 @@ import com.chinaunicom.mall.ebtp.project.sectionsupplier.service.ISectionSupplie
import io.seata.core.context.RootContext;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -94,6 +96,9 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
@Resource
private IDictProjectService projectService;
@Resource
private OperationLogService logService;
@Override
public IPage<ProjectExceptionVO> getPage(ProjectExceptionVO projectExceptionVO) {
@ -472,6 +477,8 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
RootContext.unbind();
BaseResponse baseResponse = mallPurpApi.projInvitationFail(failRequest);
log.info("访问用友失败接口返回结果"+ JsonUtils.objectToJson(baseResponse));
logService.addOperationLog("用友失败接口访问参数:{}" + JsonUtils.objectToJson(failRequest) + ",返回结果{}"+JsonUtils.objectToJson(baseResponse),baseResponse.isSuccess(),
EbtpLogBusinessModule.PROJECT_INVITATION_FAIL, EbtpLogType.UNKNOWN);
RootContext.bind(xid);
if(!baseResponse.isSuccess()){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_INVITATION_FAIL_ERROR.customValidName(baseResponse.getMessage(),!baseResponse.isSuccess());

View File

@ -12,9 +12,11 @@ import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentDetail;
import com.chinaunicom.ebtp.mall.cloud.attachment.sdk.model.AttachmentEntity;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogBusinessModule;
import com.chinaunicom.mall.ebtp.common.log.enums.EbtpLogType;
import com.chinaunicom.mall.ebtp.common.log.service.OperationLogService;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
@ -69,7 +71,7 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
private IProjectRecordService recordService;
@Resource
private IBaseCacheUserService cacheUserService;
private OperationLogService logService;
@Resource
private AttachmentClient attachmentClient;
@ -275,6 +277,8 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
log.info("访问重新评审流程初始化接口参数:"+ JsonUtils.objectToJson(approve));
BaseResponse<ProjectReEvaluationTaskVO> response = wfapApi.start(approve);
log.info("访问重新评审流程初始化接口返回结果:"+ JsonUtils.objectToJson(response));
logService.addOperationLog("访重新评审流程初始化接口访问参数:{}" + JsonUtils.objectToJson(approve) + ",返回结果{}"+JsonUtils.objectToJson(response),response.isSuccess(),
EbtpLogBusinessModule.PROJECT_RE_EVALUATION_TASK, EbtpLogType.INSERT);
if(!response.isSuccess()){
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(response.getMessage(),!response.isSuccess());
}

View File

@ -90,6 +90,8 @@ spring:
# 天宫 redis 需要使用哨兵进行访问
redis:
database:
idempotent: 0
sentinel:
master: eshop-redis
nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716
@ -175,3 +177,10 @@ management:
cors:
allowed-origins: "*"
allowed-methods: "*"
health:
mongo:
enabled: false
data:
mongodb:
uri: mongodb://admin:M2RXbt8Vog9e@10.242.29.19:10011/ebtp_mall_im?authSource=admin&authMechanism=SCRAM-SHA-1&maxIdleTimeMS=3000