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 | 133 +++++++++++++++++++++++++++++--------------- 1 files changed, 87 insertions(+), 46 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 c16ded5..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 @@ -15,6 +15,7 @@ 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; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,6 +35,7 @@ public class CheckServiceImpl implements ICheckService { + private final ISysUserService userService; private final ISysCompanyService companyService; private final IEnforceOrderService orderService; private final IEnforceCheckLogService checkLogService; @@ -43,58 +45,97 @@ @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("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); - } - SysCompanyBo companyBo = new SysCompanyBo(); - companyBo.setCompanyId(company.getCompanyId()); - if (bo.getCheckStatus()== -1){ - company.setCheckStatus(-1); - companyBo.setCompanyStatus(1); - } else { - company.setCheckStatus(2); - companyBo.setCompanyStatus(0); - } - addCheckLog(company, bo); - company.setCheckReason(bo.getCheckReason()); - companyService.updStatus(companyBo); - 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); - //瀹℃壒鎷掔粷锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇� - smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus()); - } else { - List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId()); - if (StringUtils.isNotEmpty(phones)){ - order.setCheckStatus(1); - //缁欎笅涓�绾у鎵逛汉鍙戦�佺煭淇� - smsService.sendApplyMsg(phones, order.getApplyUser()); - String checkPhones = StringUtils.join(phones, ","); - orderService.update(orderService.lu().set(EnforceOrder::getCheckIds, checkPhones).eq(EnforceOrder::getOrderId, order.getOrderId())); + for (Long id : bo.getIds()) { + SysCompany company = companyService.getById(id); + if (company==null) { + throw new BaseException("娌℃湁鎵惧埌瀵瑰簲鏁版嵁锛岃妫�鏌ュ鏍哥被鍨嬶紒"); + } + 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 { - order.setCheckStatus(2); - order.setOrderStatus(2); - //瀹℃壒閫氳繃锛岀粰鐢宠浜哄彂閫佺煭淇★紝濡傛灉閫氱煡浼佷笟涔熺粰浼佷笟鍙戦�佺煭淇� + 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); + } + 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()); - if (order.getIsNoticeCompany()==1){ - smsService.sendCompanyMsg(order.getCompanyPhone(), order.getApplyDeptName(), order.getPlanTime()); + 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); } } - //瀹℃壒绛夌骇鍔�1 - order.setCheckLevel(order.getCheckLevel()+1); + } - order.setCheckReason(bo.getCheckReason()); - return orderService.updateById(order); + return true; } return false; } @@ -109,9 +150,9 @@ { 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()>0?1:-1); checkLog.setCheckTime(DateUtils.getNowDate()); -- Gitblit v1.9.1