瀏覽代碼

Merge remote-tracking branch 'origin/master' into master

yangyj 2 年之前
父節點
當前提交
eb0070f970

+ 3 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ContractLogClientImpl.java

@@ -98,6 +98,9 @@ public class ContractLogClientImpl implements ContractLogClient {
 
                 }
             }
+            //修改数据ID指向
+            this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getDataId, contractLog.getDataId()).eq(ContractLog::getId, logJson.getString("id")));
+
         } else {
             //新增
             contractLog.setId(SnowFlakeUtil.getId());

+ 19 - 9
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -285,17 +285,31 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 	 * 保存日志
 	 */
 	private void saveOrUpdateTheLog(List<TableInfo> tableInfoList){
-		String businessId = tableInfoList.get(0).getTheLogId();
-		if(StringUtils.isEmpty(businessId)){
-			businessId = SnowFlakeUtil.getId().toString();
-		}
-		List<JSONObject> linkTabIds = JSONArray.parseArray(JSONObject.toJSONString(tableInfoList.get(0).getLinkTabIds()), JSONObject.class);
+		//查询绑定的节点
+		WbsTreePrivate tableNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfoList.get(0).getPkeyId()));
+		WbsTreePrivate parentNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, tableNode.getProjectId()).eq(WbsTreePrivate::getId, tableNode.getParentId()));
+
+		//填报日期
 		String recordTime = tableInfoList.get(0).getRecordTime();
 		if(StringUtils.isEmpty(recordTime)){
 			//为空,默认今天
 			recordTime = DateUtil.format(new Date(), "yyyy-MM-dd");
 		}
 
+		String businessId = tableInfoList.get(0).getTheLogId();
+		if(StringUtils.isEmpty(businessId)){
+
+			//检查是否存在原本的数据
+			JSONObject logJson = this.contractLogClient.queryContractLogByPrimaryKeyIdAndRecordTime(parentNode.getPKeyId().toString(), recordTime);
+
+			if(logJson == null){
+				businessId = SnowFlakeUtil.getId().toString();
+			} else {
+				businessId = logJson.getString("dataId");
+			}
+		}
+		List<JSONObject> linkTabIds = JSONArray.parseArray(JSONObject.toJSONString(tableInfoList.get(0).getLinkTabIds()), JSONObject.class);
+
 		for(TableInfo tableInfo : tableInfoList){
 			WbsTreePrivate wbsTreePrivate = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfo.getPkeyId()));
 			if(wbsTreePrivate == null){
@@ -330,10 +344,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 			}
 		}
 
-		//查询绑定的节点
-		WbsTreePrivate tableNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfoList.get(0).getPkeyId()));
-		WbsTreePrivate parentNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, tableNode.getProjectId()).eq(WbsTreePrivate::getId, tableNode.getParentId()));
-
 		//保存日志记录
 		this.contractLogClient.saveContractLog(new SaveContractLogVO(
 				Long.parseLong(businessId),