| | |
| | | import com.vci.common.qt.object.QueryTemplate; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.framework.data.UserInfo; |
| | | import com.vci.corba.omd.data.*; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.corba.omd.data.LinkObject; |
| | | import com.vci.corba.omd.data.RevisionDataInfo; |
| | | import com.vci.corba.omd.data.VersionDataInfo; |
| | | import com.vci.corba.omd.lcm.LifeCycle; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.corba.omd.qtm.QTInfo; |
| | | import com.vci.corba.query.data.BOAndLO; |
| | | import com.vci.dto.*; |
| | | import com.vci.frameworkcore.lcstatuspck.FrameworkDataLCStatus; |
| | | import com.vci.frameworkcore.lcstatuspck.ReleaseDataLCStatus; |
| | | import com.vci.lcstatuspck.FrameworkDataLCStatus; |
| | | import com.vci.lcstatuspck.ReleaseDataLCStatus; |
| | | import com.vci.omd.utils.ObjectTool; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.query.UIDataGridQuery; |
| | | import com.vci.query.UIFormQuery; |
| | | import com.vci.query.UILinkTypeDataQuery; |
| | | import com.vci.query.UITreeQuery; |
| | | import com.vci.starter.revision.bo.TreeWrapperOptions; |
| | | import com.vci.starter.web.annotation.bus.VciChangeDataAfter; |
| | | import com.vci.starter.web.annotation.bus.VciChangeDataBefore; |
| | |
| | | import com.vci.starter.web.model.BaseModel; |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.util.*; |
| | | import com.vci.starter.web.util.Lcm.Func; |
| | | import com.vci.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import com.vci.web.enumpck.DeleteTypeEnum; |
| | | import com.vci.web.enumpck.UIFieldTypeEnum; |
| | | import com.vci.web.enumpck.UITreeLoadTypeEnum; |
| | | import com.vci.web.query.UIDataGridQuery; |
| | | import com.vci.web.query.UIFormQuery; |
| | | import com.vci.web.query.UILinkTypeDataQuery; |
| | | import com.vci.web.query.UITreeQuery; |
| | | import com.vci.web.service.*; |
| | | import com.vci.web.util.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.WebUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.vci.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; |
| | | |
| | | |
| | | /** |
| | | * UI上的数据查询 |
| | |
| | | if((baseModelDTOList == null || CollectionUtils.isEmpty(baseModelDTOList.getDataList())) && (baseLinkModelDTOList == null || CollectionUtils.isEmpty(baseLinkModelDTOList.getDataList()))){ |
| | | return BaseResult.success(); |
| | | } |
| | | String btmType = (baseModelDTOList !=null && !CollectionUtils.isEmpty(baseModelDTOList.getDataList()))? baseModelDTOList.getDataList().get(0).getBtmname():null; |
| | | String btmType = (baseModelDTOList !=null && !CollectionUtils.isEmpty(baseModelDTOList.getDataList()))? baseModelDTOList.getDataList().get(0).getBtmName():null; |
| | | String linkType = (baseLinkModelDTOList !=null && !CollectionUtils.isEmpty(baseLinkModelDTOList.getDataList()))?baseLinkModelDTOList.getDataList().get(0).getLinkType():null; |
| | | if(StringUtils.isNotBlank(preEvent)){ |
| | | //前置事件 |
| | |
| | | public BaseModelDTOList formData2DTOList(FormDataDTO formDataDTO){ |
| | | BaseModelDTOList modelDTOList = new BaseModelDTOList(); |
| | | BaseModelDTO modelDTO = new BaseModelDTO(); |
| | | BeanUtil.convert((BaseModelDTO)formDataDTO,modelDTO); |
| | | BeanUtilForVCI.convert(formDataDTO,modelDTO); |
| | | modelDTO.setData(formDataDTO.getData()); |
| | | List<BaseModelDTO> modelDTOS = new ArrayList<>(); |
| | | modelDTOS.add(modelDTO); |
| | |
| | | BaseLinkModelDTOList modelDTOList = new BaseLinkModelDTOList(); |
| | | BaseLinkModelDTO modelDTO = new BaseLinkModelDTO(); |
| | | modelDTO.setData(formLinkDataDTO.getData()); |
| | | BeanUtil.convert((BaseLinkModelDTO)formLinkDataDTO,modelDTO); |
| | | BeanUtilForVCI.convert(formLinkDataDTO,modelDTO); |
| | | List<BaseLinkModelDTO> linkModelDTOS = new ArrayList<>(); |
| | | linkModelDTOS.add(modelDTO); |
| | | modelDTOList.setDataList(linkModelDTOS); |
| | |
| | | modelDTOS.stream().findAny().orElseGet(()->null); |
| | | formDataDTOList.getFormDataDTOS().forEach(formDataDTO -> { |
| | | BaseModelDTO modelDTO = new BaseModelDTO(); |
| | | BeanUtil.convert((BaseModelDTO)formDataDTO,modelDTO); |
| | | BeanUtilForVCI.convert((BaseModelDTO)formDataDTO,modelDTO); |
| | | modelDTO.setData(formDataDTO.getData()); |
| | | modelDTOS.add(modelDTO); |
| | | }); |
| | |
| | | List<BaseLinkModelDTO> modelDTOS = new ArrayList<>(); |
| | | formLinkDataDTOList.getDataDTOList().forEach(formDataDTO -> { |
| | | BaseLinkModelDTO modelDTO = new BaseLinkModelDTO(); |
| | | BeanUtil.convert((BaseLinkModelDTO)formDataDTO,modelDTO); |
| | | BeanUtilForVCI.convert((BaseLinkModelDTO)formDataDTO,modelDTO); |
| | | modelDTO.setData(formDataDTO.getData()); |
| | | modelDTOS.add(modelDTO); |
| | | }); |
| | |
| | | @Override |
| | | public BaseResult<Map<String, Object>> addSave(FormDataDTO formDataDTO) throws VciBaseException, PLException { |
| | | //首先判断对象是否为空 |
| | | VciBaseUtil.alertNotNull(formDataDTO,"添加的数据对象",formDataDTO.getBtmname(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmname(), formDataDTO.getFormDefineId()); |
| | | VciBaseUtil.alertNotNull(formDataDTO,"添加的数据对象",formDataDTO.getBtmName(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmName(), formDataDTO.getFormDefineId()); |
| | | String preEvent = formDataDTO.getPreEvent(); |
| | | BaseModelDTOList modelDTOList = formData2DTOList(formDataDTO); |
| | | BaseResult beforeResult = callPreEvent(modelDTOList, null,preEvent, VciChangeDocumentTypeEnum.ADD); |
| | |
| | | baseModel.setOid(cbo.oid); |
| | | baseModel.setNameOid(cbo.nameoid); |
| | | baseModel.setRevisionOid(cbo.revisionid); |
| | | baseModel.setBtmname(cbo.btName); |
| | | baseModel.setBtmName(cbo.btName); |
| | | baseModel.setLastR(String.valueOf(cbo.isLastR)); |
| | | baseModel.setLastV(String.valueOf(cbo.isLastV)); |
| | | baseModel.setFirstR(String.valueOf(cbo.isFirstR)); |
| | |
| | | VciBaseUtil.alertNotNull(formDataDTOList,"要添加的数据",formDataDTOList.getFormDataDTOS(),"要添加的数据"); |
| | | //首先判断对象是否为空 |
| | | FormDataDTO firstFormDataDTO = formDataDTOList.getFormDataDTOS().stream().findFirst().get(); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(firstFormDataDTO.getBtmname(), firstFormDataDTO.getId()); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(firstFormDataDTO.getBtmName(), firstFormDataDTO.getId()); |
| | | String preEvent = firstFormDataDTO.getPreEvent(); |
| | | BaseModelDTOList modelDTOList = formDataList2DTOList(formDataDTOList); |
| | | BaseResult beforeResult = callPreEvent(modelDTOList, null, preEvent, VciChangeDocumentTypeEnum.ADD); |
| | |
| | | } |
| | | if(!CollectionUtils.isEmpty(releasedFileOids)){ |
| | | releasedFileOids.forEach((oid,fileOids)->{ |
| | | fileObjectService.releasedFile(firstFormDataDTO.getBtmname(),oid,fileOids); |
| | | fileObjectService.releasedFile(firstFormDataDTO.getBtmName(),oid,fileOids); |
| | | }); |
| | | } |
| | | //后置事件 |
| | |
| | | @Override |
| | | public BaseResult<Map<String, Object>> editSave(FormDataDTO formDataDTO) throws VciBaseException, PLException { |
| | | //首先判断对象是否为空 |
| | | VciBaseUtil.alertNotNull(formDataDTO,"修改的数据对象",formDataDTO.getBtmname(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmname(), formDataDTO.getFormDefineId()); |
| | | VciBaseUtil.alertNotNull(formDataDTO,"修改的数据对象",formDataDTO.getBtmName(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmName(), formDataDTO.getFormDefineId()); |
| | | String preEvent = formDataDTO.getPreEvent(); |
| | | BaseModelDTOList modelDTOList = formData2DTOList(formDataDTO); |
| | | BaseResult beforeResult = callPreEvent(modelDTOList,null, preEvent, VciChangeDocumentTypeEnum.EDIT); |
| | |
| | | @Override |
| | | public BaseResult<Map<String, Object>> upRevision(FormDataDTO formDataDTO) throws VciBaseException, PLException { |
| | | //首先判断对象是否为空 |
| | | VciBaseUtil.alertNotNull(formDataDTO,"修改的数据对象",formDataDTO.getBtmname(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号",formDataDTO.getCopyFromVersion(),"老版本的主键"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmname(), formDataDTO.getFormDefineId()); |
| | | VciBaseUtil.alertNotNull(formDataDTO,"修改的数据对象",formDataDTO.getBtmName(),"业务类型的名称",formDataDTO.getFormDefineId(),"表单定义的编号",formDataDTO.getCopyFromVersion(),"老版本的主键"); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmName(), formDataDTO.getFormDefineId()); |
| | | String preEvent = formDataDTO.getPreEvent(); |
| | | BaseModelDTOList modelDTOList = formData2DTOList(formDataDTO); |
| | | BaseResult beforeResult = callPreEvent(modelDTOList, null,preEvent, VciChangeDocumentTypeEnum.UPREVISION); |
| | |
| | | Map<String,String> conditionMap = WebUtil.getOidQuery(formDataDTO.getCopyFromVersion()); |
| | | conditionMap.put("ts", VciDateUtil.date2Str(ts,VciDateUtil.DateTimeMillFormat)); |
| | | conditionMap.put("oid",formDataDTO.getCopyFromVersion()); |
| | | businessObjects = boService.queryCBO(formDataDTO.getBtmname(), conditionMap); |
| | | businessObjects = boService.queryCBO(formDataDTO.getBtmName(), conditionMap); |
| | | if(businessObjects.size() ==0){ |
| | | throw new VciBaseException("数据不是最新的,建议您刷新后重新操作"); |
| | | } |
| | |
| | | VciBaseUtil.alertNotNull(formDataDTOList,"要修改的数据",formDataDTOList.getFormDataDTOS(),"要修改的数据"); |
| | | //首先判断对象是否为空 |
| | | FormDataDTO firstFormDataDTO = formDataDTOList.getFormDataDTOS().stream().findFirst().get(); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(firstFormDataDTO.getBtmname(), firstFormDataDTO.getId()); |
| | | UIFormDefineVO formDefineVO = uiEngineService.getFormById(firstFormDataDTO.getBtmName(), firstFormDataDTO.getId()); |
| | | String preEvent = firstFormDataDTO.getPreEvent(); |
| | | BaseModelDTOList modelDTOList = formDataList2DTOList(formDataDTOList); |
| | | BaseResult beforeResult = callPreEvent(modelDTOList,null, preEvent, VciChangeDocumentTypeEnum.EDIT); |
| | |
| | | } |
| | | if(!CollectionUtils.isEmpty(releasedFileOids)){ |
| | | releasedFileOids.forEach((oid,fileOids)->{ |
| | | fileObjectService.releasedFile(firstFormDataDTO.getBtmname(),oid,fileOids); |
| | | fileObjectService.releasedFile(firstFormDataDTO.getBtmName(),oid,fileOids); |
| | | }); |
| | | } |
| | | //后置事件 |
| | |
| | | @Override |
| | | public BaseResult batchDelete(DeleteDataDTO deleteDataDTO) throws VciBaseException, PLException { |
| | | VciBaseUtil.alertNotNull(deleteDataDTO,"数据传输对象",deleteDataDTO.getDataList(),"数据传输对象"); |
| | | String btmName = deleteDataDTO.getDataList().get(0).getBtmname(); |
| | | String btmName = deleteDataDTO.getDataList().get(0).getBtmName(); |
| | | List<String> oidList = deleteDataDTO.getDataList().stream().map(BaseModelDTO::getOid).collect(Collectors.toList()); |
| | | //看看级联删除。只有自己引用自己的时候可以级联删除 |
| | | List<BusinessObject> cbo = null; |