| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; |
| | | import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; |
| | |
| | | import com.vci.ubcs.code.dto.datapush.BaseModelDTO; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.enumpack.*; |
| | | import com.vci.ubcs.code.mapper.CodeAllCodeMapper; |
| | | import com.vci.ubcs.code.mapper.CodeOsbtmtypeMapper; |
| | | import com.vci.ubcs.code.mapper.CodeWupinMapper; |
| | | import com.vci.ubcs.code.mapper.CommonsMapper; |
| | |
| | | import com.vci.ubcs.code.vo.pagemodel.*; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; |
| | | import com.vci.ubcs.code.vo.pagemodel.UITablePageVO; |
| | | import com.vci.ubcs.omd.feign.IEnumClient; |
| | | import com.vci.ubcs.omd.feign.IEnumItemClient; |
| | | import com.vci.ubcs.omd.vo.EnumVO; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; |
| | | import com.vci.ubcs.starter.revision.service.RevisionModelUtil; |
| | |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.ubcs.starter.web.pagemodel.*; |
| | | import com.vci.ubcs.starter.web.toolmodel.DateConverter; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import com.vci.ubcs.starter.web.util.VciDateUtil; |
| | | import com.vci.ubcs.starter.web.util.VciQueryWrapperForDO; |
| | | import com.vci.ubcs.starter.web.util.WebUtil; |
| | | import com.vci.ubcs.starter.web.util.*; |
| | | import com.vci.ubcs.system.entity.DictBiz; |
| | | import com.vci.ubcs.system.feign.IDictBizClient; |
| | | import net.logstash.logback.encoder.org.apache.commons.lang3.ObjectUtils; |
| | | import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cglib.beans.BeanMap; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.Serializable; |
| | | import java.beans.IntrospectionException; |
| | | import java.lang.reflect.InvocationTargetException; |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import java.util.stream.Collectors; |
| | |
| | | * @date 2022-2-22 |
| | | */ |
| | | @Service |
| | | public class MdmEngineServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupinEntity> implements MdmEngineService { |
| | | public class MdmEngineServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupin> implements MdmEngineService { |
| | | |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | private MdmProductCodeService productCodeService; |
| | | /** |
| | | * 字典的服务 |
| | | * 可输可选的服务 |
| | | */ |
| | | @Resource |
| | | IDictBizClient iDictBizClient; |
| | | /** |
| | | * 字典的服务 |
| | | */ |
| | | @Resource |
| | | IEnumClient enumClient; |
| | | /** |
| | | * 公式的服务 |
| | | */ |
| | |
| | | */ |
| | | @Autowired |
| | | private ICodeClassifyTemplateButtonService templateButtonService; |
| | | |
| | | @Autowired |
| | | private ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService; |
| | | // /** |
| | | // * 用户查询的服务,需要问一下是否需要重写,使用查询此平台的用户表 |
| | | // */ |
| | |
| | | */ |
| | | @Override |
| | | public List<KeyValue> listComboboxItems(CodeClassifyTemplateAttrVO attrVO) { |
| | | List<KeyValue> comboboxKVs = null; |
| | | List<KeyValue> comboboxKVs = new ArrayList<>(); |
| | | if (StringUtils.isNotBlank(attrVO.getEnumString())) { |
| | | comboboxKVs = JSONObject.parseArray(attrVO.getEnumString(), KeyValue.class); |
| | | } else { |
| | | // comboboxKVs = enumService.getEnum(attrVO.getEnumid()); |
| | | // Dict dict = new Dict(); |
| | | // dict.setParentId(Long.valueOf(attrVO.getEnumid())); |
| | | R<List<DictBiz>> list = iDictBizClient.getList(attrVO.getEnumId()); |
| | | R<List<EnumVO>> list = enumClient.getList(attrVO.getEnumId()); |
| | | if(list.isSuccess()){ |
| | | for (DictBiz datum : list.getData()) { |
| | | for (EnumVO datum : list.getData()) { |
| | | KeyValue keyValue = new KeyValue(); |
| | | keyValue.setKey(datum.getDictKey()); |
| | | keyValue.setValue(datum.getDictValue()); |
| | | keyValue.setKey(datum.getItemValue()); |
| | | keyValue.setValue(datum.getItemName()); |
| | | comboboxKVs.add(keyValue); |
| | | } |
| | | } |
| | |
| | | switchDateAttrOnOrder(templateVO, orderDTO); |
| | | //9.生成编码的信息 |
| | | // ClientBusinessObject cbo = boService.createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); |
| | | CodeWupinEntity cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); |
| | | CodeWupin cbo = createCBOByBtmName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()); |
| | | // //默认的属性都不用从前端拷贝 |
| | | // //设置编码需要的默认属性的内容 |
| | | copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false); |
| | | // //TODO:因为默认的属性都不拷贝,目前集团码叫name,并没有从DTO拷贝到cbo里。增加一个单独处理,以后再看要不要调整 |
| | | cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName()); |
| | | // //end -- modify by lihang @20220407 |
| | | List<CodeWupinEntity> cboList = new ArrayList<>(); |
| | | List<CodeWupin> cboList = new ArrayList<>(); |
| | | |
| | | //备注 |
| | | cbo.setDescription(orderDTO.getDescription()); |
| | |
| | | |
| | | |
| | | List<String> charList = new ArrayList<>(); |
| | | for (CodeWupinEntity wupinEntity : cboList) { |
| | | for (CodeWupin wupinEntity : cboList) { |
| | | charList.add(wupinEntity.getId()); |
| | | } |
| | | batchSaveSelectChar(templateVO, charList); |
| | |
| | | //没有限制分类,但是一个模板只可能在一个业务类型里面,所以直接查询这个业务类型即可 |
| | | |
| | | if (!CollectionUtils.isEmpty(conditionMap)) { |
| | | final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; |
| | | //表需要改 |
| | | // final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; |
| | | final String[] sql = {"select count(*) from pl_code_wupin t where 1 = 1 "}; |
| | | conditionMap.forEach((key, value) -> { |
| | | sql[0] += " and " + key + " = " + value; |
| | | }); |
| | |
| | | * @param templateVO 模板的显示对象 |
| | | * @param edit 是否为修改 |
| | | */ |
| | | private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupinEntity cbo, |
| | | private void copyValueToCBO(CodeClassifyFullInfoBO classifyFullInfo, CodeWupin cbo, |
| | | CodeOrderDTO orderDTO, CodeClassifyTemplateVO templateVO, |
| | | boolean edit) { |
| | | boolean edit) { |
| | | String fullPath = ""; |
| | | if (!CollectionUtils.isEmpty(classifyFullInfo.getParentClassifyVOs())) { |
| | | fullPath = classifyFullInfo.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))) |
| | |
| | | } |
| | | |
| | | // BeanUtils. |
| | | BeanUtils.copyProperties(orderDTO.getData(),cbo); |
| | | cbo.setMaterialtype(Short.valueOf("1001")); |
| | | // BeanUtils.copyProperties(orderDTO.getData(),cbo); |
| | | // cbo.setMaterialtype(Short.valueOf("1001")); |
| | | // orderDTO.getData().forEach((key, value) -> { |
| | | // if (!edit || (!checkUnAttrUnEdit(key) && |
| | | // !VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) { |
| | |
| | | // } |
| | | // } |
| | | // }); |
| | | // BeanMap beanMap = BeanMap.create(cbo); |
| | | // beanMap.putAll(orderDTO.getData()); |
| | | |
| | | try { |
| | | |
| | | BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(CodeWupin.class,orderDTO.getData()),cbo); |
| | | |
| | | cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid()); |
| | | cbo.setCodetemplateoid(templateVO.getOid()); |
| | | cbo.setCodeclsfpath(fullPath); |
| | | // cbo.setMaterialclassify("model_type"); |
| | | // cbo.setMaterialname(orderDTO.getData().get("materialname")); |
| | | // cbo.setShifoupihaoguanli("true"); |
| | | // cbo.setKucunwl("true"); |
| | | // cbo.setXiaoshouwl("false"); |
| | | cbo.setTs(new Date()); |
| | | if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) { |
| | | //找生命周期的起始状态,插个点,看生命周期是否需要创建 |
| | | //找生命周期的起始状态,插个点,生命周期是否需要创建 |
| | | if (StringUtils.isNotBlank(cbo.getLctid())) { |
| | | // OsLifeCycleVO lifeCycleVO = lifeCycleService.getLifeCycleById(cbo.getLctid()); |
| | | // if (lifeCycleVO != null) { |
| | |
| | | |
| | | } |
| | | |
| | | int secret = VciBaseUtil.getInt(cbo.getSecretGrade().toString()); |
| | | int secret = VciBaseUtil.getInt(String.valueOf(cbo.getSecretGrade())); |
| | | //插个点,后续看密级服务是否可用 |
| | | // if (secret == 0 || !secretService.checkDataSecret(secret)) { |
| | | if (secret == 0 ) { |
| | |
| | | * @throws VciBaseException 初始化出错的是会抛出异常 |
| | | */ |
| | | @Override |
| | | public CodeWupinEntity createCBOByBtmName(String btmName) |
| | | public CodeWupin createCBOByBtmName(String btmName) |
| | | throws VciBaseException { |
| | | if(btmName!=null){ |
| | | btmName = btmName.trim().toLowerCase(); |
| | |
| | | // } |
| | | // ClientBusinessObject cbo = cloneClientBusinessObject(hasCreatedCbos.get(btmName)); |
| | | |
| | | QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>(); |
| | | btmWrapper.eq("ID",btmName); |
| | | CodeOsbtmtypeEntity btmTypeVO = codeOsbtmtypeMapper.selectOne(btmWrapper); |
| | | // QueryWrapper<CodeOsbtmtypeEntity> btmWrapper = new QueryWrapper<>(); |
| | | // btmWrapper.eq("ID",btmName); |
| | | // CodeOsbtmtypeEntity btmTypeVO = codeOsbtmtypeMapper.selectOne(btmWrapper); |
| | | // OsBtmTypeVO btmTypeVO = btmService.getBtmById(boName); |
| | | String userName = AuthUtil.getUser().getUserName(); |
| | | CodeWupinEntity wupinEntity = new CodeWupinEntity(); |
| | | wupinEntity.setOid(null); |
| | | CodeWupin wupinEntity = new CodeWupin(); |
| | | wupinEntity.setOid(VciBaseUtil.getPk()); |
| | | // bo.setRevisionid((new ObjectUtility()).getNewObjectID36()); |
| | | // bo.setNameoid((new ObjectUtility()).getNewObjectID36()); |
| | | wupinEntity.setBtmname(btmName); |
| | |
| | | wupinEntity.setCreateTime(new Date()); |
| | | wupinEntity.setLastModifier(userName); |
| | | wupinEntity.setLastModifyTime(new Date()); |
| | | wupinEntity.setRevisionRule(btmTypeVO.getRevisionruleid()); |
| | | wupinEntity.setVersionRule(String.valueOf(btmTypeVO.getVersionRule())); |
| | | if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){ |
| | | //插个点,需要问勇哥版本问题,展示默认为1 |
| | | wupinEntity.setRevisionRule("numberversionrule"); |
| | | wupinEntity.setVersionRule("0"); |
| | | // if(StringUtils.isNotBlank(btmTypeVO.getRevisionruleid())){ |
| | | // |
| | | // OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionruleid()); |
| | | wupinEntity.setRevisionValue("1"); |
| | | } |
| | | wupinEntity.setRevisionValue("1"); |
| | | // } |
| | | |
| | | wupinEntity.setRevisionSeq(1); |
| | | wupinEntity.setVersionSeq(1); |
| | |
| | | wupinEntity.setOwner(userName); |
| | | wupinEntity.setCheckinby(userName); |
| | | wupinEntity.setCopyFromVersion(""); |
| | | wupinEntity.setMaterialtype((short) 1001); |
| | | wupinEntity.setMaterialtype(1001); |
| | | wupinEntity.setCaigouwl("true"); |
| | | wupinEntity.setShifoupihaoguanli("true"); |
| | | wupinEntity.setKucunwl("true"); |
| | |
| | | maps.stream().forEach(map -> { |
| | | Map<String, String> data = new HashMap<>(); |
| | | map.forEach((key, value) -> { |
| | | data.put(((String) key).toLowerCase(Locale.ROOT), (String) value); |
| | | data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); |
| | | }); |
| | | dataList.add(data); |
| | | }); |
| | |
| | | referVO.setValueField(VciQueryWrapperForDO.OID_FIELD); |
| | | referVO.setTextField("name"); |
| | | } |
| | | |
| | | String referTable = VciBaseUtil.getTableName(referVO.getReferType()); |
| | | //表需要改 |
| | | // String referTable = VciBaseUtil.getTableName(referVO.getReferType()); |
| | | String referTable = "pl_code_wupin"; |
| | | String referTableNick = attrVO.getId() + "0"; |
| | | String left = " left join " + referTable + " " + referTableNick + " on " + referTableNick + "." + referVO.getValueField() + " = t." + attrVO.getId(); |
| | | joinTableList.put(attrVO.getId(), left); |
| | |
| | | } |
| | | whereSql += " and ( t.secretGrade <= " + userSecret + ") "; |
| | | } |
| | | String tableName = VciBaseUtil.getTableName(btmType); |
| | | //要改,表明获取有问题 |
| | | // String tableName = VciBaseUtil.getTableName(btmType); |
| | | String tableName = "pl_code_wupin"; |
| | | String sql = "select " + selectFieldList.stream().map(s -> (s.contains(".") ? s : ("t." + s))).collect(Collectors.joining(",")) |
| | | + " from " + tableName + SPACE + "t" + SPACE |
| | | + joinTableList.values().stream().collect(Collectors.joining(SPACE)) |
| | |
| | | //找业务类型,然后使用主键去获取数据库里的数据 |
| | | // List<ClientBusinessObject> cbos = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), WebUtil.getOidQuery(orderDTO.getOid())); |
| | | |
| | | QueryWrapper<CodeWupinEntity> btmWrapper = new QueryWrapper<>(); |
| | | QueryWrapper<CodeWupin> btmWrapper = new QueryWrapper<>(); |
| | | btmWrapper.eq("OID",orderDTO.getOid()); |
| | | CodeWupinEntity cbo = codeWupinMapper.selectOne(btmWrapper); |
| | | CodeWupin cbo = codeWupinMapper.selectOne(btmWrapper); |
| | | |
| | | // CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); |
| | | // CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid()); |
| | |
| | | oidCollection.addAll(strings); |
| | | } |
| | | |
| | | List<CodeWupinEntity> cboList = codeWupinMapper.selectBatchIds(oidCollection); |
| | | List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection); |
| | | // List<ClientBusinessObject> cboList = new ArrayList<>(); |
| | | // oidCollection.stream().forEach(oids -> { |
| | | // Map<String, String> conditionMap = new HashMap<>(); |
| | |
| | | if (CollectionUtils.isEmpty(cboList)) { |
| | | throw new VciBaseException("数据全部在系统中不存在"); |
| | | } |
| | | List<CodeWupinEntity> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); |
| | | List<CodeWupin> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); |
| | | if (!CollectionUtils.isEmpty(editCBOs)) { |
| | | CodeWupinEntity cbo = editCBOs.get(0); |
| | | CodeWupin cbo = editCBOs.get(0); |
| | | throw new VciBaseException("编码为{0}等共{1}条数据的状态不是[{2}],不允许删除", new String[]{cbo.getId(), String.valueOf(editCBOs.size()), CodeDefaultLC.EDITING.getText()}); |
| | | } |
| | | |
| | | //只能删除自己创建的数据 |
| | | String userId = AuthUtil.getUser().getUserName(); |
| | | for (CodeWupinEntity clientBusinessObject:cboList){ |
| | | for (CodeWupin clientBusinessObject:cboList){ |
| | | String creator = clientBusinessObject.getCreator(); |
| | | if(!userId.equalsIgnoreCase(creator)){ |
| | | throw new VciBaseException("编码为"+clientBusinessObject.getId()+"的数据不是当前用户创建,不能删除!"); |
| | |
| | | if (!classifyService.checkHasChild(codeClassifyOid)) { |
| | | conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid); |
| | | } else { |
| | | conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) |
| | | + " where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + |
| | | //表需要改 |
| | | // conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) |
| | | conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_wupin where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + |
| | | "' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )"); |
| | | } |
| | | conditionMap.put("islastr", "1"); |
| | | conditionMap.put("islastv", "1"); |
| | | conditionMap.put("lastr", "1"); |
| | | conditionMap.put("lastv", "1"); |
| | | return queryGrid(btmTypeId, templateVO, conditionMap, pageHelper); |
| | | // List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); |
| | | // //参照让平台直接查询就行 |
| | |
| | | public R markDataPassing(String oid, String btmName, Boolean pass) { |
| | | VciBaseUtil.alertNotNull(oid, "业务数据主键", btmName, "业务类型", pass, "标记类型"); |
| | | boolean flag = false; |
| | | // try { |
| | | // ClientBusinessObjectOperation operation = new ClientBusinessObjectOperation(); |
| | | try { |
| | | // QueryWrapper<CodeWupinEntity> wrapper = new QueryWrapper<>(); |
| | | // wrapper.eq("oid",oid); |
| | | CodeWupin data = baseMapper.selectById(oid); |
| | | // ClientBusinessObjectOperation operation = new ClientBusinessObjectOperation(); |
| | | // ClientBusinessObject data = operation.readBusinessObjectById(oid, btmName); |
| | | // if (data == null || StringUtils.isBlank(data.getOid())) { |
| | | // return BaseResult.fail(DATA_OID_NOT_EXIST); |
| | | // } |
| | | // data.setAttributeValue("passing", String.valueOf(pass)); |
| | | if (data == null || StringUtils.isBlank(data.getOid())) { |
| | | return R.fail(DATA_OID_NOT_EXIST); |
| | | } |
| | | data.setPassing(String.valueOf(pass)); |
| | | flag = SqlHelper.retBool(baseMapper.updateById(data)); |
| | | // flag = operation.updateBuinessObject(data); |
| | | // } catch (VCIError e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if (flag) { |
| | | return R.success("标记成功!"); |
| | | } else { |
| | |
| | | executionId = executionId.substring(0, executionId.lastIndexOf(".")); |
| | | } |
| | | String sql = "select wm_concat(distinct (t.codetempattrOidArr)) codetempattroidarr\n" + |
| | | "from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY_PROCESS_TEMPLATE) + " t\n" + |
| | | "from pl_code_wupin t\n" + |
| | | "join PLFLOWINSTANCE plfi on t.ID = plfi.PLTEMPLATEPUID\n" + |
| | | "where plfi.PLEXECUTIONID = '" + executionId + "' and t.CLASSIFYTEMPLATEOID = '" + templateOid + "' and t.CODEPROCESSUSE = '" + processUse + "'"; |
| | | // List<ClientBusinessObject> tempAttrOidArr = boService.queryByOnlySql(sql); |
| | |
| | | } |
| | | List<String> oidList = VciBaseUtil.str2List(conditionMap.get("oid")); |
| | | Map<String, String> oidMap = new HashMap<>(); |
| | | QueryWrapper<CodeWupin> wrapper = new QueryWrapper(); |
| | | if (conditionMap.get("oid").contains(",")) { |
| | | oidMap.put("oid", QueryOptionConstant.IN +"("+ VciBaseUtil.toInSql(oidList.toArray(new String[0])) + ")"); |
| | | // oidMap.put("oid", QueryOptionConstant.IN +"("+ VciBaseUtil.toInSql(oidList.toArray(new String[0])) + ")"); |
| | | wrapper.in("oid",oidList); |
| | | } else { |
| | | oidMap.put("oid", conditionMap.get("oid")); |
| | | // oidMap.put("oid", conditionMap.get("oid")); |
| | | wrapper.in("oid",conditionMap.get("oid")); |
| | | } |
| | | if (CollectionUtils.isEmpty(oidMap)) { |
| | | throw new VciBaseException("业务数据主键不能为空"); |
| | | } |
| | | // List<ClientBusinessObject> cbos = boService.queryCBO(btmType, oidMap); |
| | | // if (CollectionUtils.isEmpty(cbos)) { |
| | | // throw new VciBaseException("未找到业务数据"); |
| | | // } |
| | | // ClientBusinessObject cbo = cbos.get(0); |
| | | // String templateOid = cbo.getAttributeValue("CODETEMPLATEOID"); |
| | | List<CodeWupin> cbos = baseMapper.selectList(wrapper); |
| | | if (CollectionUtils.isEmpty(cbos)) { |
| | | throw new VciBaseException("未找到业务数据"); |
| | | } |
| | | CodeWupin cbo = cbos.get(0); |
| | | String templateOid = cbo.getCodetemplateoid(); |
| | | // Map<String, String> templateOidMap = new HashMap<>(); |
| | | // templateOidMap.put("oid", templateOid); |
| | | |
| | | QueryWrapper<CodeClassifyTemplate> codeClassifyTemplateWrapper = new QueryWrapper<>(); |
| | | codeClassifyTemplateWrapper.eq("oid", templateOid); |
| | | List<CodeClassifyTemplate> templateDOList = templateService.list(codeClassifyTemplateWrapper); |
| | | |
| | | // List<CodeClassifyTemplate> templateDOList = boService.queryObject(CodeClassifyTemplate.class, templateOidMap); |
| | | QueryWrapper<CodeClassifyTemplateAttr> codeClassifyTemplateAttrWrapper = new QueryWrapper<>(); |
| | | codeClassifyTemplateAttrWrapper.eq("CLASSIFYTEMPLATEOID", templateOid); |
| | | // templateOidMap.clear(); |
| | | // templateOidMap.put("CLASSIFYTEMPLATEOID",templateOid); |
| | | // List<CodeClassifyTemplateAttr> attrDOList = boService.queryObject(CodeClassifyTemplateAttr.class, templateOidMap); |
| | | // if (CollectionUtils.isEmpty(templateDOList)) { |
| | | // logger.error("找不到业务数据关联的模板,模板主键:" + templateOid); |
| | | // throw new VciBaseException("找不到业务数据关联的模板"); |
| | | // } |
| | | // CodeClassifyTemplateVO templateVO = templateService.codeClassifyTemplateDO2VO(templateDOList.get(0)); |
| | | // templateVO.setAttributes(templateAttrService.codeClassifyTemplateAttrDO2VOs(attrDOList)); |
| | | // try { |
| | | // if (oidList.size() > 1){ |
| | | // DataGrid<Map<String,String>> allDataGrid = new DataGrid<>(); |
| | | // List<Map<String,String>> allData = new ArrayList<>(); |
| | | // oidList.forEach(oid -> { |
| | | // Map<String,String> condition = new HashMap<>(); |
| | | // condition.put("oid",oid); |
| | | // DataGrid<Map<String, String>> dataGrid = queryGrid(btmType, templateVO, condition, pageHelper); |
| | | // allData.addAll(dataGrid.getData()); |
| | | // }); |
| | | // allDataGrid.setData(allData); |
| | | // return allDataGrid; |
| | | // }else { |
| | | // return queryGrid(btmType, templateVO, conditionMap, pageHelper); |
| | | // } |
| | | // } catch (Exception e) { |
| | | // System.out.println(e.getMessage()); |
| | | List<CodeClassifyTemplateAttr> attrDOList = codeClassifyTemplateAttrService.list(codeClassifyTemplateAttrWrapper); |
| | | // boService.queryObject(CodeClassifyTemplateAttr.class, templateOidMap); |
| | | if (CollectionUtils.isEmpty(templateDOList)) { |
| | | logger.error("找不到业务数据关联的模板,模板主键:" + templateOid); |
| | | throw new VciBaseException("找不到业务数据关联的模板"); |
| | | } |
| | | CodeClassifyTemplateVO templateVO = templateService.codeClassifyTemplateDO2VO(templateDOList.get(0)); |
| | | templateVO.setAttributes(codeClassifyTemplateAttrService.codeClassifyTemplateAttrDO2VOs(attrDOList)); |
| | | try { |
| | | if (oidList.size() > 1){ |
| | | DataGrid<Map<String,String>> allDataGrid = new DataGrid<>(); |
| | | List<Map<String,String>> allData = new ArrayList<>(); |
| | | oidList.forEach(oid -> { |
| | | Map<String,String> condition = new HashMap<>(); |
| | | condition.put("oid",oid); |
| | | DataGrid<Map<String, String>> dataGrid = queryGrid(btmType, templateVO, condition, pageHelper); |
| | | allData.addAll(dataGrid.getData()); |
| | | }); |
| | | allDataGrid.setData(allData); |
| | | return allDataGrid; |
| | | }else { |
| | | return queryGrid(btmType, templateVO, conditionMap, pageHelper); |
| | | } |
| | | } catch (Exception e) { |
| | | System.out.println(e.getMessage()); |
| | | return null; |
| | | // } |
| | | } |
| | | } |
| | | /** |
| | | * 使用分类的主键获取表格的定义 |
| | |
| | | kv.setValue(buttonVO.getClassifyButtonOidName()); |
| | | kv.setAttributes(VciBaseUtil.objectToMap(buttonVO)); |
| | | buttons.add(kv); |
| | | optionJsMap.put(buttonVO.getId(), buttonVO.getButtonVO().getExecutejs()); |
| | | optionJsMap.put(buttonVO.getId(), buttonVO.getButtonVO().getExecuteJs()); |
| | | }); |
| | | optionFieldVO.setOptionJsMap(optionJsMap); |
| | | uiInfoVO.getTableDefineVO().getCols().get(0).add(optionFieldVO); |