Commit 966a40405acda423538ed4cbddef7fb31539dd56

Authored by 杨鸣坤
1 parent 4cba356e

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

... ... @@ -109,8 +109,16 @@ create table if not exists `tbl_contract_distributor_standard`
109 109 `special_instructions` TEXT COMMENT '特别说明',
110 110 `remarks` TEXT COMMENT '备注',
111 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 122 `create_by_id` varchar(32) not null comment '创建人ID',
115 123 `create_by` varchar(20) not null comment '创建人',
116 124 `update_by_id` varchar(32) not null comment '更新人ID',
... ...
... ... @@ -292,6 +292,54 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor
292 292 @ApiModelProperty("经销标准合同物料行")
293 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 343 public GetContractDistributorStandardBo() {
296 344
297 345 }
... ...
... ... @@ -294,4 +294,21 @@ public class ContractDistributorStandardController extends DefaultBaseController
294 294 stringBuilder.append(generateCodeService.generate(GenerateCodeTypePool.CONTRACT));
295 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 158 private String remarks;
159 159
160 160 /**
161   - * 状态(DRAFT:草稿;FORMAL:正式;DELETED:删除)
  161 + * 状态(DRAFT:草稿;FORMAL:正式;STANDARD:标准;DELETED:删除)
162 162 */
163 163 private String status;
164 164
... ... @@ -173,6 +173,46 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto {
173 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 216 * 创建人ID
177 217 */
178 218 @TableField(fill = FieldFill.INSERT)
... ...
... ... @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 6 import com.github.pagehelper.PageInfo;
  7 +import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
7 8 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
8 9 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
9 10 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
... ... @@ -42,8 +43,14 @@ import java.util.stream.Collectors;
42 43 public class ContractDistributorStandardServiceImpl extends
43 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 49 @Autowired
46 50 private ContractDistributorLineService contractDistributorLineService;
  51 + @Autowired
  52 + private FlowInstanceWrapperService flowInstanceWrapperService;
  53 +
47 54
48 55 @Override
49 56 public PageResult<ContractDistributorStandard> query(Integer pageIndex, Integer pageSize, QueryContractDistributorStandardVo vo) {
... ... @@ -220,6 +227,35 @@ public class ContractDistributorStandardServiceImpl extends
220 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 259 @CacheEvict(value = ContractDistributorStandard.CACHE_NAME, key = "@cacheVariables.tenantId() + #key")
224 260 @Override
225 261 public void cleanCacheByKey(Serializable key) {
... ...
... ... @@ -52,4 +52,11 @@ public interface ContractDistributorStandardService extends BaseMpService<Contra
52 52 */
53 53 void update(UpdateContractDistributorStandardVo vo);
54 54
  55 + /**
  56 + * 上传合同附件
  57 + *
  58 + * @param vo
  59 + */
  60 + void uploadFormalContract(UpdateContractDistributorStandardVo vo);
  61 +
55 62 }
\ No newline at end of file
... ...
... ... @@ -244,4 +244,56 @@ public class CreateContractDistributorStandardVo implements BaseVo, Serializable
244 244 @ApiModelProperty(value = "经销标准合同物料行", required = true)
245 245 @NotNull(message = "经销标准合同物料行不可为空!")
246 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 248 @ApiModelProperty(value = "经销标准合同物料行", required = true)
249 249 @NotNull(message = "经销标准合同物料行不可为空!")
250 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 41 <result column="total_amount_including_tax" property="totalAmountIncludingTax"/>
42 42 <result column="type" property="type"/>
43 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 52 </resultMap>
45 53
46 54 <sql id="ContractDistributorStandard_sql">
... ... @@ -82,7 +90,15 @@
82 90 tb.total_amount_excluding_tax,
83 91 tb.total_amount_including_tax,
84 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 102 FROM tbl_contract_distributor_standard AS tb
87 103 </sql>
88 104
... ...