Browse Source

预算审批异常修复;动态表格临时保存

v1.0
Yen 2 years ago
parent
commit
239cf7d478
  1. 61
      src/main/java/com/qs/serve/modules/exl/common/QsSqlSessionUtil.java
  2. 39
      src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java
  3. 19
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java
  4. 6
      src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java
  5. 3
      src/main/java/com/qs/serve/modules/exl/entity/ExlColumnConf.java
  6. 2
      src/main/java/com/qs/serve/modules/exl/entity/ExlTableConf.java
  7. 3
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java
  8. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java
  9. 2
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

61
src/main/java/com/qs/serve/modules/exl/common/QsSqlSessionUtil.java

@ -0,0 +1,61 @@
package com.qs.serve.modules.exl.common;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.SqlSessionUtils;
import java.sql.PreparedStatement;
import java.sql.SQLException;
/**
* @author YenHex
* @since 2023/8/14
*/
public class QsSqlSessionUtil {
/**
* 获取sqlSession
* @return
*/
public static SqlSession getSqlSession(SqlSessionTemplate sqlSessionTemplate){
return SqlSessionUtils.getSqlSession(sqlSessionTemplate.getSqlSessionFactory(),
sqlSessionTemplate.getExecutorType(), sqlSessionTemplate.getPersistenceExceptionTranslator());
}
/**
* 关闭sqlSession
* @param session
*/
public static void closeSqlSession(SqlSession session,SqlSessionTemplate sqlSessionTemplate) {
SqlSessionUtils.closeSqlSession(session, sqlSessionTemplate.getSqlSessionFactory());
}
/**
* 执行sql
* @param sql
* @param sqlSessionTemplate
* @return
*/
public static boolean executeSql(String sql,SqlSessionTemplate sqlSessionTemplate){
PreparedStatement pst = null;
SqlSession session = getSqlSession(sqlSessionTemplate);
try {
pst = session.getConnection().prepareStatement(sql);
pst.execute();
return true;
} catch (SQLException e) {
e.printStackTrace();
}finally {
if(pst!=null){
try {
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
closeSqlSession(session,sqlSessionTemplate);
}
return false;
}
}

39
src/main/java/com/qs/serve/modules/exl/common/TableCreateSqlUtil.java

@ -0,0 +1,39 @@
package com.qs.serve.modules.exl.common;
import com.qs.serve.modules.exl.entity.ExlColumnConf;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author YenHex
* @since 2023/8/14
*/
public class TableCreateSqlUtil {
public static final Map<String,String> MYSQL_DATA_MAP = new HashMap<>();
public static final String COLUMN_NULL = " null ";
public static final String COLUMN_NOT_NULL = " not null ";
public static final String COLUMN_COMMENT = "COMMENT";
public static String createMysqlTableSql(String tableName, List<ExlColumnConf> columnList){
StringBuffer result = new StringBuffer("CREATE TABLE `"+tableName+"` (");
result.append(" `union_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',");
for (ExlColumnConf column : columnList) {
String columnType = column.getColumnType();
String nullValue = column.getNotNullFlag().equals(1) ? COLUMN_NOT_NULL:COLUMN_NULL;
if(columnType.equals("int")){
result.append("`"+column.getColumnName()+"` "+
MYSQL_DATA_MAP.get(columnType) +
nullValue +
COLUMN_COMMENT + " '"+
column.getColumnHeader()+"',");
}
}
result.append(" PRIMARY KEY (`union_id`) USING BTREE ");
return result.append(")").toString();
}
}

19
src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java

@ -10,12 +10,17 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.common.util.WordUtil;
import com.qs.serve.modules.exl.common.QsSqlSessionUtil;
import com.qs.serve.modules.exl.common.TableCreateSqlUtil;
import com.qs.serve.modules.exl.entity.ExlColumnConf;
import com.qs.serve.modules.exl.entity.dto.ExlQueryFieldDto;
import com.qs.serve.modules.exl.entity.dto.ExlTableBo;
import com.qs.serve.modules.exl.service.ExlColumnConfService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.SqlSessionUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -40,6 +45,7 @@ import java.util.stream.Collectors;
@RequestMapping("exl/tableConf")
public class ExlTableConfController {
private SqlSessionTemplate sqlSessionTemplate;
private ExlTableConfService exlTableConfService;
private ExlColumnConfService exlColumnConfService;
@ -111,6 +117,7 @@ public class ExlTableConfController {
queryFieldList.add(fieldDto);
}
}
exlTableConf.setQueryList(queryFieldList);
return R.ok(exlTableConf);
}
@ -155,14 +162,26 @@ public class ExlTableConfController {
@SysLog(module = SystemModule.Excel, title = "表配置", biz = BizType.INSERT)
public R<?> enable(@PathVariable("tableId") String tableId){
ExlTableConf tableConf = exlTableConfService.getById(tableId);
LambdaQueryWrapper<ExlColumnConf> columnLqw = new LambdaQueryWrapper<>();
columnLqw.eq(ExlColumnConf::getTableConfId,tableId);
List<ExlColumnConf> columnConfList = exlColumnConfService.list(columnLqw);
if(tableConf.getEnableFlag().equals(0)){
String sql = TableCreateSqlUtil.createMysqlTableSql(tableConf.getTableName(),columnConfList);
boolean result = QsSqlSessionUtil.executeSql(sql,sqlSessionTemplate);
if(result){
tableConf.setEnableFlag(1);
tableConf.setEnableTime(LocalDateTime.now());
exlTableConfService.updateById(tableConf);
}else {
log.error("[ID:{}]创建表格失败,建表语句:{}",tableId,sql);
return R.error("创建失败");
}
}
return R.ok();
}
/**
* 删除
* @param ids

6
src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java

@ -60,7 +60,7 @@ public class ExlTableDataController {
* @param param
* @return
*/
@PostMapping("/updateById")
//@PostMapping("/updateById")
public R<?> updateById(@RequestBody @Valid ExlTableBo param){
return R.ok();
}
@ -70,7 +70,7 @@ public class ExlTableDataController {
* @param param
* @return
*/
@PostMapping("/save")
//@PostMapping("/save")
public R<?> save(@RequestBody @Valid ExlTableBo param){
return R.ok();
}
@ -80,7 +80,7 @@ public class ExlTableDataController {
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
//@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Excel, title = "表配置", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);

3
src/main/java/com/qs/serve/modules/exl/entity/ExlColumnConf.java

@ -52,6 +52,9 @@ public class ExlColumnConf implements Serializable {
/** 作为查询条件标识 */
private Integer conditionFlag;
/** 空值标识 */
private Integer notNullFlag;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

2
src/main/java/com/qs/serve/modules/exl/entity/ExlTableConf.java

@ -94,7 +94,7 @@ public class ExlTableConf implements Serializable {
* 查询参数列表
*/
@TableField(exist = false)
private List<ExlColumnConf> queryList;
private List<?> queryList;
public static ExlTableConf toNewObject(ExlTableConf source){
ExlTableConf tableConf = new ExlTableConf();

3
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java

@ -274,6 +274,9 @@ public interface SeeYonOperationService extends SeeYonBaseService{
default R<?> commitAffair(TbsAffairCommitBo affairCommit){
getRequestService().testConnection();
String syFormId = this.getSyFormIdByTargetInfo(affairCommit);
if(syFormId==null){
Assert.throwEx("["+affairCommit.getTargetId()+"]__syFormId is null");
}
R<String> result = getRequestService().commonCommit(affairCommit, getTemplateCode(),syFormId);
boolean isBackCommit = affairCommit.getState()==2;
if(result.getStatus()==200){

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java

@ -156,7 +156,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
@Override
public String getTemplateCode() {
return TbsSeeYonConst.BudgetApplyConf.Code();
return TbsSeeYonConst.BudgetChangeConf.Code();
}
}

2
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

@ -110,7 +110,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
budgetChange.setSubmitTime(LocalDateTime.now());
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_1_apply);
budgetChange.setSyFormId(formId);
this.updateById(budgetChange);
//创建流程后回调
BaseCreateCallbackBo callbackBo = new BaseCreateCallbackBo(templateCode,budgetChange.getId()+"");
seeYonService.createCallbackStatus(callbackBo);

Loading…
Cancel
Save