diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java index 74ba9960..5f1fe540 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnforcementRegistrationController.java @@ -1,13 +1,17 @@ package com.zdxt.enforcementcode.controller.app.enforcement; +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.EnterpriseLawEnforcementBo; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; +import com.zdxt.enforcementcode.domain.vo.EnterpriseEvaluateVo; +import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo; import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; +import com.zdxt.enforcementcode.service.IEnterpriseEvaluateService; import com.zdxt.enforcementcode.service.IEnterpriseLawEnforcementService; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.tags.Tag; @@ -21,14 +25,19 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; 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.vo.SysDeptVo; +import org.dromara.system.domain.vo.SysDictDataVo; +import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.service.ISysDeptService; +import org.dromara.system.service.ISysDictDataService; +import org.dromara.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 执法端-执法登记信息控制器 @@ -45,6 +54,15 @@ public class AppEnforcementRegistrationController extends BaseController { private final ISysDeptService sysDeptService; @Autowired private IEnterpriseLawEnforcementService enterpriseLawEnforcementService; + + @Autowired + private ISysUserService sysUserService; + + @Autowired + private ISysDictDataService sysDictDataService; + + @Autowired + private IEnterpriseEvaluateService enterpriseEvaluateService; /** * 执法端-执法登记新增保存 */ @@ -57,6 +75,17 @@ public class AppEnforcementRegistrationController extends BaseController { } + /** + * 修改保存执法端-执法登记提交 + */ + + @PostMapping("/addSubmit") + @ResponseBody + public R submit(@RequestBody EnforcementRegistrationBo bo) + { + return toAjax(enforcementRegistrationService.updateEnforcementRegistration(bo)); + } + /** * 执法端-查询执法记录-全市-本单位 */ @@ -96,7 +125,6 @@ public class AppEnforcementRegistrationController extends BaseController { public R editSave(@RequestBody EnforcementRegistrationBo bo) { int resNum = 0; - if (StringUtils.isNotEmpty(bo.getId())) { resNum = enforcementRegistrationService.updateEnforcementRegistration(bo); } else { @@ -113,4 +141,287 @@ public class AppEnforcementRegistrationController extends BaseController { } return toAjax(resNum); } + + + /** + * 执法端-联合执法查询补录(用于补录时关联) + * 根据企业统一信用号, 搜索出该企业前推一小时内的联合执法. + * 用于用户自行进行关联 + * @return + */ + @GetMapping("/queryUnionByHour") + public R>> queryUnionByHour(EnforcementRegistrationBo bo) + { + return R.ok(enforcementRegistrationService.queryUnionByHour(bo)); + } + + + /** + * 执法端-查询执法登记详情 + */ + @GetMapping( "/getByIdToDataFillIn") + @ResponseBody + public R getByIdToDataFillIn(String id) + { + EnforcementRegistrationVo vo = enforcementRegistrationService.queryById(id); + return R.ok(vo); + } + + + /** + * 执法端-执法登记详情(含字典回显和执法人员信息) + */ + @GetMapping("/queryById") + @ResponseBody + public R queryById(String id) + { + EnforcementRegistrationVo vo = enforcementRegistrationService.selectEnforcementRegistrationById(id); + if (null != vo) { + // 执法人员1需要展示用户名+执法码 + SysUserVo sysUserVo = sysUserService.selectUserById(Long.valueOf(vo.getLawEnforcerId())); + if(sysUserVo != null){ + String lawCN = sysUserVo.getUserName() +" "+sysUserVo.getLawCertificateNum(); + if(StringUtils.isEmpty(sysUserVo.getLawCertificateNum())){ + lawCN= sysUserVo.getUserName() +" "+ CommonUtil.encryptPhone(sysUserVo.getPhonenumber()); + } + vo.setLawEnforcer(lawCN); + } + + // 执法人员2需要展示用户名+执法码 + List sysUserVos = new ArrayList<>(); + if (StringUtils.isNotEmpty(vo.getLawEnforcerIdTwo())) { + String[] ids = vo.getLawEnforcerIdTwo().split(","); + List userIds = new ArrayList<>(); + for (String strid : ids) { + if (StringUtils.isNotEmpty(strid.trim())) { + userIds.add(Long.parseLong(strid.trim())); + } + } + if (!userIds.isEmpty()) { + sysUserVos = sysUserService.selectUserByIds(userIds, null); + } + } + String tmpUserShow = ""; + for (SysUserVo ub : sysUserVos) { + String temp = ub.getLawCertificateNum(); + if(StringUtils.isEmpty(temp)){ + temp=CommonUtil.encryptPhone(ub.getPhonenumber()); + } + + tmpUserShow += ub.getUserName() +" "+ temp + ","; + } + if (tmpUserShow.length() > 0) { + tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length()-1); + } + vo.setLawEnforcer2Show(tmpUserShow); + + // 字典回显 + SysDictDataBo dictParams = new SysDictDataBo(); + // 执法领域 + if (StringUtils.isNotEmpty(vo.getLawField())) { + dictParams.setDictType("law_field"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(vo.getLawField())) { + vo.setLawFieldText(d.getDictLabel()); + break; + } + } + } + // 执法类别 + if (StringUtils.isNotEmpty(vo.getCheckCategory())) { + dictParams.setDictType("check_category"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(vo.getCheckCategory())) { + vo.setCheckCategoryText(d.getDictLabel()); + break; + } + } + } + // 执法类别 + if (StringUtils.isNotEmpty(vo.getLawEnforceCategory())) { + dictParams.setDictType("law_enforce_category"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(vo.getLawEnforceCategory())) { + vo.setLawEnforceCategoryText(d.getDictLabel()); + break; + } + } + } + }else { + return R.fail("数据不存在"); + } + return R.ok(vo); + } + + + /** + * 执法端-执法登记详情-联合执法版本 + */ + @GetMapping("/queryUniteById") + public R> queryUniteById(String id) + { + List regResults = new ArrayList<>(); + List lawResults = new ArrayList<>(); + // 先获取登记数据 - 获取批次id + EnforcementRegistrationVo vo = enforcementRegistrationService.selectEnforcementRegistrationById(id); + // 通过联合执法的批次id获取整个批次的联合执法 (查询详情这里不需要获取联合执法信息, 暂时先禁了, 省点性能) + if (false && StringUtils.isNotEmpty(vo.getUnionNo()) && 1 == vo.getHasUnion()) { + // 已登记联合检查 + EnforcementRegistrationBo bo = new EnforcementRegistrationBo(); +// regRarams.setUniteCheck(enforcementRegistration.getUniteCheck()); + bo.setUnionNo((vo.getUnionNo())); + regResults = enforcementRegistrationService.selectEnforcementRegistrationList(bo, null); + // 预约未登记的 (预约没要联合检查了) + EnterpriseLawEnforcementBo lawRarams = new EnterpriseLawEnforcementBo(); + lawRarams.setUniteCheck(vo.getUniteCheck()); + lawRarams.setIsReg(0L); + lawResults = enterpriseLawEnforcementService.queryList(lawRarams); + } else { + regResults.add(vo); + } + + //查询行政检查评价 + EnterpriseEvaluateVo enterpriseEvaluateVo = new EnterpriseEvaluateVo(); + if (StringUtils.isNotEmpty(regResults.get(0).getUnionNo())) { + enterpriseEvaluateVo = enterpriseEvaluateService.selectEnterpriseEvaluateByUniteCheck(regResults.get(0).getUnionNo()); + } else { + enterpriseEvaluateVo = enterpriseEvaluateService.selectEnterpriseEvaluateByRelId(regResults.get(0).getId()); + } + + for (EnforcementRegistrationVo reg : regResults) { + // 执法人员1需要展示用户名+执法码 没有执法码展示加密手机号 + SysUserVo sysUserVo = sysUserService.selectUserById(Long.valueOf(vo.getLawEnforcerId())); + if (sysUserVo != null){ + String lawCN = sysUserVo.getUserName() +" "+sysUserVo.getLawCertificateNum(); + if(StringUtils.isEmpty(sysUserVo.getLawCertificateNum())){ + lawCN=sysUserVo.getUserName() +" "+ CommonUtil.encryptPhone(sysUserVo.getPhonenumber()); + } + reg.setLawEnforcer(lawCN); + } + + + // 执法人员2需要展示用户名+执法码 没有执法码展示加密手机号 + List sysUserVos = new ArrayList<>(); + if (StringUtils.isNotEmpty(vo.getLawEnforcerIdTwo())) { + String[] ids = vo.getLawEnforcerIdTwo().split(","); + List userIds = new ArrayList<>(); + for (String strid : ids) { + if (StringUtils.isNotEmpty(strid.trim())) { + userIds.add(Long.parseLong(strid.trim())); + } + } + if (!userIds.isEmpty()) { + sysUserVos = sysUserService.selectUserByIds(userIds, null); + } + } + String tmpUserShow = ""; + for (SysUserVo ub : sysUserVos) { + String temp = ub.getLawCertificateNum(); + if(StringUtils.isEmpty(temp)){ + temp= CommonUtil.encryptPhone(ub.getPhonenumber()); + } + tmpUserShow += ub.getUserName() +" "+ temp + ","; + } + if (tmpUserShow.length() > 0) { + tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length()-1); + } + reg.setLawEnforcer2Show(tmpUserShow); + + // 字典回显 + SysDictDataBo dictParams = new SysDictDataBo(); + // 执法领域 + if (StringUtils.isNotEmpty(reg.getLawField())) { + dictParams.setDictType("law_field"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(reg.getLawField())) { + reg.setLawFieldText(d.getDictLabel()); + break; + } + } + } + // 任务来源 + if (StringUtils.isNotEmpty(reg.getCheckCategory())) { + dictParams.setDictType("check_category"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(reg.getCheckCategory())) { + reg.setCheckCategoryText(d.getDictLabel()); + break; + } + } + } + + // 执法类别 + if (StringUtils.isNotEmpty(reg.getLawEnforceCategory())) { + dictParams.setDictType("law_enforce_category"); + List dicts = sysDictDataService.selectDictDataList(dictParams); + for (SysDictDataVo d : dicts) { + if (d.getDictValue().equals(reg.getLawEnforceCategory())) { + reg.setLawEnforceCategoryText(d.getDictLabel()); + break; + } + } + } + reg.setEnterpriseEvaluateVo(enterpriseEvaluateVo); + } + + for (EnterpriseLawEnforcementVo law : lawResults) { + // 执法人员1需要展示用户名+执法码 + List userBeans1 = new ArrayList<>(); + if (StringUtils.isNotEmpty(law.getLawEnforcerId())) { + String[] ids = law.getLawEnforcerId().split(","); + List userIds = new ArrayList<>(); + for (String strid : ids) { + if (StringUtils.isNotEmpty(strid.trim())) { + userIds.add(Long.parseLong(strid.trim())); + } + } + if (!userIds.isEmpty()) { + userBeans1 = sysUserService.selectUserByIds(userIds, null); + } + } + String tmpUserShow1 = ""; + for (SysUserVo ub : userBeans1) { + String lawCertificateNum = StringUtils.isEmpty(ub.getLawCertificateNum()) ? "" : ub.getLawCertificateNum(); + tmpUserShow1 += ub.getUserName() + " " + lawCertificateNum + ","; + } + if (tmpUserShow1.length() > 0) { + tmpUserShow1 = tmpUserShow1.substring(0, tmpUserShow1.length() - 1); + } + law.setLawEnforcer(tmpUserShow1); + + // 执法人员2需要展示用户名+执法码 + List userBeans2 = new ArrayList<>(); + if (StringUtils.isNotEmpty(law.getLawEnforcerTwoId())) { + String[] ids = law.getLawEnforcerTwoId().split(","); + List userIds = new ArrayList<>(); + for (String strid : ids) { + if (StringUtils.isNotEmpty(strid.trim())) { + userIds.add(Long.parseLong(strid.trim())); + } + } + if (!userIds.isEmpty()) { + userBeans2 = sysUserService.selectUserByIds(userIds, null); + } + } + String tmpUserShow2 = ""; + for (SysUserVo ub : userBeans2) { + String lawCertificateNum = StringUtils.isEmpty(ub.getLawCertificateNum()) ? "" : ub.getLawCertificateNum(); + tmpUserShow2 += ub.getUserName() + " " + lawCertificateNum + ","; + } + if (tmpUserShow2.length() > 0) { + tmpUserShow2 = tmpUserShow2.substring(0, tmpUserShow2.length() - 1); + } + law.setLawEnforcer2Show(tmpUserShow2); + } + Map result = new HashMap<>(); + result.put("regResults", regResults); + result.put("lawResults", lawResults); + return R.ok(result); + } + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java index c260d8b8..4cd39cca 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnforcementRegistrationBo.java @@ -302,14 +302,12 @@ public class EnforcementRegistrationBo extends BaseEntity { /** * 开始时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date beginTime; + private String beginTime; /** * 结束时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") - private Date endTime; + private String endTime; private String numLeft; private String numRight; diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java index cc2298ca..cd718498 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnforcementRegistrationVo.java @@ -397,8 +397,15 @@ public class EnforcementRegistrationVo implements Serializable { * 行政执法评价 */ private EnterpriseEvaluate enterpriseEvaluate; + private EnterpriseEvaluateVo enterpriseEvaluateVo; private int listCount; private List list; + // 用来展示执法人员名称 - 执法编码的 (拼接字符串) + private String lawEnforcer2Show; + + private String checkCategoryText; + private String lawFieldText; + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseLawEnforcementVo.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseLawEnforcementVo.java index 14eafc44..584c7efb 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseLawEnforcementVo.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/vo/EnterpriseLawEnforcementVo.java @@ -61,7 +61,7 @@ public class EnterpriseLawEnforcementVo implements Serializable { private String enterpriseName; /** - * + * */ @ExcelProperty(value = "") private Date checkTime; @@ -85,13 +85,13 @@ public class EnterpriseLawEnforcementVo implements Serializable { private String remark; /** - * + * */ @ExcelProperty(value = "") private String userId; /** - * + * */ @ExcelProperty(value = "") private String deptId; @@ -163,61 +163,61 @@ public class EnterpriseLawEnforcementVo implements Serializable { private Long isSubmit; /** - * + * */ @ExcelProperty(value = "") private String uniteCheck; /** - * + * */ @ExcelProperty(value = "") private Long isUnite; /** - * + * */ @ExcelProperty(value = "") private Long isReg; /** - * + * */ @ExcelProperty(value = "") private Long mainDeputyOrder; /** - * + * */ @ExcelProperty(value = "") private String tmpDeptJson; /** - * + * */ @ExcelProperty(value = "") private String checkItemText; /** - * + * */ @ExcelProperty(value = "") private String checkRequireText; /** - * + * */ @ExcelProperty(value = "") private String bureauDeptId; /** - * + * */ @ExcelProperty(value = "") private String bureauDeptName; /** - * + * */ @ExcelProperty(value = "") private Long checkTimeOrder; @@ -234,5 +234,7 @@ public class EnterpriseLawEnforcementVo implements Serializable { @ExcelProperty(value = "执法时间 结束时段") private String checkHourEnd; + // 用来展示执法人员名称 - 执法编码的 + private String lawEnforcer2Show; } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java index 95885da9..eee138d6 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnforcementRegistrationMapper.java @@ -34,16 +34,13 @@ public interface EnforcementRegistrationMapper extends BaseMapperPlus selectEnforcementRegistrationByUnion(EnforcementRegistration enforcementRegistration); + List selectEnforcementRegistrationByUnion(EnforcementRegistrationBo bo); + int outTimeByUnion(EnforcementRegistrationBo bo); /** * 修改执法端-执法登记 - * - * @param enforcementRegistration 执法端-执法登记 * @return 结果 */ int updateEnforcementRegistration(EnforcementRegistrationBo bo); @@ -51,8 +48,6 @@ public interface EnforcementRegistrationMapper extends BaseMapperPlus> queryUnionByHour(EnforcementRegistrationBo bo); + + /** + * 执法端-查询执法登记详情 + * @param id + * @return + */ + EnforcementRegistrationVo selectEnforcementRegistrationById(String id); } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseEvaluateService.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseEvaluateService.java index ee29dac8..136c5702 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseEvaluateService.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseEvaluateService.java @@ -69,4 +69,7 @@ public interface IEnterpriseEvaluateService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + EnterpriseEvaluateVo selectEnterpriseEvaluateByUniteCheck(String uniteCheck); + EnterpriseEvaluateVo selectEnterpriseEvaluateByRelId(String relId); + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java index 2f67a073..1c84737c 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnforcementRegistrationServiceImpl.java @@ -2,13 +2,11 @@ package com.zdxt.enforcementcode.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.zdxt.enforcementcode.common.annotation.DataScope; -import com.zdxt.enforcementcode.common.util.CommonUtil; import com.zdxt.enforcementcode.domain.*; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationBo; import com.zdxt.enforcementcode.domain.bo.EnforcementRegistrationQueryBo; @@ -18,7 +16,6 @@ import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationInfo import com.zdxt.enforcementcode.domain.vo.enterprise.EnforcementRegistrationListVo; import com.zdxt.enforcementcode.domain.vo.enterprise.EnterpriseEvaluateInfoVo; import com.zdxt.enforcementcode.mapper.*; -import com.zdxt.enforcementcode.service.IEnterpriseEvaluateService; import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -36,14 +33,15 @@ import org.dromara.system.domain.vo.SysDictDataVo; import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.service.ISysDictTypeService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zdxt.enforcementcode.domain.vo.EnforcementRegistrationVo; import com.zdxt.enforcementcode.service.IEnforcementRegistrationService; import java.time.Instant; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -501,9 +499,9 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat if (!raw_data.getUnionNo().equals(bo.getUnionNo())) { // 如果改变, 这通过原联合code查出已联合数量, 数量>2则无需修改他人数据, 2<=则将他人的联合标签hasUnion设为0 // 获取出原联合执法的数据列 - EnforcementRegistration er = new EnforcementRegistration(); - er.setUnionNo(raw_data.getUnionNo()); - List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(er); + //EnforcementRegistration er = new EnforcementRegistration(); + bo.setUnionNo(raw_data.getUnionNo()); + List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(bo); if (raw_unions.size() <= 2) { // 将原自身 union_no 清空 将所有关联的 has_union 置 0 bo.setUnionNo("-1"); @@ -612,19 +610,14 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat * @param id 执法端-执法登记ID * @return 执法端-执法登记 */ + @Override public EnforcementRegistrationVo selectEnforcementRegistrationById(String id) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EnforcementRegistration::getId, id); EnforcementRegistrationVo vo = baseMapper.selectVoOne(queryWrapper); - if(vo.getLawEnforcerId() != null){ - vo.setLawEnforcer(vo.getLawEnforcer()); - } - if(vo.getLawEnforcerIdTwo() != null){ - vo.setLawEnforcerTwo(vo.getLawEnforcerTwo()); - } - if(vo.getSubsidiaryerId() != null){ - vo.setSubsidiaryer(vo.getSubsidiaryer()); + if(vo == null){ + return null; } if(StrUtil.isNotEmpty(vo.getLawEnforcementItem())) { LinkageDict linkageDict = linkageDictMapper.selectLinkageDictById(vo.getLawEnforcementItem()); @@ -674,9 +667,8 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat if (!raw_data.getUnionNo().equals(bo.getUnionNo())) { // 如果改变, 这通过原联合code查出已联合数量, 数量>2则无需修改他人数据, 2<=则将他人的联合标签hasUnion设为0 // 获取出原联合执法的数据列 - EnforcementRegistration er = new EnforcementRegistration(); - er.setUnionNo(raw_data.getUnionNo()); - List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(er); + bo.setUnionNo(raw_data.getUnionNo()); + List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(bo); if (raw_unions.size() <= 2) { // 将原自身 union_no 清空 将所有关联的 has_union 置 0 bo.setUnionNo("-1"); @@ -689,9 +681,8 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat } } } else { - EnforcementRegistration er = new EnforcementRegistration(); - er.setUnionNo(raw_data.getUnionNo()); - List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(er); + bo.setUnionNo(raw_data.getUnionNo()); + List raw_unions = baseMapper.selectEnforcementRegistrationByUnion(bo); if (raw_unions.size() <= 2) { // 将原自身 union_no 清空 将所有关联的 has_union 置 0 bo.setUnionNo("-1"); @@ -759,5 +750,82 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat return i; } + /** + * 执法端-查询联合执法 + */ + @Override + public List> queryUnionByHour(EnforcementRegistrationBo bo) { + // 定义时间格式 + DateTimeFormatter time_formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + // 获取当前时间 + LocalDateTime now_tmp = LocalDateTime.now(); + // 正常登记为一个小时范围, 补录为为单天 + if ("edit".equals(bo.getCheckCss())) { + if (bo.getEnforcementTime() == null) { + throw new IllegalArgumentException("编辑模式下,执法时间不能为空"); + } + bo.setCheckCss(null); + LocalDateTime dateTime = bo.getEnforcementTime().toInstant() + .atZone(java.time.ZoneId.systemDefault()) + .toLocalDateTime(); + + //LocalDateTime dateTime = LocalDateTime.parse((CharSequence) bo.getEnforcementTime(), time_formatter); + // 获取登记前一个小时的时间 + LocalDateTime oneHourAgo_tmp = dateTime.minusHours(1); + LocalDateTime oneHourLater_tmp = dateTime.plusHours(1); + // 格式化时间 + String oneHourAgo = oneHourAgo_tmp.format(time_formatter); + String oneHourLater = oneHourLater_tmp.format(time_formatter); + bo.setBeginTime(oneHourAgo); + bo.setEndTime(oneHourLater); + } else { + // 获取当前时间前一个小时的时间 + LocalDateTime oneHourAgo_tmp = now_tmp.minusHours(1); + LocalDateTime oneHourLater_tmp = now_tmp.plusHours(1); + // 格式化时间 + String oneHourAgo = oneHourAgo_tmp.format(time_formatter); + String oneHourLater = oneHourLater_tmp.format(time_formatter); + bo.setBeginTime(oneHourAgo); + bo.setEndTime(oneHourLater); + } + + // 可能会出现 同一时间 多组人, 多组联合执法 , 所以新增的时候还是需要生成联合执法id , + List enforcementRegistrations = baseMapper.selectEnforcementRegistrationByUnion(bo); + + /** 进行时间筛选, 按需求,查询出来的联合编码想通的时间最早的必须在规定的时间范围类, 否则踢出列表 */ + // 先把联合编码做成set + Set noSet = enforcementRegistrations.stream().map(EnforcementRegistration::getUnionNo).collect(Collectors.toSet()); + List outNos = new ArrayList<>(); + for (String no: noSet) { + bo.setUnionNo(no); + int resNum = baseMapper.outTimeByUnion(bo); + if (resNum > 0) { + outNos.add(no); + } + } + // 使用迭代器移除enforcementRegistrations中unionNo在outNo中存在的对象 + Iterator iterator = enforcementRegistrations.iterator(); + while (iterator.hasNext()) { + EnforcementRegistration obj = iterator.next(); + if (outNos.contains(obj.getUnionNo())) { + iterator.remove(); + } + } + + // 分组操作 + Map> groupedByNo = enforcementRegistrations.stream() + .collect(Collectors.groupingBy(EnforcementRegistration::getUnionNo)); + // 转换为 List> + List> result = new ArrayList<>(); + for (Map.Entry> entry : groupedByNo.entrySet()) { + Map map = new HashMap<>(); + for (EnforcementRegistration e : entry.getValue()) { + map.put(e.getId(), e); + } + result.add(map); + } + return result; + } } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java index 7a7cb9e5..0857df49 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java +++ b/zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseEvaluateServiceImpl.java @@ -175,4 +175,20 @@ public class EnterpriseEvaluateServiceImpl implements IEnterpriseEvaluateService } return baseMapper.deleteByIds(ids) > 0; } + + @Override + public EnterpriseEvaluateVo selectEnterpriseEvaluateByUniteCheck(String uniteCheck) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(EnterpriseEvaluate::getBatchId, uniteCheck); + return baseMapper.selectVoOne(lqw); + } + + @Override + public EnterpriseEvaluateVo selectEnterpriseEvaluateByRelId(String relId) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(EnterpriseEvaluate::getEnforcementId, relId); + return baseMapper.selectVoOne(lqw); + } + + } diff --git a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml index 0f1eb230..209d0b18 100644 --- a/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml +++ b/zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnforcementRegistrationMapper.xml @@ -113,7 +113,7 @@ enterprise_address, district, street - from + from enforcement_registration @@ -241,6 +241,20 @@ order by enforcement_time desc + + update enforcement_registration