¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.mdc.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.mdc.entity.MdcProduction; |
| | | import org.jeecg.modules.mdc.service.IMdcProductionService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author: LiuS |
| | | * @create: 2023-07-04 16:15 |
| | | * @Description: è½¦é´æºæç¼ç çæè§å |
| | | */ |
| | | public class OrgCodeProRule implements IFillRuleHandler { |
| | | |
| | | @Override |
| | | public Object execute(JSONObject params, JSONObject formData) { |
| | | IMdcProductionService mdcProductionService = (IMdcProductionService) SpringContextUtils.getBean("mdcProductionServiceImpl"); |
| | | |
| | | LambdaQueryWrapper<MdcProduction> query = new LambdaQueryWrapper<MdcProduction>(); |
| | | LambdaQueryWrapper<MdcProduction> query1 = new LambdaQueryWrapper<MdcProduction>(); |
| | | // å建ä¸ä¸ªListéå,å卿¥è¯¢è¿åçææMdcProduction对象 |
| | | List<MdcProduction> mdcProductionList = 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(MdcProduction::getParentId, "").or().isNull(MdcProduction::getParentId); |
| | | query1.orderByDesc(MdcProduction::getOrgCode); |
| | | mdcProductionList = mdcProductionService.list(query1); |
| | | if (mdcProductionList == null || mdcProductionList.size() == 0) { |
| | | strArray[0] = YouBianCodeUtil.getNextYouBianCode(null); |
| | | strArray[1] = "1"; |
| | | return strArray; |
| | | } else { |
| | | MdcProduction mdcProduction = mdcProductionList.get(0); |
| | | oldOrgCode = mdcProduction.getOrgCode(); |
| | | orgType = mdcProduction.getOrgType(); |
| | | newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode); |
| | | } |
| | | } else {//åä¹åæ¥è¯¢åºææå级ç车é´,è·åç»æåæä¸¤ç§æ
åµ,æåçº§åæ²¡æå级 |
| | | // å°è£
æ¥è¯¢åçº§çæ¡ä»¶ |
| | | query.eq(MdcProduction::getParentId, parentId); |
| | | // éåºæåº |
| | | query.orderByDesc(MdcProduction::getOrgCode); |
| | | // æ¥è¯¢åºå级产线çéå |
| | | List<MdcProduction> parentList = mdcProductionService.list(query); |
| | | // æ¥è¯¢åºç¶çº§äº§çº¿ |
| | | MdcProduction production = mdcProductionService.getById(parentId); |
| | | // è·åç¶çº§äº§çº¿çcode |
| | | String parentCode = production.getOrgCode(); |
| | | // æ ¹æ®ç¶çº§äº§çº¿ç±»åç®åºå½å产线çç±»å |
| | | orgType = String.valueOf(Integer.valueOf(production.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; |
| | | } |
| | | } |