From be649a182a10a25a834f137576b28c3f7de03c64 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期二, 03 九月 2024 11:08:52 +0800 Subject: [PATCH] 审批企业状态 --- project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java | 130 +++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 36 deletions(-) diff --git a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java index b3cb883..343266d 100644 --- a/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java +++ b/project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.convert.Convert; import com.project.common.core.domain.entity.SysUser; import com.project.common.exception.base.BaseException; +import com.project.common.utils.DateUtils; import com.project.common.utils.SecurityUtils; import com.project.common.utils.StringUtils; import com.project.enforce.domain.EnforceCheckLog; @@ -12,6 +13,7 @@ import com.project.enforce.service.IEnforceOrderService; import com.project.system.domain.SysCompany; import com.project.system.domain.bo.editBo.CheckBo; +import com.project.system.domain.bo.editBo.SysCompanyBo; import com.project.system.service.ISysCompanyService; import com.project.system.service.ISysUserService; import lombok.RequiredArgsConstructor; @@ -33,52 +35,107 @@ public class CheckServiceImpl implements ICheckService { + private final ISysUserService userService; private final ISysCompanyService companyService; private final IEnforceOrderService orderService; private final IEnforceCheckLogService checkLogService; - private final ISysUserService userService; + private final YPSmsService smsService; @Override @Transactional public Boolean checkOrder(CheckBo bo) { + if (StringUtils.isEmpty(bo.getIds())){ + throw new BaseException("璇烽�夋嫨瑕佸鎵圭殑鍗曟嵁锛�"); + } switch (bo.getCheckType()) { case 1: - SysCompany company = companyService.getById(bo.getId()); - if (company==null) { - throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); - } - if (bo.getCheckStatus()== -1){ - company.setCheckStatus(-1); - } else { - company.setCheckStatus(2); - } - addCheckLog(company, bo); - company.setCheckReason(bo.getCheckReason()); - return companyService.updateById(company); - case 2: - EnforceOrder order = orderService.getById(bo.getId()); - if (order==null) { - throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); - } - addCheckLog(order, bo); - if (bo.getCheckStatus()==-1){ - order.setCheckStatus(-1); - } else { - String roleKey = "check_enforce_" + (order.getCheckLevel() + 1); - List<Long> ids = userService.getNumByRoleKey(roleKey, order.getCheckDeptId()); - if (StringUtils.isNotEmpty(ids)){ - order.setCheckStatus(1); - } else { - order.setCheckStatus(2); - order.setOrderStatus(2); + for (Long id : bo.getIds()) { + SysCompany company = companyService.getById(id); + if (company==null) { + throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); } - //瀹℃壒鐧昏鍔�1 - order.setCheckLevel(order.getCheckLevel()+1); + SysCompanyBo companyBo = new SysCompanyBo(); + companyBo.setCompanyId(company.getCompanyId()); + if (company.getCheckStatus()!=0){ + throw new BaseException("璇ヤ紒涓氬凡瀹℃壒锛�"); + } + if (bo.getCheckStatus()== -1){ + company.setCheckStatus(-1); + company.setCompanyStatus(1); + companyBo.setCompanyStatus(1); + smsService.sendCompanyCheckMsg(company.getCompanyPhone(), -1); + } else { + company.setCheckStatus(2); + company.setCompanyStatus(0); + companyBo.setCompanyStatus(0); + smsService.sendCompanyCheckMsg(company.getCompanyPhone(), 2); + } + addCheckLog(company, bo); + company.setCheckReason(bo.getCheckReason()); + companyService.updStatus(companyBo); + companyService.updateById(company); } - order.setCheckReason(bo.getCheckReason()); - return orderService.updateById(order); + return true; + case 2: + for (Long id : bo.getIds()) { + EnforceOrder order = orderService.getById(id); + if (order==null) { + throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); + } + if (order.getOrderStatus()!=1){ + throw new BaseException("璇ユ墽娉曞崟宸插鎵�"); + } + addCheckLog(order, bo); + if (bo.getCheckStatus()==-1){ + order.setOrderStatus(-1); + order.setCheckStatus(-1); + //瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇� + smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus()); + orderService.updateById(order); + } else { + List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId()); + if (StringUtils.isNotEmpty(phones)){ + int checkLevel = Integer.parseInt(phones.get(0)); + order.setCheckLevel(checkLevel); + phones.remove(0); + order.setCheckStatus(1); + //缁欎笅涓�绾у鎵逛汉鍙戦�佺煭淇� + smsService.sendApplyMsg(phones, order.getApplyUser()); + String checkPhones = StringUtils.join(phones, ","); + order.setCheckIds(checkPhones); + order.setCheckReason(bo.getCheckReason()); + + return orderService.updateById(order); + } else { + order.setCheckStatus(2); + order.setOrderStatus(2); + //瀹℃壒閫氳繃锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇� + smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus()); + + if (StringUtils.isEmpty(order.getCompanyCode())){ + order.setOrderStatus(3); + order.setInTime(DateUtils.getNowDate()); + order.setExecuteDeptId(order.getApplyDeptId()); + order.setExecuteDeptName(order.getApplyDeptName()); + order.setExecuteUser(order.getApplyUser()); + order.setExecutePhone(order.getApplyPhone()); + order.setExecuteId(order.getApplyId()); + } + if (order.getIsNoticeCompany()==1 && StringUtils.isNotEmpty(order.getCompanyPhone())){ + smsService.sendCompanyMsg(order.getCompanyPhone(), order.getApplyDeptName(), order.getPlanTime()); + } + + //瀹℃壒绛夌骇鍔�1 + order.setCheckLevel(order.getCheckLevel()+1); + order.setCheckReason(bo.getCheckReason()); + return orderService.updateById(order); + } + } + + } + return true; } return false; } @@ -93,11 +150,12 @@ { EnforceCheckLog checkLog = Convert.convert(EnforceCheckLog.class, obj); checkLog.setCheckType(bo.getCheckType()); - SysUser loginUser = SecurityUtils.getLoginUser().getUser(); + SysUser loginUser = userService.selectUserById(SecurityUtils.getUserId()); checkLog.setCheckId(loginUser.getUserId()); - checkLog.setCheckUser(loginUser.getUserName()); + checkLog.setCheckUser(loginUser.getNickName()); checkLog.setCheckPhone(loginUser.getPhonenumber()); - checkLog.setCheckStatus(bo.getCheckStatus()); + checkLog.setCheckStatus(bo.getCheckStatus()>0?1:-1); + checkLog.setCheckTime(DateUtils.getNowDate()); checkLog.setCheckReason(bo.getCheckReason()); boolean save = checkLogService.save(checkLog); if (!save) { -- Gitblit v1.9.1