feat: 企标更改流程发起节点校验修改单单位代码

This commit is contained in:
2024-05-07 13:38:21 +08:00
parent fb3a31be9a
commit 1285b45aff
@@ -7,6 +7,7 @@ import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.TranslationAspect;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
@@ -34,6 +35,9 @@ import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.onlyoffice.service.IBusProcessModelHisService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.sys.utils.UserUtils;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserDepartService;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
@@ -88,6 +92,13 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
@Resource
private IBusProcessModelHisService busProcessModelHisService;
@Resource
private ISysDepartService sysDepartService;
@Resource
private ISysDictService dictService;
@Override
public void startProcess(ESChangeDataVO changeData) {
// 执行流程发起前的操作
@@ -199,6 +210,31 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
ProcessEsChange data = changeData.getData();
if (data != null) {
actFlowCommonService.checkStandardState(data.getStandardId());
// 判断主起草部门是否有对应的修改单代码
if (StrUtil.isBlank(data.getMainDraftingUnit())) {
throw new JeroBootException("主起草单位不能为空");
}
this.validDepartCode(changeData.getData().getMainDraftingUnit());
}
}
public void validDepartCode(String deptId) {
String deptCode = "";
// 找到单位代号
SysDepart dept = sysDepartService.getById(deptId);
if (dept != null) {
String deptName = dept.getDepartName();
List<DictModel> dictItems = dictService.queryEnableDictItemsByCode("es_modify_order_dept_code");
for (DictModel dictItem : dictItems) {
if (dictItem.getText().equals(deptName)) {
deptCode = dictItem.getValue();
break;
}
}
}
if (StrUtil.isBlank(deptCode)) {
throw new JeroBootException("发起失败,找不到主起草单位对应的单位代号,请前往数据字典中添加后再试");
}
}