fix 81608 企标/国标/外标--新增/编辑,字段输入代码,提示数据库异常
This commit is contained in:
+5
-3
@@ -1,6 +1,8 @@
|
||||
package com.jero.modules.laws.common.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.activiti.process.projectstandard.vo.StandardSelectionVO;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
@@ -79,9 +81,9 @@ public interface LawsCommonMapper {
|
||||
* @Date: 2023/8/24 15:00
|
||||
* @Description: 编辑数据
|
||||
**/
|
||||
int commonEdit(@org.apache.ibatis.annotations.Param("tableName") String tableName,
|
||||
@org.apache.ibatis.annotations.Param("updateSql") String updateSql,
|
||||
@org.apache.ibatis.annotations.Param("id") String id);
|
||||
int commonEdit(@Param("tableName") String tableName,
|
||||
@Param(Constants.WRAPPER) UpdateWrapper updateWrapper,
|
||||
@Param("id") String id);
|
||||
|
||||
IPage<ManyStandardSelectionBox> getManyStandardSelectionBox(Page<ManyStandardSelectionBox> page,
|
||||
@Param("vo") ManyStandardSelectionBoxVO selectionBoxVO);
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@
|
||||
|
||||
<update id="commonEdit">
|
||||
UPDATE ${tableName}
|
||||
SET ${updateSql}
|
||||
set ${ew.sqlSet}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
+74
-26
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -24,6 +25,7 @@ import com.jero.modules.laws.common.util.ImportUtil;
|
||||
import com.jero.modules.laws.common.vo.LawsDictModel;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
|
||||
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
|
||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
||||
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthDept;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
|
||||
@@ -678,7 +680,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
StringBuilder valuesBuilder = new StringBuilder();
|
||||
// 对默认的字段赋值
|
||||
String existId = parameterMap.get(FieldCommon.ID) == null ? "" : parameterMap.get(FieldCommon.ID).toString();
|
||||
String id = getCommonInsertValue(fieldsBuilder, valuesBuilder, existId);
|
||||
//先新增后面在编辑
|
||||
String id = executeInsertByModel(module);
|
||||
// 更新语句
|
||||
UpdateWrapper updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("id",id);
|
||||
// 拼接要添加的数据
|
||||
for (Map.Entry<String, Object> entryMap : parameterMap.entrySet()) {
|
||||
String key = entryMap.getKey();
|
||||
@@ -688,11 +694,13 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
}
|
||||
// 如果value不为null和"",则拼接查询条件
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
jointInsertFieldAndValue(fieldList, fieldsBuilder, valuesBuilder, key, value, id, standardNumber);
|
||||
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber,updateWrapper);
|
||||
}
|
||||
}
|
||||
// 操作数据库进行新增数据
|
||||
lawsCommonMapper.commonAdd(tableName, fieldsBuilder.toString(), valuesBuilder.toString());
|
||||
//lawsCommonMapper.commonAdd(tableName, fieldsBuilder.toString(), valuesBuilder.toString());
|
||||
//根据类型更新数据
|
||||
executeUpdateWrapperByModel(module,updateWrapper);
|
||||
|
||||
// 对标准体系做处理
|
||||
lawsNodeRelationService.addRelation(standardSystem, standardNumber, id);
|
||||
@@ -822,7 +830,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
StringBuilder recordBuffer = new StringBuilder();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String now = dateFormat.format(new Date());
|
||||
Date date = new Date();
|
||||
String now = dateFormat.format(date);
|
||||
recordBuffer.append(loginUser.calcNameWorkNo() + " " + now + " 修改" +
|
||||
standardNumber + "《" + standardName + "》,");
|
||||
String oldStr = recordBuffer.toString();
|
||||
@@ -836,11 +845,14 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
.equals(lawsTag.getIsShowFormCreate())).collect(Collectors.toList());
|
||||
// 更新语句
|
||||
StringBuilder updateBuilder = new StringBuilder();
|
||||
UpdateWrapper updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("id",id);
|
||||
|
||||
// 拼接默认的更新语句
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
updateBuilder.append("update_time = " + FieldCommon.STR_TO_DATE_PREFIX + sdf.format(new Date()) + "','%Y-%m-%d %H:%i:%s')," +
|
||||
" update_by = " + "'" + sysUser.getUsername() + "'");
|
||||
updateWrapper.set("update_time",date);
|
||||
updateWrapper.set("update_By",sysUser.getUsername());
|
||||
// 封装参数的更新语句
|
||||
for (Map.Entry<String, Object> entryMap : parameterMap.entrySet()) {
|
||||
String key = entryMap.getKey();
|
||||
@@ -853,10 +865,13 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
addUpdateRecord(fieldList, oldDataMap, recordBuffer, null, key, value);
|
||||
|
||||
// 拼接更新sql语句
|
||||
jointUpdateFieldAndValue(fieldList, updateBuilder, key, value, id, standardNumber);
|
||||
jointUpdateFieldAndValue(fieldList, updateWrapper, key, value, id, standardNumber);
|
||||
}
|
||||
// 操作数据库进行更新数据
|
||||
lawsCommonMapper.commonEdit(tableName, updateBuilder.toString(), id);
|
||||
//lawsDomesticStandardService.update(updateWrapper);
|
||||
//根据类型更新数据
|
||||
executeUpdateWrapperByModel(module,updateWrapper);
|
||||
//lawsCommonMapper.commonEdit(tableName, updateWrapper, id);
|
||||
// 如果修改了内容
|
||||
String content = recordBuffer.toString();
|
||||
if (!oldStr.equals(content)) {
|
||||
@@ -884,6 +899,38 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
return ResultCommon.OK;
|
||||
}
|
||||
|
||||
private void executeUpdateWrapperByModel(String module, UpdateWrapper updateWrapper) {
|
||||
if (TableNameEnum.DOMESTIC_REGULATIONS.getValue().equals(module)){
|
||||
lawsDomesticStandardService.update(updateWrapper);
|
||||
}else if (TableNameEnum.FOREIGN_REGULATIONS.getValue().equals(module)){
|
||||
lawsOverseasStandardService.update(updateWrapper);
|
||||
}else if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(module)){
|
||||
lawsEnterpriseStandardService.update(updateWrapper);
|
||||
}else if (TableNameEnum.DOCUMENT_SPLIT.getValue().equals(module)){
|
||||
documentSplitMapper.update(null,updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
private String executeInsertByModel(String module) {
|
||||
if (TableNameEnum.DOMESTIC_REGULATIONS.getValue().equals(module)){
|
||||
LawsDomesticStandard lawsDomesticStandard = new LawsDomesticStandard();
|
||||
lawsDomesticStandardService.save(lawsDomesticStandard);
|
||||
return lawsDomesticStandard.getId();
|
||||
}else if (TableNameEnum.FOREIGN_REGULATIONS.getValue().equals(module)){
|
||||
LawsOverseasStandard lawsOverseasStandard = new LawsOverseasStandard();
|
||||
lawsOverseasStandardService.save(lawsOverseasStandard);
|
||||
return lawsOverseasStandard.getId();
|
||||
}else if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(module)){
|
||||
LawsEnterpriseStandard lawsEnterpriseStandard = new LawsEnterpriseStandard();
|
||||
lawsEnterpriseStandardService.save(lawsEnterpriseStandard);
|
||||
return lawsEnterpriseStandard.getId();
|
||||
}else {
|
||||
LawsDocumentSplit lawsDocumentSplit = new LawsDocumentSplit();
|
||||
documentSplitMapper.insert(lawsDocumentSplit);
|
||||
return lawsDocumentSplit.getId();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Author: liao
|
||||
* @Date: 2023/9/19 11:53
|
||||
@@ -1730,16 +1777,16 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/8/24 9:53
|
||||
* @Description: 拼接添加字段和数据值
|
||||
**/
|
||||
private void jointInsertFieldAndValue(List<LawsTag> fieldList, StringBuilder fieldsBuilder,
|
||||
StringBuilder valuesBuilder, String key, String value,
|
||||
String id, String standardNumber) {
|
||||
private void jointInsertFieldAndValue(List<LawsTag> fieldList,
|
||||
String key, String value,
|
||||
String id, String standardNumber, UpdateWrapper updateWrapper) {
|
||||
if (FieldCommon.SPECIFIC_UPDATE_FIELD.contains(key)) {
|
||||
// 特殊字段不做新增sql
|
||||
return;
|
||||
}
|
||||
for (LawsTag lawsTag : fieldList) {
|
||||
if (key.equals(lawsTag.getDbFieldName())) {
|
||||
jointInsertFieldSetValue(lawsTag, fieldsBuilder, valuesBuilder, key, value, id, standardNumber);
|
||||
jointInsertFieldSetValue(lawsTag, key, value, id, standardNumber,updateWrapper);
|
||||
}
|
||||
}
|
||||
// 如果是标准编号
|
||||
@@ -1749,9 +1796,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
// 如果新增表单里面没有标准编号,则手动添加
|
||||
if (CollectionUtils.isEmpty(standardNumberList)) {
|
||||
// 拼接新增字段
|
||||
fieldsBuilder.append("," + key);
|
||||
// 对数据值做格式处理
|
||||
valuesBuilder.append(",'" + value + "'");
|
||||
updateWrapper.set(key, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1761,16 +1807,16 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/9/25 9:49
|
||||
* @Description: 新增字段设置value
|
||||
**/
|
||||
private void jointInsertFieldSetValue(LawsTag lawsTag, StringBuilder fieldsBuilder,
|
||||
StringBuilder valuesBuilder, String key, String value,
|
||||
String id, String standardNumber) {
|
||||
private void jointInsertFieldSetValue(LawsTag lawsTag,
|
||||
String key, String value,
|
||||
String id, String standardNumber, UpdateWrapper updateWrapper) {
|
||||
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
|
||||
updateOSSFile(key, value, id, standardNumber);
|
||||
} else {
|
||||
// 拼接新增字段
|
||||
fieldsBuilder.append("," + key);
|
||||
// 对数据值做格式处理
|
||||
valuesBuilder.append("," + setValue(lawsTag.getFieldShowType(), value));
|
||||
String setValue = setValue(lawsTag.getFieldShowType(), value);
|
||||
updateWrapper.set(key,setValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1845,7 +1891,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/8/24 9:53
|
||||
* @Description: 拼接更新语句字段和数据值
|
||||
**/
|
||||
private void jointUpdateFieldAndValue(List<LawsTag> fieldList, StringBuilder updateBuilder,
|
||||
private void jointUpdateFieldAndValue(List<LawsTag> fieldList, UpdateWrapper updateWrapper,
|
||||
String key, String value, String id, String standardNumber) {
|
||||
if (FieldCommon.SPECIFIC_UPDATE_FIELD.contains(key)) {
|
||||
// 特殊字段不做更新sql
|
||||
@@ -1853,7 +1899,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
}
|
||||
for (LawsTag lawsTag : fieldList) {
|
||||
if (key.equals(lawsTag.getDbFieldName())) {
|
||||
jointUpdateFieldSetValue(lawsTag, updateBuilder, key, value, id, standardNumber);
|
||||
jointUpdateFieldSetValue(lawsTag, updateWrapper, key, value, id, standardNumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1863,14 +1909,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/9/25 10:32
|
||||
* @Description: 设置更新语句value
|
||||
**/
|
||||
private void jointUpdateFieldSetValue(LawsTag lawsTag, StringBuilder updateBuilder,
|
||||
private void jointUpdateFieldSetValue(LawsTag lawsTag, UpdateWrapper updateWrapper,
|
||||
String key, String value, String id, String standardNumber) {
|
||||
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
|
||||
removeOSSFile(key, id);
|
||||
updateOSSFile(key, value, id, standardNumber);
|
||||
} else {
|
||||
// 做格式处理
|
||||
updateBuilder.append("," + key + " = " + setValue(lawsTag.getFieldShowType(), value));
|
||||
String setValue = setValue(lawsTag.getFieldShowType(), value);
|
||||
updateWrapper.set(key , setValue);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1884,14 +1931,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
// 如果是单日期格式,做格式处理
|
||||
if (StringUtils.isBlank(value)) {
|
||||
value = null;
|
||||
} else {
|
||||
value = FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX;
|
||||
}
|
||||
//else {
|
||||
// value = FieldCommon.STR_TO_DATE_PREFIX + value + FieldCommon.STR_TO_DATE_SUFFIX;
|
||||
//}
|
||||
} else {
|
||||
// 如果是多日期格式做处理
|
||||
value = processDateManyTypeValue(value, fieldShowType);
|
||||
// 字符串做处理
|
||||
value = "'" + value + "'";
|
||||
//value = "'" + value + "'";
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.laws.documenttool.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -18,7 +19,7 @@ import java.util.Map;
|
||||
* @Date: 2023/10/12/23:03
|
||||
* @Description: 文档拆分
|
||||
*/
|
||||
public interface DocumentSplitMapper {
|
||||
public interface DocumentSplitMapper extends BaseMapper<LawsDocumentSplit> {
|
||||
/**
|
||||
* 文档拆分-分页列表查询
|
||||
* @param page
|
||||
|
||||
Reference in New Issue
Block a user