From df7d2e1113b540ccb3600b3cdc9155bf7186e8fb Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期二, 20 五月 2025 14:18:31 +0800 Subject: [PATCH] 执法单企业信息后台填充 --- project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java | 172 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 130 insertions(+), 42 deletions(-) diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java index f6e32bf..556acfd 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java @@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.annotation.DataScope; import com.project.common.core.domain.entity.SysUser; +import com.project.common.core.domain.model.DateRange; import com.project.common.enums.OrderPre; import com.project.common.exception.base.BaseException; -import com.project.common.utils.DateUtils; -import com.project.common.utils.JsonUtils; -import com.project.common.utils.SecurityUtils; -import com.project.common.utils.StringUtils; +import com.project.common.utils.*; import com.project.enforce.domain.*; import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo; import com.project.enforce.domain.bo.editBo.EnforceOrderBo; @@ -19,11 +17,14 @@ import com.project.enforce.domain.bo.editBo.OrderResultBo; import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo; import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo; +import com.project.enforce.domain.vo.EnforceDistinctVo; import com.project.enforce.domain.vo.EnforceEvaluateVo; import com.project.enforce.domain.vo.EnforceOrderVo; import com.project.enforce.domain.vo.OrderNodeVo; import com.project.enforce.mapper.EnforceOrderMapper; import com.project.enforce.service.*; +import com.project.system.domain.SysCompany; +import com.project.system.service.ISysCompanyService; import com.project.system.service.ISysDeptService; import com.project.system.service.ISysOrderNoService; import com.project.system.service.ISysUserService; @@ -34,6 +35,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedList; import java.util.List; /** @@ -53,23 +55,83 @@ private final IEnforceComplaintLogService complaintLogService; private final IEnforceEvaluateLogService evaluateLogService; private final YPSmsService smsService; + private final EnforceOrderMapper orderMapper; + private final ISysCompanyService companyService; /** * 閫氱敤鍒楄〃-鏃犳潈闄� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override public List<EnforceOrderVo> queryCommonList(EnforceOrderQueryBo bo) { QueryWrapper<EnforceOrder> qw = getQw(bo); + + List<EnforceOrder> list = this.list(qw); return Convert.toList(EnforceOrderVo.class , list); } + @Override + public Integer getDistinctCompanyNum() { + return orderMapper.getDistinctCompanyNum(); + } + + /** + * 浼佷笟纭鎵ф硶鍗� + * @param orderId 璁㈠崟id + * @return 缁撴灉 + */ + @Override + @Transactional + public Boolean confirm(Long orderId) + { + EnforceOrder order = this.getById(orderId); + if (order.getOrderStatus()!=4){ + throw new BaseException("璇峰緟鎵ф硶閮ㄩ棬涓婃姤缁撴灉鍚庣‘璁わ紒"); + } + order.setOrderStatus(5); + order.setConfirmTime(DateUtils.getNowDate()); + return this.updateById(order); + } + + @Override + @Transactional + public Integer executeEnforceOrderWarn() + { + List<EnforceOrder> updList = new LinkedList<>(); + //鍚屼竴澶╅噸澶嶆墽娉� + List<EnforceDistinctVo> list =baseMapper.selectDistinctCheckDeptIdAndCompanyId(); + if (StringUtils.isNotEmpty(list)){ + for (EnforceDistinctVo distinctVo : list) { + List<EnforceOrder> orderList = this.list(lq() + .eq(EnforceOrder::getCompanyId, distinctVo.getCompanyId()) + .eq(EnforceOrder::getCheckDeptId, distinctVo.getCheckDeptId()) + .like(EnforceOrder::getApplyTime, distinctVo.getApplyTimeStr()) + .orderByDesc(EnforceOrder::getApplyTime) + ); + if (StringUtils.isNotEmpty(orderList)){ + List<EnforceOrder> enforceOrders = orderList.subList(0, orderList.size() - 1); + enforceOrders.forEach(order->{order.setWarnStatus(1);order.setWarnReason("鍚屼竴澶╁唴瀵瑰悓涓�浼佷笟閲嶅鎵ф硶");}); + updList.addAll(enforceOrders); + } + } + } + if (StringUtils.isNotEmpty(updList)){ + this.updateBatchById(updList); + } + return updList.size(); + } + + public static void main(String[] args) { + DateRange todayRange = DateUtils.getTodayRange(); + System.out.println(todayRange); + } + /** * 浼佷笟鎵ф硶鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -78,12 +140,14 @@ QueryWrapper<EnforceOrder> qw = getQw(bo); qw.ge("order_status",2); List<EnforceOrder> list = this.list(qw); - return Convert.toList(EnforceOrderVo.class , list); + List<EnforceOrderVo> vos = Convert.toList(EnforceOrderVo.class, list); + vos.forEach(SensitiveUtil::desensitize); + return vos; } /** * 鎵ф硶鐢宠鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -98,7 +162,7 @@ /** * 鎵ф硶鎵ц鍗曞垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -112,26 +176,26 @@ /** * 寰呭鏍稿垪琛� - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override public List<EnforceOrderVo> queryCheckList(EnforceOrderQueryBo bo) { - SysUser loginUser = SecurityUtils.getLoginUser().getUser(); + SysUser loginUser = userService.selectUserById(SecurityUtils.getUserId()); bo.setCheckIds(loginUser.getPhonenumber()); - List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()); - if (StringUtils.isNotEmpty(deptIds)){ - bo.setApplyDeptIds(deptIds); - } else { - bo.setApplyDeptIds(null); - } +// List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()); +// if (StringUtils.isNotEmpty(deptIds)){ +// bo.setApplyDeptIds(deptIds); +// } else { +// bo.setApplyDeptIds(null); +// } return this.baseMapper.selectCheckList(bo); } /** * 瀹℃壒璁板綍鍒楄〃 - * @param bo 鍙傛暟 + * @param bo 鍙傛暟 * @return 鍒楄〃 */ @Override @@ -151,9 +215,11 @@ { List<EnforceOrder> list = this.list(lq() .eq(EnforceOrder::getIsShow, 1) - .eq(EnforceOrder::getOrderStatus, 4) + .ge(EnforceOrder::getOrderStatus, 4) ); - return Convert.toList(EnforceOrderVo.class, list); + List<EnforceOrderVo> vos = Convert.toList(EnforceOrderVo.class, list); + vos.forEach(SensitiveUtil::desensitize); + return vos; } /** @@ -171,15 +237,18 @@ if (one!=null){ String questionStatic = one.getQuestionStatic(); if (StringUtils.isNotEmpty(questionStatic)){ + EnforceEvaluateVo evaluateVo = Convert.convert(EnforceEvaluateVo.class, one); try { - EnforceEvaluateVo evaluateVo = JsonUtils.jsonToPojo(questionStatic, EnforceEvaluateVo.class); - vo.setEvaluateVo(evaluateVo); + List<EnforceEvaluateQuestion> questions = JsonUtils.jsonToList(questionStatic, EnforceEvaluateQuestion.class); + evaluateVo.setQuestionList(questions); } catch (Exception e) { throw new BaseException("璇勪环闂埜瑙f瀽寮傚父锛�"); } + vo.setEvaluateVo(evaluateVo); } } } + SensitiveUtil.desensitize(vo); return vo; } @@ -196,6 +265,9 @@ validEntityBeforeSave(add); List<String> phones = getCheckPhones(add.getCheckLevel(), add.getApplyDeptId()); if (StringUtils.isNotEmpty(phones)){ + int checkLevel = Integer.parseInt(phones.get(0)); + add.setCheckLevel(checkLevel); + phones.remove(0); String checkPhones = StringUtils.join(phones, ","); add.setCheckIds(checkPhones); } @@ -252,7 +324,7 @@ @Override public List<String> getCheckPhones(Integer checkLevel, Long applyDeptId) { - return getCheckPhones(checkLevel, applyDeptId, 0); + return getCheckPhonesSimple(checkLevel, applyDeptId); } @Override @@ -264,24 +336,27 @@ .eq(EnforceCheckLog::getOrderId, orderId).orderByAsc(EnforceCheckLog::getCheckTime) ); if (order.getApplyTime()!=null){ - vos.add(new OrderNodeVo("鎻愪氦鐢宠",order.getApplyUser(),order.getApplyTime(), null)); + vos.add(new OrderNodeVo("鎻愪氦鐢宠",order.getApplyUser(),order.getApplyDeptName(),order.getApplyTime(), null)); } if (StringUtils.isNotEmpty(checkLogs)){ for (EnforceCheckLog checkLog : checkLogs) { + if (checkLog.getCheckStatus()>0){ - vos.add(new OrderNodeVo("瀹℃壒閫氳繃",checkLog.getCheckUser(),checkLog.getCheckTime(), null)); + vos.add(new OrderNodeVo("瀹℃壒閫氳繃",checkLog.getCheckUser(),userService.getDeptNameByUserId(checkLog.getCheckId()),checkLog.getCheckTime(), null)); } else { - vos.add(new OrderNodeVo("瀹℃壒鎷掔粷",checkLog.getCheckUser(),checkLog.getCheckTime(), checkLog.getCheckReason())); + vos.add(new OrderNodeVo("瀹℃壒鎷掔粷",checkLog.getCheckUser(),userService.getDeptNameByUserId(checkLog.getCheckId()),checkLog.getCheckTime(), checkLog.getCheckReason())); } } } if (order.getInTime()!=null){ - vos.add(new OrderNodeVo("鎵爜鍏ヤ紒",order.getExecuteUser(),order.getInTime(), null)); + vos.add(new OrderNodeVo("鎵爜鍏ヤ紒",order.getExecuteUser(),order.getExecuteDeptName(),order.getInTime(), null)); } if (order.getExecuteTime()!=null){ - vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),order.getExecuteTime(), null)); + vos.add(new OrderNodeVo("缁撴灉涓婃姤",order.getExecuteUser(),order.getExecuteDeptName(),order.getExecuteTime(), null)); } - + if (order.getConfirmTime()!=null){ + vos.add(new OrderNodeVo("浼佷笟纭",order.getCompanyUser(),order.getCompanyName(),order.getConfirmTime(), null)); + } return vos; } @@ -297,11 +372,17 @@ public Boolean doScanOrder(Long orderId) { EnforceOrder order = this.getById(orderId); + if (order.getOrderStatus()<2){ + throw new BaseException("鎵ф硶鍗曡繕鏈鎵癸紒"); + } + if (order.getOrderStatus()>2){ + throw new BaseException("鎵ф硶鍗曞凡纭鎵ф硶锛�"); + } order.setOrderStatus(3); - SysUser user = SecurityUtils.getLoginUser().getUser(); + SysUser user = userService.selectUserById(SecurityUtils.getUserId()); order.setExecuteId(user.getUserId()); order.setExecuteUser(user.getNickName()); - order.setExecutePhone(user.getRecommendPhone()); + order.setExecutePhone(user.getPhonenumber()); order.setExecuteDeptId(user.getDeptId()); order.setExecuteDeptName(deptService.getDeptAllName(user.getDeptId())); order.setInTime(DateUtils.getNowDate()); @@ -318,7 +399,6 @@ if (StringUtils.isEmpty(resultBo.getRegionReason())){ throw new BaseException("璇峰~鍐欐墽娉曠粨鏋滆鏄�"); } - return this.update(lu() .set(resultBo.getRegionStatus()!=null, EnforceOrder::getRegionStatus, resultBo.getRegionStatus()) .set(StringUtils.isNotEmpty(resultBo.getRegionReason()), EnforceOrder::getRegionReason, resultBo.getRegionReason()) @@ -326,6 +406,7 @@ .set(StringUtils.isNotEmpty(resultBo.getRegionVideos()), EnforceOrder::getRegionVideos, resultBo.getRegionVideos()) .set( EnforceOrder::getOrderStatus, 4) .set( EnforceOrder::getExecuteTime, DateUtils.getNowDate()) + .eq( EnforceOrder::getOrderId, resultBo.getOrderId()) ); } @@ -343,6 +424,9 @@ throw new BaseException("璇峰~鍐欐姇璇夊唴瀹癸紒"); } EnforceOrder order = this.getById(bo.getOrderId()); + if (order.getOrderStatus()!=4){ + throw new BaseException("鎵ф硶鍗曟湭涓婃姤鎵ф硶缁撴灉锛�"); + } //娣诲姞鎶曡瘔璁板綍 EnforceComplaintLogBo complaintLogBo = Convert.convert(EnforceComplaintLogBo.class, order); complaintLogBo.setComplaintType(bo.getComplaintType()); @@ -378,6 +462,13 @@ //淇濆瓨鍓嶆牎楠� private void validEntityBeforeSave(EnforceOrder entity) { + if (entity.getCompanyId()!=null){ + SysCompany company = companyService.getById(entity.getCompanyId()); + entity.setCompanyName(company.getCompanyName()); + entity.setCompanyCode(company.getCompanyCode()); + entity.setCompanyUser(company.getCompanyUser()); + entity.setCompanyPhone(company.getCompanyPhone()); + } if (entity.getOrderId()==null){ String orderNo = orderNoService.getOrderNo(OrderPre.ZFD.getIndex()); entity.setOrderNo(orderNo); @@ -444,6 +535,8 @@ qw.eq(bo.getIsShow() != null, "is_show", bo.getIsShow()); qw.eq(bo.getIsEva() != null, "is_eva", bo.getIsEva()); qw.eq(bo.getTotalScore() != null, "total_score", bo.getTotalScore()); + qw.ge(StringUtils.isNotEmpty(bo.getBeginTime()), "in_time", bo.getBeginTime()); + qw.le(StringUtils.isNotEmpty(bo.getEndTime()), "in_time", bo.getEndTime()); if (StringUtils.isNotEmpty(bo.getIsAsc()) && StringUtils.isNotEmpty(bo.getOrderByColumn())){ if ("acs".equals(bo.getIsAsc())) { qw.orderByAsc(bo.getOrderByColumn()); @@ -460,24 +553,19 @@ * @param checkLevel 瀹℃壒绾у埆锛氶粯璁�0 * @param deptId 鐢宠閮ㄩ棬id */ - private List<String> getCheckPhones(Integer checkLevel, Long deptId, int current) + private List<String> getCheckPhonesSimple(Integer checkLevel, Long deptId) { if (checkLevel==3){ - if (current==1){ - return null; - } - checkLevel = 0; - deptId = deptService.selectDeptById(deptId).getParentId(); - current++; - getCheckPhones(checkLevel, deptId, current); + return null; } - checkLevel++; String checkKey = "check_enforce_"; List<String> phones = userService.getPhonesByRoleKey(checkKey + checkLevel, deptId); if (StringUtils.isNotEmpty(phones)){ + phones.add(0,checkLevel.toString()); return phones; } - return getCheckPhones(checkLevel, deptId, current); + checkLevel ++; + return getCheckPhonesSimple(checkLevel, deptId); } -- Gitblit v1.9.1