¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.eam.base.rule; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import io.netty.util.internal.StringUtil; |
| | | import org.jeecg.common.handler.IFillRuleHandler; |
| | | import org.jeecg.common.util.SpringContextUtils; |
| | | import org.jeecg.common.util.YouBianCodeUtil; |
| | | import org.jeecg.modules.eam.base.entity.EamBaseRepairDepart; |
| | | import org.jeecg.modules.eam.base.service.IEamBaseRepairDepartService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author: LiuS |
| | | * @create: 2023-07-04 16:15 |
| | | * @Description: è½¦é´æºæç¼ç çæè§å |
| | | */ |
| | | public class OrgCodeRepDepRule implements IFillRuleHandler { |
| | | |
| | | @Override |
| | | public Object execute(JSONObject params, JSONObject formData) { |
| | | IEamBaseRepairDepartService eamBaseRepairDepartService = (IEamBaseRepairDepartService) SpringContextUtils.getBean("eamBaseRepairDepartImpl"); |
| | | |
| | | LambdaQueryWrapper<EamBaseRepairDepart> query = new LambdaQueryWrapper<EamBaseRepairDepart>(); |
| | | LambdaQueryWrapper<EamBaseRepairDepart> query1 = new LambdaQueryWrapper<EamBaseRepairDepart>(); |
| | | // å建ä¸ä¸ªListéå,å卿¥è¯¢è¿åçææEamBaseRepairDepart对象 |
| | | List<EamBaseRepairDepart> eamBaseRepairDepartList = new ArrayList<>(); |
| | | String[] strArray = new String[2]; |
| | | //å®ä¹è½¦é´ç±»å |
| | | String orgType = ""; |
| | | // å®ä¹æ°ç¼ç å符串 |
| | | String newOrgCode = ""; |
| | | // å®ä¹æ§ç¼ç å符串 |
| | | String oldOrgCode = ""; |
| | | |
| | | String parentId = null; |
| | | if (formData != null && formData.size() > 0) { |
| | | Object obj = formData.get("parentId"); |
| | | if (obj != null) { |
| | | parentId = obj.toString(); |
| | | } |
| | | } else { |
| | | if (params != null) { |
| | | Object obj = params.get("parentId"); |
| | | if (obj != null) { |
| | | parentId = obj.toString(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //å¦ææ¯æé«çº§,åæ¥è¯¢åºå级çorg_code, è°ç¨å·¥å
·ç±»çæç¼ç å¹¶è¿å |
| | | if (StringUtil.isNullOrEmpty(parentId)) { |
| | | // çº¿å¤ææ°æ®åºä¸ç表æ¯å¦ä¸ºç©º,空åç´æ¥è¿ååå§ç¼ç |
| | | query1.eq(EamBaseRepairDepart::getParentId, "").or().isNull(EamBaseRepairDepart::getParentId); |
| | | query1.orderByDesc(EamBaseRepairDepart::getOrgCode); |
| | | eamBaseRepairDepartList = eamBaseRepairDepartService.list(query1); |
| | | if (eamBaseRepairDepartList == null || eamBaseRepairDepartList.size() == 0) { |
| | | strArray[0] = YouBianCodeUtil.getNextYouBianCode(null); |
| | | strArray[1] = "1"; |
| | | return strArray; |
| | | } else { |
| | | EamBaseRepairDepart eamBaseRepairDepart = eamBaseRepairDepartList.get(0); |
| | | oldOrgCode = eamBaseRepairDepart.getOrgCode(); |
| | | orgType = eamBaseRepairDepart.getOrgType(); |
| | | newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode); |
| | | } |
| | | } else {//åä¹åæ¥è¯¢åºææå级ç车é´,è·åç»æåæä¸¤ç§æ
åµ,æåçº§åæ²¡æå级 |
| | | // å°è£
æ¥è¯¢åçº§çæ¡ä»¶ |
| | | query.eq(EamBaseRepairDepart::getParentId, parentId); |
| | | // éåºæåº |
| | | query.orderByDesc(EamBaseRepairDepart::getOrgCode); |
| | | // æ¥è¯¢åºå级维修é¨é¨çç»çéå |
| | | List<EamBaseRepairDepart> parentList = eamBaseRepairDepartService.list(query); |
| | | // æ¥è¯¢åºç¶çº§ç»´ä¿®é¨é¨çç» |
| | | EamBaseRepairDepart repairDepart = eamBaseRepairDepartService.getById(parentId); |
| | | // è·åç¶çº§ç»´ä¿®é¨é¨çç»çcode |
| | | String parentCode = repairDepart.getOrgCode(); |
| | | // æ ¹æ®ç¶çº§ç»´ä¿®é¨é¨çç»ç±»åç®åºå½åç»´ä¿®é¨é¨çç»çç±»å |
| | | orgType = String.valueOf(Integer.valueOf(repairDepart.getOrgType()) + 1); |
| | | // å¤çå级维修é¨é¨çç»ä¸ºnullçæ
åµ |
| | | if (parentList == null || parentList.size() == 0) { |
| | | // ç´æ¥çæå½åçç»´ä¿®é¨é¨çç»ç¼ç å¹¶è¿å |
| | | newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null); |
| | | } else { //å¤çæå级维修é¨é¨çç»çæ
åµ |
| | | // è·åå级维修é¨é¨çç»çç¼ç ,å©ç¨å·¥å
·ç±» |
| | | String subCode = parentList.get(0).getOrgCode(); |
| | | // è¿åçæçå½åç»´ä¿®é¨é¨çç»ç¼ç |
| | | newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode); |
| | | } |
| | | } |
| | | // è¿åæç»å°è£
äºç»´ä¿®é¨é¨çç»ç¼ç åç»´ä¿®é¨é¨çç»ç±»åçæ°ç» |
| | | strArray[0] = newOrgCode; |
| | | strArray[1] = orgType; |
| | | return strArray; |
| | | } |
| | | } |