列严发起业务增加判断,允许上级发起下级业务

This commit is contained in:
zhouxy 2026-01-07 11:40:51 +08:00
parent f0d89e7727
commit c505f778f1
1 changed files with 44 additions and 0 deletions

View File

@ -36,6 +36,7 @@ import com.chinaweal.aiccs.common.util.ExcelUtil;
import com.chinaweal.aiccs.common.util.FlowUtil;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.common.util.WorkFlowUtil;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.service.AicorgService;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
@ -958,4 +959,47 @@ public class BizSerIllegalController extends BaseController {
return RestResult.ok(b);
}
/**
* 判断用户机构是否能发起
*/
@PostMapping("/checkIllegalStart")
public RestResult<?> checkIllegalStart(@RequestBody TSBizSerIllegal tsBizSerIllegal, HttpServletRequest request) {
AICUser aicUser = getLoginUser(request);
//进行判断,且允许上级办理下级的信用修复
Map<String, String> map = new HashMap<>();
map.put("orgNumber", aicUser.getRegionID());
map.put("deleted", "0");
map.put("unittype", "1");
OrgUnits org = aicorgService.queryByOrgNumberMap(map);
EBaseinfo eBaseinfo = eBaseinfoService.getOneByPripid(tsBizSerIllegal.getPripid());
Integer orgLevel = org.getOrgLevel();
boolean isSame = true;
//根据机构等级判断
if (orgLevel == 1) { //省局
isSame = com.chinaweal.aiccs.common.util.StringUtils.equals(
StringUtils.substring(aicUser.getRegionID(), 0, 2),
StringUtils.substring(eBaseinfo.getRegorg(), 0, 2));
} else if (orgLevel == 2) { //市局
isSame = com.chinaweal.aiccs.common.util.StringUtils.equals(
StringUtils.substring(aicUser.getRegionID(), 0, 4),
StringUtils.substring(eBaseinfo.getRegorg(), 0, 4));
} else if (orgLevel == 3) { //区局
isSame = com.chinaweal.aiccs.common.util.StringUtils.equals(
StringUtils.substring(aicUser.getRegionID(), 0, 6),
StringUtils.substring(eBaseinfo.getRegorg(), 0, 6));
} else if (orgLevel >= 4) { //所
isSame = com.chinaweal.aiccs.common.util.StringUtils.equals(
StringUtils.substring(aicUser.getRegionID(), 0, 6),
StringUtils.substring(eBaseinfo.getRegorg(), 0, 6));
}
if (isSame) {
return RestResult.ok(ResultCode.SUCCESS);
} else {
return RestResult.error(ResultCode.BUSINESS_LOGIC_ERROR, "该主体登记机关是其他机关登记,无法发起");
}
}
}