Commit 966a40405acda423538ed4cbddef7fb31539dd56

Authored by 杨鸣坤
1 parent 4cba356e

楚江ERP:上传合同附件,提交审核

@@ -109,8 +109,16 @@ create table if not exists `tbl_contract_distributor_standard` @@ -109,8 +109,16 @@ create table if not exists `tbl_contract_distributor_standard`
109 `special_instructions` TEXT COMMENT '特别说明', 109 `special_instructions` TEXT COMMENT '特别说明',
110 `remarks` TEXT COMMENT '备注', 110 `remarks` TEXT COMMENT '备注',
111 `status` varchar(20) not null DEFAULT 'DRAFT' COMMENT '状态', 111 `status` varchar(20) not null DEFAULT 'DRAFT' COMMENT '状态',
112 - `type` varchar(20) COMMENT '合同类型',  
113 - `parent_id` varchar(32) COMMENT '父合同id', 112 + `type` varchar(20) COMMENT '合同类型',
  113 + `parent_id` varchar(32) COMMENT '父合同id',
  114 + `formal_file_id` VARCHAR(100) COMMENT '正式合同文件ID',
  115 + `formal_file_name` VARCHAR(255) COMMENT '正式合同文件名称',
  116 + `formal_standardized` TINYINT(1) COMMENT '正式合同是否规范 (0-不规范, 1-规范)',
  117 + `formal_approved` TINYINT(1) DEFAULT 0 COMMENT '正式合同是否审批通过 (0-未通过, 1-已通过)',
  118 + `standard_file_id` VARCHAR(100) COMMENT '标准合同文件ID',
  119 + `standard_file_name` VARCHAR(255) COMMENT '标准合同文件名称',
  120 + `standard_standardized` TINYINT(1) COMMENT '标准合同是否规范 (0-不规范, 1-规范)',
  121 + `standard_approved` TINYINT(1) DEFAULT 0 COMMENT '标准合同是否审批通过 (0-未通过, 1-已通过)',
114 `create_by_id` varchar(32) not null comment '创建人ID', 122 `create_by_id` varchar(32) not null comment '创建人ID',
115 `create_by` varchar(20) not null comment '创建人', 123 `create_by` varchar(20) not null comment '创建人',
116 `update_by_id` varchar(32) not null comment '更新人ID', 124 `update_by_id` varchar(32) not null comment '更新人ID',
@@ -292,6 +292,54 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor @@ -292,6 +292,54 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor
292 @ApiModelProperty("经销标准合同物料行") 292 @ApiModelProperty("经销标准合同物料行")
293 private List<GetContractDistributorLineBo> contractDistributorLineList; 293 private List<GetContractDistributorLineBo> contractDistributorLineList;
294 294
  295 + /**
  296 + * 正式合同文件ID
  297 + */
  298 + @ApiModelProperty("正式合同文件ID")
  299 + private String formalFileId;
  300 +
  301 + /**
  302 + * 正式合同文件名称
  303 + */
  304 + @ApiModelProperty("正式合同文件名称")
  305 + private String formalFileName;
  306 +
  307 + /**
  308 + * 正式合同是否规范 (0-不规范, 1-规范)
  309 + */
  310 + @ApiModelProperty("正式合同是否规范 (0-不规范, 1-规范)")
  311 + private Boolean formalStandardized;
  312 +
  313 + /**
  314 + * 正式合同是否审批通过 (0-未通过, 1-已通过)
  315 + */
  316 + @ApiModelProperty("正式合同是否审批通过 (0-未通过, 1-已通过)")
  317 + private Boolean formalApproved;
  318 +
  319 + /**
  320 + * 标准合同文件ID
  321 + */
  322 + @ApiModelProperty("标准合同文件ID")
  323 + private String standardFileId;
  324 +
  325 + /**
  326 + * 标准合同文件名称
  327 + */
  328 + @ApiModelProperty("标准合同文件名称")
  329 + private String standardFileName;
  330 +
  331 + /**
  332 + * 标准合同是否规范 (0-不规范, 1-规范)
  333 + */
  334 + @ApiModelProperty("标准合同是否规范 (0-不规范, 1-规范)")
  335 + private Boolean standardStandardized;
  336 +
  337 + /**
  338 + * 标准合同是否审批通过 (0-未通过, 1-已通过)
  339 + */
  340 + @ApiModelProperty("标准合同是否审批通过 (0-未通过, 1-已通过)")
  341 + private Boolean standardApproved;
  342 +
295 public GetContractDistributorStandardBo() { 343 public GetContractDistributorStandardBo() {
296 344
297 } 345 }
@@ -294,4 +294,21 @@ public class ContractDistributorStandardController extends DefaultBaseController @@ -294,4 +294,21 @@ public class ContractDistributorStandardController extends DefaultBaseController
294 stringBuilder.append(generateCodeService.generate(GenerateCodeTypePool.CONTRACT)); 294 stringBuilder.append(generateCodeService.generate(GenerateCodeTypePool.CONTRACT));
295 return InvokeResultBuilder.success(stringBuilder.toString()); 295 return InvokeResultBuilder.success(stringBuilder.toString());
296 } 296 }
  297 +
  298 + /**
  299 + * 上传合同附件
  300 + */
  301 + @ApiOperation("上传合同附件")
  302 + @PostMapping("/uploadFormalContract")
  303 + public InvokeResult<Void> uploadFormalContract(@RequestBody UpdateContractDistributorStandardVo vo) {
  304 + if (StringUtils.isBlank(vo.getFormalFileId()) || StringUtils.isBlank(vo.getId())) {
  305 + throw new DefaultClientException("参数错误!");
  306 + }
  307 +
  308 + contractDistributorStandardService.uploadFormalContract(vo);
  309 +
  310 + contractDistributorStandardService.cleanCacheByKey(vo.getId());
  311 +
  312 + return InvokeResultBuilder.success();
  313 + }
297 } 314 }
@@ -158,7 +158,7 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { @@ -158,7 +158,7 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto {
158 private String remarks; 158 private String remarks;
159 159
160 /** 160 /**
161 - * 状态(DRAFT:草稿;FORMAL:正式;DELETED:删除) 161 + * 状态(DRAFT:草稿;FORMAL:正式;STANDARD:标准;DELETED:删除)
162 */ 162 */
163 private String status; 163 private String status;
164 164
@@ -173,6 +173,46 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { @@ -173,6 +173,46 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto {
173 private String parentId; 173 private String parentId;
174 174
175 /** 175 /**
  176 + * 正式合同文件ID
  177 + */
  178 + private String formalFileId;
  179 +
  180 + /**
  181 + * 正式合同文件名称
  182 + */
  183 + private String formalFileName;
  184 +
  185 + /**
  186 + * 正式合同是否规范 (0-不规范, 1-规范)
  187 + */
  188 + private Boolean formalStandardized;
  189 +
  190 + /**
  191 + * 正式合同是否审批通过 (0-未通过, 1-已通过)
  192 + */
  193 + private Boolean formalApproved;
  194 +
  195 + /**
  196 + * 标准合同文件ID
  197 + */
  198 + private String standardFileId;
  199 +
  200 + /**
  201 + * 标准合同文件名称
  202 + */
  203 + private String standardFileName;
  204 +
  205 + /**
  206 + * 标准合同是否规范 (0-不规范, 1-规范)
  207 + */
  208 + private Boolean standardStandardized;
  209 +
  210 + /**
  211 + * 标准合同是否审批通过 (0-未通过, 1-已通过)
  212 + */
  213 + private Boolean standardApproved;
  214 +
  215 + /**
176 * 创建人ID 216 * 创建人ID
177 */ 217 */
178 @TableField(fill = FieldFill.INSERT) 218 @TableField(fill = FieldFill.INSERT)
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 import com.github.pagehelper.PageInfo; 6 import com.github.pagehelper.PageInfo;
  7 +import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
7 import com.lframework.xingyun.sc.entity.ContractDistributorLine; 8 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
8 import com.lframework.xingyun.sc.entity.ContractDistributorStandard; 9 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
9 import com.lframework.starter.web.core.impl.BaseMpServiceImpl; 10 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
@@ -42,8 +43,14 @@ import java.util.stream.Collectors; @@ -42,8 +43,14 @@ import java.util.stream.Collectors;
42 public class ContractDistributorStandardServiceImpl extends 43 public class ContractDistributorStandardServiceImpl extends
43 BaseMpServiceImpl<ContractDistributorStandardMapper, ContractDistributorStandard> implements ContractDistributorStandardService { 44 BaseMpServiceImpl<ContractDistributorStandardMapper, ContractDistributorStandard> implements ContractDistributorStandardService {
44 45
  46 + private static final String FORMAL_FLAG = "FORMAL_CONTRACT"; // 正式合同审批
  47 + private static final String STANDARD_FLAG = "STANDARD_CONTRACT"; // 标准合同审批
  48 +
45 @Autowired 49 @Autowired
46 private ContractDistributorLineService contractDistributorLineService; 50 private ContractDistributorLineService contractDistributorLineService;
  51 + @Autowired
  52 + private FlowInstanceWrapperService flowInstanceWrapperService;
  53 +
47 54
48 @Override 55 @Override
49 public PageResult<ContractDistributorStandard> query(Integer pageIndex, Integer pageSize, QueryContractDistributorStandardVo vo) { 56 public PageResult<ContractDistributorStandard> query(Integer pageIndex, Integer pageSize, QueryContractDistributorStandardVo vo) {
@@ -220,6 +227,35 @@ public class ContractDistributorStandardServiceImpl extends @@ -220,6 +227,35 @@ public class ContractDistributorStandardServiceImpl extends
220 OpLogUtil.setExtra(vo); 227 OpLogUtil.setExtra(vo);
221 } 228 }
222 229
  230 + @OpLog(type = OtherOpLogType.class, name = "上传合同附件,ID:{}", params = {"#id"})
  231 + @Transactional(rollbackFor = Exception.class)
  232 + @Override
  233 + public void uploadFormalContract(UpdateContractDistributorStandardVo vo) {
  234 + ContractDistributorStandard data = getBaseMapper().selectById(vo.getId());
  235 + if (ObjectUtil.isNull(data)) {
  236 + throw new DefaultClientException("合同不存在!");
  237 + }
  238 +
  239 + LambdaUpdateWrapper<ContractDistributorStandard> updateWrapper = Wrappers.lambdaUpdate(ContractDistributorStandard.class)
  240 + .set(ContractDistributorStandard::getFormalFileId, vo.getFormalFileId())
  241 + .set(ContractDistributorStandard::getFormalFileName, vo.getFormalFileName())
  242 + .set(ContractDistributorStandard::getFormalStandardized, vo.getFormalStandardized())
  243 + .set(ContractDistributorStandard::getStatus, "FORMAL")
  244 + .eq(ContractDistributorStandard::getId, vo.getId());
  245 +
  246 + getBaseMapper().update(updateWrapper);
  247 +
  248 + OpLogUtil.setVariable("id", data.getId());
  249 + OpLogUtil.setExtra(vo);
  250 +
  251 + data.setFormalFileId(vo.getFormalFileId());
  252 + data.setFormalFileName(vo.getFormalFileName());
  253 + data.setFormalStandardized(vo.getFormalStandardized());
  254 +
  255 + // 开启审核
  256 + flowInstanceWrapperService.startInstance(FORMAL_FLAG, data.getId(), FORMAL_FLAG, data);
  257 + }
  258 +
223 @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key") 259 @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key")
224 @Override 260 @Override
225 public void cleanCacheByKey(Serializable key) { 261 public void cleanCacheByKey(Serializable key) {
@@ -52,4 +52,11 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra @@ -52,4 +52,11 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra
52 */ 52 */
53 void update(UpdateContractDistributorStandardVo vo); 53 void update(UpdateContractDistributorStandardVo vo);
54 54
  55 + /**
  56 + * 上传合同附件
  57 + *
  58 + * @param vo
  59 + */
  60 + void uploadFormalContract(UpdateContractDistributorStandardVo vo);
  61 +
55 } 62 }
@@ -244,4 +244,56 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable @@ -244,4 +244,56 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable
244 @ApiModelProperty(value = "经销标准合同物料行", required = true) 244 @ApiModelProperty(value = "经销标准合同物料行", required = true)
245 @NotNull(message = "经销标准合同物料行不可为空!") 245 @NotNull(message = "经销标准合同物料行不可为空!")
246 private List<CreateContractDistributorLineVo> contractDistributorLineList; 246 private List<CreateContractDistributorLineVo> contractDistributorLineList;
  247 +
  248 + /**
  249 + * 正式合同文件ID
  250 + */
  251 + @ApiModelProperty(value = "正式合同文件ID")
  252 + private String formalFileId;
  253 +
  254 + /**
  255 + * 正式合同文件名称
  256 + */
  257 + @ApiModelProperty(value = "正式合同文件名称")
  258 + private String formalFileName;
  259 +
  260 + /**
  261 + * 正式合同是否规范 (0-不规范, 1-规范)
  262 + */
  263 + @ApiModelProperty(value = "正式合同是否规范 (0-不规范, 1-规范)")
  264 + @TypeMismatch(message = "正式合同是否规范 (0-不规范, 1-规范)格式有误!")
  265 + private Boolean formalStandardized;
  266 +
  267 + /**
  268 + * 正式合同是否审批通过 (0-未通过, 1-已通过)
  269 + */
  270 + @ApiModelProperty(value = "正式合同是否审批通过 (0-未通过, 1-已通过)")
  271 + @TypeMismatch(message = "正式合同是否审批通过 (0-未通过, 1-已通过)格式有误!")
  272 + private Boolean formalApproved;
  273 +
  274 + /**
  275 + * 标准合同文件ID
  276 + */
  277 + @ApiModelProperty(value = "标准合同文件ID")
  278 + private String standardFileId;
  279 +
  280 + /**
  281 + * 标准合同文件名称
  282 + */
  283 + @ApiModelProperty(value = "标准合同文件名称")
  284 + private String standardFileName;
  285 +
  286 + /**
  287 + * 标准合同是否规范 (0-不规范, 1-规范)
  288 + */
  289 + @ApiModelProperty(value = "标准合同是否规范 (0-不规范, 1-规范)")
  290 + @TypeMismatch(message = "标准合同是否规范 (0-不规范, 1-规范)格式有误!")
  291 + private Boolean standardStandardized;
  292 +
  293 + /**
  294 + * 标准合同是否审批通过 (0-未通过, 1-已通过)
  295 + */
  296 + @ApiModelProperty(value = "标准合同是否审批通过 (0-未通过, 1-已通过)")
  297 + @TypeMismatch(message = "标准合同是否审批通过 (0-未通过, 1-已通过)格式有误!")
  298 + private Boolean standardApproved;
247 } 299 }
@@ -248,4 +248,56 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable @@ -248,4 +248,56 @@ public class UpdateContractDistributorStandardVo implements BaseVo, Serializable
248 @ApiModelProperty(value = "经销标准合同物料行", required = true) 248 @ApiModelProperty(value = "经销标准合同物料行", required = true)
249 @NotNull(message = "经销标准合同物料行不可为空!") 249 @NotNull(message = "经销标准合同物料行不可为空!")
250 private List<UpdateContractDistributorLineVo> contractDistributorLineList; 250 private List<UpdateContractDistributorLineVo> contractDistributorLineList;
  251 +
  252 + /**
  253 + * 正式合同文件ID
  254 + */
  255 + @ApiModelProperty(value = "正式合同文件ID")
  256 + private String formalFileId;
  257 +
  258 + /**
  259 + * 正式合同文件名称
  260 + */
  261 + @ApiModelProperty(value = "正式合同文件名称")
  262 + private String formalFileName;
  263 +
  264 + /**
  265 + * 正式合同是否规范 (0-不规范, 1-规范)
  266 + */
  267 + @ApiModelProperty(value = "正式合同是否规范 (0-不规范, 1-规范)")
  268 + @TypeMismatch(message = "正式合同是否规范 (0-不规范, 1-规范)格式有误!")
  269 + private Boolean formalStandardized;
  270 +
  271 + /**
  272 + * 正式合同是否审批通过 (0-未通过, 1-已通过)
  273 + */
  274 + @ApiModelProperty(value = "正式合同是否审批通过 (0-未通过, 1-已通过)")
  275 + @TypeMismatch(message = "正式合同是否审批通过 (0-未通过, 1-已通过)格式有误!")
  276 + private Boolean formalApproved;
  277 +
  278 + /**
  279 + * 标准合同文件ID
  280 + */
  281 + @ApiModelProperty(value = "标准合同文件ID")
  282 + private String standardFileId;
  283 +
  284 + /**
  285 + * 标准合同文件名称
  286 + */
  287 + @ApiModelProperty(value = "标准合同文件名称")
  288 + private String standardFileName;
  289 +
  290 + /**
  291 + * 标准合同是否规范 (0-不规范, 1-规范)
  292 + */
  293 + @ApiModelProperty(value = "标准合同是否规范 (0-不规范, 1-规范)")
  294 + @TypeMismatch(message = "标准合同是否规范 (0-不规范, 1-规范)格式有误!")
  295 + private Boolean standardStandardized;
  296 +
  297 + /**
  298 + * 标准合同是否审批通过 (0-未通过, 1-已通过)
  299 + */
  300 + @ApiModelProperty(value = "标准合同是否审批通过 (0-未通过, 1-已通过)")
  301 + @TypeMismatch(message = "标准合同是否审批通过 (0-未通过, 1-已通过)格式有误!")
  302 + private Boolean standardApproved;
251 } 303 }
@@ -41,6 +41,14 @@ @@ -41,6 +41,14 @@
41 <result column="total_amount_including_tax" property="totalAmountIncludingTax"/> 41 <result column="total_amount_including_tax" property="totalAmountIncludingTax"/>
42 <result column="type" property="type"/> 42 <result column="type" property="type"/>
43 <result column="parent_id" property="parentId"/> 43 <result column="parent_id" property="parentId"/>
  44 + <result column="formal_file_id" property="formalFileId"/>
  45 + <result column="formal_file_name" property="formalFileName"/>
  46 + <result column="formal_standardized" property="formalStandardized"/>
  47 + <result column="formal_approved" property="formalApproved"/>
  48 + <result column="standard_file_id" property="standardFileId"/>
  49 + <result column="standard_file_name" property="standardFileName"/>
  50 + <result column="standard_standardized" property="standardStandardized"/>
  51 + <result column="standard_approved" property="standardApproved"/>
44 </resultMap> 52 </resultMap>
45 53
46 <sql id="ContractDistributorStandard_sql"> 54 <sql id="ContractDistributorStandard_sql">
@@ -82,7 +90,15 @@ @@ -82,7 +90,15 @@
82 tb.total_amount_excluding_tax, 90 tb.total_amount_excluding_tax,
83 tb.total_amount_including_tax, 91 tb.total_amount_including_tax,
84 tb.type, 92 tb.type,
85 - tb.parent_id 93 + tb.parent_id,
  94 + tb.formal_file_id,
  95 + tb.formal_file_name,
  96 + tb.formal_standardized,
  97 + tb.formal_approved,
  98 + tb.standard_file_id,
  99 + tb.standard_file_name,
  100 + tb.standard_standardized,
  101 + tb.standard_approved
86 FROM tbl_contract_distributor_standard AS tb 102 FROM tbl_contract_distributor_standard AS tb
87 </sql> 103 </sql>
88 104