|
|
@ -1,31 +1,30 @@ |
|
|
package com.zdxt.enforcementcode.controller.app.enforcement; |
|
|
package com.zdxt.enforcementcode.controller.app.enforcement; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaIgnore; |
|
|
import com.zdxt.enforcementcode.common.util.CommonUtil; |
|
|
import com.zdxt.enforcementcode.common.util.CommonUtil; |
|
|
import com.zdxt.enforcementcode.domain.EnforcementRegistration; |
|
|
|
|
|
import com.zdxt.enforcementcode.domain.EnterpriseLawEnforcement; |
|
|
|
|
|
import com.zdxt.enforcementcode.domain.bo.EnforcementLawCheckPlanBo; |
|
|
|
|
|
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; |
|
|
import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; |
|
|
import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo; |
|
|
import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo; |
|
|
|
|
|
import com.zdxt.enforcementcode.domain.bo.enterprise.AppEnterpriseComplaintBo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo; |
|
|
import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo; |
|
|
|
|
|
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo; |
|
|
import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; |
|
|
import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; |
|
|
import com.zdxt.enforcementcode.service.IEnterpriseEvaluateService; |
|
|
import com.zdxt.enforcementcode.service.IEnterpriseEvaluateService; |
|
|
import com.zdxt.enforcementcode.service.IEnterpriseLawEnforcementService; |
|
|
import com.zdxt.enforcementcode.service.IEnterpriseLawEnforcementService; |
|
|
|
|
|
import com.zdxt.enforcementcode.service.enterprise.IAppEnterpriseComplaintService; |
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponse; |
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponse; |
|
|
import io.swagger.v3.oas.annotations.tags.Tag; |
|
|
import io.swagger.v3.oas.annotations.tags.Tag; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.dromara.common.core.domain.R; |
|
|
import org.dromara.common.core.domain.R; |
|
|
import org.dromara.common.core.utils.StringUtils; |
|
|
import org.dromara.common.core.utils.StringUtils; |
|
|
import org.dromara.common.core.validate.AddGroup; |
|
|
|
|
|
import org.dromara.common.mybatis.core.page.PageQuery; |
|
|
import org.dromara.common.mybatis.core.page.PageQuery; |
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|
|
import org.dromara.common.mybatis.core.page.TableDataInfo; |
|
|
|
|
|
import org.dromara.common.mybatis.helper.DataPermissionHelper; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.common.web.core.BaseController; |
|
|
import org.dromara.common.web.core.BaseController; |
|
|
import org.dromara.system.domain.SysDept; |
|
|
|
|
|
import org.dromara.system.domain.SysDictData; |
|
|
|
|
|
import org.dromara.system.domain.bo.SysDictDataBo; |
|
|
import org.dromara.system.domain.bo.SysDictDataBo; |
|
|
import org.dromara.system.domain.vo.SysDeptVo; |
|
|
import org.dromara.system.domain.vo.SysDeptVo; |
|
|
import org.dromara.system.domain.vo.SysDictDataVo; |
|
|
import org.dromara.system.domain.vo.SysDictDataVo; |
|
|
@ -34,9 +33,12 @@ import org.dromara.system.service.ISysDeptService; |
|
|
import org.dromara.system.service.ISysDictDataService; |
|
|
import org.dromara.system.service.ISysDictDataService; |
|
|
import org.dromara.system.service.ISysUserService; |
|
|
import org.dromara.system.service.ISysUserService; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
|
|
import java.time.Instant; |
|
|
|
|
|
import java.time.LocalDate; |
|
|
|
|
|
import java.time.ZoneId; |
|
|
|
|
|
import java.time.temporal.ChronoUnit; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -63,6 +65,9 @@ public class AppEnforcementRegistrationController extends BaseController { |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private IEnterpriseEvaluateService enterpriseEvaluateService; |
|
|
private IEnterpriseEvaluateService enterpriseEvaluateService; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private IAppEnterpriseComplaintService appEnterpriseComplaintService; |
|
|
/** |
|
|
/** |
|
|
* 执法端-执法登记新增保存 |
|
|
* 执法端-执法登记新增保存 |
|
|
*/ |
|
|
*/ |
|
|
@ -91,11 +96,9 @@ public class AppEnforcementRegistrationController extends BaseController { |
|
|
*/ |
|
|
*/ |
|
|
@GetMapping("/queryList") |
|
|
@GetMapping("/queryList") |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public R<EnforcementRegistrationVo> queryList(EnforcementRegistrationBo bo, PageQuery pageQuery) |
|
|
public R<EnforcementRegistrationVo> queryList(EnforcementRegistrationBo bo, PageQuery pageQuery) { |
|
|
{ |
|
|
|
|
|
// dateType本单位 0 全市 1
|
|
|
// dateType本单位 0 全市 1
|
|
|
if (Objects.nonNull(bo.getUserId()) && bo.getDateType()==0) { |
|
|
if (Objects.nonNull(bo.getUserId()) && bo.getDateType()==0) { |
|
|
//UserBean userByUser = userApi.getUserByUserId(bo.getUserId());
|
|
|
|
|
|
bo.setDeptId(LoginHelper.getDeptId() == null ? null : LoginHelper.getDeptId()); |
|
|
bo.setDeptId(LoginHelper.getDeptId() == null ? null : LoginHelper.getDeptId()); |
|
|
|
|
|
|
|
|
SysDeptVo bureauDept = sysDeptService.iterationDeptParentToBureau(LoginHelper.getDeptId()); |
|
|
SysDeptVo bureauDept = sysDeptService.iterationDeptParentToBureau(LoginHelper.getDeptId()); |
|
|
@ -125,6 +128,7 @@ public class AppEnforcementRegistrationController extends BaseController { |
|
|
public R<Void> editSave(@RequestBody EnforcementRegistrationBo bo) |
|
|
public R<Void> editSave(@RequestBody EnforcementRegistrationBo bo) |
|
|
{ |
|
|
{ |
|
|
int resNum = 0; |
|
|
int resNum = 0; |
|
|
|
|
|
bo.setIsSubmit(1L); |
|
|
if (StringUtils.isNotEmpty(bo.getId())) { |
|
|
if (StringUtils.isNotEmpty(bo.getId())) { |
|
|
resNum = enforcementRegistrationService.updateEnforcementRegistration(bo); |
|
|
resNum = enforcementRegistrationService.updateEnforcementRegistration(bo); |
|
|
} else { |
|
|
} else { |
|
|
@ -142,7 +146,25 @@ public class AppEnforcementRegistrationController extends BaseController { |
|
|
return toAjax(resNum); |
|
|
return toAjax(resNum); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 执法端-行政执法记录修改 |
|
|
|
|
|
* @param bo |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
|
|
|
@PostMapping("/editInfo") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public R<Void> editInfo(@RequestBody EnforcementRegistrationBo bo) |
|
|
|
|
|
{ |
|
|
|
|
|
bo.setIsSubmit(0L); |
|
|
|
|
|
int resNum = enforcementRegistrationService.updateEnforcementRegistration(bo); |
|
|
|
|
|
if (StringUtils.isNotEmpty(bo.getLawId())) { |
|
|
|
|
|
EnterpriseLawEnforcementBo law = new EnterpriseLawEnforcementBo(); |
|
|
|
|
|
law.setId(bo.getLawId()); |
|
|
|
|
|
law.setIsReg(1L); |
|
|
|
|
|
resNum = enterpriseLawEnforcementService.updateEnterpriseLawEnforcement(law); |
|
|
|
|
|
} |
|
|
|
|
|
return toAjax(resNum); |
|
|
|
|
|
} |
|
|
/** |
|
|
/** |
|
|
* 执法端-联合执法查询补录(用于补录时关联) |
|
|
* 执法端-联合执法查询补录(用于补录时关联) |
|
|
* 根据企业统一信用号, 搜索出该企业前推一小时内的联合执法. |
|
|
* 根据企业统一信用号, 搜索出该企业前推一小时内的联合执法. |
|
|
@ -424,4 +446,283 @@ public class AppEnforcementRegistrationController extends BaseController { |
|
|
return R.ok(result); |
|
|
return R.ok(result); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 查询执法端-执法登记列表 |
|
|
|
|
|
*/ |
|
|
|
|
|
@SaIgnore |
|
|
|
|
|
@PostMapping("/list") |
|
|
|
|
|
@ResponseBody |
|
|
|
|
|
public TableDataInfo<EnforcementRegistrationVo> list(@RequestBody EnforcementRegistrationBo bo, PageQuery pageQuery) { |
|
|
|
|
|
long startTime = System.currentTimeMillis(); |
|
|
|
|
|
|
|
|
|
|
|
// 使用 DataPermissionHelper.ignore() 跳过数据权限检查,避免 token 冻结导致的认证错误
|
|
|
|
|
|
List<EnforcementRegistrationVo> list = DataPermissionHelper.ignore(() -> |
|
|
|
|
|
enforcementRegistrationService.selectEnforcementRegistrationList(bo, pageQuery) |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
if (list == null || list.isEmpty()) { |
|
|
|
|
|
TableDataInfo<EnforcementRegistrationVo> emptyResult = new TableDataInfo<>(); |
|
|
|
|
|
emptyResult.setCode(0); |
|
|
|
|
|
emptyResult.setRows(new ArrayList<>()); |
|
|
|
|
|
emptyResult.setTotal(0L); |
|
|
|
|
|
return emptyResult; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 1. 批量获取字典数据(只查询一次)
|
|
|
|
|
|
List<SysDictDataVo> dicts = getCheckCategoryDicts(); |
|
|
|
|
|
Map<String, String> dictMap = buildDictMap(dicts); |
|
|
|
|
|
|
|
|
|
|
|
// 2. 收集所有用户ID并批量查询(只查询一次)
|
|
|
|
|
|
List<Long> allUserIds = collectAllUserIds(list); |
|
|
|
|
|
Map<Long, SysUserVo> userMap = buildUserMap(allUserIds); |
|
|
|
|
|
|
|
|
|
|
|
// 3. 批量查询投诉标记(只查询一次)
|
|
|
|
|
|
List<String> recordIds = extractRecordIds(list); |
|
|
|
|
|
Map<String, Boolean> complaintMap = buildComplaintMapBatch(recordIds); |
|
|
|
|
|
|
|
|
|
|
|
// 4. 在内存中批量填充数据(无数据库查询)
|
|
|
|
|
|
for (EnforcementRegistrationVo vo : list) { |
|
|
|
|
|
fillComplaintFlagFromMap(vo, complaintMap); |
|
|
|
|
|
fillCheckCategoryText(vo, dictMap); |
|
|
|
|
|
fillLawEnforcerInfo(vo, userMap); |
|
|
|
|
|
fillOutTimeDayNum(vo); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
TableDataInfo<EnforcementRegistrationVo> rspData = new TableDataInfo<>(); |
|
|
|
|
|
rspData.setCode(0); |
|
|
|
|
|
rspData.setRows(list); |
|
|
|
|
|
rspData.setTotal(list.size()); |
|
|
|
|
|
|
|
|
|
|
|
long endTime = System.currentTimeMillis(); |
|
|
|
|
|
log.info("执法登记列表查询耗时: {}ms, 数据量: {}", (endTime - startTime), list.size()); |
|
|
|
|
|
|
|
|
|
|
|
return rspData; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 获取检查类别字典数据 |
|
|
|
|
|
*/ |
|
|
|
|
|
private List<SysDictDataVo> getCheckCategoryDicts() { |
|
|
|
|
|
SysDictDataBo dictParams = new SysDictDataBo(); |
|
|
|
|
|
dictParams.setDictType("check_category"); |
|
|
|
|
|
return sysDictDataService.selectDictDataList(dictParams); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 构建字典映射表 (dictValue -> dictLabel) |
|
|
|
|
|
*/ |
|
|
|
|
|
private Map<String, String> buildDictMap(List<SysDictDataVo> dicts) { |
|
|
|
|
|
Map<String, String> dictMap = new HashMap<>(); |
|
|
|
|
|
if (dicts != null) { |
|
|
|
|
|
for (SysDictDataVo dict : dicts) { |
|
|
|
|
|
dictMap.put(dict.getDictValue(), dict.getDictLabel()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return dictMap; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 提取所有记录ID |
|
|
|
|
|
*/ |
|
|
|
|
|
private List<String> extractRecordIds(List<EnforcementRegistrationVo> list) { |
|
|
|
|
|
List<String> ids = new ArrayList<>(); |
|
|
|
|
|
for (EnforcementRegistrationVo vo : list) { |
|
|
|
|
|
if (vo.getId() != null) { |
|
|
|
|
|
ids.add(vo.getId()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return ids; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 批量构建投诉标记映射 (recordId -> hasComplaint) |
|
|
|
|
|
* 优化:使用 IN 查询一次性获取所有投诉记录 |
|
|
|
|
|
*/ |
|
|
|
|
|
private Map<String, Boolean> buildComplaintMapBatch(List<String> recordIds) { |
|
|
|
|
|
Map<String, Boolean> complaintMap = new HashMap<>(); |
|
|
|
|
|
if (recordIds.isEmpty()) { |
|
|
|
|
|
return complaintMap; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 使用 IN 批量查询所有投诉记录
|
|
|
|
|
|
List<AppEnterpriseComplaintVo> complaints = DataPermissionHelper.ignore(() -> { |
|
|
|
|
|
AppEnterpriseComplaintBo params = new AppEnterpriseComplaintBo(); |
|
|
|
|
|
params.setComOrOpi(1L); |
|
|
|
|
|
return appEnterpriseComplaintService.queryListByIds(recordIds, params); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 构建映射:recordId -> 是否有投诉
|
|
|
|
|
|
if (complaints != null) { |
|
|
|
|
|
for (AppEnterpriseComplaintVo complaint : complaints) { |
|
|
|
|
|
complaintMap.put(complaint.getRelId(), true); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return complaintMap; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 收集所有需要查询的用户ID |
|
|
|
|
|
*/ |
|
|
|
|
|
private List<Long> collectAllUserIds(List<?> list) { |
|
|
|
|
|
Set<Long> userIdSet = new HashSet<>(); |
|
|
|
|
|
for (Object obj : list) { |
|
|
|
|
|
EnforcementRegistrationVo vo; |
|
|
|
|
|
if (obj instanceof EnforcementRegistrationVo) { |
|
|
|
|
|
vo = (EnforcementRegistrationVo) obj; |
|
|
|
|
|
} else { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(vo.getLawEnforcerId())) { |
|
|
|
|
|
try { |
|
|
|
|
|
userIdSet.add(Long.parseLong(vo.getLawEnforcerId())); |
|
|
|
|
|
} catch (NumberFormatException ignored) { |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (StringUtils.isNotEmpty(vo.getLawEnforcerIdTwo())) { |
|
|
|
|
|
String[] ids = vo.getLawEnforcerIdTwo().split(","); |
|
|
|
|
|
for (String id : ids) { |
|
|
|
|
|
if (StringUtils.isNotEmpty(id.trim())) { |
|
|
|
|
|
try { |
|
|
|
|
|
userIdSet.add(Long.parseLong(id.trim())); |
|
|
|
|
|
} catch (NumberFormatException ignored) { |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return new ArrayList<>(userIdSet); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 构建用户映射表 (userId -> SysUserVo) |
|
|
|
|
|
*/ |
|
|
|
|
|
private Map<Long, SysUserVo> buildUserMap(List<Long> userIds) { |
|
|
|
|
|
Map<Long, SysUserVo> userMap = new HashMap<>(); |
|
|
|
|
|
if (userIds.isEmpty()) { |
|
|
|
|
|
return userMap; |
|
|
|
|
|
} |
|
|
|
|
|
// 使用 DataPermissionHelper.ignore() 跳过数据权限检查
|
|
|
|
|
|
List<SysUserVo> users = DataPermissionHelper.ignore(() -> |
|
|
|
|
|
sysUserService.selectUserByIds(userIds, null) |
|
|
|
|
|
); |
|
|
|
|
|
if (users != null) { |
|
|
|
|
|
for (SysUserVo user : users) { |
|
|
|
|
|
userMap.put(user.getUserId(), user); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return userMap; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 从映射表填充投诉标记 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillComplaintFlagFromMap(EnforcementRegistrationVo vo, Map<String, Boolean> complaintMap) { |
|
|
|
|
|
boolean hasComplaint = complaintMap.getOrDefault(vo.getId(), false); |
|
|
|
|
|
vo.setComOrOpi(hasComplaint ? 1 : 0); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 填充执法类别文本 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillCheckCategoryText(EnforcementRegistrationVo vo, Map<String, String> dictMap) { |
|
|
|
|
|
if (StringUtils.isNotEmpty(vo.getCheckCategory())) { |
|
|
|
|
|
String text = dictMap.get(vo.getCheckCategory()); |
|
|
|
|
|
if (StringUtils.isNotEmpty(text)) { |
|
|
|
|
|
vo.setCheckCategoryText(text); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 填充执法人员信息 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillLawEnforcerInfo(EnforcementRegistrationVo vo, Map<Long, SysUserVo> userMap) { |
|
|
|
|
|
fillLawEnforcer1(vo, userMap); |
|
|
|
|
|
fillLawEnforcer2(vo, userMap); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 填充执法人员1信息 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillLawEnforcer1(EnforcementRegistrationVo vo, Map<Long, SysUserVo> userMap) { |
|
|
|
|
|
if (StringUtils.isEmpty(vo.getLawEnforcerId())) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
try { |
|
|
|
|
|
Long userId = Long.parseLong(vo.getLawEnforcerId()); |
|
|
|
|
|
SysUserVo user = userMap.get(userId); |
|
|
|
|
|
if (user != null) { |
|
|
|
|
|
String lawCN = buildEnforcerDisplayText(user); |
|
|
|
|
|
vo.setLawEnforcer(lawCN); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (NumberFormatException ignored) { |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 填充执法人员2信息列表 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillLawEnforcer2(EnforcementRegistrationVo vo, Map<Long, SysUserVo> userMap) { |
|
|
|
|
|
List<String> lawTwoList = new ArrayList<>(); |
|
|
|
|
|
if (StringUtils.isEmpty(vo.getLawEnforcerIdTwo())) { |
|
|
|
|
|
vo.setLawEnforcer2List(lawTwoList); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String[] ids = vo.getLawEnforcerIdTwo().split(","); |
|
|
|
|
|
for (String id : ids) { |
|
|
|
|
|
if (StringUtils.isEmpty(id.trim())) { |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
try { |
|
|
|
|
|
Long userId = Long.parseLong(id.trim()); |
|
|
|
|
|
SysUserVo user = userMap.get(userId); |
|
|
|
|
|
if (user != null) { |
|
|
|
|
|
lawTwoList.add(buildEnforcerDisplayText(user)); |
|
|
|
|
|
} |
|
|
|
|
|
} catch (NumberFormatException ignored) { |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
vo.setLawEnforcer2List(lawTwoList); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 构建执法人员展示文本(用户名 + 执法码/加密手机号) |
|
|
|
|
|
*/ |
|
|
|
|
|
private String buildEnforcerDisplayText(SysUserVo user) { |
|
|
|
|
|
if (user == null) { |
|
|
|
|
|
return ""; |
|
|
|
|
|
} |
|
|
|
|
|
String userName = user.getUserName(); |
|
|
|
|
|
String certificateNum = user.getLawCertificateNum(); |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(certificateNum)) { |
|
|
|
|
|
return userName + " " + certificateNum; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String phone = user.getPhonenumber(); |
|
|
|
|
|
if (StringUtils.isNotEmpty(phone)) { |
|
|
|
|
|
return userName + " " + CommonUtil.encryptPhone(phone); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return userName; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 填充超时天数 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void fillOutTimeDayNum(EnforcementRegistrationVo vo) { |
|
|
|
|
|
if (vo.getEnforcementTime() == null) { |
|
|
|
|
|
vo.setOutTimeDayNum(0L); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
Instant instant = vo.getEnforcementTime().toInstant(); |
|
|
|
|
|
ZoneId zoneId = ZoneId.systemDefault(); |
|
|
|
|
|
LocalDate startDate = instant.atZone(zoneId).toLocalDate(); |
|
|
|
|
|
long daysBetween = ChronoUnit.DAYS.between(startDate, LocalDate.now()); |
|
|
|
|
|
vo.setOutTimeDayNum(daysBetween); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|