Browse Source

日志相关

huangjn 2 năm trước cách đây
mục cha
commit
fe67d59610

+ 6 - 3
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ContractLog.java

@@ -17,9 +17,6 @@
 package org.springblade.business.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-
 import io.swagger.annotations.ApiModelProperty;
 import org.springblade.core.mp.base.BaseEntity;
 import lombok.Data;
@@ -96,4 +93,10 @@ public class ContractLog extends BaseEntity {
     @ApiModelProperty("文件名称")
     private String eVisaPdfUrl;
 
+    @ApiModelProperty("审批人")
+    private String auditUserIdAndName;
+
+    @ApiModelProperty("上报批次")
+    private Integer batch;
+
 }

+ 38 - 5
blade-service/blade-business/src/main/java/org/springblade/business/controller/ContractLogController.java

@@ -2,6 +2,7 @@ package org.springblade.business.controller;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -14,6 +15,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springblade.business.entity.ContractLog;
 import org.springblade.business.entity.ContractLogWbs;
 import org.springblade.business.entity.Task;
+import org.springblade.business.entity.TaskParallel;
 import org.springblade.business.feign.MessageWarningClient;
 import org.springblade.business.feign.OperationLogClient;
 import org.springblade.business.feign.TaskClient;
@@ -67,7 +69,26 @@ public class ContractLogController extends BladeController {
 
 	private final NewIOSSClient newIOSSClient;
 
-
+    /**
+     * 日志上报(填报页)
+     */
+    @PostMapping("/startTaskTheLog")
+    @ApiOperationSupport(order = 9)
+    @ApiOperation(value = "日志上报(填报页)")
+    public R<Boolean> startTaskTheLog(@RequestBody StartTaskVO startTaskVO, @RequestParam String nodePrimaryKeyId, @RequestParam String recordTime){
+        if(StringUtils.isEmpty(startTaskVO.getIds())){
+            if(StringUtils.isEmpty(nodePrimaryKeyId) && StringUtils.isEmpty(recordTime)){
+                return R.fail("未找到业务数据");
+            }
+            //如果ids为空,说明是填报页上报,那么需要根据 nodePrimaryKeyId 和 recordTime 获取当前用户的填写记录
+            ContractLog log = this.contractLogService.getOne(Wrappers.<ContractLog>lambdaQuery().eq(ContractLog::getWbsNodeId, nodePrimaryKeyId).eq(ContractLog::getRecordTime, recordTime).eq(ContractLog::getCreateUser, AuthUtil.getUserId()));
+            if(log == null){
+                return R.fail("未找到业务数据");
+            }
+            startTaskVO.setIds(String.valueOf(log.getId()));
+        }
+        return this.batchTask(startTaskVO);
+    }
 
 	/**
 	 * 预览、打印
@@ -176,9 +197,7 @@ public class ContractLogController extends BladeController {
 					this.taskClient.abolishTask(task);
 				} else if(new Integer("2").equals(task.getStatus())) {
 					//已审批的任务,修改业务数据的审批状态为未上报并撤签即可
-					this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getStatus, 3).in(ContractLog::getId, Arrays.asList(task.getFormDataId().split(","))));
-					// todo ================== 调用撤签
-					// todo ================== 调用撤签
+					this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getEVisaPdfUrl, null).set(ContractLog::getStatus, 3).in(ContractLog::getId, Arrays.asList(task.getFormDataId().split(","))));
 				}
 
 				List<ContractLog> contractLogs = this.contractLogService.getBaseMapper().selectBatchIds(Arrays.asList(task.getFormDataId().split(",")));
@@ -237,8 +256,22 @@ public class ContractLogController extends BladeController {
 					taskVO.setApprovalType(3);
 					//上报
 					if(this.taskClient.startTask(taskVO).getData()){
+                        LambdaUpdateWrapper<ContractLog> wrappers = Wrappers.lambdaUpdate();
+                        wrappers.set(ContractLog::getBatch, taskVO.getBatch()).set(ContractLog::getStatus, 1);
+
+                        //查询审批人
+                        List<TaskParallel> taskUsers = this.taskClient.queryApprovalUser(id);
+                        if(taskUsers.size() > 0){
+                            //生成审批人信息
+                            StringBuilder stringBuilder = new StringBuilder();
+                            taskUsers.forEach(users -> stringBuilder.append(",").append(users.getTaskUser()).append("-").append(users.getTaskUserName()));
+                            //设置审批人
+                            wrappers.set(ContractLog::getAuditUserIdAndName, stringBuilder.substring(1));
+                        }
+                        wrappers.eq(ContractLog::getId, id);
+
 						//修改记录
-						this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getStatus, 1).eq(ContractLog::getId, id));
+						this.contractLogService.update(wrappers);
 					}
 				}
 

+ 10 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -2,6 +2,7 @@ package org.springblade.business.controller;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -646,15 +647,22 @@ public class InformationWriteQueryController extends BladeController {
 						taskVO.setApprovalType(1);
 						//上报
 						if(this.taskClient.startTask(taskVO).getData()){
+							LambdaUpdateWrapper<InformationQuery> wrappers = Wrappers.lambdaUpdate();
+							wrappers.set(InformationQuery::getReportNumber, taskVO.getBatch()).set(InformationQuery::getStatus, 1);
+
 							//查询审批人
 							List<TaskParallel> taskUsers = this.taskClient.queryApprovalUser(id);
 							if(taskUsers.size() > 0){
 								//生成审批人信息
 								StringBuilder stringBuilder = new StringBuilder();
 								taskUsers.forEach(users -> stringBuilder.append(",").append(users.getTaskUser()).append("-").append(users.getTaskUserName()));
-								//修改记录
-								this.informationQueryService.update(Wrappers.<InformationQuery>lambdaUpdate().set(InformationQuery::getReportNumber, taskVO.getBatch()).set(InformationQuery::getStatus, 1).set(InformationQuery::getAuditUserIdAndName, stringBuilder.substring(1)).eq(InformationQuery::getId, id));
+								//设置审批人
+								wrappers.set(InformationQuery::getAuditUserIdAndName, stringBuilder.substring(1));
 							}
+							wrappers.eq(InformationQuery::getId, id);
+
+							//修改记录
+							this.informationQueryService.update(wrappers);
 						}
 					}
 				}catch (Exception e){

+ 5 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ContractLogMapper.xml

@@ -25,6 +25,8 @@
         <result column="file_name" property="fileName"/>
         <result column="pdf_url" property="pdfUrl"/>
         <result column="e_visa_pdf_url" property="eVisaPdfUrl"/>
+        <result column="audit_user_id_and_name" property="auditUserIdAndName"/>
+        <result column="batch" property="batch"/>
     </resultMap>
 
     <select id="getSubmitLogDateList" resultType="java.lang.String">
@@ -47,7 +49,9 @@
           file_name,
           status,
           pdf_url,
-          e_visa_pdf_url
+          e_visa_pdf_url,
+          audit_user_id_and_name,
+          batch
         from
           u_contract_log
         where

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -2042,7 +2042,7 @@ public class ExcelTabController extends BladeController {
             List<JSONObject> wbsJsonList = this.contractLogClient.queryContractLogWbsByTheLogId(targetJson.getString("id"));
 
             //获取目标数据所在数据表
-            WbsTreePrivate table = this.wbsTreePrivateService.getById(targetJson.getString("tableId"));
+            WbsTreePrivate table = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, targetJson.getString("tableId")));
 
             //获取目标数据
             String queryTargetDataSql = "SELECT * FROM " + table.getInitTableName() + " WHERE group_id = " + targetJson.getString("dataId");

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

@@ -313,6 +313,12 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 		}
 		List<JSONObject> linkTabIds = JSONArray.parseArray(JSONObject.toJSONString(tableInfoList.get(0).getLinkTabIds()), JSONObject.class);
 
+		if(StringUtils.isNotEmpty(businessId)){
+			//删除旧数据
+			String delSql = "delete from " + tableNode.getInitTableName() + " where group_id = " + businessId;
+			this.jdbcTemplate.execute(delSql);
+		}
+
 		for(TableInfo tableInfo : tableInfoList){
 			WbsTreePrivate wbsTreePrivate = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfo.getPkeyId()));
 			if(wbsTreePrivate == null){
@@ -320,12 +326,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
 			}
 			String tabName = wbsTreePrivate.getInitTableName();
 
-			if(StringUtils.isNotEmpty(businessId)){
-				//删除旧数据
-				String delSql = "delete from "+tabName+" where group_id = " + businessId;
-				this.jdbcTemplate.execute(delSql);
-			}
-
 			//拼接SQL
 			StringBuilder sql = new StringBuilder("INSERT INTO " + tabName ),
 						  keySql = new StringBuilder("id, group_id"),