Merge remote-tracking branch 'origin/dev_20230216'

# Conflicts:
#	adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java
#	adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java
#	adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java
#	adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java
This commit is contained in:
高嵩
2023-03-26 16:53:41 +08:00
51 changed files with 2079 additions and 425 deletions
@@ -475,4 +475,6 @@ public interface workFlowFeignClient {
String getEsByWk(@RequestParam("prcId")String prcId);
@RequestMapping(value = "/bat-wkflow/deleteOAByMandatory",method = RequestMethod.GET)
String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee);
@RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectBusProcessNew",method = RequestMethod.GET)
String selectBusProcessNew(@RequestParam("taskId")String taskId);
}
@@ -422,4 +422,8 @@ public class workFlowFeignClientImpl {
public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) {
return workFlowFeignClient.deleteOAByMandatory(todoId,assignee);
}
public String selectBusProcessNew(@RequestParam("taskId")String taskId) {
return workFlowFeignClient.selectBusProcessNew(taskId);
}
}
@@ -59,6 +59,10 @@ public class ActDefineStartMap {
map.put("25","enterpriseStandardSystemRevisionPlan");
map.put("26","qbzxdlxjh");
// 问答流程
map.put("27","wdzxlc");
// 标准需求(翻译)申请流程
map.put("28","bzxqfy");
return map.get(type);
}
@@ -953,6 +953,11 @@ public class WorkFlowController {
return workFlowFeignClient.getEsByWk(prcId);
}
@ApiOperation(value = "首页流程计划立项查询mesg")
@GetMapping("/selectBusProcessNew")
public String selectBusProcessNew(@RequestParam("taskId") String taskId) {
return workFlowFeignClient.selectBusProcessNew(taskId);
}
@ApiOperation(value = "OA待办强制删除")
@GetMapping("/deleteOAByMandatory")
public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) {
@@ -5,6 +5,7 @@ import com.adc.da.common.BussEnum;
import com.adc.da.common.SarConformStateEnum;
import com.adc.da.common.SarStateColorEnum;
import com.adc.da.common.SarTypeEnum;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.http.ResponseMessage;
import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess;
@@ -385,7 +386,6 @@ public class ActSarItemsBussEOService {
// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus());
String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarBussionessStand.setSarStandAttrEOStr(resData);
// 根据标准号判断数据是否已存在
//2021年4月9日 此处检查当前是否存在standId
String standCode = "";
if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){
@@ -464,6 +464,14 @@ public class ActSarItemsBussEOService {
} else {//标准号、ID都不存在的情况
// 新增方法
sarBussionessStand.setPrcCreateUser(prcCreateUser);
// 根据标准号判断数据是否已存在
QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>();
queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode())
.eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName());
Integer count = iSarBussionessStandService.count(queryWrapper);
if (count > 0){
throw new AdcDaBaseException("当前企标标准号和企标名称已存在");
}
ResponseMessage<SarBussionessStand> responseMessage = iSarBussionessStandService.createSarBussionessStand(sarBussionessStand);
if(responseMessage.isOk()){
SarBussionessStand bussionessStand = responseMessage.getData();
@@ -4,6 +4,8 @@ import com.adc.da.common.PropertyTypeEnum;
import com.adc.da.common.SarConformStateEnum;
import com.adc.da.common.SarStateColorEnum;
import com.adc.da.common.SarTypeEnum;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils;
import com.adc.da.person.entity.PersonMsgEO;
import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess;
@@ -34,6 +36,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -189,6 +192,14 @@ public class ActSarItemsEOService {
// attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus());
String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue);
sarStandardsInfoEO.setSarStandAttrEOStr(resData);
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName())
.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber());
Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){
throw new AdcDaBaseException("当前标准编号和中文名称已存在");
}
// 根据标准号判断数据是否已存在
//2021年4月9日 此处检查当前是否存在standId
String standnumber = "";
@@ -20,6 +20,10 @@ public class Result {
return new ResponseMessage(code, message, true, t);
}
public static ResponseMessage success(String code, String message,Boolean t) {
return new ResponseMessage(code, message, true);
}
public static <T> ResponseMessage<T> success(T t) {
return new ResponseMessage(ResponseMessageCodeEnum.SUCCESS.getCode(), "", true, t);
}
@@ -61,6 +61,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStandState/getSarBussionessStandStateProcessList");
// 提供企标计划数据
addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/getAllPlansByWk");
// 修改企业计划数据
addInterceptor.excludePathPatterns("/api/esRevisePlan/es-revise-plan/oaUpdatePlans");
//pcms项目数据下发开放接口
addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/save");
addInterceptor.excludePathPatterns("/api/sar-stand-project-team/save");
@@ -151,6 +153,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarNew");
addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarWaterMarkNew");
addInterceptor.excludePathPatterns("/api/att/attFile/uploadNew");
addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/importSarBussionessStandFile");
addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData");
//doc文檔重新轉換
@@ -164,7 +167,6 @@ public class WebMvcConfig implements WebMvcConfigurer {
addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits");
//// //测试接口使用
// addInterceptor.excludePathPatterns("/api/**");
@@ -3,9 +3,9 @@
# 数据库配置
#=============================================
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://10.100.5.111:3306/foton_slrs?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = tempuser
spring.datasource.password = Fting&8g35g#geg2
spring.datasource.url = jdbc:mysql://121.36.69.172:3307/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false
spring.datasource.username = root
spring.datasource.password = hzwlsoft.com
@@ -18,7 +18,7 @@ application.center=1
#Eureka
eureka.client.allow-redirects=true
eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/
eureka.client.service-url.defaultZone=http://127.0.0.1:8123/eureka/
#==============================================
# 邮箱配置1
@@ -37,10 +37,10 @@ spring.mail.port=587
#==============================================
# MQ配置
#==============================================
spring.rabbitmq.host=10.100.5.119
spring.rabbitmq.host=121.36.69.172
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=foton@admin
spring.rabbitmq.password=hzwlsoft.com
spring.rabbitmq.listener.simple.acknowledge-mode= manual
# 生产者 默认关闭 发版 需改为 true
spring.rabbitmq.listener.direct.auto-startup=true
@@ -1,161 +1,323 @@
##############################################
# 项目启动模式
# \u9879\u76EE\u542F\u52A8\u6A21\u5F0F
##############################################
spring.profiles.active=dev
##############################################
#公共配置信息
#\u516C\u5171\u914D\u7F6E\u4FE1\u606F
##############################################
server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/plain,text/css,application/x-javascript
# 端口号设置
server.port=4202
#主服务session超时
# \u7AEF\u53E3\u53F7\u8BBE\u7F6E
server.port=10086
#\u4E3B\u670D\u52A1session\u8D85\u65F6
server.servlet.session.timeout =600
#tomcat /resource/local/version-manager 创建tomcat指定临时目录
#tomcat /resource/local/version-manager \u521B\u5EFAtomcat\u6307\u5B9A\u4E34\u65F6\u76EE\u5F55
server.tomcat.basedir=/data/slrs/temp
# http-only
server.session.cookie.http-only=true
spring.mvc.async.request-timeout=20000
# file模块上传文件大小限制
# file\u6A21\u5757\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u9650\u5236
spring.http.multipart.max-request-size=100MB
spring.http.multipart.max-file-size=100MB
#显示sql
#\u663E\u793Asql
logging.level.com.adc=DEBUG
logging.level.org.springframework=info
# 请求前缀
# \u8BF7\u6C42\u524D\u7F00
restPath=/api
#是否将自己注册到Eureka Server上,默认为true
#\u662F\u5426\u5C06\u81EA\u5DF1\u6CE8\u518C\u5230Eureka Server\u4E0A\uFF0C\u9ED8\u8BA4\u4E3Atrue
eureka.client.register-with-eureka=true
##是否从Eureka Server上获取注册信息,默认为true
##\u662F\u5426\u4ECEEureka Server\u4E0A\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\uFF0C\u9ED8\u8BA4\u4E3Atrue
eureka.client.fetch-registry=true
eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone=http://10.100.5.117:4201/eureka/
# 请求连接的超时时间 默认的时间为 1 秒
# \u8BF7\u6C42\u8FDE\u63A5\u7684\u8D85\u65F6\u65F6\u95F4 \u9ED8\u8BA4\u7684\u65F6\u95F4\u4E3A 1 \u79D2
ribbon.ConnectTimeout=500000
# 请求处理的超时时间
# \u8BF7\u6C42\u5904\u7406\u7684\u8D85\u65F6\u65F6\u95F4
ribbon.ReadTimeout=500000
# ===============================
# = DATA SOURCE
# ===============================
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
# 下面为连接池的补充设置,应用到上面所有数据源中
# 初始化大小,最小,最大
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.max-active= 50
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait= 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis= 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis= 300000
spring.datasource.druid.validation-query= SELECT 1 FROM DUAL
# 空闲时间监测连接是否优秀奥
spring.datasource.druid.test-while-idle= true
# 数据库连接心跳监测
spring.datasource.druid.keep-alive= true
# 获取链接前检查链接是否有效
spring.datasource.druid.test-on-borrow= true
# 返回连接池时检查链接是否可用
spring.datasource.druid.test-on-return= false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.pool-prepared-statements= true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size= 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.druid.filters=stat,wall
#合并多个DruidDataSource的监控数据
spring.datasource.druid.use-global-data-source-stat=true
# druid web管理页面开启
spring.datasource.druid.stat-view-servlet.enabled=true
# druid web管理页面白名单
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# druid web管理页面账号
spring.datasource.druid.stat-view-servlet.login-username=druid
# druid web管理页面密码
spring.datasource.druid.stat-view-servlet.login-password=laws1q2w3e4r
# druid web管理页面URL访问前缀地址
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
# ===============================
# = DATA SOURCE
# ===============================
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
# \u4E0B\u9762\u4E3A\u8FDE\u63A5\u6C60\u7684\u8865\u5145\u8BBE\u7F6E\uFF0C\u5E94\u7528\u5230\u4E0A\u9762\u6240\u6709\u6570\u636E\u6E90\u4E2D
# \u521D\u59CB\u5316\u5927\u5C0F\uFF0C\u6700\u5C0F\uFF0C\u6700\u5927
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.max-active= 50
# \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
spring.datasource.druid.max-wait= 60000
# \u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.time-between-eviction-runs-millis= 60000
# \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.druid.min-evictable-idle-time-millis= 300000
spring.datasource.druid.validation-query= SELECT 1 FROM DUAL
# \u7A7A\u95F2\u65F6\u95F4\u76D1\u6D4B\u8FDE\u63A5\u662F\u5426\u4F18\u79C0\u5965
spring.datasource.druid.test-while-idle= true
# \u6570\u636E\u5E93\u8FDE\u63A5\u5FC3\u8DF3\u76D1\u6D4B
spring.datasource.druid.keep-alive= true
# \u83B7\u53D6\u94FE\u63A5\u524D\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u6709\u6548
spring.datasource.druid.test-on-borrow= true
# \u8FD4\u56DE\u8FDE\u63A5\u6C60\u65F6\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u53EF\u7528
spring.datasource.druid.test-on-return= false
# \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
spring.datasource.druid.pool-prepared-statements= true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size= 20
# \u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u65E0\u6CD5\u7EDF\u8BA1\uFF0C'wall'\u7528\u4E8E\u9632\u706B\u5899
spring.datasource.druid.filters=stat,wall
#\u5408\u5E76\u591A\u4E2ADruidDataSource\u7684\u76D1\u63A7\u6570\u636E
spring.datasource.druid.use-global-data-source-stat=true
# druid web\u7BA1\u7406\u9875\u9762\u5F00\u542F
spring.datasource.druid.stat-view-servlet.enabled=true
# druid web\u7BA1\u7406\u9875\u9762\u767D\u540D\u5355
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
# druid web\u7BA1\u7406\u9875\u9762\u8D26\u53F7
spring.datasource.druid.stat-view-servlet.login-username=druid
# druid web\u7BA1\u7406\u9875\u9762\u5BC6\u7801
spring.datasource.druid.stat-view-servlet.login-password=laws1q2w3e4r
# druid web\u7BA1\u7406\u9875\u9762URL\u8BBF\u95EE\u524D\u7F00\u5730\u5740
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
# ===============================
# =======================================
# Mybatis Plus config
# =======================================
mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml
mybatis-plus.mapper-locations=classpath*:mybatis/mapper/**/*.xml
# ========================================
# activiti 配置信息
# activiti \u914D\u7F6E\u4FE1\u606F
# ========================================
#spring.activiti.database-schema=ACT
spring.activiti.database-schema-update=false
spring.activiti.check-process-definitions=false
spring.activiti.job-executor-activate=false
spring.activiti.process-definition-location-prefix=classpath:/mybatis/mapper/activiti/
# =============================================================================
# 邮箱配置
# \u90AE\u7BB1\u914D\u7F6E
# =============================================================================
mail.valid=false
spring.mail.host=smtp.163.com
spring.mail.protocol=smtp
spring.mail.username=xxx@163.com
spring.mail.password=xxx
spring.mail.properties.smtp.auth=true
spring.mail.properties.smtp.starttls.enable=true
spring.mail.properties.smtp.starttls.required=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.port=465
#全球标准法规管理系统 十六进制码
#\u5168\u7403\u6807\u51C6\u6CD5\u89C4\u7BA1\u7406\u7CFB\u7EDF \u5341\u516D\u8FDB\u5236\u7801
mail.personName=E585A8E79083E6A087E58786E6B395E8A784E7AEA1E79086E7B3BBE7BB9F
#邮箱内容中嵌入的系统地址
#\u90AE\u7BB1\u5185\u5BB9\u4E2D\u5D4C\u5165\u7684\u7CFB\u7EDF\u5730\u5740
Lawss.address =http://standard.gacrnd.com:60090
# =========================================
# login value
# =========================================
maxLoginErrorCount=3
verifyCodeMode=1
# =============================================================================
# 文件上传管控及配置
# \u6587\u4EF6\u4E0A\u4F20\u7BA1\u63A7\u53CA\u914D\u7F6E
# =============================================================================
# file模块上传文件的服务器地址
# file\u6A21\u5757\u4E0A\u4F20\u6587\u4EF6\u7684\u670D\u52A1\u5668\u5730\u5740
file.path=/data/slrs/file
stand.edit.file.path = /data/slrs/file/
# onlyoffice 预览地址
# onlyoffice \u9884\u89C8\u5730\u5740
file.downloadUrl=https://srms.foton.com.cn/file/
#上传文件白名单-以,分隔
#\u4E0A\u4F20\u6587\u4EF6\u767D\u540D\u5355-\u4EE5,\u5206\u9694
upload.file.white.lists = doc,docx,xls,xlsx,pdf,PDF,png,jpg,pptx,ppt,pdg,rar,zip,dot
# =============================================================================
# elasticsearch 配置
# elasticsearch \u914D\u7F6E
# =============================================================================
elasticsearch.clustername=elasticsearch
elasticsearch.ip=10.100.5.122
elasticsearch.port=9300
elasticsearch.ip=127.0.0.1
elasticsearch.port=9306
elasticsearch.poolSize=5
elas.flag=true
elasticsearch.img=https://srms.foton.com.cn
# 文档转换TCP通讯地址
# 拆分的图片调用 (修改ip时此处也应该被修改)
elasticsearch.img=http://localhost:9090
# \u6587\u6863\u8F6C\u6362TCP\u901A\u8BAF\u5730\u5740
convert.host=127.0.0.1
# =============================================================================
# scheduled 配置
# scheduled \u914D\u7F6E
# =============================================================================
isNotScheduled=true
@@ -14,18 +14,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import oracle.ucp.proxy.annotation.Post;
import net.sf.json.JSONArray;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
* @Author: qk
@@ -177,7 +171,15 @@ public class AskQuestionsController extends BaseController<AskQuestions> {
//添加问题分配人员
askUserService.saveBatch(askUserList);
if(askQuestionsService.save(askQuestions)){
return Result.success("200","添加成功",null);
Map<Object, Object> objectObjectHashMap = new HashMap<>();
List<String> askUserListUser = new ArrayList<>();
for (AskUser user: askUserList){
askUserListUser.add(user.getUsid());
}
JSONArray jsonArray = JSONArray.fromObject(askUserListUser);
objectObjectHashMap.put("questioner",jsonArray);
objectObjectHashMap.put("askQuestions",askQuestions);
return Result.success("200","添加成功",objectObjectHashMap);
}else {
return Result.error("-1","添加失败",null);
}
@@ -58,7 +58,7 @@ public class ReplyController extends BaseController<Reply> {
return Result.error("-1","添加失败");
}
}
@PostMapping("/updateReply")
//@PostMapping("/updateReply")
public ResponseMessage updateReply(String id){
if(StringUtils.isEmpty(id)){
return Result.error("-1","请选择要归档的回答");
@@ -78,4 +78,16 @@ public class ReplyController extends BaseController<Reply> {
public ResponseMessage updateReply(@RequestBody ReplyPage reply){
return Result.success(replyService.listByPage(reply));
}
@PostMapping("/updateReply")
public ResponseMessage updateReplyInfo(@RequestBody List<Reply> replyList){
if (replyList.isEmpty()){
return Result.error("-1","编辑失败",null);
}
for(Reply reply: replyList){
reply.setState("yes");
}
replyService.updateBatchById(replyList);
return Result.success("200","编辑成功",null);
}
}
@@ -18,6 +18,7 @@ import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -182,4 +183,10 @@ public class EsRevisePlanController extends BaseController<EsRevisePlan> {
return Result.success(iEsRevisePlanService.delPlans(ids));
}
@ApiOperation(value = "OA时间添加")
@GetMapping("/oaUpdatePlans")
public ResponseMessage<Object> oaUpdatePlans(@RequestParam("esId")String esId, @RequestParam("date") Date date, @RequestParam("s") String s){
return Result.success(iEsRevisePlanService.oaUpdatePlans(esId,date,s));
}
}
@@ -159,4 +159,14 @@ public class EsRevisePlan extends BasePage {
@TableField(exist = false)
private String logType;
@ApiModelProperty(value = "OA发送时间记录")
@TableField("OA_DATETIME")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date oaDateIime;
@ApiModelProperty(value = "OA是否已经发送")
@TableField("OA_IS_SEND")
private String oaIsSend;
}
@@ -4,6 +4,7 @@ import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Date;
import java.util.List;
/**
@@ -28,4 +29,6 @@ public interface IEsRevisePlanService extends IService<EsRevisePlan> {
List<EsRevisePlan> getDataByName(EsRevisePlan esRevisePlan);
List<EsRevisePlan> getAllPlansByWk(String esName);
Object oaUpdatePlans(String esId, Date date, String s);//Ao时间 发送次数 修改
}
@@ -229,4 +229,14 @@ public class EsRevisePlanServiceImpl extends ServiceImpl<EsRevisePlanDao, EsRevi
return esRevisePlanDao.selectList(queryWrapper);
}
@Override
public Object oaUpdatePlans(String esId, Date date, String s) {
EsRevisePlan esRevisePlan = new EsRevisePlan();
esRevisePlan.setId(esId);
esRevisePlan.setOaDateIime(date);
esRevisePlan.setOaIsSend(s);
esRevisePlanDao.updateById(esRevisePlan);
return null;
}
}
@@ -44,7 +44,7 @@ public interface SarBussStandAttrInfoDao extends BaseMapper<SarBussStandAttrInfo
Map<String, Object> selectStandFieldAndData(@Param("fieldInfo") String fieldInfo, @Param("standId") String standId);
void updateFSQR(@Param("id") String id,@Param("time") String time);
String selectInfoStandId(@Param("standId") String standId);
}
@@ -0,0 +1,84 @@
package com.adc.da.slrs.sarBussStandAttrInfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="BusProcessEvaluationHis对象", description="流程评分历史表")
public class BusProcessEvaluationHis implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键")
@TableId(value = "ID", type = IdType.UUID)
private String id;
@ApiModelProperty(value = "标准id")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "处理人")
@TableField("USER_ID")
private String userId;
@ApiModelProperty(value = "信息")
@TableField("MESG")
private String mesg;
@ApiModelProperty(value = "节点信息")
@TableField("TASK_INFO")
private String taskInfo;
@ApiModelProperty(value = "任务id")
@TableField("TASK_ID")
private String taskId;
@ApiModelProperty(value = "流程实例id")
@TableField("P_ID")
private String pId;
@ApiModelProperty(value = "流程名称")
@TableField("PRC_NAME")
private String prcName;
@ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String createTime;
@ApiModelProperty(value = "更新时间")
@TableField("UPDATE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String updateTime;
@ApiModelProperty(value = "onlyOffice 是否编辑 0 未编辑 1 已编辑")
@TableField("EDIT_STATUS")
private String editStatus;
@ApiModelProperty(value = "onlyOffice 编辑文件存储路径")
@TableField("EDIT_FILE_PATH")
private String editFilePath;
@ApiModelProperty(value = "逻辑状态")
@TableField("FLAG")
private String flag;
@ApiModelProperty(value = "onlyOffice 访问编辑文件全路径")
@TableField(exist = false)
private String downLoadUrl;
@ApiModelProperty(value = "处理人姓名")
@TableField(exist = false)
private String userName;
}
@@ -67,6 +67,14 @@ public class SarBussStandAttrInfo extends BaseEntity {
@TableField(exist = false)
private String glwj;
@ApiModelProperty(value = "译文件")
@TableField("TRANSLATION")
private String translation;
@ApiModelProperty(value = "原文件")
@TableField("FBGBUSS")
private String fbgbuss;
//
// @TableField("SVPPS")
// private String svpps;
@@ -0,0 +1,177 @@
package com.adc.da.slrs.sarBussStandAttrInfo.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.scheduling.support.SimpleTriggerContext;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* <p>
*
* </p>
*
* @author
* @since 2023-02-28
*/
@Data
public class SarBussStandAttrInfoExecl extends BaseEntity {
private static final long serialVersionUID = 1L;
private String id;
@ApiModelProperty(value = "标准基础表主键")
private String standId;
private String creationUser;
@ApiModelProperty(value = "是否有效")
private String validFlag;
@ApiModelProperty(value = "创建时间")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
private Date modifyTime;
@ApiModelProperty(value = "体系类别")
private String txlbbuss;
private String glwj;
private String svpps;
private String gfxyywj;
private String zrbm;
private Date fzrq;
private Date fsrq;
private String qbmj;
private String qbsq;
private String qbwb;
private String gcwb;
private String zyqcr;
private String qcfbw;
private String xglc;
private String xgbm;
private String xhqbm;
private String zqcbm;
private String qtqcr;
private String wfspjs;
private String xgjh;
//附件
private String qtwjbuss;
//标准中文名称
private String standName;
//企标类型
private String standSort;
//标准年份
private String standYear;
//文本状态
private String textStatusBuss;
//起草部门
private String qcdw;
//起草人
private String qcrbuss;
//发布日期
private String issueTime;
//标准编号
private String standCode;
//标准英文名称
private String standEnName;
//实施日期
private String putTime;
//企标制修订状态
private String revisionStatus;
//废止日期
private String fzrqbuss;
//代替企标编号
private String dtqbbhbuss;
//复审日期
private String fsrqbuss;
//被代替企标编号
private String bdtqbbhbuss;
//文件上传人员
private String wjscrybuss;
//适用车型
private String sycxclass;
//能源类型
private String nylxclass;
//适用产品线
private String sycpxclass;
//上传时间
private String xcsjbuss;
//关联模块-乘用车VPPS编码
private String cycvppsbmbuss;
//关联模块--乘用车vpps中文名称
private String cycvppscnbuss;
//关联模块--卡车VPPS编码
private String kcvppsbmbuss;
//关联模块--卡车vpps中文名称
private String kcvppscnbuss;
//采用标准
private String cybz;
//采标程度
private String cycd;
//引用标准
private String yybz;
//备案日期
private String barq;
@TableField(exist = false)
private Map<String, Object> attrInfoMap = new LinkedHashMap<>();
}
@@ -3,10 +3,12 @@ package com.adc.da.slrs.sarBussionessStand.controller;
import com.adc.da.Log.BusinessType;
import com.adc.da.Log.EpcLog;
import com.adc.da.common.FileUnZip;
import com.adc.da.common.ReadExcel;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarLawsInfo.service.ISarLawsInfoService;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO;
@@ -23,25 +25,33 @@ import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.utils.IOUtils;
import com.adc.da.util.utils.StringUtils;
import com.adc.da.utils.util.BussStandExportUtil;
import com.adc.da.utils.util.FieldConvertUtil;
import com.adc.da.utils.util.SarAdvanceSearchUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* <p>
@@ -74,6 +84,12 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
@Autowired
private IDicTypeEOService dicTypeEOService;
@Value("${file.path}")
private String filePath;
@Autowired
ISarLawsInfoService sarLawsInfoEOService;
/**
* 根据计划库制定状态查询企标编号
*
@@ -143,6 +159,14 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarBussionessStand:updateSarBussionessStand")
public ResponseMessage<SarBussionessStand> updateSarBussionessStand(@RequestBody SarBussionessStand sarBussionessStandEO) throws Exception {
//校验编号和名称是否存在
QueryWrapper<SarBussionessStand> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarBussionessStandEO.getStandNumber(),"STAND_NUMBER",sarBussionessStandEO.getStandNumber())
.eq(null!=sarBussionessStandEO.getStandName(),"STAND_NAME",sarBussionessStandEO.getStandName());
List<SarBussionessStand> list = sarBussionessStandEOService.list(queryWrapper);
if ((list.size() ==1 && !list.get(0).getId().equals(sarBussionessStandEO.getId())) || list.size() >1){
return Result.error("当前企标标准号和企标名称已存在");
}
sarBussionessStandEO.setModifyTime(new Date());
sarBussionessStandEOService.updateSarBussionessStand(sarBussionessStandEO);
return Result.success("","修改成功",sarBussionessStandEO);
@@ -375,13 +399,43 @@ public class SarBussionessStandController extends BaseController<SarBussionessSt
return "1";
}
@ApiOperation(value = "|SarBussionessStand|编号+名称组合为唯一标识(企业)")
@PostMapping("/selectOnlyInfo")
public ResponseMessage selectOnlyInfo (@RequestBody SarBussionessStand sarBussionessStand){
QueryWrapper<SarBussionessStand> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarBussionessStand.getStandName(),"STAND_NAME",sarBussionessStand.getStandName())
.eq(null!=sarBussionessStand.getStandNumber(),"STAND_NUMBER",sarBussionessStand.getStandNumber());
Integer s=sarBussionessStandEOService.count(wrapper);
if (s>0){
return Result.error("当前企业编号和中文名称已存在");
}else {
return Result.success();
}
}
@ApiOperation(value = "导入功能")
@PostMapping("/importSarBussionessStandFile")
public ResponseMessage<String> importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file) throws Exception{
return sarBussionessStandEOService.importSarBussionessStandFile(file);
}
@ApiOperation(value = "|SarBussionessStand|判断原文译文")
@GetMapping("/emptyFileAnewStorage")
public ResponseMessage emptyFileAnewStorage (String type){
return sarBussionessStandEOService.emptyFileAnewStorage(type);
}
@ApiOperation(value = "|SarBussionessStand|老系统附件重复问题")
@GetMapping("/repetitionFile")
public ResponseMessage repetitionFile (){
return sarBussionessStandEOService.repetitionFile();
}
@ApiOperation(value = "|SarBussionessStand|新系统企业库(产品标准)附件重复问题")
@GetMapping("/newRpetitionFile")
public ResponseMessage newRpetitionFile (){
return sarBussionessStandEOService.newRpetitionFile();
}
}
@@ -1,5 +1,6 @@
package com.adc.da.slrs.sarBussionessStand.dao;
import com.adc.da.slrs.sarBussionessStand.entity.OldSystem;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarStandardsInfo.entity.RecommendVO;
@@ -118,5 +119,12 @@ public interface SarBussionessStandDao extends BaseMapper<SarBussionessStand> {
int insertSelective(SarBussionessStand sarBussionessStandEO);
void importSarBussionessStand(SarBussionessStand sarBussionessStands);
List<OldSystem> selectListInfo();
List<OldSystem> getBussionessStandInfo();
void updateByIdInfo(@Param("strFile")String strFile, @Param("attfId")String attfId);
}
@@ -1,12 +1,12 @@
package com.adc.da.slrs.sarBussionessStand.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.search.entity.SarBussionessStandEO;
import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStandExport;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -53,7 +53,12 @@ public interface ISarBussionessStandService extends IService<SarBussionessStand>
void convertDocAllQB(List<SarBussStandFile> list);
void checkFileByEncrypt();
ResponseMessage emptyFileAnewStorage(String type);
ResponseMessage<String> importSarBussionessStandFile(MultipartFile file)throws Exception;
ResponseMessage repetitionFile();
ResponseMessage newRpetitionFile();
}
@@ -0,0 +1,69 @@
package com.keepsoft.devbase.core.util;
import lombok.SneakyThrows;
import org.apache.commons.io.IOUtils;
import javax.net.ssl.*;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
/**
* 此工具类用来解决请求https时ssl证书的问题
*/
public class SslUtils {
private static void trustAllHttpsCertificates() throws Exception {
TrustManager[] trustAllCerts = new TrustManager[1];
TrustManager tm = new miTM();
trustAllCerts[0] = tm;
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
/**
* 忽略HTTPS请求的SSL证书必须在openConnection之前调用
* @throws Exception
*/
@SneakyThrows
public static void ignoreSsl() {
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
return true;
}
};
trustAllHttpsCertificates();
HttpsURLConnection.setDefaultHostnameVerifier(hv);
}
static class miTM implements TrustManager, X509TrustManager {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isServerTrusted(X509Certificate[] certs) {
return true;
}
public boolean isClientTrusted(X509Certificate[] certs) {
return true;
}
public void checkServerTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
public void checkClientTrusted(X509Certificate[] certs, String authType)
throws CertificateException {
return;
}
}
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarRole.dao;
import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
@@ -105,4 +106,8 @@ public interface TsRoleDao extends BaseMapper<TsRole> {
@Select("select ROLE_ID from ts_user_role where USER_ID = #{userId}")
List<String> getRoleByUserId(@Param("userId") String userId);
@Select("select role_id from ts_role_resource where resource_id =#{oldResourceIds}")
List<String> getResourceId(String oldResourceIds);
}
@@ -14,6 +14,8 @@ import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.enums.MenuEnum;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.zlTree.dao.ZlTreeDao;
import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -24,6 +26,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -46,6 +49,9 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
@Lazy
private ISarUserPersonalMenuService sarUserPersonalMenuService;
@Autowired
private ZlTreeDao zlTreeDao;
@Autowired
private ITsResourceService tsResourceService;
/**
@@ -238,5 +238,4 @@ public class SarStandAttrInfo extends BaseEntity {
@TableField("BDTBZH")
private String bdtbzh;
}
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarStandIdea.service.Impl;
import com.adc.da.person.entity.TsPersonCollect;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaDao;
import com.adc.da.slrs.sarStandIdea.entity.SarPublicIdea;
@@ -0,0 +1,81 @@
package com.adc.da.slrs.sarStandTranslate.controller;
import com.adc.da.base.web.BaseController;
import com.adc.da.slrs.StandardQA.entity.AskUser;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.adc.da.slrs.sarStandTranslate.service.SarStandTranslateService;
import com.adc.da.util.UUIDUtils;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
/**
* <p>
* 前端控制器
* </p>
*
* @author gjb
* @since 2023/2/23
*/
@RestController
@Api(tags = "流程中心-标准需求(翻译)申请流程")
@RequestMapping("/${restPath}/sarStandTranslate")
@Slf4j
public class SarStandTranslateController extends BaseController<SarStandTranslate> {
@Autowired
private SarStandTranslateService sarStandTranslateService;
/**
* 流程中心标准需求翻译申请 发起
* @param
* @return
*/
@PostMapping("/addSarStandTranslate")
public ResponseMessage addSarStandTranslate(@RequestBody SarStandTranslate sarStandTranslate){
sarStandTranslate.setId(UUIDUtils.randomUUID20());
if(sarStandTranslateService.save(sarStandTranslate)){
return Result.success("200","添加成功",sarStandTranslate);
}else {
return Result.error("-1","添加失败",null);
}
}
/**
* 流程中心标准需求翻译审核 回填
* @param
* @return
*/
@PostMapping("/selectSarStandTranslate")
public ResponseMessage selectSarStandTranslate(String id){
SarStandTranslate byId = sarStandTranslateService.getById(id);
if(byId!=null){
return Result.success("200",null,byId);
}else {
return Result.error("-1","失败",null);
}
}
/**
* 流程中心标准需求翻译申请 审核
* @param
* @return
*/
@PostMapping("/updateSarStandTranslate")
public ResponseMessage updateSarStandTranslate(@RequestBody SarStandTranslate sarStandTranslate){
if(sarStandTranslateService.updateById(sarStandTranslate)){
return Result.success("200","成功",sarStandTranslate);
}else {
return Result.error("-1","失败",null);
}
}
}
@@ -0,0 +1,15 @@
package com.adc.da.slrs.sarStandTranslate.dao;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author gjb
* @since 2023-02-23
*/
public interface SarStandTranslateDao extends BaseMapper<SarStandTranslate> {
}
@@ -0,0 +1,104 @@
package com.adc.da.slrs.sarStandTranslate.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
* 标准需求翻译申请表
* @author gjb
* @since 2023-02-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarStandTranslate对象", description="")
public class SarStandTranslate extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty(value = "申请人")
@TableField("PRORPSER_NAME")
private String proposerName;
@ApiModelProperty(value = "申请单位")
@TableField("PRORPSER_UNIT")
private String proposerUnit;
// @ApiModelProperty(value = "联系电话")
// @TableField("PHONE")
// private String phone;
//
// @ApiModelProperty(value = "邮箱")
// @TableField("MAIL")
// private String mail;
@ApiModelProperty(value = "类型")
@TableField("TYPE")
private String type;
@ApiModelProperty(value = "标准编号")
@TableField("STAND_NUMBER")
private String standNumber;
@ApiModelProperty(value = "标准名称")
@TableField("STAND_NAME")
private String standName;
@ApiModelProperty(value = "需求时间")
@TableField("NEED_TIME")
private String needTime;
@ApiModelProperty(value = "页数/字数")
@TableField("NUMBER_WORDS")
private String numberWords;
@ApiModelProperty(value = "原语言")
@TableField("INITIAL_LANGUAGE")
private String initialLanguage;
@ApiModelProperty(value = "目标语言")
@TableField("GOAL_LANGUAGE")
private String goalLanguage;
@ApiModelProperty(value = "费用出资项目目的项目名称")
@TableField("COST_GOAL_PROECT_NAME")
private String costGoalProectName;
@ApiModelProperty(value = "费用出资项目目的项目编号科目")
@TableField("COST_GOAL_PROECT_NUMBER")
private String costGoalProectNumber;
@ApiModelProperty(value = "是否批准")
@TableField("RATIFY")
private String ratify;
@ApiModelProperty(value = "申请理由")
@TableField("REASON")
private String reason;
@ApiModelProperty(value = "驳回理由")
@TableField("NOT_REASON")
private String notReason;
@ApiModelProperty(value = "费用")
@TableField("COST")
private String cost;
@ApiModelProperty(value = "审核人")
@TableField("AUDIT")
private String audit;
}
@@ -0,0 +1,7 @@
package com.adc.da.slrs.sarStandTranslate.service;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SarStandTranslateService extends IService<SarStandTranslate> {
}
@@ -0,0 +1,19 @@
package com.adc.da.slrs.sarStandTranslate.service.impl;
import com.adc.da.slrs.sarStandTranslate.dao.SarStandTranslateDao;
import com.adc.da.slrs.sarStandTranslate.entity.SarStandTranslate;
import com.adc.da.slrs.sarStandTranslate.service.SarStandTranslateService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class SarStandTranslateServiceImpl extends ServiceImpl<SarStandTranslateDao, SarStandTranslate> implements SarStandTranslateService {
@Autowired
private SarStandTranslateDao sarStandTranslateDao;
}
@@ -298,6 +298,14 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
} else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) {
sarStandardsInfoEO.setMenuId("22179d54d4e640098e29");
}
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
Integer s1 = sarStandardsInfoEOService.count(queryWrapper);
if (s1>0){
return Result.error("当前标准编号和中文名称已存在");
}
sarStandardsInfoEOService.createSarStandardsInfo(sarStandardsInfoEO);
return Result.success("0", "添加成功", sarStandardsInfoEO);
}
@@ -307,6 +315,14 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
//401问题2021-03-31暂时注释掉 liuhuiwen
// @RequiresPermissions("lawss:sarStandardsInfo:updateSarStandardsInfo")
public ResponseMessage<SarStandardsInfo> updateSarStandardsInfo(@RequestBody SarStandardsInfo sarStandardsInfoEO) throws Exception {
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
List<SarStandardsInfo> list = sarStandardsInfoEOService.list(queryWrapper);
if ((list.size() ==1 && !list.get(0).getId().equals(sarStandardsInfoEO.getId())) || list.size() >1){
return Result.error("当前标准编号和中文名称已存在");
}
int result = sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO);
if (result > 0) {
return Result.success("", "修改成功", sarStandardsInfoEO);
@@ -882,11 +898,12 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper .eq("STAND_TYPE",page.getStandType())
.eq(null!=page.getStandSort(),"STAND_SORT",page.getStandSort())
.eq(null!=page.getStandName(),"STAND_NAME",page.getStandName())
.eq(null!=page.getStandNumber(),"STAND_NUMBER",page.getStandNumber())
.eq(null!=page.getStandYear(),"STAND_YEAR",page.getStandYear()).eq("VALID_FLAG", 0);
Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){
return Result.error();
return Result.error("当前标准编号或中文名称已存在");
}else {
return Result.success();
}
@@ -925,4 +942,20 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
return "1";
}
@ApiOperation(value = "|SarStandardsInfoEO|编号+名称组合为唯一标识(国内海外)")
@PostMapping("/selectOnlyInfo")
public ResponseMessage selectOnlyInfo (@RequestBody SarStandardsInfo sarStandardsInfo){
QueryWrapper<SarStandardsInfo> wrapper=new QueryWrapper<>();
wrapper.eq(null!=sarStandardsInfo.getStandName(),"STAND_NAME",sarStandardsInfo.getStandName())
.eq(null!=sarStandardsInfo.getStandNumber(),"STAND_NUMBER",sarStandardsInfo.getStandNumber());
Integer s=sarStandardsInfoEOService.count(wrapper);
if (s>0){
return Result.error("当前标准编号和中文名称已存在");
}else {
return Result.success();
}
}
}
@@ -18,6 +18,7 @@ import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarStandFile.service.ISarStandFileService;
import com.adc.da.slrs.sarStandWarning.entity.WarningDate;
import com.adc.da.slrs.sarStandWarning.service.Impl.WarningDateServiceImpl;
import com.adc.da.slrs.sarStandardsInfo.controller.SarStandardsInfoController;
import com.adc.da.slrs.sarUser.entity.TsUser;
import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.att.vo.AttFileVo;
@@ -259,6 +260,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
@Autowired
private EncryptFileUtils encryptFileUtils;
// /**
// * 反向操作标准
// */
@@ -2373,6 +2375,14 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
List<SarStandardsInfo> list = (List<SarStandardsInfo>) map.get("resultList");
int countSuccess = 0;
for (SarStandardsInfo sarStandardsInfoEO : list) {
//校验编号和名称是否存在
QueryWrapper<SarStandardsInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(null!=sarStandardsInfoEO.getStandNumber(),"STAND_NUMBER",sarStandardsInfoEO.getStandNumber())
.eq(null!=sarStandardsInfoEO.getStandName(),"STAND_NAME",sarStandardsInfoEO.getStandName());
Integer s1 = count(queryWrapper);
if (s1>0){
return Result.error("当前标准编号和中文名称已存在");
}
sarStandardsInfoEO.setStandType(standType);
sarStandardsInfoEO.setMenuId(menuId);
createSarStandardsInfo(sarStandardsInfoEO);
@@ -2,6 +2,8 @@ package com.adc.da.slrs.tsRoleMeunData.dao;
import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
/**
* <p>
@@ -13,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TsRoleMenuDataDao extends BaseMapper<TsRoleMenuData> {
@Insert("insert into ts_role_menu_data (role_id,menu_id) values (#{roleId},#{id})")
void save(@Param("roleId") String roleId,@Param("id") String id);
}
@@ -46,6 +46,8 @@ public class ZlTreeController extends BaseController<ZlTree> {
public ResponseMessage addFileMaterial(@RequestBody ZlTree material){
material.setId(String.valueOf(UUID.randomUUID()));
boolean save = iZlTreeService.save(material);
//新增后给所有角色配置权限
iZlTreeService.setResource(material);
return Result.success(save);
}
@@ -2,7 +2,11 @@ package com.adc.da.slrs.zlTree.dao;
import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
@@ -16,4 +20,5 @@ public interface ZlTreeDao extends BaseMapper<ZlTree> {
int topping(@Param("id") String id);
}
@@ -1,5 +1,6 @@
package com.adc.da.slrs.zlTree.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.zlTree.entity.TreeData;
import com.adc.da.slrs.zlTree.entity.ZlTree;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -54,4 +55,6 @@ public interface IZlTreeService extends IService<ZlTree> {
ZlTree queryTree(String treeId);
void subordinateTreeNodes(List<String> treeIds,String parentTreeId);
void setResource(ZlTree material);
}
@@ -1,9 +1,15 @@
package com.adc.da.slrs.zlTree.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarRole.dao.TsRoleDao;
import com.adc.da.slrs.sarRole.entity.TsRoleResourceVO;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.tsRoleMeunData.dao.TsRoleMenuDataDao;
import com.adc.da.slrs.tsRoleMeunData.service.impl.TsRoleMenuDataServiceImpl;
import com.adc.da.slrs.zlTree.dao.ZlTreeDao;
import com.adc.da.slrs.zlTree.entity.TreeData;
import com.adc.da.slrs.zlTree.entity.ZlTree;
@@ -40,6 +46,12 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
@Autowired
private ITsUserService tsUserService;
@Autowired
private TsRoleDao tsRoleDao;
@Autowired
TsRoleMenuDataDao tsRoleMenuDataDao;
@Override
public List<TreeData> getLeftTree() {
// 获取当前登录人
@@ -173,4 +185,19 @@ public class ZlTreeServiceImpl extends ServiceImpl<ZlTreeDao, ZlTree> implements
}
}
}
/**
* 新增后给所有角色配置权限
* @param material
*/
@Override
public void setResource(ZlTree material) {
//获取pid
String pId = material.getParentId();
List<String> roleIds = tsRoleDao.getResourceId(pId);
for (String roleId : roleIds){
tsRoleDao.addResource(roleId,material.getId());
tsRoleMenuDataDao.save(roleId,material.getId());
}
}
}
@@ -56,6 +56,8 @@ public class FieldConvertUtil {
public static String exportBaseFieldNamesBuss = "企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态";
public static String exportBaseFieldNamesBussCode = "起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称";
public static String exportAttrFieldNamesBuss = "SVPPS,规范性引用文件,废止日期,复审日期,密级,授权,相关部门," +
"需会签部门,起草部门,主要起草人,起草分标委,企标文本,过程文本";
@@ -167,5 +167,11 @@
where id = #{id}
</update>
<!-- 查询字段及对应数据-->
<select id="selectInfoStandId" resultType="java.lang.String" parameterType="java.lang.String">
SELECT id
FROM SAR_BUSS_STAND_ATTR_INFO
WHERE valid_flag=0 and stand_id = #{standId}
</select>
</mapper>
@@ -1176,4 +1176,82 @@
select usid from SAR_BUSSIONESS_PERSON where QBID=#{qbid}
</select>
<insert id="importSarBussionessStand" parameterType="com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand">
insert into SAR_BUSSIONESS_STAND
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="modifyTime != null" >modify_time,</if>
<if test="creationTime != null" >creation_time,</if>
<if test="validFlag != null" >valid_flag,</if>
<if test="standStatus != null" >stand_status,</if>
<if test="replacedStandNum != null" >replaced_stand_num,</if>
<if test="replaceStandNum != null" >replace_stand_num,</if>
<if test="putTime != null" >put_time,</if>
<if test="issueTime != null" >issue_time,</if>
<if test="standEnName != null" >stand_en_name,</if>
<if test="standName != null" >stand_name,</if>
<if test="standCode != null" >stand_code,</if>
<if test="id != null" >id,</if>
<!--数据库新增字段-->
<if test="applyCountry != null" >apply_country,</if>
<if test="standNature != null" >stand_Nature,</if>
<if test="standSort != null" >stand_sort,</if>
<if test="standYear != null" >stand_year,</if>
<if test="standNumber != null" >stand_number,</if>
<if test="reviseStatus != null" >REVISE_STATUS,</if>
<if test="revisionStatus != null" >REVISION_STATUS,</if>
<if test="standSn != null" >STAND_SN,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="modifyTime != null" >#{modifyTime, jdbcType=TIMESTAMP},</if>
<if test="creationTime != null" >#{creationTime, jdbcType=TIMESTAMP},</if>
<if test="validFlag != null" >#{validFlag, jdbcType=INTEGER},</if>
<if test="standStatus != null" >#{standStatus, jdbcType=VARCHAR},</if>
<if test="replacedStandNum != null" >#{replacedStandNum, jdbcType=VARCHAR},</if>
<if test="replaceStandNum != null" >#{replaceStandNum, jdbcType=VARCHAR},</if>
<if test="putTime != null" >#{putTime, jdbcType=TIMESTAMP},</if>
<if test="issueTime != null" >#{issueTime, jdbcType=TIMESTAMP},</if>
<if test="standEnName != null" >#{standEnName, jdbcType=VARCHAR},</if>
<if test="standName != null" >#{standName, jdbcType=VARCHAR},</if>
<if test="standCode != null" >#{standCode, jdbcType=VARCHAR},</if>
<if test="id != null" >#{id, jdbcType=VARCHAR},</if>
<!--数据库新增字段-->
<if test="applyCountry != null" >#{applyCountry, jdbcType=VARCHAR},</if>
<if test="standNature != null" >#{standNature, jdbcType=VARCHAR},</if>
<if test="standSort != null" >#{standSort, jdbcType=VARCHAR},</if>
<if test="standYear != null" >#{standYear, jdbcType=VARCHAR},</if>
<if test="standNumber != null" >#{standNumber, jdbcType=VARCHAR},</if>
<if test="reviseStatus != null" >#{reviseStatus, jdbcType=VARCHAR},</if>
<if test="revisionStatus != null" >#{revisionStatus, jdbcType=VARCHAR},</if>
<if test="standSn != null" >#{standSn, jdbcType=VARCHAR},</if>
</trim>
</insert>
<select id="selectListInfo" resultType="com.adc.da.slrs.sarBussionessStand.entity.OldSystem">
SELECT
std.id as 'standId',
std.BUILD_ID as 'buildId',
att.id as 'attfid',
att.FBGBUSS as 'fileId'
from sar_bussioness_stand std
left JOIN sar_buss_stand_attr_info att on std.id = att.STAND_ID
where std.BUILD_ID is not null
and att.FBGBUSS is not null
</select>
<select id="getBussionessStandInfo" resultType="com.adc.da.slrs.sarBussionessStand.entity.OldSystem">
SELECT
std.id as 'standId',
att.id as 'attfid',
att.FBGBUSS as 'fileId'
from sar_bussioness_stand std
left JOIN sar_buss_stand_attr_info att on std.id = att.STAND_ID
left join SAR_BUSS_STAND_MENU smenu ON std.id = smenu.buss_stand_id
where 1=1
and att.FBGBUSS is not null
and smenu.MENU_ID = '44'
</select>
<update id="updateByIdInfo" >
update sar_buss_stand_attr_info ss set ss.FBGBUSS = #{strFile}
where id = #{attfId}
</update>
</mapper>
@@ -24,4 +24,5 @@ public interface AttFileEODao extends BaseMapper<AttFileEO> {
public int insertData(AttFileEO attFileEO);
void deleteByIdInfo(String str, String id);
}
@@ -32,4 +32,6 @@ public interface IAttFileEOService extends IService<AttFileEO> {
public AttFileVo insertFileInfo(File file,String fileName);
void downLoadFileList(List<AttFileEO> multiFileInfos, String fileNowPath) throws IOException;
void deleteById(String id);
}
@@ -23,10 +23,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import java.util.*;
@Service("attFileEOService")
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
@@ -438,6 +435,17 @@ public class AttFileEOServiceImpl extends ServiceImpl<AttFileEODao, AttFileEO> i
}
}
}
@Override
public void deleteById(String id) {
if(StringUtils.isNotBlank(id)){
String[] s = id.split("_");
List<String> asList = Arrays.asList(s);
String str = "att_file_"+asList.get(2);
baseMapper.deleteByIdInfo(str,id);
}
}
public static void copyFile1(String srcPath, String destPath) throws IOException {
// 打开输入流
FileInputStream fis = new FileInputStream(srcPath);
@@ -43,10 +43,10 @@ public class PersonCollectEOController extends BaseController<TsPersonCollect> {
**/
@ApiOperation(value = "|PersonCollectEO|分页查询")
@GetMapping("/page")
public ResponseMessage<IPage<TsPersonCollect>> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) throws Exception {
public ResponseMessage<IPage<TsPersonCollect>> page(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId,Integer validFlag) throws Exception {
return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId);
return personCollectEOService.queryCollectByWrapper(pageNo, pageSize,collectTitle,modeType,userId,validFlag);
}
@@ -28,7 +28,7 @@ public interface IPersonCollectEOService extends IService<TsPersonCollect> {
int updateByPrimaryKeySelective(TsPersonCollect tsPersonCollect) throws Exception;
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId);
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle,String modeType, String userId,Integer validFlag);
/**
* 通过标准号和用户id查询是否收藏此标准
@@ -133,7 +133,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
@Override
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId) {
public ResponseMessage<IPage<TsPersonCollect>> queryCollectByWrapper(Integer pageNo, Integer pageSize, String collectTitle, String modeType,String userId,Integer validFlag) {
BasePage basePage = new BasePage();
QueryWrapper<TsPersonCollect> wrapper = new QueryWrapper<>();
wrapper.eq("user_id",userId);
@@ -144,6 +144,11 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
List<String> ids = new ArrayList<>(Arrays.asList(modeType.split(",")));
wrapper.in("collect_type",ids);
}
if (validFlag != null && !validFlag.equals("") && validFlag == 0){//有效
wrapper.eq("valid_flag",validFlag);
}else if (validFlag != null && !validFlag.equals("") && validFlag == 1){//无效
wrapper.eq("valid_flag",validFlag);
}
wrapper.orderByDesc("creation_Time");
if (pageNo != null) {
@@ -156,11 +161,9 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
}else{
basePage.setPageSize(10);
}
IPage<TsPersonCollect> page = this.page(new Page<>(basePage.getPage(), basePage.getPageSize()), wrapper);
//三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 86400000
/*long newTime = 86400000;
//三天以内收藏的 标题名称后面加 new 一小时3600000 一天时间戳 86400000 三天259,200,000
long newTime = 259200000;
Date date = new Date();
long time = date.getTime();
for (TsPersonCollect data : page.getRecords()){
@@ -170,7 +173,7 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
sb.append("<span style=\'color:red\'>"+"(new)"+"</span>").append(data.getCollectTitle());
data.setCollectTitle(sb.toString());
}
}*/
}
return Result.success(page);
}
@@ -100,4 +100,8 @@
update ${tableName} set OLD_FILE_NAME = #{oldFileName} where id = #{id}
</update>
<delete id="deleteByIdInfo" parameterType="java.lang.String">
delete from ${str} where id = #{id}
</delete>
</mapper>