From c3f912eefb01d29c5bea2d5abd6b65b4750a2939 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Mon, 21 Jun 2021 18:36:52 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E6=B5=81=E7=A8=8B=E5=85=A5?= =?UTF-8?q?=E5=BA=93=20=E5=8F=8A=20=E6=9D=82=E4=B8=83=E6=9D=82=E5=85=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adc-da-activiti/pom.xml | 5 + .../com/adc/da/common/ConvertHtml2Excel.java | 283 +++++ .../controller/ActSarItemsEOController.java | 39 + .../adc/da/workFlow/dao/ActSarItemsEODao.java | 16 + .../adc/da/workFlow/entity/ActSarItemsEO.java | 66 + .../service/ActSarItemsEOService.java | 1097 +++++++++++++++++ .../mybatis/mapper/activiti/ActSarItemsEO.xml | 423 +++++++ .../SarCompResAssessController.java | 23 + .../dao/SarCompResAssessDao.java | 20 + .../entity/SarCompResAssess.java | 76 ++ .../service/ISarCompResAssessService.java | 18 + .../impl/SarCompResAssessServiceImpl.java | 35 + .../SarCompStatusInfoController.java | 23 + .../dao/SarCompStatusInfoDao.java | 16 + .../entity/SarCompStatusInfo.java | 135 ++ .../service/ISarCompStatusInfoService.java | 16 + .../impl/SarCompStatusInfoServiceImpl.java | 20 + .../SarFileSplitItemsController.java | 23 + .../dao/SarFileSplitItemsDao.java | 16 + .../entity/SarFileSplitItems.java | 129 ++ .../service/ISarFileSplitItemsService.java | 16 + .../impl/SarFileSplitItemsServiceImpl.java | 20 + .../controller/SarStandItemValController.java | 23 + .../dao/SarStandItemValDao.java | 26 + .../entity/SarStandItemVal.java | 62 + .../service/ISarStandItemValService.java | 16 + .../impl/SarStandItemValServiceImpl.java | 20 + .../service/ISarStandAttrInfoService.java | 3 + .../impl/SarStandAttrInfoServiceImpl.java | 13 + .../sarStandItems/entity/SarStandItems.java | 3 + .../service/ISarStandardsInfoService.java | 6 +- .../impl/SarStandardsInfoServiceImpl.java | 4 +- .../SarCompResAssessMapper.xml | 344 ++++++ .../SarCompStatusInfoMapper.xml | 5 + .../SarFileSplitItemsMapper.xml | 5 + .../SarStandItemVal/SarStandItemValMapper.xml | 217 ++++ .../controller/DicTypeEORestController.java | 10 +- .../da/sys/controller/UserEOController.java | 17 +- .../mybatis/mapper/sys/DicTypeEOMapper.xml | 6 +- 39 files changed, 3284 insertions(+), 11 deletions(-) create mode 100644 adc-da-activiti/src/main/java/com/adc/da/common/ConvertHtml2Excel.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsEOController.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/ActSarItemsEO.java create mode 100644 adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java create mode 100644 adc-da-activiti/src/main/resources/mybatis/mapper/activiti/ActSarItemsEO.xml create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/controller/SarCompResAssessController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/dao/SarCompResAssessDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/entity/SarCompResAssess.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/ISarCompResAssessService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/impl/SarCompResAssessServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/controller/SarCompStatusInfoController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/entity/SarCompStatusInfo.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/ISarCompStatusInfoService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/impl/SarCompStatusInfoServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/controller/SarFileSplitItemsController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/dao/SarFileSplitItemsDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/entity/SarFileSplitItems.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/ISarFileSplitItemsService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/impl/SarFileSplitItemsServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/controller/SarStandItemValController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/dao/SarStandItemValDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/entity/SarStandItemVal.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/ISarStandItemValService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/impl/SarStandItemValServiceImpl.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/SarCompResAssess/SarCompResAssessMapper.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/SarCompStatusInfo/SarCompStatusInfoMapper.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/SarFileSplitItems/SarFileSplitItemsMapper.xml create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/SarStandItemVal/SarStandItemValMapper.xml diff --git a/adc-da-activiti/pom.xml b/adc-da-activiti/pom.xml index 7ddf4390..5d1a8e56 100644 --- a/adc-da-activiti/pom.xml +++ b/adc-da-activiti/pom.xml @@ -40,6 +40,11 @@ 3.0.0 compile + + org.dom4j + dom4j + 2.0.0 + \ No newline at end of file diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/ConvertHtml2Excel.java b/adc-da-activiti/src/main/java/com/adc/da/common/ConvertHtml2Excel.java new file mode 100644 index 00000000..dbe9eeb0 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/common/ConvertHtml2Excel.java @@ -0,0 +1,283 @@ +package com.adc.da.common; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.dom4j.Document; +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description: + * @Author: yangxuenan + * date: 2020/2/26 10:10 + */ +public class ConvertHtml2Excel { + /** + * html表格转excel + */ + public static HSSFWorkbook table2Excel(String tableHtml, HSSFWorkbook wb, String sheetName) throws Exception { +// HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sheet = wb.createSheet(sheetName); + List moneyCols =new ArrayList<>(); + moneyCols.add(1); + int headEndRow = 1; + List crossRowEleMetaLs = new ArrayList(); + int rowIndex = 0; + try { + Document data = DocumentHelper.parseText(tableHtml); + HSSFCellStyle contentStyle = getContentStyle(wb); + // 生成表头 + Element thead = data.getRootElement().element("thead"); + HSSFCellStyle titleStyle = getTitleStyle(wb); + int ls = 0;//列数 + if (thead != null) { + List trLs = thead.elements("tr"); + for (Element trEle : trLs) { + HSSFCellStyle style = rowIndex<=headEndRow?titleStyle:contentStyle; + style.setWrapText(true); + HSSFRow row = sheet.createRow(rowIndex); + List thLs = trEle.elements("th"); + if(ls tdLs = trEle.elements("td"); + if(ls trBody = tbody.elements("tr"); + for (Element trEle : trBody) { + HSSFCellStyle style = rowIndex<=headEndRow?titleStyle:contentStyle; + style.setWrapText(true); + HSSFRow row = sheet.createRow(rowIndex); + List thLs = trEle.elements("th"); + if(ls tdLs = trEle.elements("td"); + if(ls trFoot = tfoot.elements("tr"); + for (Element trEle : trFoot) { + HSSFCellStyle style = rowIndex<=headEndRow?titleStyle:contentStyle; + style.setWrapText(true); + HSSFRow row = sheet.createRow(rowIndex); + List thLs = trEle.elements("th"); + if(ls tdLs = trEle.elements("td"); + if(ls tdLs, int rowIndex, HSSFRow row, int startCellIndex, HSSFCellStyle cellStyle, + List crossRowEleMetaLs, boolean inHead, List moneyCols) { + int i = startCellIndex; + for (int eleIndex = 0; eleIndex < tdLs.size(); i++, eleIndex++) { + int captureCellSize = getCaptureCellSize(rowIndex, i, crossRowEleMetaLs); + while (captureCellSize > 0) { + for (int j = 0; j < captureCellSize; j++) {// 当前行跨列处理(补单元格) + row.createCell(i); + i++; + } + captureCellSize = getCaptureCellSize(rowIndex, i, crossRowEleMetaLs); + } + Element thEle = tdLs.get(eleIndex); + String val = thEle.getText(); + if (StringUtils.isEmpty(val)) { + Element e = thEle.element("a"); + if (e != null) { + val = e.getText(); + } + } + HSSFCell c = row.createCell(i); + if (NumberUtils.isNumber(val)) { + if (moneyCols != null && moneyCols.contains(i)) { + c.setCellType(CellType.STRING); + c.setCellValue(val); + } else { + c.setCellValue(Double.parseDouble(val)); + c.setCellType(CellType.STRING); + } + + } else { + c.setCellType(CellType.STRING); + c.setCellValue(new HSSFRichTextString(val)); + } + int rowSpan = NumberUtils.toInt(thEle.attributeValue("rowspan"), 1); + int colSpan = NumberUtils.toInt(thEle.attributeValue("colspan"), 1); + c.setCellStyle(cellStyle); + if (rowSpan > 1 || colSpan > 1) { // 存在跨行或跨列 + crossRowEleMetaLs.add(new CrossRangeCellMeta(rowIndex, i, rowSpan, colSpan, inHead)); + } + if (colSpan > 1) {// 当前行跨列处理(补单元格) + for (int j = 1; j < colSpan; j++) { + i++; + row.createCell(i); + } + } + } + return i; + } + + /** + * 设置合并单元格的边框样式 + * + * @param sheet + * @param region + * @param cs + */ + public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress region, HSSFCellStyle cs) { + for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) { + HSSFRow row = sheet.getRow(i); + for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) { + HSSFCell cell = row.getCell(j); + cell.setCellStyle(cs); + } + } + } + + /** + * 获得因rowSpan占据的单元格 + * + * @param rowIndex 行号 + * @param colIndex 列号 + * @param crossRowEleMetaLs 跨行列元数据 + * @return 当前行在某列需要占据单元格 + */ + private static int getCaptureCellSize(int rowIndex, int colIndex, List crossRowEleMetaLs) { + int captureCellSize = 0; + for (CrossRangeCellMeta crossRangeCellMeta : crossRowEleMetaLs) { + if (crossRangeCellMeta.getFirstRow() < rowIndex && crossRangeCellMeta.getLastRow() >= rowIndex) { + if (crossRangeCellMeta.getFirstCol() <= colIndex && crossRangeCellMeta.getLastCol() >= colIndex) { + captureCellSize = crossRangeCellMeta.getLastCol() - colIndex + 1; + } + } + } + return captureCellSize; + } + + /** + * 获得标题样式 + * + * @param workbook + * @return + */ + private static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) { + short titlebackgroundcolor = HSSFColor.HSSFColorPredefined.WHITE.getIndex(); + short fontSize = 11; + String fontName = "宋体"; + HSSFCellStyle style = workbook.createCellStyle(); + style.setVerticalAlignment(VerticalAlignment.CENTER); + style.setAlignment(HorizontalAlignment.CENTER); + style.setBorderBottom(BorderStyle.THIN); //下边框 + style.setBorderLeft(BorderStyle.THIN);//左边框 + style.setBorderTop(BorderStyle.THIN);//上边框 + style.setBorderRight(BorderStyle.THIN);//右边框 + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + style.setFillForegroundColor(titlebackgroundcolor);// 背景色 + style.setWrapText(true); + HSSFFont font = workbook.createFont(); +// font.setFontName(fontName); + font.setFontHeightInPoints(fontSize); +// font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); + style.setFont(font); + return style; + } + + /** + * 获得内容样式 + * + * @param wb + * @return + */ + private static HSSFCellStyle getContentStyle(HSSFWorkbook wb) { + short fontSize = 11; +// String fontName = "宋体"; + HSSFCellStyle style = wb.createCellStyle(); + style.setBorderBottom(BorderStyle.THIN); + style.setBorderTop(BorderStyle.THIN); + style.setBorderLeft(BorderStyle.THIN); + style.setBorderRight(BorderStyle.THIN); + HSSFFont font = wb.createFont(); +// font.setFontName(fontName); + font.setFontHeightInPoints(fontSize); + style.setFont(font); + style.setAlignment(HorizontalAlignment.CENTER);//水平居中 + style.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中 + style.setWrapText(true); + return style; + } + + public static void main(String[] args) throws Exception { + String cnt = "\n"; + List c =new ArrayList<>(); + c.add(1); + String tableHtml = "
111111113333333333444444444
555555566666
324234
"; + tableHtml = tableHtml.replaceAll("<[\\s]*?br[^>]*?>|<[\\s]*?\\/[\\s]*?br[\\s]*?>", cnt); +// HSSFWorkbook hssfWorkbook = ConvertHtml2Excel.table2Excel(tableHtml,c,1); +// hssfWorkbook.write(FileUtils.openOutputStream(new File("D:\\test\\test1.xls"))); + } + +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsEOController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsEOController.java new file mode 100644 index 00000000..321dbdd1 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/ActSarItemsEOController.java @@ -0,0 +1,39 @@ +package com.adc.da.workFlow.controller; + + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO; +import com.adc.da.workFlow.service.ActSarItemsEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/${restPath}/lawss/actSarItems") +@Api(description = "|ActSarItemsEO|") +public class ActSarItemsEOController extends BaseController { + + @Autowired + private ActSarItemsEOService actSarItemsEOService; + +// private static final Logger logger = LoggerFactory.getLogger(AttFileEOController.class); + + @Value("${file.path}") + private String filePath;//文件存储路径 + + @ApiOperation(value = "|SarStandardsInfoEO|标准入库流程标准入库") + @PostMapping("/processCreateStand") + public ResponseMessage processCreateStand(String infoJson) throws Exception { + if (StringUtils.isNotBlank(infoJson)) { + actSarItemsEOService.processCreateStand(infoJson); + return Result.success("入库成功"); + } else { + return Result.error("传入数据json不能为空"); + } + } +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java new file mode 100644 index 00000000..3d834f4a --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/dao/ActSarItemsEODao.java @@ -0,0 +1,16 @@ +package com.adc.da.workFlow.dao; + +import com.adc.da.slrs.sarStandardsInfo.entity.ActSarItemsEO; + +import java.util.List; + +public interface ActSarItemsEODao { + + List queryByPage(ActSarItemsEO actSarItemsEO); + + Integer process4PageDateCount(ActSarItemsEO actSarItemsEO); + + int queryByCount(); + + List queryStandAndLaws(ActSarItemsEO actSarItemsEO); +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/ActSarItemsEO.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/ActSarItemsEO.java new file mode 100644 index 00000000..20f78479 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/entity/ActSarItemsEO.java @@ -0,0 +1,66 @@ +package com.adc.da.workFlow.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author yangxuenan + * @Description 工作流使用 + * Date 2018/10/23 14:29 + * @Param + * @return + **/ +@Data +public class ActSarItemsEO { + private String resId;// 标准法规ID + private String resFlag; //类型 + private String resNum; //标准,文件号 + private String resName; //标准,文件名称 + private String resType; //标准类型 + private String deptName; //部门id + private String orgName; // 责任部门名称 + private String parentId; //仅条目有 + private String userId; //评估人ID + private List itemsList; //条目信息 + private String accessId; //导入时查询 + private String applyArctic; + private String[] applyArcticList; + private String energyKind; + private String[] energyKindList; + private String mainPointImplementation; + private String termsConditions; + private String parts; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date tackTime; + private String applyArcticShow; + private String energyKindShow; + private String remarks; + private String resState; //标准状态 + private String fileState; //文本状态 + private String type; //符合性状态 + private String prcNum; + private String foId; + private String foName; + private String form; + private String roleId; + private String roleName; + //流程分页用 + private Integer startIndex; + private Integer endIndex; + private Integer pageSize; + private Integer nowPage; + private Map attrInfoMap = new LinkedHashMap<>(); //属性表字段与值 + private String sarState; + private String newPutText; + private String prodPutText; + private String authObj; + private String authDelive; + private String performInfo; + + +} diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java new file mode 100644 index 00000000..a8f91968 --- /dev/null +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsEOService.java @@ -0,0 +1,1097 @@ +package com.adc.da.workFlow.service; + +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.login.util.UserUtils; +import com.adc.da.person.entity.PersonMsgEO; +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import com.adc.da.slrs.SarCompResAssess.service.ISarCompResAssessService; +import com.adc.da.slrs.SarCompStatusInfo.dao.SarCompStatusInfoDao; +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import com.adc.da.slrs.SarFileSplitItems.entity.SarFileSplitItems; +import com.adc.da.slrs.SarFileSplitItems.service.ISarFileSplitItemsService; +import com.adc.da.slrs.SarStandItemVal.dao.SarStandItemValDao; +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import com.adc.da.slrs.sarStandAttrInfo.service.ISarStandAttrInfoService; +import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; +import com.adc.da.slrs.sarStandVal.entity.SarStandVal; +import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; +import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; +import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; +import com.adc.da.slrs.sysInfo.service.SysInfoEOService; +import com.adc.da.sys.constant.ValidFlagEnum; +import com.adc.da.sys.constant.ValueStateEnum; +import com.adc.da.sys.entity.DicTypeEO; +import com.adc.da.sys.entity.OrgEO; +import com.adc.da.util.UUIDUtils; +import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.workFlow.dao.ActSarItemsEODao; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +@Service("actSarItemsEOService") +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class ActSarItemsEOService { + + private static final Logger logger = LoggerFactory.getLogger(ActSarItemsEOService.class); + + @Autowired + private ActSarItemsEODao actSarItemsEODao; + + @Autowired + private SarStandItemsDao sarStandItemsEODao; + + @Autowired + private SysInfoEOService sysInfoEOService; + + @Autowired + private ISarStandardsInfoService sarStandardsInfoEOService; + + @Autowired + private ISarStandAttrInfoService sarStandAttrInfoEOService; + + @Autowired + private ISarUpdLogService sarUpdLogEOService; + + @Autowired + private SarCompStatusInfoDao sarCompStatusInfoEODao; + + @Autowired + private ISarCompResAssessService sarCompResAssessEOService; + + @Autowired + private ISarFileSplitItemsService sarFileSplitItemsEOService; + + @Autowired + private SarStandItemValDao sarStandItemValEODao; + + + @Value("${elas.flag}") + private boolean elasflag; + + /*** + * @Description: 标准入库流程数据保存 + * @Author: yangxuenan + * @Date: 2020/12/7 13:48 + * @Param: [standJson] + * @Return: void + */ + public void processCreateStand(String standJson) throws Exception{ + Map standMap = new HashMap(); + standMap = com.alibaba.fastjson.JSONObject.parseObject(standJson); + if (standMap != null && !standMap.isEmpty()) { + String prcNum = String.valueOf(standMap.get("prcNum")); + String prcName = String.valueOf(standMap.get("prcName")); + String standType = String.valueOf(standMap.get("standType")); + String isJudge = String.valueOf(standMap.get("ifIn")); //是否经过技术评估 + SarStandardsInfo sarStandardsInfoEO = new SarStandardsInfo(); +// if(standMap.containsKey("standId")) { +// if (standMap.get("standId") != null && !standMap.get("standId").toString().equals("")) { +// String resId = standMap.get("standId").toString(); +// //此处说明是带入的形式 +// sarStandardsInfoEO.setId(resId); +// SarCompResAssess assessInfoByResId = sarCompResAssessEOService.getAssessInfoByResId(resId); +// if (assessInfoByResId != null) { +// assessInfoByResId.setProcessState("2"); +// sarCompResAssessEOService.updateByPrimaryKeySelective(assessInfoByResId); +// } +// } +// } + + Map attInfoMap = new HashMap<>(); + List jsonArray = new ArrayList<>(); + Object breakVal = null; + Object itemList = null; + for (Map.Entry entry : standMap.entrySet()) { + String field = entry.getKey(); + Object value = entry.getValue(); + if (InitStandAttrUtil.queryFieldList.contains(field)) { + if (value != null && value instanceof JSONArray) { + String valStr = String.valueOf(value); + List valueArr = JSONArray.parseArray(valStr,String.class); + if (valueArr != null && !valueArr.isEmpty()) { + String newValue = ""; + for (String val : valueArr) { + newValue += val + ","; + } + newValue = newValue.substring(0,newValue.length()-1); + value = newValue; + } + } + attInfoMap.put(field,value); + } else { + createStandBaseField(sarStandardsInfoEO,field,value); + } + if ("taskBreak".equals(field)) { + breakVal = value; + } + } + String standFoUser = ""; + List> itemData = new ArrayList<>(); + if (breakVal != null) { + //取出taskbreak中的部分标准信息放到map中,如fo,svpps,责任部门,项目评估角色 + String valueStr = String.valueOf(breakVal); + jsonArray = JSONArray.parseArray(valueStr,String.class); + // 处理在标准、条款中的SVPPS、项目评估角色、责任部门、FO + handleStandCollectData(attInfoMap,jsonArray,itemData); + } + //处理文件 + //此处需要处理之前的文件信息,防止文件丢失 + attInfoMap = saveFileMsg(attInfoMap,sarStandardsInfoEO.getFileIds(),sarStandardsInfoEO.getTextStatus()); + String resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarStandardsInfoEO.setSarStandAttrEOStr(resData); + // 根据标准号判断数据是否已存在 + //2021年4月9日 此处检查当前是否存在standId + String standnumber = ""; + if(StringUtils.isNotBlank(sarStandardsInfoEO.getStandYear()) && !"null".equals(sarStandardsInfoEO.getStandYear())){ + standnumber = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber() + "-" + sarStandardsInfoEO.getStandYear(); + } else { + standnumber = sarStandardsInfoEO.getStandSort() + " " + sarStandardsInfoEO.getStandNumber(); + } + List standlist = sarStandardsInfoEOService.selectStandardsByStandnumber(standnumber, sarStandardsInfoEO.getStandType()); + if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "INLAND".equals(sarStandardsInfoEO.getStandType())) { + sarStandardsInfoEO.setMenuId("64df1d5522bb49c09af2"); + sarStandardsInfoEO.setCountry("CN"); + } else if (StringUtils.isBlank(sarStandardsInfoEO.getMenuId()) && "FOREIGN".equals(sarStandardsInfoEO.getStandType())) { + sarStandardsInfoEO.setMenuId("22179d54d4e640098e29"); + } + //此处判断是否是带入的标准 + if(StringUtils.isNotBlank(sarStandardsInfoEO.getId())) { + SarStandardsInfo query = new SarStandardsInfo(); + query.setId(sarStandardsInfoEO.getId()); + sarStandardsInfoEOService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarStandardsInfoEO.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = sarStandAttrInfoEOService.selectFieldValByStandId("XGLC",sarStandardsInfoEO.getId()); + if (StringUtils.isNotBlank(relatePro)) { + String[] processSplit = relatePro.split(","); + Set processSet = new HashSet<>(); + for(String sData:processSplit){ + processSet.add(sData); + } + processSet.add(prcNum); + relatePro = StringUtils.join(processSet.toArray(), ","); + } else { + relatePro = prcNum; + } + // 编辑标准 + sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO); + // 编辑相关流程 + sarStandAttrInfoEOService.updateStandInfo(sarStandardsInfoEO.getId(),"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(sarStandardsInfoEO.getId(),standType+"_STAND",content); + }else if (standlist != null && !standlist.isEmpty()) {//Id不存在,但是标准号存在的情况 + String standId = standlist.get(0).getId(); + SarStandardsInfo query = new SarStandardsInfo(); + query.setId(standId); + sarStandardsInfoEOService.attrInfoDetails(query); + Map attrInfoMap = query.getAttrInfoMap(); + if(attInfoMap!=null && !attInfoMap.isEmpty()){ + updateStandFileFieldData(attInfoMap,attrInfoMap); + resData = JSON.toJSONString(attInfoMap, SerializerFeature.WriteMapNullValue); + sarStandardsInfoEO.setSarStandAttrEOStr(resData); + } + // 查询原相关流程 + String relatePro = sarStandAttrInfoEOService.selectFieldValByStandId("XGLC",standId); + if (StringUtils.isNotBlank(relatePro)) { + String[] processSplit = relatePro.split(","); + Set processSet = new HashSet<>(); + for(String sData:processSplit){ + processSet.add(sData); + } + processSet.add(prcNum); + relatePro = StringUtils.join(processSet.toArray(), ","); + } else { + relatePro = prcNum; + } + // 编辑标准 + sarStandardsInfoEO.setId(standId); + sarStandardsInfoEOService.updateSarStandardsInfo(sarStandardsInfoEO); + // 编辑相关流程 + sarStandAttrInfoEOService.updateStandInfo(standId,"XGLC",relatePro); + String content = "新增一条相关流程:" +prcName+" "+prcNum; + sarUpdLogEOService.createBaseLog(standId,standType+"_STAND",content); + } else {//标准号、ID都不存在的情况 + // 新增方法 + sarStandardsInfoEOService.createSarStandardsInfo(sarStandardsInfoEO); + // 编辑相关流程 + sarStandAttrInfoEOService.updateStandInfo(sarStandardsInfoEO.getId(),"XGLC",prcNum); + } + List allItems = new ArrayList<>(); + //开始处理条款数据,从去重后的结果中直接处理即可 + if(itemData!=null && !itemData.isEmpty()){ + allItems = saveStandItemsData(itemData, sarStandardsInfoEO); + } + //技术评估结果入库 重构技术评估结果入库内容 + if ("0".equals(isJudge)) { + saveCompStatusInfo(sarStandardsInfoEO,breakVal,allItems,prcNum); + } + } + } + + /*** + * 标准法规入库流程中技术评估结果入库归档操作 + * @param sarStandardsInfoEO + * @param allItems + * @param prcNum + */ + public void saveCompStatusInfo (SarStandardsInfo sarStandardsInfoEO,Object taskBreak,List allItems,String prcNum) throws Exception { + //首先将入库的标准条款通过之前的拆分库ID转换成入库后的条款的对应关系 + Map itemConvertDataMap = new HashMap<>(); + if(allItems!=null && !allItems.isEmpty()){ + for(SarStandItems itemsEO:allItems){ + itemConvertDataMap.put(itemsEO.getOldId(),itemsEO.getId()); + } + } + //获取本次入库的标准ID和类型 + String standId = sarStandardsInfoEO.getId();//标准ID + //主要时区分国内、国外 + String sarType = sarStandardsInfoEO.getStandType()+"_STAND"; + //判断填写表单是哦服存在 + if(taskBreak!=null){ + List compStatusInfoEOS = new ArrayList<>(); + //解析表单数据 + String compResultStr = String.valueOf(taskBreak); + List jsonArray = JSONArray.parseArray(compResultStr, String.class); + //判断数据是否正常 + if (jsonArray != null && !jsonArray.isEmpty()) { + //当入库时只有标准时 itemList是空的 + for (String jsonStr : jsonArray) { + if (StringUtils.isNotBlank(jsonStr)) { + Map jsonMap = JSONObject.parseObject(jsonStr); + if(jsonMap.containsKey("itemsList")){//开始读取条款集合数据处理结果 + String itemsList = jsonMap.get("itemsList").toString(); + //获取条款级别的评估集合列表 + List itemCompStrList = JSONArray.parseArray(itemsList, String.class); + if(itemCompStrList!=null && !itemCompStrList.isEmpty()){ + for(String itemCompDataStr : itemCompStrList){ + //解析每个人填写的具体评估结果 + Map itemDataMap = JSONObject.parseObject(itemCompDataStr); + if(itemDataMap.containsKey("pgForm")){ + String pgResult = itemDataMap.get("pgForm").toString(); + //新旧条款ID转换 + String oldItemId = itemDataMap.containsKey("id")?itemDataMap.get("id").toString():null; + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + //评估结果 + sarCompStatusInfoEO.setSarState(itemDataMap.containsKey("jspg")?itemDataMap.get("jspg").toString():null); + //新旧条款号转换存储 + if(StringUtils.isNotBlank(oldItemId)){ + sarCompStatusInfoEO.setSarItemId(itemConvertDataMap.get(oldItemId)); + sarCompStatusInfoEO.setSarItemState(sarCompStatusInfoEO.getSarState()); + } + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + //评估人处理 + sarCompStatusInfoEO.setCompPerson(itemDataMap.containsKey("foFillUser")?itemDataMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + }else{ + if(jsonMap.containsKey("pgForm")){ + String pgResult = jsonMap.get("pgForm").toString(); + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + sarCompStatusInfoEO.setSarState(jsonMap.containsKey("jspg")?jsonMap.get("jspg").toString():null); + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + sarCompStatusInfoEO.setCompPerson(jsonMap.containsKey("foFillUser")?jsonMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + }else{//只有标准的情况下 + //获取 + if(jsonMap.containsKey("pgForm")){ + String pgResult = jsonMap.get("pgForm").toString(); + //获取到评估表单 + SarCompStatusInfo sarCompStatusInfoEO = JSONObject.parseObject(pgResult,SarCompStatusInfo.class); + sarCompStatusInfoEO.setId(UUIDUtils.randomUUID(32)); + sarCompStatusInfoEO.setSarType(sarType); + sarCompStatusInfoEO.setSarId(standId); + sarCompStatusInfoEO.setSarState(jsonMap.containsKey("jspg")?jsonMap.get("jspg").toString():null); + sarCompStatusInfoEO.setPrcNum(prcNum); + sarCompStatusInfoEO.setColor(convertColorByState(sarCompStatusInfoEO.getSarState()));//此处需要处理 + sarCompStatusInfoEO.setPrcState(null);//技术评估不需要状态 + sarCompStatusInfoEO.setCreationTime(new Date()); + sarCompStatusInfoEO.setCompPerson(jsonMap.containsKey("foFillUser")?jsonMap.get("foFillUser").toString():null); + sarCompStatusInfoEO.setCompTime(new Date()); + compStatusInfoEOS.add(sarCompStatusInfoEO); + } + } + } + } + } + //最后开始将评估结果入库同时将评估结果汇总后给出标准的评估结果 + saveJSPGResultDataList(compStatusInfoEOS); + } + } + + /** + * 入库技术评估结果 + * @param compResultData + */ + private void saveJSPGResultDataList(List compResultData) throws Exception { + if(compResultData!=null && !compResultData.isEmpty()){ + //1、将数据存储到记录表中 + //2、汇总本次评估的结果 更新所有清单中的状态 此处有坑,如果标准评估后又在新的清单中添加的时候状态可能就是空的, + // 此时就会显示空,所以需要更换实现方法 + //需要中间需要增加一层技术评估的结果,但是代价太大,2021年3月21日 无法在今天修改完,需要于2021年3月22日 整体想下这块, + // 目前的实现思路时有问题的 + //正确逻辑时: 现将当前的评估结果记录到所有的技术评估结果中,然后汇总本次的评估结果内容到当前标准的技术评估汇总表中 + //汇总后形成最新的评估内容,此时有2种做法 1、不记录上一次的状态 直接更新 2、记录上一次状态,新增一条整体评估结果记录 + //在清单查询的时候 查询当前标准的最新一次评估结果,将评估结果不再清单中直接显示,而是在汇总表中的信息进行修改,这样能够达到 + //单一标准不论在任何时间添加到清单的时候都可以查看,同时在标准的技术评估状态的时候也可以直接调用即可。不用每次评估完都需要更新 + //技术清单的逻辑 + /** + * 整体表关系如下: + * 基础库: 国内标准库 海外标准库 政策库 + * 技术评估汇总表 资源的汇总结果记录 + * 详细评估内容记录表 资源本身每次评估的详细记录 + * 清单: 根据标准号到资源的汇总记录表中查询汇总结果 直接展现即可 + * 目前缺少的就是资源的汇总结果记录缺失,导致查询的时候可能汇总结果会有问题 + */ + //开始汇总数据以及状态变更 + //首先先检查当前标准在汇总表中是否存在 + Map> assessMap = new HashMap<>(); + Map compResAssessEOMap = new HashMap<>(); + for(SarCompStatusInfo data : compResultData){ + //评估结果转换 + String state = sysInfoEOService.changeCompStatus(data.getSarState()); + String itemSate = sysInfoEOService.changeCompStatus(data.getSarItemState()); + data.setSarState(state); + data.setSarItemState(itemSate); + if(StringUtils.equals("INLAND",data.getSarType())){ + data.setSarType(SarTypeEnum.INLAND_STAND.getValue()); + }else if(StringUtils.equals("FOREIGN",data.getSarType())){ + data.setSarType(SarTypeEnum.FOREIGN_STAND.getValue()); + } + SarCompResAssess info =null; + if(assessMap.containsKey(data.getSarId())){ + info = compResAssessEOMap.get(data.getSarId()); + }else{ + info= sarCompResAssessEOService.getAssessInfoByResId(data.getSarId()); + if(info==null){ + info = new SarCompResAssess(); + info.setId(UUIDUtils.randomUUID(32)); + info.setAssessTime(new Date()); + info.setCreatedTime(new Date()); + info.setModifyTime(new Date()); + info.setProcessNum(data.getPrcNum()); + info.setResId(data.getSarId()); + info.setResType(data.getSarType()); + sarCompResAssessEOService.save(info); + } + compResAssessEOMap.put(data.getSarId(),info); + } + //汇总结果 + if(!assessMap.containsKey(info.getResId())){ + Map accessData = new HashMap<>(); + accessData.put(state,1); + assessMap.put(info.getResId(),accessData); + }else{ + Map accessData = assessMap.get(info.getResId()); + if(accessData.containsKey(state)){ + Integer stateNum = accessData.get(state); + accessData.put(state,stateNum+1); + assessMap.put(info.getResId(),accessData); + }else{ + accessData.put(state,1); + assessMap.put(info.getResId(),accessData); + } + } + //入库操作 + sarCompStatusInfoEODao.insert(data); + } + //开始遍历状态集合 + for (Map.Entry entry : compResAssessEOMap.entrySet()) { + String compId = entry.getKey().toString();//汇总ID + SarCompResAssess compResAssessEO = (SarCompResAssess) entry.getValue(); + Map stringIntegerMap = assessMap.get(compId); + if(stringIntegerMap!=null){ + if(stringIntegerMap.containsKey(SarConformStateEnum.UNFIT.getValue()+"")){//只要包含不符合的就是不符合 + compResAssessEO.setAssessResult(SarConformStateEnum.UNFIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.size() ==1){//只有一种情况的 + if(stringIntegerMap.containsKey(SarConformStateEnum.FIT.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.FIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.GREEN.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.CHECK.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.NOT_INVOLVE.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.NOT_INVOLVE.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); + } + }else if(stringIntegerMap.containsKey(SarConformStateEnum.CHECK.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); + }else if(stringIntegerMap.containsKey(SarConformStateEnum.NOT_INVOLVE.getValue()+"")){ + compResAssessEO.setAssessResult(SarConformStateEnum.NOT_INVOLVE.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); + }else{ + compResAssessEO.setAssessResult(SarConformStateEnum.FIT.getValue()); + compResAssessEO.setAssessColor(SarStateColorEnum.GREEN.getValue()); + } +// else {//不包含不符合的并且单一情况并不存在的也就是说是 部分符合或者待确认的 +// if(stringIntegerMap.containsKey(SarConformStateEnum.FIT.getValue()+"")){ +// compResAssessEO.setAssessResult(SarConformStateEnum.PART_FIT.getValue()); +// compResAssessEO.setAssessColor(SarStateColorEnum.YELLOW.getValue()); +// }else{ +// compResAssessEO.setAssessResult(SarConformStateEnum.CHECK.getValue()); +// compResAssessEO.setAssessColor(SarStateColorEnum.NA.getValue()); +// } +// } + } + compResAssessEO.setProcessState("2"); + compResAssessEO.setModifyTime(new Date()); + if(StringUtils.equals("INLAND",compResAssessEO.getResType())){ + compResAssessEO.setResType(SarTypeEnum.INLAND_STAND.getValue()); + }else if(StringUtils.equals("FOREIGN",compResAssessEO.getResType())){ + compResAssessEO.setResType(SarTypeEnum.FOREIGN_STAND.getValue()); + } + //更新汇总后的结果 + sarCompResAssessEOService.updateById(compResAssessEO); + } + } + } + + private String convertColorByState(String stateStr){ + String colorStr = ""; + switch (stateStr){ + case "1": + colorStr = SarStateColorEnum.GREEN.getValue(); + break; + case "2": + colorStr = SarStateColorEnum.YELLOW.getValue(); + break; + case "3": + colorStr = SarStateColorEnum.YELLOW.getValue(); + case "4": + colorStr = SarStateColorEnum.NA.getValue(); + } + return colorStr; + } + + + public String changeStatus (String textStatus) { + String status = ""; + switch (textStatus) { + case "草稿": status="CA";break; + case "征求意见稿": status="ZQYJG";break; + case "报批稿": status="BPG";break; + case "送审稿": status="SSG";break; + case "发布稿(必读)": status="FBGBJBD";break; + } + return status; + } + + /** + * 处理条款信息转换 + * @param itemsEO + * @param field + * @param value + * @throws Exception + */ + public void createItemsBaseField (SarStandItems itemsEO,String field,Object value) throws Exception{ + String valueStr = ""; + if (value != null) { + valueStr = String.valueOf(value); + } + switch (field) { + case "itemsName": itemsEO.setItemsName(valueStr); break; + case "FO": + List jsonArray = JSONArray.parseArray(valueStr,String.class); + String fo = ""; + if (jsonArray != null && !jsonArray.isEmpty()) { + for (String json : jsonArray) { + fo += json + ","; + } + fo = fo.substring(0,fo.length()-1); + itemsEO.setFoUser(fo); + } + break; + case "itemsNum": itemsEO.setItemsNum(valueStr); break; + case "termsConditions": itemsEO.setTermsConditions(valueStr); break; + case "svpps": itemsEO.setSvpps(valueStr); break; + case "role": itemsEO.setDutyEngineer(valueStr); break; + case "parts": itemsEO.setResponsibleUnit(valueStr); break; + case "FORoleId": itemsEO.setFo(valueStr); break; + case "id": itemsEO.setOldId(valueStr); break; + case "jspg": itemsEO.setJspg(valueStr); break; + case "pgForm": + if (StringUtils.isNotBlank(valueStr)) { + SarCompStatusInfo list = JSONObject.parseObject(valueStr,SarCompStatusInfo.class); + itemsEO.setPgForm(list); + }; + break; + default: break; + } + } + + /** + * 处理保存标准条款信息数据 + * @return + */ + private List saveStandItemsData(List> itemDataList,SarStandardsInfo sarStandardsInfoEO) throws Exception { + String standId = sarStandardsInfoEO.getId(); + String fileType = changeStatus(sarStandardsInfoEO.getTextStatus()); + List itemsEOList = new ArrayList<>();//添加的条款信息 + List upItemsEOList = new ArrayList<>();//更新的条款数据 + List delValItemIds = new ArrayList<>();//需要删除重新添加的条款数据集合 + List itemValEOS = new ArrayList<>();//批量更新进去的条款参数集合 + List UpSarFileSplitItemsList = new ArrayList<>(); + for(Map itemData:itemDataList){ + String itemStr = itemData.get("itemStr").toString();//条款的具体内容 + Map itemAttrInfo = (Map) itemData.get("itemAttrInfo");//条款的属性字段 + Map itemMap = new HashMap(); + //此处需要查询拆分库数据,将之前的拆分数据带入到当前标准中同时检查当前分解单中是否已经包含相关的条款信息, + // 如果是则更新,如果没有则添加 + itemMap = com.alibaba.fastjson.JSONObject.parseObject(itemStr);; + if (itemMap != null && !itemMap.isEmpty()) { + if(itemMap.containsKey("resId")){ + //存在 + String splitItemId = String.valueOf(itemMap.get("resId")); + if(StringUtils.isNotBlank(splitItemId)){ + SarFileSplitItems splitItemsEO = sarFileSplitItemsEOService.getById(splitItemId); + if(splitItemsEO!=null){ + //拆分库有数据,检查当前的表单中是否有数据,如果有则直接获取后更新即可 + SarStandItems nowItemEO = sarStandItemsEODao.selectById(splitItemId); + if(nowItemEO!=null){ + //更新数据 + nowItemEO.setItemsNum(splitItemsEO.getItemsNum()); + nowItemEO.setItemsName(splitItemsEO.getItemsName()); + nowItemEO.setApplyArctic(splitItemsEO.getApplyArctic()); + nowItemEO.setStandId(standId); + nowItemEO.setTermsConditions(splitItemsEO.getItermsConditions()); + nowItemEO.setParts(splitItemsEO.getSvpps()); + nowItemEO.setCreationUser(UserUtils.getUserId()); + nowItemEO.setValidFlag(0); + if(null!=fileType){ + nowItemEO.setFileType(fileType); + } + nowItemEO.setRemarks(splitItemsEO.getRemarks()); + nowItemEO.setModifyTime(new Date()); + + nowItemEO.setClaimType(splitItemsEO.getClaimType()); + nowItemEO.setBusStandCover(splitItemsEO.getBusStandCover()); + nowItemEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); + nowItemEO.setFo(itemAttrInfo.get("FO")); + nowItemEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); + nowItemEO.setSvpps(itemAttrInfo.get("SVPPS")); + upItemsEOList.add(nowItemEO); + }else{ + SarStandItems itemsEO = new SarStandItems(); + itemsEO.setId(splitItemId); + itemsEO.setCreationTime(new Date()); + itemsEO.setModifyTime(new Date()); + itemsEO.setValidFlag(0); + itemsEO.setStandId(standId); + itemsEO.setFileType(fileType); + for (Map.Entry entry : itemMap.entrySet()) { + String field = entry.getKey(); + Object value = entry.getValue(); + createItemsBaseField(itemsEO,field,value); + } + itemsEO.setItemsNum(splitItemsEO.getItemsNum()); + itemsEO.setItemsName(splitItemsEO.getItemsName()); + itemsEO.setApplyArctic(splitItemsEO.getApplyArctic()); + itemsEO.setTermsConditions(splitItemsEO.getItermsConditions()); + itemsEO.setParts(splitItemsEO.getSvpps()); + itemsEO.setCreationUser(UserUtils.getUserId()); + itemsEO.setRemarks(splitItemsEO.getRemarks()); + itemsEO.setClaimType(splitItemsEO.getClaimType()); + itemsEO.setBusStandCover(splitItemsEO.getBusStandCover()); + itemsEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); + itemsEO.setFo(itemAttrInfo.get("FO")); + itemsEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); + itemsEO.setSvpps(itemAttrInfo.get("SVPPS")); + //开始处理后续逻辑 + itemsEOList.add(itemsEO); + } + //apply数据 + if(StringUtils.isNotEmpty(splitItemsEO.getApplyArctic())){ + delValItemIds.add(splitItemsEO.getId()); + String[] applyarr = splitItemsEO.getApplyArctic().trim().split(","); + for(String applya:applyarr){ + SarStandItemVal sarStandItemValEO = new SarStandItemVal(); + sarStandItemValEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarStandItemValEO.setCreationTime(new Date()); + sarStandItemValEO.setModifyTime(new Date()); + sarStandItemValEO.setItemId(splitItemsEO.getId()); + sarStandItemValEO.setId(UUIDUtils.randomUUID20()); + sarStandItemValEO.setPropertyType(PropertyTypeEnum.APPLY_ARCTIC.getValue()); + sarStandItemValEO.setPropertyVal(applya); + itemValEOS.add(sarStandItemValEO); + } + } + //TODO 开始处理拆分库数据 + splitItemsEO.setModifyTime(new Date()); + splitItemsEO.setResponsibleUnit(itemAttrInfo.get("ZRBM")); + splitItemsEO.setFo(itemAttrInfo.get("FO")); + splitItemsEO.setDutyEngineer(itemAttrInfo.get("XMPGJS")); + splitItemsEO.setSvpps(itemAttrInfo.get("SVPPS")); + UpSarFileSplitItemsList.add(splitItemsEO); + }else{ + logger.error("拆分库中找不到对应数据了,数据不见了 /(ㄒoㄒ)/~~"+itemStr); + } + }else{ + logger.error("流程中携带的拆分库ID不见了 Σ(っ °Д °;)っ "+itemStr); + } + }else{ + //不存在 说明数据出现问题了 + logger.error("流程中携带的拆分库ID,数据不见了 /(ㄒoㄒ)/~~"+itemStr); + + } + } + } + //更新拆分库数据 + if(UpSarFileSplitItemsList!=null && !UpSarFileSplitItemsList.isEmpty()){ + for(SarFileSplitItems items : UpSarFileSplitItemsList){ + sarFileSplitItemsEOService.updateById(items); + } + } + //执行批量新增操作 + if(itemsEOList != null && !itemsEOList.isEmpty()){ + sarStandItemsEODao.insertForeach(itemsEOList); + + } + //执行批量修改操作 + if(upItemsEOList != null && !upItemsEOList.isEmpty()){ + sarStandItemsEODao.updateForeach(upItemsEOList); + + } + //执行适用车型批量操作 + if(itemValEOS != null && !itemValEOS.isEmpty()){ + sarStandItemValEODao.deleteByItemsIds(delValItemIds); + sarStandItemValEODao.insertForeach(itemValEOS); + } + return itemsEOList; + } + + private void updateStandFileFieldData(Map addAttInfoMap,Map oldAttInfoMap){ + if(oldAttInfoMap.containsKey("CA")){ + String fileStr = (String) oldAttInfoMap.get("CA"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("CA")?(String)addAttInfoMap.get("CA"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("CA",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("CA",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("ZQYJG")){ + String fileStr = (String) oldAttInfoMap.get("ZQYJG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("ZQYJG")?(String)addAttInfoMap.get("ZQYJG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("ZQYJG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("ZQYJG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("BPG")){ + String fileStr = (String) oldAttInfoMap.get("BPG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("BPG")?(String)addAttInfoMap.get("BPG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("BPG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("BPG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("SSG")){ + String fileStr = (String) oldAttInfoMap.get("SSG"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("SSG")?(String)addAttInfoMap.get("SSG"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("SSG",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("SSG",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("ZBJBD")){ + String fileStr = (String) oldAttInfoMap.get("ZBJBD"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("ZBJBD")?(String)addAttInfoMap.get("ZBJBD"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("ZBJBD",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("ZBJBD",fileStr); + } + } + }else if(oldAttInfoMap.containsKey("FBGBJBD")){ + String fileStr = (String) oldAttInfoMap.get("FBGBJBD"); + if(StringUtils.isNotBlank(fileStr)){ + String newFileStr =addAttInfoMap.containsKey("FBGBJBD")?(String)addAttInfoMap.get("FBGBJBD"):null; + if(StringUtils.isNotBlank(newFileStr)){ + String[] fileSplit = fileStr.split(","); + String[] newFileSplit = newFileStr.split(","); + Set fileSet = new HashSet<>(); + for(String sData:fileSplit){ + fileSet.add(sData); + } + for(String sData:newFileSplit){ + fileSet.add(sData); + } + addAttInfoMap.put("FBGBJBD",StringUtils.join(fileSet.toArray(), ",")); + }else{ + addAttInfoMap.put("FBGBJBD",fileStr); + } + } + } + } + + public Map saveFileMsg (Map attInfoMap,String fileIds,String textStatus) { + switch (textStatus) { + case "草案": attInfoMap.put("CA",fileIds);break; + case "征求意见稿": attInfoMap.put("ZQYJG",fileIds);break; + case "报批稿": attInfoMap.put("BPG",fileIds);break; + case "送审稿": attInfoMap.put("SSG",fileIds);break; + case "增补件(必读)":attInfoMap.put("ZBJBD",fileIds);break; + case "发布稿(必读)": attInfoMap.put("FBGBJBD",fileIds);break; + } + return attInfoMap; + } + + /** + * 处理FO、责任部门、以及条款数据 + * @param attInfoMap + */ + public void handleStandCollectData(Map attInfoMap,List jsonArray,List> itemDataList){ + if (jsonArray != null && !jsonArray.isEmpty()) { + //此处开始处理相关数据 需要判断是否为标准或者条款 + Map> standAttrMap = new HashMap<>(); + Map> itemAttrMap = new HashMap<>(); + String tempDataId= UUIDUtils.randomUUID(32); + String standId = null; + Map itemDataMap = new HashMap<>(); + for (String jsonStr : jsonArray) { + if (StringUtils.isNotBlank(jsonStr)) { + Map jsonMap = JSONObject.parseObject(jsonStr); + standId = String.valueOf(jsonMap.get("resId"));//此时ID + if(StringUtils.isBlank(standId)){//当属于新增入库的时候,需要拿临时的ID进行汇总 + standId = tempDataId; + } + if(jsonMap.containsKey("itemsList") ){ + String itemListStr = String.valueOf(jsonMap.get("itemsList")); + if (StringUtils.isNotBlank(itemListStr) && !"[]".equals(itemListStr)){//有条款的 + //有条款的情况下 + List array = JSONArray.parseArray(itemListStr,String.class); + if(array!=null && !array.isEmpty()){ + for(String itemStr:array){ + Map itemJsonMap = JSONObject.parseObject(itemStr); + String itemId = String.valueOf(itemJsonMap.get("resId"));//拆分库中的条款ID + //数据汇总 + if(itemAttrMap.containsKey(itemId)){ + Map attrInfoMap = itemAttrMap.get(itemId); + String svpps = attrInfoMap.get("SVPPS"); + String xmpgjs = attrInfoMap.get("XMPGJS"); + String zrbm = attrInfoMap.get("ZRBM"); + String fo = attrInfoMap.get("FO"); + attrInfoMap.put("SVPPS",svpps+","+String.valueOf(itemJsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",xmpgjs+","+String.valueOf(itemJsonMap.get("role"))); + attrInfoMap.put("ZRBM",zrbm+","+String.valueOf(itemJsonMap.get("parts"))); + attrInfoMap.put("FO",fo+","+String.valueOf(itemJsonMap.get("FORoleId"))); + itemAttrMap.put(itemId,attrInfoMap); + }else{ + Map attrInfoMap = new HashMap<>(); + attrInfoMap.put("SVPPS",String.valueOf(itemJsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",String.valueOf(itemJsonMap.get("role"))); + attrInfoMap.put("ZRBM",String.valueOf(itemJsonMap.get("parts"))); + attrInfoMap.put("FO",String.valueOf(itemJsonMap.get("FORoleId"))); + itemAttrMap.put(itemId,attrInfoMap); + } + //条款去重 + if(!itemDataMap.containsKey(itemId)){ + itemDataMap.put(itemId,itemStr); + } + } + } + }else{//只有标准的 + if(standAttrMap.containsKey(standId)){ + Map attrInfoMap = standAttrMap.get(standId); + String svpps = attrInfoMap.get("SVPPS"); + String xmpgjs = attrInfoMap.get("XMPGJS"); + String zrbm = attrInfoMap.get("ZRBM"); + String fo = attrInfoMap.get("FO"); + attrInfoMap.put("SVPPS",svpps+","+String.valueOf(jsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",xmpgjs+","+String.valueOf(jsonMap.get("role"))); + attrInfoMap.put("ZRBM",zrbm+","+String.valueOf(jsonMap.get("parts"))); + attrInfoMap.put("FO",fo+","+String.valueOf(jsonMap.get("FORoleId"))); + standAttrMap.put(standId,attrInfoMap); + }else{ + Map attrInfoMap = new HashMap<>(); + attrInfoMap.put("SVPPS",String.valueOf(jsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",String.valueOf(jsonMap.get("role"))); + attrInfoMap.put("ZRBM",String.valueOf(jsonMap.get("parts"))); + attrInfoMap.put("FO",String.valueOf(jsonMap.get("FORoleId"))); + standAttrMap.put(standId,attrInfoMap); + } + } + }else{//只有标准的 + standId = String.valueOf(jsonMap.get("resId")); + if(StringUtils.isBlank(standId)){//当属于新增入库的时候,需要拿临时的ID进行汇总 + standId = tempDataId; + } + if(standAttrMap.containsKey(standId)){ + Map attrInfoMap = standAttrMap.get(standId); + String svpps = attrInfoMap.get("SVPPS"); + String xmpgjs = attrInfoMap.get("XMPGJS"); + String zrbm = attrInfoMap.get("ZRBM"); + String fo = attrInfoMap.get("FO"); + attrInfoMap.put("SVPPS",svpps+","+String.valueOf(jsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",xmpgjs+","+String.valueOf(jsonMap.get("role"))); + attrInfoMap.put("ZRBM",zrbm+","+String.valueOf(jsonMap.get("parts"))); + attrInfoMap.put("FO",fo+","+String.valueOf(jsonMap.get("FORoleId"))); + standAttrMap.put(standId,attrInfoMap); + }else{ + Map attrInfoMap = new HashMap<>(); + attrInfoMap.put("SVPPS",String.valueOf(jsonMap.get("svpps"))); + attrInfoMap.put("XMPGJS",String.valueOf(jsonMap.get("role"))); + attrInfoMap.put("ZRBM",String.valueOf(jsonMap.get("parts"))); + attrInfoMap.put("FO",String.valueOf(jsonMap.get("FORoleId"))); + standAttrMap.put(standId,attrInfoMap); + } + } + } + } + //条款的FO、项目评估角色、FO 责任部门字段集合 + Map> itemAttrInfoMap = new HashMap<>(); + //开始处理填写的表单数据,去重操作 + if(standAttrMap!=null && !standAttrMap.isEmpty()){//标准级别的汇总 + Map attrDataMap = standAttrMap.get(standId); + if(attrDataMap!=null && !attInfoMap.isEmpty()){ + //开始去重 + //填入相关标准字段 + String svpps = attrDataMap.get("SVPPS"); + String[] svppsSplit = svpps.split(","); + Set svppsSet = new HashSet<>(); + for(String sData:svppsSplit){ + svppsSet.add(sData); + } + attInfoMap.put("SVPPS",StringUtils.join(svppsSet.toArray(), ",")); + String xmpgjs = attrDataMap.get("XMPGJS"); + String[] xmpgjsSplit = xmpgjs.split(","); + Set xmpgjsSet = new HashSet<>(); + for(String sData:xmpgjsSplit){ + xmpgjsSet.add(sData); + } + attInfoMap.put("XMPGJS",StringUtils.join(xmpgjsSet.toArray(), ",")); + String zrbm = attrDataMap.get("ZRBM"); + String[] zrbmSplit = zrbm.split(","); + Set zrbmSet = new HashSet<>(); + for(String sData:zrbmSplit){ + zrbmSet.add(sData); + } + attInfoMap.put("ZRBM",StringUtils.join(zrbmSet.toArray(), ",")); + String fo = attrDataMap.get("FO"); + String[] foSplit = fo.split(","); + Set foSet = new HashSet<>(); + for(String sData:foSplit){ + foSet.add(sData); + } + attInfoMap.put("FO",StringUtils.join(foSet.toArray(), ",")); + } + } + if(itemAttrMap!=null && !itemAttrMap.isEmpty()){ + Set allSvppsSet = new HashSet<>(); + Set allXmpgjsSet = new HashSet<>(); + Set allZrbmSet = new HashSet<>(); + Set allFoSet = new HashSet<>(); + for (Map.Entry entry : itemAttrMap.entrySet()) { + String itemId = entry.getKey().toString(); + Map attrDataMap = (Map) entry.getValue(); + //开始去重 得到条款的相关汇总字段 + String svpps = attrDataMap.get("SVPPS"); + String[] svppsSplit = svpps.split(","); + Set svppsSet = new HashSet<>(); + for(String sData:svppsSplit){ + svppsSet.add(sData); + allSvppsSet.add(sData); + } + attrDataMap.put("SVPPS",StringUtils.join(svppsSet.toArray(), ",")); + String xmpgjs = attrDataMap.get("XMPGJS"); + String[] xmpgjsSplit = xmpgjs.split(","); + Set xmpgjsSet = new HashSet<>(); + for(String sData:xmpgjsSplit){ + xmpgjsSet.add(sData); + allXmpgjsSet.add(sData); + } + attrDataMap.put("XMPGJS",StringUtils.join(xmpgjsSet.toArray(), ",")); + String zrbm = attrDataMap.get("ZRBM"); + String[] zrbmSplit = zrbm.split(","); + Set zrbmSet = new HashSet<>(); + for(String sData:zrbmSplit){ + zrbmSet.add(sData); + allZrbmSet.add(sData); + } + attrDataMap.put("ZRBM",StringUtils.join(zrbmSet.toArray(), ",")); + String fo = attrDataMap.get("FO"); + String[] foSplit = fo.split(","); + Set foSet = new HashSet<>(); + for(String sData:foSplit){ + foSet.add(sData); + allFoSet.add(sData); + } + attrDataMap.put("FO",StringUtils.join(foSet.toArray(), ",")); + //组装条款的参数对应关系 + itemAttrInfoMap.put(itemId,attrDataMap); + } + attInfoMap.put("SVPPS",StringUtils.join(allSvppsSet.toArray(), ",")); + attInfoMap.put("XMPGJS",StringUtils.join(allXmpgjsSet.toArray(), ",")); + attInfoMap.put("ZRBM",StringUtils.join(allZrbmSet.toArray(), ",")); + attInfoMap.put("FO",StringUtils.join(allFoSet.toArray(), ",")); + } + //开始处理条款数据 汇总返回上级继续处理 + if(itemDataMap!=null && !itemDataMap.isEmpty()){ + for (Map.Entry entry : itemDataMap.entrySet()) { + String itemId = entry.getKey().toString(); + String value = entry.getValue()!=null?entry.getValue().toString():null; + Map itemData = new HashMap<>(); + itemData.put("itemStr",value); + if(itemAttrInfoMap.containsKey(itemId)){ + itemData.put("itemAttrInfo",itemAttrInfoMap.get(itemId)); + } + itemDataList.add(itemData); + } + } + } + } + + /** + * 处理标准基础库字段 + * @param sarStandardsInfoEO + * @param field + * @param value + * @throws Exception + */ + public void createStandBaseField (SarStandardsInfo sarStandardsInfoEO,String field,Object value) throws Exception{ + String valueStr = ""; + if (value != null) { + valueStr = String.valueOf(value); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + switch (field) { + case "country": sarStandardsInfoEO.setCountry(valueStr); break; + case "putTime": + if (StringUtils.isNotBlank(valueStr)) { + Date date = sdf.parse(valueStr); + sarStandardsInfoEO.setPutTime(date); + } + break; + case "id": sarStandardsInfoEO.setId(valueStr); break; + case "isRelateAccess": sarStandardsInfoEO.setIsRelateAccess(valueStr); break; + case "prcNum": sarStandardsInfoEO.setProcessNum(valueStr); break; + case "issueTime": + if (StringUtils.isNotBlank(valueStr)) { +// Date dateIss = sdf.parse(valueStr); + sarStandardsInfoEO.setIssueTime(valueStr); + } + break; + case "standType": sarStandardsInfoEO.setStandType(valueStr); break; + case "standYear": sarStandardsInfoEO.setStandYear(valueStr); break; + case "standNature": sarStandardsInfoEO.setStandNature(valueStr); break; + case "standEnName": sarStandardsInfoEO.setStandEnName(valueStr); break; + case "standName": sarStandardsInfoEO.setStandName(valueStr); break; + case "standNumber": sarStandardsInfoEO.setStandNumber(valueStr); break; + case "standSort": sarStandardsInfoEO.setStandSort(valueStr); break; + case "standState": sarStandardsInfoEO.setStandState(valueStr); break; + case "menuId": sarStandardsInfoEO.setMenuId(valueStr); break; + case "textStatus": sarStandardsInfoEO.setTextStatus(valueStr); break; + case "synopsis": sarStandardsInfoEO.setSynopsis(valueStr); break; + case "fileWord": + if (StringUtils.isNotBlank(sarStandardsInfoEO.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarStandardsInfoEO.getFileIds() + "," + valueStr; + } + sarStandardsInfoEO.setFileIds(valueStr); break; + case "filePdf": + if (StringUtils.isNotBlank(sarStandardsInfoEO.getFileIds()) && StringUtils.isNotBlank(valueStr)) { + valueStr = sarStandardsInfoEO.getFileIds() + "," + valueStr; + } + sarStandardsInfoEO.setFileIds(valueStr); break; + default: break; + } + } + +} diff --git a/adc-da-activiti/src/main/resources/mybatis/mapper/activiti/ActSarItemsEO.xml b/adc-da-activiti/src/main/resources/mybatis/mapper/activiti/ActSarItemsEO.xml new file mode 100644 index 00000000..14af3b87 --- /dev/null +++ b/adc-da-activiti/src/main/resources/mybatis/mapper/activiti/ActSarItemsEO.xml @@ -0,0 +1,423 @@ + + + + + + + + + + + + + + + + + + resId,resFlag,resNum,resName,deptName,orgName,resState + + + + + + + + + + + + + + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/controller/SarCompResAssessController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/controller/SarCompResAssessController.java new file mode 100644 index 00000000..22617d96 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/controller/SarCompResAssessController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.SarCompResAssess.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 标准法规/政策技术评估汇总记录表 前端控制器 + *

+* +* @author super_liu +* @since 2021-06-21 +*/ +@RestController +@Api(tags = "|SarCompResAssess|") +@RequestMapping("/SarCompResAssess/sar-comp-res-assess") +public class SarCompResAssessController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/dao/SarCompResAssessDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/dao/SarCompResAssessDao.java new file mode 100644 index 00000000..79b44a30 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/dao/SarCompResAssessDao.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.SarCompResAssess.dao; + +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + *

+ * 标准法规/政策技术评估汇总记录表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface SarCompResAssessDao extends BaseMapper { + + SarCompResAssess getResAssessDataByResId(String resId); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/entity/SarCompResAssess.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/entity/SarCompResAssess.java new file mode 100644 index 00000000..1ff7b0f6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/entity/SarCompResAssess.java @@ -0,0 +1,76 @@ +package com.adc.da.slrs.SarCompResAssess.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.Date; + +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; + +/** + *

+ * 标准法规/政策技术评估汇总记录表 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarCompResAssess对象", description="标准法规/政策技术评估汇总记录表") +public class SarCompResAssess extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "资源类型") + @TableField("RES_TYPE") + private String resType; + + @ApiModelProperty(value = "资源ID") + @TableField("RES_ID") + private String resId; + + @ApiModelProperty(value = "评估结果") + @TableField("ASSESS_RESULT") + private Integer assessResult; + + @ApiModelProperty(value = "评估分级颜色") + @TableField("ASSESS_COLOR") + private String assessColor; + + @ApiModelProperty(value = "评估完成时间") + @TableField("ASSESS_TIME") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date assessTime; + + @ApiModelProperty(value = "流程编号") + @TableField("PROCESS_NUM") + private String processNum; + + @ApiModelProperty(value = "流程状态") + @TableField("PROCESS_STATE") + private String processState; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATED_TIME") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createdTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/ISarCompResAssessService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/ISarCompResAssessService.java new file mode 100644 index 00000000..9bb8688e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/ISarCompResAssessService.java @@ -0,0 +1,18 @@ +package com.adc.da.slrs.SarCompResAssess.service; + +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 标准法规/政策技术评估汇总记录表 服务类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface ISarCompResAssessService extends IService { + + SarCompResAssess getAssessInfoByResId(String resId); + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/impl/SarCompResAssessServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/impl/SarCompResAssessServiceImpl.java new file mode 100644 index 00000000..51e2a0e2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompResAssess/service/impl/SarCompResAssessServiceImpl.java @@ -0,0 +1,35 @@ +package com.adc.da.slrs.SarCompResAssess.service.impl; + +import com.adc.da.slrs.SarCompResAssess.entity.SarCompResAssess; +import com.adc.da.slrs.SarCompResAssess.dao.SarCompResAssessDao; +import com.adc.da.slrs.SarCompResAssess.service.ISarCompResAssessService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + *

+ * 标准法规/政策技术评估汇总记录表 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Service +public class SarCompResAssessServiceImpl extends ServiceImpl implements ISarCompResAssessService { + + @Autowired + private SarCompResAssessDao dao; + + public SarCompResAssessDao getDao() { + return dao; + } + + /** + * 根据资源ID获取评估汇总结果 + * @return + */ + public SarCompResAssess getAssessInfoByResId(String resId){ + return dao.getResAssessDataByResId(resId); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/controller/SarCompStatusInfoController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/controller/SarCompStatusInfoController.java new file mode 100644 index 00000000..fc3c4348 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/controller/SarCompStatusInfoController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.SarCompStatusInfo.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-06-21 +*/ +@RestController +@Api(tags = "|SarCompStatusInfo|") +@RequestMapping("/SarCompStatusInfo/sar-comp-status-info") +public class SarCompStatusInfoController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java new file mode 100644 index 00000000..01af8442 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/dao/SarCompStatusInfoDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.SarCompStatusInfo.dao; + +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface SarCompStatusInfoDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/entity/SarCompStatusInfo.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/entity/SarCompStatusInfo.java new file mode 100644 index 00000000..a3329181 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/entity/SarCompStatusInfo.java @@ -0,0 +1,135 @@ +package com.adc.da.slrs.SarCompStatusInfo.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarCompStatusInfo对象", description="") +public class SarCompStatusInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "标准/政策类别") + @TableField("SAR_TYPE") + private String sarType; + + @ApiModelProperty(value = "标准/政策ID") + @TableField("SAR_ID") + private String sarId; + + @ApiModelProperty(value = "标准/政策条款ID") + @TableField("SAR_ITEM_ID") + private String sarItemId; + + @ApiModelProperty(value = "标准/政策符合性状态") + @TableField("SAR_STATE") + private String sarState; + + @ApiModelProperty(value = "标准/政策条款符合性状态") + @TableField("SAR_ITEM_STATE") + private String sarItemState; + + @ApiModelProperty(value = "流程编号") + @TableField("PRC_NUM") + private String prcNum; + + @ApiModelProperty(value = "合规性分级颜色") + @TableField("COLOR") + private String color; + + @ApiModelProperty(value = "流程状态") + @TableField("PRC_STATE") + private String prcState; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date creationTime; + + @ApiModelProperty(value = "不符合内容") + @TableField("NON_CONFOMITY") + private String nonConfomity; + + @ApiModelProperty(value = "我司现状") + @TableField("CURRENT") + private String current; + + @ApiModelProperty(value = "更改方案") + @TableField("CHANGE_SCHEME") + private String changeScheme; + + @ApiModelProperty(value = "预估更改周期") + @TableField("ESTIMATED_CHANGE_CYCLE") + private String estimatedChangeCycle; + + @ApiModelProperty(value = "预估成本") + @TableField("ESTIMATED_COST") + private String estimatedCost; + + @ApiModelProperty(value = "风险点") + @TableField("RISK_POINT") + private String riskPoint; + + @ApiModelProperty(value = "验证方案") + @TableField("VERIFICATION_SCHEME") + private String verificationScheme; + + @ApiModelProperty(value = "符合理由") + @TableField("JUSTIFIED") + private String justified; + + @ApiModelProperty(value = "评估人员") + @TableField("COMP_PERSON") + private String compPerson; + + @ApiModelProperty(value = "评估时间") + @TableField("COMP_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + private Date compTime; + + + @TableField( exist = false) + private String compPersonName; + @TableField( exist = false) + private String state; + @TableField( exist = false) + private String sarNumber; + @TableField( exist = false) + private String sarItemNumber; + @TableField( exist = false) + private String standId; + @TableField( exist = false) + private String standType; + @TableField( exist = false) + private String standCode; + @TableField( exist = false) + private String standName; + @TableField( exist = false) + private String createType; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/ISarCompStatusInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/ISarCompStatusInfoService.java new file mode 100644 index 00000000..bf9b0220 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/ISarCompStatusInfoService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.SarCompStatusInfo.service; + +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface ISarCompStatusInfoService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/impl/SarCompStatusInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/impl/SarCompStatusInfoServiceImpl.java new file mode 100644 index 00000000..7d5ce531 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarCompStatusInfo/service/impl/SarCompStatusInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.SarCompStatusInfo.service.impl; + +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; +import com.adc.da.slrs.SarCompStatusInfo.dao.SarCompStatusInfoDao; +import com.adc.da.slrs.SarCompStatusInfo.service.ISarCompStatusInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Service +public class SarCompStatusInfoServiceImpl extends ServiceImpl implements ISarCompStatusInfoService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/controller/SarFileSplitItemsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/controller/SarFileSplitItemsController.java new file mode 100644 index 00000000..c89233f8 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/controller/SarFileSplitItemsController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.SarFileSplitItems.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.SarFileSplitItems.entity.SarFileSplitItems; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-06-21 +*/ +@RestController +@Api(tags = "|SarFileSplitItems|") +@RequestMapping("/SarFileSplitItems/sar-file-split-items") +public class SarFileSplitItemsController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/dao/SarFileSplitItemsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/dao/SarFileSplitItemsDao.java new file mode 100644 index 00000000..1660becd --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/dao/SarFileSplitItemsDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.SarFileSplitItems.dao; + +import com.adc.da.slrs.SarFileSplitItems.entity.SarFileSplitItems; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface SarFileSplitItemsDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/entity/SarFileSplitItems.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/entity/SarFileSplitItems.java new file mode 100644 index 00000000..c73f8662 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/entity/SarFileSplitItems.java @@ -0,0 +1,129 @@ +package com.adc.da.slrs.SarFileSplitItems.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import java.time.LocalDateTime; +import java.util.Date; + +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; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarFileSplitItems对象", description="") +public class SarFileSplitItems extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId("ID") + private String id; + + @ApiModelProperty(value = "拆分信息记录ID") + @TableField("INFO_ID") + private String infoId; + + @ApiModelProperty(value = "条款号") + @TableField("ITEMS_NUM") + private String itemsNum; + + @ApiModelProperty(value = "条款名称") + @TableField("ITEMS_NAME") + private String itemsName; + + @ApiModelProperty(value = "条款要求") + @TableField("ITERMS_CONDITIONS") + private String itermsConditions; + + @ApiModelProperty(value = "新定车型实施日期") + @TableField("NEWCAR_PUT_TIME") + private Date newcarPutTime; + + @ApiModelProperty(value = "在产车型实施日期") + @TableField("PRODUCT_PUT_TIME") + private Date productPutTime; + + @ApiModelProperty(value = "拆分目录ID") + @TableField("MENU_ID") + private String menuId; + + @ApiModelProperty(value = "SVPPS") + @TableField("SVPPS") + private String svpps; + + @ApiModelProperty(value = "适用车型") + @TableField("APPLY_ARCTIC") + private String applyArctic; + + @ApiModelProperty(value = "引用标准") + @TableField("REFERENCE_STAND") + private String referenceStand; + + @ApiModelProperty(value = "特殊参数要求") + @TableField("SPECIAL_REQUEST") + private String specialRequest; + + @ApiModelProperty(value = "关联文件") + @TableField("RELEVANCE_FILE") + private String relevanceFile; + + @ApiModelProperty(value = "备注") + @TableField("REMARKS") + private String remarks; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @TableField("CREATION_USER") + private String creationUser; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + private Date modifyTime; + + @TableField("MODIFY_USER") + private String modifyUser; + + @ApiModelProperty(value = "FO") + @TableField("FO") + private String fo; + + @ApiModelProperty(value = "责任工程师") + @TableField("DUTY_ENGINEER") + private String dutyEngineer; + + @ApiModelProperty(value = "要求类型") + @TableField("CLAIM_TYPE") + private String claimType; + + @ApiModelProperty(value = "企标覆盖关系") + @TableField("BUS_STAND_COVER") + private String busStandCover; + + @ApiModelProperty(value = "文件类型") + @TableField("FILE_TYPE") + private String fileType; + + @ApiModelProperty(value = "责任部门") + @TableField("RESPONSIBLE_UNIT") + private String responsibleUnit; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/ISarFileSplitItemsService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/ISarFileSplitItemsService.java new file mode 100644 index 00000000..450abdb6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/ISarFileSplitItemsService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.SarFileSplitItems.service; + +import com.adc.da.slrs.SarFileSplitItems.entity.SarFileSplitItems; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface ISarFileSplitItemsService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/impl/SarFileSplitItemsServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/impl/SarFileSplitItemsServiceImpl.java new file mode 100644 index 00000000..f91d4759 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarFileSplitItems/service/impl/SarFileSplitItemsServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.SarFileSplitItems.service.impl; + +import com.adc.da.slrs.SarFileSplitItems.entity.SarFileSplitItems; +import com.adc.da.slrs.SarFileSplitItems.dao.SarFileSplitItemsDao; +import com.adc.da.slrs.SarFileSplitItems.service.ISarFileSplitItemsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Service +public class SarFileSplitItemsServiceImpl extends ServiceImpl implements ISarFileSplitItemsService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/controller/SarStandItemValController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/controller/SarStandItemValController.java new file mode 100644 index 00000000..7ab7cc86 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/controller/SarStandItemValController.java @@ -0,0 +1,23 @@ +package com.adc.da.slrs.SarStandItemVal.controller; + + +import com.adc.da.base.web.BaseController; +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** +*

+ * 前端控制器 + *

+* +* @author super_liu +* @since 2021-06-21 +*/ +@RestController +@Api(description = "|SarStandItemVal|") +@RequestMapping("/SarStandItemVal/sar-stand-item-val") +public class SarStandItemValController extends BaseController { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/dao/SarStandItemValDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/dao/SarStandItemValDao.java new file mode 100644 index 00000000..964ae0c5 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/dao/SarStandItemValDao.java @@ -0,0 +1,26 @@ +package com.adc.da.slrs.SarStandItemVal.dao; + +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface SarStandItemValDao extends BaseMapper { + + int deleteSarStandItemValByItemid(String itemid); + + int updateSarStandItemValByItemid(String itemid); + + int deleteByItemsIds(@Param("idList") List idList); + + int insertForeach(List list); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/entity/SarStandItemVal.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/entity/SarStandItemVal.java new file mode 100644 index 00000000..dfe65aaa --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/entity/SarStandItemVal.java @@ -0,0 +1,62 @@ +package com.adc.da.slrs.SarStandItemVal.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; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarStandItemVal对象", description="") +public class SarStandItemVal extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "标准ID") + @TableField("ITEM_ID") + private String itemId; + + @ApiModelProperty(value = "参数类型") + @TableField("PROPERTY_TYPE") + private String propertyType; + + @ApiModelProperty(value = "参数内容") + @TableField("PROPERTY_VAL") + private String propertyVal; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private Integer validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/ISarStandItemValService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/ISarStandItemValService.java new file mode 100644 index 00000000..388efdaa --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/ISarStandItemValService.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.SarStandItemVal.service; + +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +public interface ISarStandItemValService extends IService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/impl/SarStandItemValServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/impl/SarStandItemValServiceImpl.java new file mode 100644 index 00000000..0c4eeb3f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/SarStandItemVal/service/impl/SarStandItemValServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.SarStandItemVal.service.impl; + +import com.adc.da.slrs.SarStandItemVal.dao.SarStandItemValDao; +import com.adc.da.slrs.SarStandItemVal.entity.SarStandItemVal; +import com.adc.da.slrs.SarStandItemVal.service.ISarStandItemValService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author super_liu + * @since 2021-06-21 + */ +@Service +public class SarStandItemValServiceImpl extends ServiceImpl implements ISarStandItemValService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/ISarStandAttrInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/ISarStandAttrInfoService.java index 06bfb514..2d39eacd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/ISarStandAttrInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/ISarStandAttrInfoService.java @@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarStandAttrInfoService extends IService { + String selectFieldValByStandId(String field,String standId); + + int updateStandInfo(String standId,String field,String value); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/impl/SarStandAttrInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/impl/SarStandAttrInfoServiceImpl.java index 9f66424e..b1707e68 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/impl/SarStandAttrInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandAttrInfo/service/impl/SarStandAttrInfoServiceImpl.java @@ -4,6 +4,7 @@ import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandAttrInfo.service.ISarStandAttrInfoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -17,4 +18,16 @@ import org.springframework.stereotype.Service; @Service public class SarStandAttrInfoServiceImpl extends ServiceImpl implements ISarStandAttrInfoService { + @Autowired + private SarStandAttrInfoDao dao; + + @Override + public String selectFieldValByStandId (String field,String standId) { + return dao.selectFieldValByStandId(field,standId); + } + + @Override + public int updateStandInfo(String standId,String field,String value){ + return dao.updateStandInfo(standId,field,value); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/entity/SarStandItems.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/entity/SarStandItems.java index 668380d8..515475f3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/entity/SarStandItems.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandItems/entity/SarStandItems.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarStandItems.entity; import com.adc.da.base.entity.BaseEntity; +import com.adc.da.slrs.SarCompStatusInfo.entity.SarCompStatusInfo; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import java.util.Date; @@ -152,6 +153,8 @@ public class SarStandItems extends BaseEntity { private String oldId; @TableField(exist = false) private String jspg; + @TableField(exist = false) + private SarCompStatusInfo pgForm; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java index b3d63672..82caea2d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/ISarStandardsInfoService.java @@ -4,6 +4,8 @@ import com.adc.da.slrs.sarStandardsInfo.entity.*; import com.adc.da.http.ResponseMessage; import com.baomidou.mybatisplus.extension.service.IService; +import java.io.IOException; +import java.sql.SQLException; import java.util.List; import java.util.Map; @@ -31,6 +33,8 @@ public interface ISarStandardsInfoService extends IService { List selectStandardsByStandnumber(String replaceStandNum, String standType); + void attrInfoDetails(SarStandardsInfo row) throws IOException, SQLException; + SarStandardsInfo selectStandardsInfoByKey(String id) throws Exception; boolean updateStandardsMenu(SarStandardsInfoEOPage standardsInfoEO); @@ -40,4 +44,4 @@ public interface ISarStandardsInfoService extends IService { List selectRecommendStand(SarStandardsInfoEOPage pagenew); List getStandAndItemsForAct (SarStandardsInfoEOPage page) throws Exception; -} +} \ No newline at end of file diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index e9224936..9b742bfd 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -61,7 +61,9 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.io.File; +import java.io.IOException; import java.sql.Clob; +import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; @@ -192,7 +194,7 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl + + + + + + + + + + + + + + + + + + + + + + id, res_type, res_id, assess_result, assess_color, assess_time, process_num, process_state, created_time, modify_time + + + + id, res_type, res_id, assess_result, assess_color, assess_time, process_num, process_state, created_time, modify_time,standCode,standName + + + + where 1=1 + + + and id ${idOperator} #{id} + + + and res_type ${resTypeOperator} #{resType} + + + and res_id ${resIdOperator} #{resId} + + + and assess_result ${assessResultOperator} #{assessResult} + + + and assess_color ${assessColorOperator} #{assessColor} + + + and assess_time ${assessTimeOperator} #{assessTime} + + + and assess_time >= #{assessTime1} + + + and assess_time <= #{assessTime2} + + + and process_num ${processNumOperator} #{processNum} + + + and process_state ${processStateOperator} #{processState} + + + and created_time ${createdTimeOperator} #{createdTime} + + + and created_time >= #{createdTime1} + + + and created_time <= #{createdTime2} + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + AND standCode Like concat(concat('%',#{standCode}),'%') + + + AND standName Like concat(concat('%',#{standName}),'%') + + + and res_type = #{standType} + + + + + + + + insert into SAR_COMP_RES_ASSESS() + values (#{id}, #{resType}, #{resId}, #{assessResult}, #{assessColor}, #{assessTime}, #{processNum}, #{processState}, #{createdTime}, #{modifyTime}) + + + + + + insert into SAR_COMP_RES_ASSESS + + id, + res_type, + res_id, + assess_result, + assess_color, + assess_time, + process_num, + process_state, + created_time, + modify_time, + + + #{id}, + #{resType}, + #{resId}, + #{assessResult}, + #{assessColor}, + #{assessTime}, + #{processNum}, + #{processState}, + #{createdTime}, + #{modifyTime}, + + + + + + update SAR_COMP_RES_ASSESS + set res_type = #{resType}, + res_id = #{resId}, + assess_result = #{assessResult}, + assess_color = #{assessColor}, + assess_time = #{assessTime}, + process_num = #{processNum}, + process_state = #{processState}, + created_time = #{createdTime}, + modify_time = #{modifyTime} + where id = #{id} + + + + + update SAR_COMP_RES_ASSESS + + + res_type = #{resType}, + + + res_id = #{resId}, + + + assess_result = #{assessResult}, + + + assess_color = #{assessColor}, + + + assess_time = #{assessTime}, + + + process_num = #{processNum}, + + + process_state = #{processState}, + + + created_time = #{createdTime}, + + + modify_time = #{modifyTime}, + + + where id = #{id} + + + + + + + + delete from SAR_COMP_RES_ASSESS + where id = #{value} + + + + + + + + + + + + + + + + + + + + + + + update SAR_COMP_RES_ASSESS + + PROCESS_STATE = '1', + + where id = #{id} + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/SarCompStatusInfo/SarCompStatusInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/SarCompStatusInfo/SarCompStatusInfoMapper.xml new file mode 100644 index 00000000..94485b74 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/SarCompStatusInfo/SarCompStatusInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/SarFileSplitItems/SarFileSplitItemsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/SarFileSplitItems/SarFileSplitItemsMapper.xml new file mode 100644 index 00000000..a49e4d9f --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/SarFileSplitItems/SarFileSplitItemsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandItemVal/SarStandItemValMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandItemVal/SarStandItemValMapper.xml new file mode 100644 index 00000000..7537fd0c --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/SarStandItemVal/SarStandItemValMapper.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + property_type, item_id, id, modify_time, creation_time, valid_flag, property_val + + + + + where 1=1 + + + and property_type ${propertyTypeOperator} #{propertyType} + + + and item_id ${itemIdOperator} #{itemId} + + + and id ${idOperator} #{id} + + + and modify_time ${modifyTimeOperator} #{modifyTime} + + + and modify_time >= #{modifyTime1} + + + and modify_time <= #{modifyTime2} + + + and creation_time ${creationTimeOperator} #{creationTime} + + + and creation_time >= #{creationTime1} + + + and creation_time <= #{creationTime2} + + + and valid_flag ${validFlagOperator} #{validFlag} + + + and property_val ${propertyValOperator} #{propertyVal} + + + + + + + + insert into SAR_STAND_ITEM_VAL() + values (#{propertyType, jdbcType=VARCHAR}, #{itemId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}, #{modifyTime, jdbcType=TIMESTAMP}, #{creationTime, jdbcType=TIMESTAMP}, #{validFlag, jdbcType=INTEGER}, #{propertyVal, jdbcType=VARCHAR}) + + + + + + insert into SAR_STAND_ITEM_VAL + + property_type, + item_id, + id, + modify_time, + creation_time, + valid_flag, + property_val, + + + #{propertyType, jdbcType=VARCHAR}, + #{itemId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{propertyVal, jdbcType=VARCHAR}, + + + + + + update SAR_STAND_ITEM_VAL + set property_type = #{propertyType}, + item_id = #{itemId}, + modify_time = #{modifyTime}, + creation_time = #{creationTime}, + valid_flag = #{validFlag}, + property_val = #{propertyVal} + where id = #{id} + + + + + update SAR_STAND_ITEM_VAL + + + property_type = #{propertyType}, + + + item_id = #{itemId}, + + + modify_time = #{modifyTime}, + + + creation_time = #{creationTime}, + + + valid_flag = #{validFlag}, + + + property_val = #{propertyVal}, + + + where id = #{id} + + + + + + + + delete from SAR_STAND_ITEM_VAL + where id = #{value} + + + + + + + + + + + + + + delete from SAR_STAND_ITEM_VAL + where ITEM_ID = #{itemid} + + + + UPDATE SAR_STAND_ITEM_VAL SET VALID_FLAG = 1 + where ITEM_ID = #{itemid} + + + + delete from SAR_STAND_ITEM_VAL + where item_id in + + #{item} + + + + + + insert into SAR_STAND_ITEM_VAL + + property_type, + item_id, + id, + modify_time, + creation_time, + valid_flag, + property_val, + + + #{item.propertyType, jdbcType=VARCHAR}, + #{item.itemId, jdbcType=VARCHAR}, + #{item.id, jdbcType=VARCHAR}, + #{item.modifyTime, jdbcType=TIMESTAMP}, + #{item.creationTime, jdbcType=TIMESTAMP}, + #{item.validFlag, jdbcType=INTEGER}, + #{item.propertyVal, jdbcType=VARCHAR}, + + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicTypeEORestController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicTypeEORestController.java index 9df03f62..3f1560e4 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicTypeEORestController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DicTypeEORestController.java @@ -44,7 +44,7 @@ public class DicTypeEORestController extends BaseController { **/ @ApiOperation(value = "|DicTypeEO|新增") @PostMapping("/create") - @RequiresPermissions("sys:dicType:create") +// @RequiresPermissions("sys:dicType:create") public ResponseMessage create(@RequestBody DicTypeEO dicTypeVO) throws Exception { //通过传入的code获取对象(此时id为空,sql做了判断) @@ -72,7 +72,7 @@ public class DicTypeEORestController extends BaseController { **/ @ApiOperation(value = "|DicTypeEO|企标大类新增") @PostMapping("/createEnterpriseStandard") - @RequiresPermissions("sys:dicType:createEnterpriseStandard") +// @RequiresPermissions("sys:dicType:createEnterpriseStandard") public ResponseMessage createEnterpriseStandard(@RequestBody DicTypeEO dicTypeVO) throws Exception { dicTypeVO.setId(UUIDUtils.randomUUID20()); // liwenxuan:用来企业大类判断新增是否重复 有parentId代表查询里面的数据 (企业大类分页查找只显示根节点,编辑每条数据里面是他对应的孩子节点,是dicTypeEOService.getDicTypeEOTypeNameAndCode1方法) @@ -129,7 +129,7 @@ public class DicTypeEORestController extends BaseController { @ApiOperation(value = "|DicTypeEO|国家/地区分页列表") @GetMapping("/pageCountry") - @RequiresPermissions("sys:dicType:pageListByDicIdAndNoParentId") +// @RequiresPermissions("sys:dicType:pageListByDicIdAndNoParentId") public ResponseMessage> pageListByDicIdAndNoParentId(DicTypeEOPage page) throws Exception { page.setPager(new Pager()); page.setValidFlag("0"); @@ -169,7 +169,7 @@ public class DicTypeEORestController extends BaseController { **/ @ApiOperation(value = "|DicTypeEO|修改") @PutMapping(consumes = APPLICATION_JSON_UTF8_VALUE) - @RequiresPermissions("sys:dicType:update") +// @RequiresPermissions("sys:dicType:update") public ResponseMessage update(@RequestBody DicTypeEO dicTypeVO) throws Exception { // liwenxuan:用来企业大类判断新增是否重复 有parentId代表查询里面的数据 if (dicTypeVO.getParentId() != null) { @@ -227,7 +227,7 @@ public class DicTypeEORestController extends BaseController { **/ @ApiOperation(value = "|DicTypeEO|详情") @GetMapping("/{id}") - @RequiresPermissions("sys:dicType:get") +// @RequiresPermissions("sys:dicType:get") public ResponseMessage getById(@NotNull @PathVariable("id") String id) throws Exception { DicTypeEO dicTypeVO = dicTypeEOService.getDicTypeById(id); return Result.success(dicTypeVO); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java index 6d0eb4d0..9e48c42c 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java @@ -53,7 +53,22 @@ public class UserEOController extends BaseController { @ApiOperation(value = "|UserEO|详情") @GetMapping("/{id}") // @RequiresPermissions("sys:user:get") - public ResponseMessage getById(@NotNull @PathVariable("id") String id) throws Exception { + public ResponseMessage getById(@PathVariable("id") String id) throws Exception { + UserEO userEO = userEOService.getUserWithRoles(id); + UserVO userVO= new UserVO(); + if(userEO!=null){ + userVO = BeanUtil.toBean(userEO,UserVO.class); + userVO.setRoles(userEO.getRoleEOList()); + userVO.setOrgsstr(userEO.getOrgIdList()); + userVO.setOrgs(userEO.getOrgEOList()); + userVO.setPassword(userEO.getPassword()); + } + return Result.success(userVO); + } + + @ApiOperation(value = "|UserEO|详情接口") + @GetMapping("/getById") + public ResponseMessage getByIdFeignClient(String id) throws Exception { UserEO userEO = userEOService.getUserWithRoles(id); UserVO userVO= new UserVO(); if(userEO!=null){ diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml index c3f20585..86f5a6f0 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/DicTypeEOMapper.xml @@ -322,7 +322,7 @@ select from - (select tmp_tb.* , rownum rn from + (select tmp_tb.* from (select from TS_DICTYPE @@ -331,8 +331,8 @@ ${pager.orderCondition} - ) tmp_tb where rownum <= ${pager.endIndex}) a - where rn >= ${pager.startIndex} + ) tmp_tb ) a + limit ${pager.startIndex-1},${pageSize}