From bf74d819239bb136f72ddc92129ecdbabbc38fa7 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期五, 04 八月 2023 18:44:16 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java         |   22 +++--------
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                                       |    2 
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue                                                       |   36 ++++++++++++-----
 Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/BladeFlow.java                 |    5 ++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java |   15 +++++--
 5 files changed, 48 insertions(+), 32 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index d7adab9..6d4c5a1 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -876,7 +876,7 @@
     //鏁版嵁鏇存敼鍥炶皟
     updataSumbit(val){
       this.DataVisible = false;
-      val.copyfromversion = this.rowOid;
+      val.copyFromVersion = this.rowOid;
       val.oid=''
       console.log(val)
       upSaveCode(val).then(res=>{
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 9738222..581c486 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -231,7 +231,11 @@
             <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
             <el-button size="small"  type="primary" plain @click="SelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
           </template>
-          <avue-crud :data="masterData" :option="masterOption" @select="masterSelect"></avue-crud>
+          <avue-crud :data="masterData" :option="masterOption" @row-click="masterSelect">
+            <template slot="radio" slot-scope="{row}">
+              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
+            </template>
+          </avue-crud>
           <div style="height: 30px">
             <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.coderuleoidName ==''?'鏈缃��':this.TreeAddform.coderuleoidName}}]</div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
@@ -255,7 +259,11 @@
             <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
             <el-button size="small"  type="primary" plain @click="KeySelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
           </template>
-          <avue-crud :data="KeyData" :option="masterOption" @select="KeySelect"></avue-crud>
+          <avue-crud :data="KeyData" :option="masterOption" @row-click="KeySelect">
+            <template slot="radio" slot-scope="{row}">
+              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
+            </template>
+          </avue-crud>
           <div style="height: 30px">
             <div style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codeKeyAttrRepeatOidName ==''?'鏈缃��':this.TreeAddform.codekeyattrrepeatoidName}}]</div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
@@ -279,7 +287,11 @@
             <el-input style="width: 260px;margin-left: 15px" placeholder="杈撳叆鍊煎悗杩涜妯$硦鏌ヨ" v-model="SelectFInd"></el-input>
             <el-button size="small"  type="primary" plain @click="SimSelectFindeHandler" style="margin-left: 20px">鏌ヨ</el-button>
           </template>
-          <avue-crud :data="simData" :option="masterOption" @select="simSelect"></avue-crud>
+          <avue-crud :data="simData" :option="masterOption" @row-click="simSelect">
+            <template slot="radio" slot-scope="{row}">
+              <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{''}}</el-radio>
+            </template>
+          </avue-crud>
           <div style="height: 30px">
             <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.codeResembleRuleOidName ==''?'鏈缃��':this.TreeAddform.codeResembleRuleOidName}}]</div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" >
@@ -772,11 +784,11 @@
     },
     //缂栫爜澶氶��
     masterSelect(row){
-    if(row.length>0){
+      this.masterRow=row.$index;
       this.masterSelectList=row;
-      this.masterName=row[0].name;
-      this.masterOid=row[0].oid;
-    }
+      this.masterName=row.name;
+      this.masterOid=row.oid;
+
     },
     //缂栫爜瑙勫垯鏌ヨ
     SelectFindeHandler(){
@@ -859,9 +871,10 @@
     },
     // 鍏抽敭澶氶��
     KeySelect(row){
+      this.masterRow=row.$index;
       this.KeySelectLIst=row;
-      this.KeyName=row[0].name;
-      this.KeyOid=row[0].oid;
+      this.KeyName=row.name;
+      this.KeyOid=row.oid;
     },
     //鍏抽敭澶辩劍
     simFouce(){
@@ -898,9 +911,10 @@
     },
     //  鐩镐技椤瑰閫�
     simSelect(row){
+      this.masterRow=row.$index;
       this.simSelectList=row;
-      this.simName=row[0].name;
-      this.simOid=row[0].oid;
+      this.simName=row.name;
+      this.simOid=row.oid;
     },
     //鐩镐技椤归」鎺ュ彛
     simdefaultRend(){
diff --git a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/BladeFlow.java b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/BladeFlow.java
index a0ca9b6..dceab7c 100644
--- a/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/BladeFlow.java
+++ b/Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/entity/BladeFlow.java
@@ -185,6 +185,11 @@
 	private String historyActivityIdea;
 
 	/**
+	 * 娴佺▼寮�濮嬩簨浠�
+	 */
+	private String processDefinitionStartTime;
+
+	/**
 	 * 鑾峰彇鏄惁閫氳繃
 	 */
 	public boolean isPass() {
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java
index 502f332..a8581d4 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java
@@ -24,6 +24,7 @@
 import com.vci.ubcs.flow.engine.constant.FlowEngineConstant;
 import com.vci.ubcs.flow.engine.entity.FlowProcess;
 import com.vci.ubcs.flow.engine.utils.FlowCache;
+import com.vci.ubcs.starter.web.util.VciDateUtil;
 import com.vci.ubcs.system.user.cache.UserCache;
 import com.vci.ubcs.system.user.entity.User;
 import lombok.AllArgsConstructor;
@@ -340,10 +341,11 @@
 					flow.setHistoryActivityIdea(commentList.get(0).getFullMessage());
 				}
 			}
+			List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery()
+				.processInstanceId(task.getProcessInstanceId()).orderByProcessInstanceStartTime().asc().list();
+			flow.setProcessDefinitionStartTime(VciDateUtil.date2Str(processInstanceList.get(0).getStartTime(),VciDateUtil.DateTimeFormat));
 			// 鑾峰彇娴佺▼鍙戣捣浜哄悕绉�
 			if (FlowEngineConstant.START_EVENT.equals(historicActivityInstance.getActivityType())) {
-				List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery()
-					.processInstanceId(task.getProcessInstanceId()).orderByProcessInstanceStartTime().asc().list();
 				if (processInstanceList.size() > 0) {
 					if (StringUtil.isNotBlank(processInstanceList.get(0).getStartUserId())) {
 						String taskUser = processInstanceList.get(0).getStartUserId();
@@ -357,9 +359,14 @@
 			}
 
 			if (Func.isNotEmpty(historicProcessInstance)) {
-				String[] businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey());
+				String[] businessKey = new String[2];
+				if(historicProcessInstance.getBusinessKey().contains(StringPool.COLON)){
+					businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey());
+				}else{
+					businessKey[0] = historicProcessInstance.getBusinessKey();
+				}
 				flow.setBusinessTable(businessKey[0]);
-				flow.setBusinessId(businessKey.length>1?businessKey[1]:"1");
+				flow.setBusinessId(businessKey.length>1 && StringUtils.isNotEmpty(businessKey[1])?businessKey[1]:"1");
 			}
 
 			FlowProcess processDefinition = FlowCache.getProcessDefinition(task.getProcessDefinitionId());
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index a194dc7..3441b94 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -2607,17 +2607,10 @@
                 orderDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭");
 
         //闇�瑕佸崌鐗�
-//		ClientBusinessObjectOperation cboOperation = new ClientBusinessObjectOperation();
         BaseModel cbo = null;
-//		try {
-//			//cbo = cboOperation.createBusinessObjectVersion(oldCbo,VciBaseUtil.getCurrentUserId());
         cbo = reviseBusinessObject(oldCbo);
-//		} catch (VCIError e) {
-//			throw new VciBaseException("鍒濆鍖栫浉鍏崇殑鍐呭鍑虹幇浜嗛敊璇�", new String[0], e);
-//		}
         //1. 鍒ゆ柇蹇呰緭椤�
-        //CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
-        checkRequiredAttrOnOrder(templateVO, orderDTO);
+		checkRequiredAttrOnOrder(templateVO, orderDTO);
         //2.鍏堟敞鍏ワ紝鍐嶇粍鍚堬紝鏈�鍚庢牎楠�
         switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO);
         //3.澶勭悊缁勫悎瑙勫垯銆傜粍鍚堣鍒欎笉鑳戒娇鐢ㄧ紪鐮佺殑灞炴�э紝鍥犱负缂栫爜鐨勭敓鎴愬彲鑳芥槸闇�瑕佸睘鎬х殑
@@ -2635,20 +2628,17 @@
         //浼佷笟鐮佸拰闆嗗洟鐮佺殑涓嶄慨鏀�
         cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
         cbo.setName(orderDTO.getName());
-//		try {
         cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
-//		cbo.setAttributeValueWithNoCheck("description", StringUtils.isBlank(orderDTO.getDescription())?"":orderDTO.getDescription());
         cbo.setName(orderDTO.getName());
-//		} catch (VCIError e) {
-//			e.printStackTrace();
-//		}
         //鏁版嵁鐨勬椂鍊欙紝缂栫爜鏄笉鍙樼殑
         cbo.setCreateTime(cbo.getCreateTime());
         cbo.setLastModifyTime(cbo.getLastModifyTime());
-//		List<ClientBusinessObject> cboList = new ArrayList<>();
-//		cboList.add(cbo);
+		cbo.setTenantId(AuthUtil.getTenantId());
+		oldCbo.setLastV("0");
+		oldCbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+		oldCbo.setLastModifyTime(new Date());
         try {
-//			cboOperation.saveRevisionBuinessObject(cbo);
+			updateBatchByBaseModel(oldCbo.getBtmname(), Collections.singletonList(oldCbo));
             insertBatchByType(cbo.getBtmname(), Collections.singletonList(cbo));
         } catch (Exception vciError) {
             throw new VciBaseException("鏁版嵁鏇存敼淇濆瓨鍑洪敊浜�", new String[0], vciError);

--
Gitblit v1.9.3