diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java index 50cda0ed..2693c1ec 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java @@ -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 getManyStandardSelectionBox(Page page, @Param("vo") ManyStandardSelectionBoxVO selectionBoxVO); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml index a8b6f82c..d549075b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml @@ -43,7 +43,7 @@ UPDATE ${tableName} - SET ${updateSql} + set ${ew.sqlSet} WHERE id = #{id} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 8cc2c106..aa45dbad 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -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 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 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 fieldList, StringBuilder fieldsBuilder, - StringBuilder valuesBuilder, String key, String value, - String id, String standardNumber) { + private void jointInsertFieldAndValue(List 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 fieldList, StringBuilder updateBuilder, + private void jointUpdateFieldAndValue(List 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; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java index 89dbebc0..34238eaa 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/mapper/DocumentSplitMapper.java @@ -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 { /** * 文档拆分-分页列表查询 * @param page