OrganizationServiceImpl.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. package com.goafanti.organization.service.impl;
  2. import com.goafanti.admin.bo.AdminListBo;
  3. import com.goafanti.common.constant.AFTConstants;
  4. import com.goafanti.common.dao.*;
  5. import com.goafanti.common.enums.OrderLogProcess;
  6. import com.goafanti.common.model.*;
  7. import com.goafanti.common.utils.AsyncUtils;
  8. import com.goafanti.common.utils.StringUtils;
  9. import com.goafanti.core.mybatis.BaseMybatisDao;
  10. import com.goafanti.core.mybatis.page.Pagination;
  11. import com.goafanti.core.shiro.token.TokenManager;
  12. import com.goafanti.order.bo.TOrderNewBo;
  13. import com.goafanti.order.enums.ApprovalNewState;
  14. import com.goafanti.order.enums.ProcessStatus;
  15. import com.goafanti.organization.bo.DepOut;
  16. import com.goafanti.organization.bo.InputDep;
  17. import com.goafanti.organization.bo.OrganizationListOut;
  18. import com.goafanti.organization.service.OrganizationService;
  19. import net.sourceforge.pinyin4j.PinyinHelper;
  20. import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
  21. import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Service;
  24. import java.util.*;
  25. import java.util.stream.Collectors;
  26. @Service
  27. public class OrganizationServiceImpl extends BaseMybatisDao<DepartmentMapper> implements OrganizationService {
  28. @Autowired
  29. private DepartmentMapper departmentMapper;
  30. @Autowired
  31. private ExpenseConfigDetailsMapper expenseConfigDetailsMapper;
  32. @Autowired
  33. private TOrderNewMapper torderNewMapper;
  34. @Autowired
  35. private TOrderMidMapper torderMidMapper;
  36. @Autowired
  37. private TOrderExamineMapper torderExamineMapper;
  38. @Autowired
  39. private TOrderLogMapper tOrderLogMapper;
  40. @Autowired
  41. private AsyncUtils asyncUtils;
  42. @Override
  43. public Pagination<OrganizationListOut> listOrganizationManagement(OrganizationListOut olo, Integer pageNo,
  44. Integer pageSize) {
  45. /*olo.setCreateId(TokenManager.getAdminId());*/
  46. Map<String,Object> params =disposeParams(olo);
  47. @SuppressWarnings("unchecked")
  48. Pagination<OrganizationListOut> p=(Pagination<OrganizationListOut>)findPage("selectOrganizationList","selectOrganizationCount",params,pageNo,pageSize);
  49. return p;
  50. }
  51. private Map<String,Object> disposeParams(OrganizationListOut olo){
  52. Map<String,Object> params = new HashMap<String, Object>();
  53. if(StringUtils.isNotBlank(olo.getId())) params.put("id", olo.getId());
  54. if(StringUtils.isNotBlank(olo.getCreateId())) params.put("createId", olo.getCreateId());
  55. if(StringUtils.isNotBlank(olo.getCreateTime())) params.put("createTime", olo.getCreateTime());
  56. if(StringUtils.isNotBlank(olo.getUpdateTime())) params.put("updateTime", olo.getUpdateTime());
  57. if(StringUtils.isNotBlank(olo.getDeletedSign())) params.put("deletedSign", olo.getDeletedSign());
  58. if(StringUtils.isNotBlank(olo.getName())) params.put("name", olo.getName());
  59. if(StringUtils.isNotBlank(olo.getType())) params.put("type", olo.getType());
  60. if(StringUtils.isNotBlank(olo.getManagerId())) params.put("managerId", olo.getManagerId());
  61. if(StringUtils.isNotBlank(olo.getDepNo())) params.put("depNo", olo.getDepNo());
  62. if(StringUtils.isNotBlank(olo.getSuperId())) params.put("superId", olo.getSuperId());
  63. if(StringUtils.isNotBlank(olo.getRemarks())) params.put("remarks", olo.getRemarks());
  64. if(StringUtils.isNotBlank(olo.getStatus())) params.put("status", olo.getStatus());
  65. return params;
  66. }
  67. @Override
  68. public List<DepOut> selectSuperId(Integer hideSign) {
  69. if(hideSign==null){
  70. hideSign=1;
  71. }
  72. //此处理用于前端不批量改接口
  73. if (hideSign>1){
  74. hideSign=null;
  75. }
  76. List<DepOut> depList=departmentMapper.selectSuperId(hideSign,null,null);
  77. return listSort(depList);
  78. }
  79. private List<DepOut> listSort(List<DepOut> depList) {
  80. HanyuPinyinOutputFormat format=new HanyuPinyinOutputFormat();
  81. Collections.sort(depList, (o1, o2) -> {
  82. String str1=null;
  83. String str2=null;
  84. try {
  85. str1= PinyinHelper.toHanYuPinyinString(o1.getName(),format," ",true);
  86. str2= PinyinHelper.toHanYuPinyinString(o2.getName(),format," ",true);
  87. } catch (BadHanyuPinyinOutputFormatCombination e) {
  88. throw new RuntimeException(e);
  89. }
  90. return str1.compareTo(str2);
  91. });
  92. return depList;
  93. }
  94. @Override
  95. public List<DepOut> getAllDep(Integer hideSign) {
  96. if(hideSign==null){
  97. hideSign=1;
  98. }
  99. //此处理用于前端不批量改接口
  100. if (hideSign>1){
  101. hideSign=null;
  102. }
  103. List<DepOut> allDep=departmentMapper.selectSuperId(hideSign,null,null);
  104. List<DepOut> dep1=new ArrayList<>();
  105. Integer x=3;//设置顶级
  106. for (DepOut e : allDep) {
  107. if (e.getLvl()==x){
  108. e.setList(selectDepLvl(allDep,e.getId(),x+1));
  109. dep1.add(e);
  110. }
  111. }
  112. return dep1;
  113. }
  114. private List<DepOut> selectDepLvl(List<DepOut> allDep,String id, Integer i) {
  115. List<DepOut> newDep=new ArrayList<>();
  116. for (DepOut depOut : allDep) {
  117. if (depOut.getLvl()==i&&depOut.getSuperId().equals(id)){
  118. if (i<7)depOut.setList(selectDepLvl(allDep,depOut.getId(),i+1));
  119. newDep.add(depOut);
  120. }
  121. }
  122. return newDep;
  123. }
  124. /**
  125. * XXIn form 提交 ,bo包中
  126. * xxOut 输出 bo包中
  127. * domain 类 model中
  128. *
  129. */
  130. @Override
  131. public int addOrganization( String name, String managerId, String type, String superId, String remarks,
  132. Integer workingHoursType,Integer hideSign,String depNo) {
  133. Department superDep=departmentMapper.selectByPrimaryKey(superId);
  134. String id = UUID.randomUUID().toString();
  135. Date now = new Date();
  136. Department dep=new Department();
  137. dep.setId(id);
  138. String createId =departmentMapper.selectAdminNameById(TokenManager.getAdminId());
  139. dep.setCreateId(createId);
  140. dep.setCreateTime(now);
  141. dep.setUpdateTime(now);
  142. dep.setDeletedSign(0);
  143. dep.setName(name);
  144. dep.setLvl(superDep.getLvl()+1);
  145. dep.setType(type);
  146. dep.setManagerId(managerId);
  147. dep.setDepNo(depNo);
  148. // superId=departmentMapper.selectIdByName(superId);
  149. dep.setSuperId(superId);
  150. dep.setRemarks(remarks);
  151. dep.setStatus("0");
  152. dep.setHideSign(hideSign);
  153. dep.setWorkingHoursType(workingHoursType);
  154. departmentMapper.insertSelective(dep);
  155. return 1;
  156. }
  157. private String getMaxDep(Department superDep) {
  158. String sdepNo=superDep.getDepNo();
  159. Department maxDep=departmentMapper.selectByDepNo(superDep.getId());
  160. String depNo=new String();
  161. if (maxDep==null){
  162. depNo= sdepNo +"01";
  163. }else {
  164. String maxDepNo=maxDep.getDepNo();
  165. Integer countNo=Integer.valueOf(maxDepNo.substring(maxDepNo.length()-2));
  166. countNo++;
  167. if (countNo<10){
  168. depNo= sdepNo +"0"+countNo;
  169. }else {
  170. depNo= sdepNo +countNo;
  171. }
  172. }
  173. return depNo;
  174. }
  175. @Override
  176. public List<AdminListBo> selectName(String name) {
  177. List<AdminListBo> list=departmentMapper.selectName(name);
  178. return list;
  179. }
  180. @Override
  181. public OrganizationListOut selectAllById(String id) {
  182. OrganizationListOut olo=departmentMapper.selectAllById(id);
  183. List<ExpenseConfigDetails> list = expenseConfigDetailsMapper.selectByDepId(id);
  184. olo.setExpenseRetrialFinanceExamineList(list.stream().filter(e ->e.getType()==1).collect(Collectors.toList()));
  185. olo.setCeoExamineList(list.stream().filter(e ->e.getType()==2).collect(Collectors.toList()));
  186. olo.setCfoExamineList(list.stream().filter(e ->e.getType()==3).collect(Collectors.toList()));
  187. olo.setViceCeoExamineList(list.stream().filter(e ->e.getType()==4).collect(Collectors.toList()));
  188. olo.setCashierExamineList(list.stream().filter(e ->e.getType()==5).collect(Collectors.toList()));
  189. olo.setSuperId(departmentMapper.selectNameById(olo.getSuperId()));
  190. return olo;
  191. }
  192. @Override
  193. public int deleteById(String id) {
  194. departmentMapper.deleteById(id);
  195. return 1;
  196. }
  197. @Override
  198. public int updateOrganization(InputDep in) {
  199. //获取上级编号
  200. Department superDep=departmentMapper.selectByPrimaryKey(in.getSuperId());
  201. Department useDep = departmentMapper.selectByPrimaryKey(in.getId());
  202. Date now=new Date();
  203. Department dep=new Department();
  204. dep.setLvl(superDep.getLvl()+1);
  205. dep.setName(in.getName());
  206. dep.setType(in.getType());
  207. dep.setUpdateTime(now);
  208. dep.setManagerId(in.getManagerId());
  209. dep.setStatus(in.getStatus());
  210. dep.setRemarks(in.getRemarks());
  211. dep.setId(in.getId());
  212. dep.setSuperId(in.getSuperId());
  213. dep.setDepNo(in.getDepNo());
  214. dep.setAbbreviation(in.getAbbreviation());
  215. dep.setProvince(in.getProvince());
  216. dep.setHideSign(in.getHideSign());
  217. dep.setWorkingHoursType(in.getWorkingHoursType());
  218. dep.setApproval(in.getApproval());
  219. dep.setApprovalAid(in.getApprovalAid());
  220. dep.setTechAdminId(in.getTechAdminId());
  221. dep.setOperationGuaranteeId(in.getOperationGuaranteeId());
  222. //财务与复审切换的时候要切换所有未审核的财务
  223. boolean updateFinance=false;
  224. boolean updateRetrialFinance=false;
  225. //获取需要重新刷新的财务
  226. List<String> aids =new ArrayList<>();
  227. if(!in.getFinanceId().equals(useDep.getFinanceId())){
  228. if(StringUtils.isBlank(in.getFinanceId())){
  229. //先将旧的查出来
  230. List<String> list = torderNewMapper.selectByFinanceNotExamine(useDep.getFinanceId());
  231. //再删除旧单需要审核的
  232. torderExamineMapper.deleteExamineFinance(useDep.getFinanceId());
  233. if (!list.isEmpty()){
  234. torderNewMapper.updateOrderDepFinanceExamineName(list);
  235. }
  236. }else {
  237. dep.setFinanceId(in.getFinanceId());
  238. //审核人切换
  239. departmentMapper.updateOrderDepFinanceNotExamine(in.getFinanceId(),useDep.getFinanceId());
  240. //查询切换后的订单刷新审核人
  241. List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getFinanceId());
  242. if (!list.isEmpty()){
  243. torderNewMapper.updateOrderDepFinanceExamineName(list);
  244. }
  245. }
  246. updateFinance=true;
  247. }
  248. if (StringUtils.isBlank(in.getTechAdminId())||StringUtils.isBlank(in.getOperationGuaranteeId())
  249. ||StringUtils.isBlank(in.getRetrialFinanceId())){
  250. if(StringUtils.isBlank(in.getTechAdminId()))in.setTechAdminId(null);
  251. if(StringUtils.isBlank(in.getOperationGuaranteeId()))in.setOperationGuaranteeId(null);
  252. if(StringUtils.isBlank(in.getRetrialFinanceId()))in.setRetrialFinanceId(null);
  253. departmentMapper.updateNull(in);
  254. }
  255. //处理去掉咨询师管理员
  256. if (in.getTechAdminId()==null||!in.getTechAdminId().equals(useDep.getTechAdminId())){
  257. if(StringUtils.isBlank(in.getTechAdminId())){
  258. //先将旧的查出来
  259. List<String> list = torderNewMapper.selectByFinanceNotExamine(useDep.getTechAdminId());
  260. //再删除旧单需要审核的
  261. torderExamineMapper.deleteExamineFinance(useDep.getTechAdminId());
  262. if (!list.isEmpty()){
  263. //先把药推送到下个流程的查出来
  264. for (String s : list) {
  265. List<TOrderExamine> tOrderExamines = torderExamineMapper.selectByOrderNo(s, 0);
  266. int i = 0;
  267. for (TOrderExamine e : tOrderExamines) {
  268. if (e.getStatus() == 1) i++;
  269. }
  270. if (i == tOrderExamines.size()) {
  271. //推送订单流程
  272. addOrderLog(s,OrderLogProcess.XMZJSH.getCode(),"部门修改技术总监,判定审核通过");
  273. StringBuilder str = new StringBuilder();
  274. TOrderNew tOrderNew = torderNewMapper.selectByPrimaryKey(s);
  275. TOrderNewBo order = torderNewMapper.getSaleIdByOno(s);
  276. TOrderNew newOrder = new TOrderNew();
  277. newOrder.setOrderNo(s);
  278. //如果订单是特批
  279. if (tOrderNew.getApproval() == ApprovalNewState.TPDSH.getCode() || tOrderNew.getApproval() == ApprovalNewState.TPBH.getCode()) {
  280. if (StringUtils.isNotEmpty(in.getOperationGuaranteeId())) {
  281. newOrder.setProcessStatus(ProcessStatus.YYBZSH.getCode());
  282. str.append(order.getOperationGuaranteeName()).append(",");
  283. aids.add(order.getOperationGuaranteeId());
  284. } else if (order.getApprovalStatus() == 0) {
  285. addOrderLog(s,OrderLogProcess.YYBZSHTG.getCode(),"运营保障审核人未设置,系统自动通过");
  286. addOrderLog(s,OrderLogProcess.TP.getCode(),"部门特批审核未设置,系统自动通过");
  287. newOrder.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
  288. newOrder.setApproval(ApprovalNewState.TPTG.getCode());
  289. } else {
  290. addOrderLog(s,OrderLogProcess.YYBZSHTG.getCode(),"运营保障审核人未设置,系统自动通过");
  291. newOrder.setProcessStatus(ProcessStatus.YPTPSH.getCode());
  292. aids.add(order.getApprovalAid());
  293. str.append(order.getApprovalName()).append(",");
  294. }
  295. }
  296. newOrder.setExamineName(str.substring(0,str.length()-1));
  297. torderNewMapper.updateByPrimaryKeySelective(newOrder);
  298. }
  299. torderNewMapper.updateOrderDepFinanceExamineName(list);
  300. }
  301. }
  302. }else{
  303. }
  304. }
  305. if (!in.getRetrialFinanceId().equals(useDep.getRetrialFinanceId())){
  306. if(StringUtils.isBlank(in.getRetrialFinanceId())) {
  307. //先将旧的查出来
  308. List<String> list = torderNewMapper.selectByFinanceNotExamine(useDep.getRetrialFinanceId());
  309. //再删除旧单需要审核的
  310. torderExamineMapper.deleteExamineFinance(useDep.getRetrialFinanceId());
  311. if (!list.isEmpty()) {
  312. //先把药推送到下个流程的查出来
  313. for (String s : list) {
  314. List<TOrderExamine> tOrderExamines = torderExamineMapper.selectByOrderNo(s, 0);
  315. int i = 0;
  316. for (TOrderExamine e : tOrderExamines) {
  317. if (e.getStatus() == 1) i++;
  318. }
  319. if (i == tOrderExamines.size()) {
  320. //推送订单流程
  321. addOrderLog(s,OrderLogProcess.CWFS.getCode(),"部门修改财务复审,判定审核通过");
  322. StringBuilder str = new StringBuilder();
  323. TOrderNew tOrderNew = torderNewMapper.selectByPrimaryKey(s);
  324. TOrderNewBo order = torderNewMapper.getSaleIdByOno(s);
  325. TOrderNew newOrder = new TOrderNew();
  326. newOrder.setOrderNo(s);
  327. //如果订单是特批
  328. if (tOrderNew.getApproval() == ApprovalNewState.TPDSH.getCode() || tOrderNew.getApproval() == ApprovalNewState.TPBH.getCode()) {
  329. if (StringUtils.isNotEmpty(in.getOperationGuaranteeId())) {
  330. newOrder.setProcessStatus(ProcessStatus.YYBZSH.getCode());
  331. str.append(order.getOperationGuaranteeName()).append(",");
  332. aids.add(order.getOperationGuaranteeId());
  333. } else if (order.getApprovalStatus() == 0) {
  334. addOrderLog(s,OrderLogProcess.YYBZSHTG.getCode(),"运营保障审核人未设置,系统自动通过");
  335. addOrderLog(s,OrderLogProcess.TP.getCode(),"部门特批审核未设置,系统自动通过");
  336. newOrder.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
  337. newOrder.setApproval(ApprovalNewState.TPTG.getCode());
  338. } else {
  339. addOrderLog(s,OrderLogProcess.YYBZSHTG.getCode(),"运营保障审核人未设置,系统自动通过");
  340. newOrder.setProcessStatus(ProcessStatus.YPTPSH.getCode());
  341. aids.add(order.getApprovalAid());
  342. str.append(order.getApprovalName()).append(",");
  343. }
  344. }
  345. newOrder.setExamineName(str.substring(0,str.length()-1));
  346. torderNewMapper.updateByPrimaryKeySelective(newOrder);
  347. }
  348. torderNewMapper.updateOrderDepFinanceExamineName(list);
  349. }
  350. }
  351. }else {
  352. dep.setRetrialFinanceId(in.getRetrialFinanceId());
  353. departmentMapper.updateOrderDepFinanceNotExamine(in.getRetrialFinanceId(),useDep.getRetrialFinanceId());
  354. List<String> list = torderNewMapper.selectByFinanceNotExamine(in.getRetrialFinanceId());
  355. if (!list.isEmpty()){
  356. torderNewMapper.updateOrderDepFinanceExamineName(list);
  357. }
  358. }
  359. updateRetrialFinance=true;
  360. }
  361. if (in.getExpenseFinanceId()!=null&&!in.getExpenseFinanceId().equals(useDep.getExpenseFinanceId())){
  362. dep.setExpenseFinanceId(in.getExpenseFinanceId());
  363. departmentMapper.updateExpenseFinanceNotExamine(in.getExpenseFinanceId(),useDep.getExpenseFinanceId());
  364. }
  365. if (updateFinance){
  366. aids.add(in.getFinanceId());
  367. if(!aids.contains(useDep.getFinanceId())){
  368. aids.add(useDep.getFinanceId());
  369. }
  370. torderMidMapper.updateFinanceId(in.getId(),in.getFinanceId());
  371. asyncUtils.updateFinanceExamine(in.getFinanceId());
  372. }
  373. if(updateRetrialFinance){
  374. if (!aids.contains(in.getRetrialFinanceId())){
  375. aids.add(in.getRetrialFinanceId());
  376. }
  377. if(!aids.contains(useDep.getRetrialFinanceId())){
  378. aids.add(useDep.getRetrialFinanceId());
  379. }
  380. }
  381. //
  382. checkFinaceUpdate(aids);
  383. if (in.getExpenseRetrialFinanceExamine()==1){
  384. dep.setExpenseRetrialFinanceExamine(in.getExpenseRetrialFinanceExamine());
  385. }
  386. if (in.getCeoExamine()==1){
  387. dep.setCeoExamine(in.getCeoExamine());
  388. }
  389. if (in.getCfoExamine()==1){
  390. dep.setCfoExamine(in.getCfoExamine());
  391. }
  392. if (in.getViceCeoExamine()==1){
  393. dep.setViceCeoExamine(in.getViceCeoExamine());
  394. }
  395. if (in.getCashierExamine()==1){
  396. dep.setCashierExamine(in.getCashierExamine());
  397. }
  398. return departmentMapper.updateByPrimaryKeySelective(dep);
  399. }
  400. private void addOrderLog(String orderNo, Integer process, String remarks) {
  401. TOrderLog tl=new TOrderLog();
  402. tl.setAid(AFTConstants.SUPERADMIN_ID);
  403. tl.setProcess(process);
  404. tl.setOrderNo(orderNo);
  405. tl.setRemarks(remarks);
  406. tOrderLogMapper.insertSelective(tl);
  407. }
  408. /**
  409. * 如果更换了负责人刷新中间表
  410. */
  411. private void checkFinaceUpdate(List<String> aids) {
  412. if (!aids.isEmpty()){
  413. asyncUtils.financeCoutSwitch(aids);
  414. }
  415. }
  416. @Override
  417. public boolean checkDepNo(String depNo,Integer type) {
  418. String useDepNo=departmentMapper.selectIdByDepNo(depNo);
  419. if (StringUtils.isNotBlank(useDepNo)){
  420. if (type==1){
  421. if (!depNo.equals(useDepNo)){
  422. return false;
  423. }else {
  424. return true;
  425. }
  426. }else {
  427. return true;
  428. }
  429. }
  430. return false;
  431. }
  432. private String countDepNo(String sdepNo, Integer count) {
  433. String dep=null;
  434. if(count<10){
  435. dep=sdepNo+"0"+count;
  436. String sid=departmentMapper.selectIdByDepNo(dep);
  437. while(sid!=null){
  438. count=(count+1)%100;
  439. if(count>=10){
  440. dep=sdepNo+count;
  441. }else{
  442. dep=sdepNo+"0"+count;
  443. }
  444. sid=departmentMapper.selectIdByDepNo(dep);
  445. }
  446. }else if(count>=10){
  447. dep=sdepNo+count;
  448. String sid=departmentMapper.selectIdByDepNo(dep);
  449. while(sid!=null){
  450. count=(count+1)%100;
  451. dep=sdepNo+count;
  452. sid=departmentMapper.selectIdByDepNo(dep);
  453. }
  454. }
  455. return dep;
  456. }
  457. private void updateLowerLevelNo(String id,String depNo,Integer lvl) {
  458. List<OrganizationListOut> Nos =departmentMapper.selectIDNBySuperId(id);
  459. int i=1;
  460. for (OrganizationListOut o : Nos) {
  461. o.setLvl(lvl+1);
  462. if(i<10){
  463. String dep=depNo+"0"+i;
  464. if(i>=10){
  465. dep=depNo+i;
  466. }else{
  467. dep=depNo+"0"+i;
  468. }
  469. o.setDepNo(dep);
  470. } else if(i>=10){
  471. String dep=depNo+i;
  472. dep=depNo+i;
  473. o.setDepNo(dep);
  474. }
  475. departmentMapper.updateByNumber(o);
  476. updateLowerLevelNo(o.getId(),o.getDepNo(),o.getLvl());
  477. i++;
  478. }
  479. }
  480. }