Commit d9758754 by “zcwang”

add: 创建工单

parent 2e0d6b0f
......@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import com.netease.mail.yanxuan.change.biz.config.AppConfig;
import com.netease.mail.yanxuan.change.biz.service.ChangeFlowService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum;
......@@ -34,12 +35,13 @@ public class ChangeFlowBiz {
@Autowired
private ChangeFlowService changeFlowService;
public Boolean createAndSubmit(ChangeFlowCreateReq changeFlowCreateReq) {
@Autowired
private AppConfig appConfig;
public Boolean createAndSubmit(ChangeFlowCreateReq changeFlowCreateReq) {
// 校验变更主体
Boolean containsChangeSubject = ChangeSubjectEnum.getByType(changeFlowCreateReq.getChangeSubject());
Assert.isTrue(containsChangeSubject, "变更主体不存在");
// 检验是否需要资料
ChangeConfig changeConfig = changeConfigService.queryChangeConfig(changeFlowCreateReq.getSonChangeClassId());
Assert.notNull(changeConfig, "二级变更类型不存在");
......@@ -47,12 +49,18 @@ public class ChangeFlowBiz {
if (NeedFileEnum.NEED.getStatus().equals(needFile)) {
Assert.notEmpty(changeFlowCreateReq.getFiles(), "必须上传资料");
}
// 变更行动项不可为空,最多20项
Assert.isTrue(changeFlowCreateReq.getChangeExecProject().size() <= appConfig.getChangeExecLimit(),
"变更行动方案配置数超限");
// 结束时间不可晚于第二天定时任务执行时间
Long tomorrowSpecificTime = DateUtils.getTomorrowSpecificTime("09:00:00");
Assert.isTrue(changeFlowCreateReq.getChangeConfirmResultTime() >= tomorrowSpecificTime, "时间不可晚于下次执行时间");
// 创建并提交工作流
// 保存工单数据
ChangeRecord record = buildRecord(changeFlowCreateReq);
changeFlowService.saveRecord(record);
ChangeRecord changeRecord = buildRecord(changeFlowCreateReq);
changeFlowService.saveRecord(changeRecord);
return null;
}
......@@ -66,8 +74,7 @@ public class ChangeFlowBiz {
changeRecord.setParentChangeClassId(changeFlowCreateReq.getParentChangeClassId());
changeRecord.setSonChangeClassId(changeFlowCreateReq.getSonChangeClassId());
changeRecord.setChangeLevel(changeFlowCreateReq.getChangeLevel());
// todo: 变更负责人
changeRecord.setChangeCommander("");
changeRecord.setChangeCommander(changeFlowCreateReq.getChangeCommander());
changeRecord.setChangeItem(changeFlowCreateReq.getChangeItems());
changeRecord.setChangeSupplier(changeFlowCreateReq.getChangeSupplier());
changeRecord.setChangeReason(changeFlowCreateReq.getChangeReason());
......@@ -76,9 +83,7 @@ public class ChangeFlowBiz {
changeRecord.setChangeProfit(changeFlowCreateReq.getChangeProfit());
changeRecord.setChangeProfitDesc(changeFlowCreateReq.getChangeProfitDesc());
changeRecord.setChangeConfirmResultTime(changeFlowCreateReq.getChangeConfirmResultTime());
// todo: 工单状态
changeRecord.setState(ChangeStatusEnum.IN.getStatus());
// todo:工单是否被取消
changeRecord.setIsCancel(0);
// 变更结论
changeRecord.setChangeResult(1);
......
......@@ -6,6 +6,7 @@
*/
package com.netease.mail.yanxuan.change.biz.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.ctrip.framework.apollo.spring.annotation.EnableAutoUpdateApolloConfig;
......@@ -24,4 +25,7 @@ public class AppConfig {
@ValueMapping("${titleConfig:null}")
private TitleConfig titleConfig;
@Value("${changeExecLimit:20}")
private Integer changeExecLimit;
}
\ No newline at end of file
......@@ -68,6 +68,16 @@ public class ChangeRecord {
private String changeCommander;
/**
* 变更负责部门名
*/
private String changeDepartment;
/**
* 参与变更行动部门,json格式,查询用
*/
private String participateChangeExecDepartment;
/**
* 变更商品(变更主体为商品时有效)
*/
private String changeItem;
......
......@@ -8,8 +8,8 @@ package com.netease.mail.yanxuan.change.dal.meta.model.req;
import java.util.List;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
......@@ -47,6 +47,16 @@ public class ChangeFlowCreateReq {
private Integer changeLevel;
/**
* 变更负责人
*/
private String changeCommander;
/**
* 变更负责部门名
*/
private String changeDepartment;
/**
* 变更商品列表
*/
private String changeItems;
......@@ -102,6 +112,7 @@ public class ChangeFlowCreateReq {
/**
* 行动项
*/
@NotEmpty(message = "变更行动项不可为空")
private List<ChangeExecConfigReq> changeExecProject;
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment