copy from lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/util/WorkShopOrgCodeProRule.java
copy to lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/rule/OrgCodeProRule.java
Îļþ´Ó lxzn-module-eam/src/main/java/org/jeecg/modules/eam/base/controller/util/WorkShopOrgCodeProRule.java ¸´ÖÆ |
| | |
| | | package org.jeecg.modules.eam.base.controller.util; |
| | | package org.jeecg.modules.eam.base.rule; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | 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.BaseFactory; |
| | | import org.jeecg.modules.eam.base.service.IBaseFactoryService; |
| | | import org.jeecg.modules.system.entity.MdcProduction; |
| | | import org.jeecg.modules.system.service.IMdcProductionService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | * @create: 2023-07-04 16:15 |
| | | * @Description: è½¦é´æºæç¼ç çæè§å |
| | | */ |
| | | public class WorkShopOrgCodeProRule implements IFillRuleHandler { |
| | | public class OrgCodeProRule implements IFillRuleHandler { |
| | | |
| | | @Override |
| | | public Object execute(JSONObject params, JSONObject formData) { |
| | | IBaseFactoryService BaseFactoryService = (IBaseFactoryService) SpringContextUtils.getBean("BaseFactoryServiceImpl"); |
| | | IMdcProductionService mdcProductionService = (IMdcProductionService) SpringContextUtils.getBean("mdcProductionServiceImpl"); |
| | | |
| | | LambdaQueryWrapper<BaseFactory> query = new LambdaQueryWrapper<BaseFactory>(); |
| | | LambdaQueryWrapper<BaseFactory> query1 = new LambdaQueryWrapper<BaseFactory>(); |
| | | // å建ä¸ä¸ªListéå,å卿¥è¯¢è¿åçææBaseFactory对象 |
| | | List<BaseFactory> BaseFactoryList = new ArrayList<>(); |
| | | 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 = ""; |
| | |
| | | //å¦ææ¯æé«çº§,åæ¥è¯¢åºå级çorg_code, è°ç¨å·¥å
·ç±»çæç¼ç å¹¶è¿å |
| | | if (StringUtil.isNullOrEmpty(parentId)) { |
| | | // çº¿å¤ææ°æ®åºä¸ç表æ¯å¦ä¸ºç©º,空åç´æ¥è¿ååå§ç¼ç |
| | | query1.eq(BaseFactory::getParentId, "").or().isNull(BaseFactory::getParentId); |
| | | query1.orderByDesc(BaseFactory::getOrgCode); |
| | | BaseFactoryList = BaseFactoryService.list(query1); |
| | | if (BaseFactoryList == null || BaseFactoryList.size() == 0) { |
| | | 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 { |
| | | BaseFactory BaseFactory = BaseFactoryList.get(0); |
| | | oldOrgCode = BaseFactory.getOrgCode(); |
| | | orgType = BaseFactory.getOrgType(); |
| | | MdcProduction mdcProduction = mdcProductionList.get(0); |
| | | oldOrgCode = mdcProduction.getOrgCode(); |
| | | orgType = mdcProduction.getOrgType(); |
| | | newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode); |
| | | } |
| | | } else {//åä¹åæ¥è¯¢åºææå级ç车é´,è·åç»æåæä¸¤ç§æ
åµ,æåçº§åæ²¡æå级 |
| | | // å°è£
æ¥è¯¢åçº§çæ¡ä»¶ |
| | | query.eq(BaseFactory::getParentId, parentId); |
| | | query.eq(MdcProduction::getParentId, parentId); |
| | | // éåºæåº |
| | | query.orderByDesc(BaseFactory::getOrgCode); |
| | | query.orderByDesc(MdcProduction::getOrgCode); |
| | | // æ¥è¯¢åºå级产线çéå |
| | | List<BaseFactory> parentList = BaseFactoryService.list(query); |
| | | List<MdcProduction> parentList = mdcProductionService.list(query); |
| | | // æ¥è¯¢åºç¶çº§äº§çº¿ |
| | | BaseFactory production = BaseFactoryService.getById(parentId); |
| | | MdcProduction production = mdcProductionService.getById(parentId); |
| | | // è·åç¶çº§äº§çº¿çcode |
| | | String parentCode = production.getOrgCode(); |
| | | // æ ¹æ®ç¶çº§äº§çº¿ç±»åç®åºå½å产线çç±»å |