update 企标计划流程 导入时判断部门的层级

This commit is contained in:
lijiarao
2024-10-10 15:39:43 +08:00
parent 6991d75ba5
commit c0085d7a83
@@ -12,8 +12,11 @@ import com.jero.modules.activiti.process.annualinit.common.ProcessAnnualInitComm
import com.jero.modules.activiti.process.annualinit.entity.ProcessAnnualInitLink;
import com.jero.modules.activiti.process.annualinit.mapper.ProcessAnnualInitLinkMapper;
import com.jero.modules.activiti.process.annualinit.vo.ProcessAnnualInitLinkExcelVO;
import com.jero.modules.laws.common.util.ImportUtil;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.ExcelImportCheckUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -53,6 +56,10 @@ public class ProcessAnnualInitLinkService extends ServiceImpl<ProcessAnnualInitL
private ISysBaseAPI sysBaseAPI;
@Resource
private ILawsEnterpriseStandardService enterpriseStandardService;
@Resource
private ImportUtil importUtil;
@Resource
private ISysDepartService sysDepartService;
public IPage<ProcessAnnualInitLink> pageList(Page<ProcessAnnualInitLink> page, ProcessAnnualInitLink processAnnualInitLink, HttpServletRequest req) {
QueryWrapper<ProcessAnnualInitLink> queryWrapper = QueryGenerator.initQueryWrapper(processAnnualInitLink, req.getParameterMap());
@@ -168,6 +175,10 @@ public class ProcessAnnualInitLinkService extends ServiceImpl<ProcessAnnualInitL
List<DictModel> dictModels4 = sysBaseAPI.getDictItems("yn");
Map<String, String> ynMap = CollStreamUtil.toMap(dictModels4, DictModel::getText, DictModel::getValue);
// 准备部门校验的数据
List<SysDepart> departList = sysDepartService.list();
Map<String, List<SysDepart>> sysDepartMap = departList.stream().collect(Collectors.groupingBy(SysDepart::getDepartName));
Map<String, String> sysDepartPathMap = SysDepart.buildPaths(departList);
for (int i = 0; i < excelList.size(); i++) {
StringBuilder msgSub = new StringBuilder();
@@ -204,13 +215,17 @@ public class ProcessAnnualInitLinkService extends ServiceImpl<ProcessAnnualInitL
excelVO.setMainDraftingUser(userMap.get(mainDraftingUser));
excelVO.setEmail(PasswordUtil.decrypt(emailMap.get(mainDraftingUser)));
}
String departId = excelVO.getDepartId();
if (StringUtils.isBlank(departId)){
String departName = excelVO.getDepartId();
if (StringUtils.isBlank(departName)){
msgSub.append("" + (i + 4) + "" + "所在部门不能为空;");
}else if (!departMap.containsKey(departId)){
msgSub.append("" + (i + 4) + "" + "所在部门不存在;");
}else {
excelVO.setDepartId(departMap.get(departId));
if (!importUtil.multiOrgValid(departName, sysDepartMap, sysDepartPathMap)) {
msgSub.append("" + (i + 4) + "" + "所在部门填写错误 ");
} else {
// 转为id
String departId1 = importUtil.convertMultiOrgId(departName, sysDepartMap, sysDepartPathMap);
excelVO.setDepartId(departId1);
}
}
String professionalModule = excelVO.getProfessionalModule();