diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/dao/SarBussStandFileDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/dao/SarBussStandFileDao.java index f6a592ea..e99f9834 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/dao/SarBussStandFileDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandFile/dao/SarBussStandFileDao.java @@ -34,4 +34,6 @@ public interface SarBussStandFileDao extends BaseMapper { int insertSelective(SarBussStandFile sarBussStandFile); int updateByPrimaryKeySelective(SarBussStandFile sarBussStandFile); + + int deleteByPrimaryKey(String value); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/dao/SarBussStandItemsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/dao/SarBussStandItemsDao.java index 179e15a2..83586deb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/dao/SarBussStandItemsDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/dao/SarBussStandItemsDao.java @@ -2,6 +2,8 @@ package com.adc.da.slrs.sarBussStandItems.dao; import com.adc.da.slrs.sarBussStandItems.entity.SarBussStandItems; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; /** *

@@ -11,6 +13,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @author super_liu * @since 2021-07-25 */ +@Repository public interface SarBussStandItemsDao extends BaseMapper { + int deleteByStandIdAndFileType(@Param("standId") String standId, @Param("fileType") String fileType); + } + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/page/SarBussStandItemsEOPage.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/page/SarBussStandItemsEOPage.java new file mode 100644 index 00000000..c5908268 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandItems/page/SarBussStandItemsEOPage.java @@ -0,0 +1,338 @@ +package com.adc.da.slrs.sarBussStandItems.page; + +import com.adc.da.sys.common.BasePage; + +/** + * 功能:SAR_BUSS_STAND_ITEMS SarBussStandItemsEOPage
+ * 作者:code generator
+ * 日期: 2018-09-03
+ * 版权所有:版权归北京卡达克数据技术中心所有。
+ */ +public class SarBussStandItemsEOPage extends BasePage { + + private String modifyTime; + private String modifyTime1; + private String modifyTime2; + private String modifyTimeOperator = "="; + private String creationTime; + private String creationTime1; + private String creationTime2; + private String creationTimeOperator = "="; + private String validFlag; + private String validFlagOperator = "="; + private String remarks; + private String remarksOperator = "="; + private String responsibleUnit; + private String responsibleUnitOperator = "="; + private String energyKind; + private String energyKindOperator = "="; + private String applyArctic; + private String applyArcticOperator = "="; + private String tackTime; + private String tackTime1; + private String tackTime2; + private String tackTimeOperator = "="; + private String parts; + private String partsOperator = "="; + private String itemsName; + private String itemsNameOperator = "="; + private String itemsNum; + private String itemsNumOperator = "="; + private String standId; + private String standIdOperator = "="; + private String id; + private String idOperator = "="; + + private String processFlag; + private String nameOrRequest; + private String[] idlist; + private String fileType; + + public String getModifyTime() { + return this.modifyTime; + } + + public void setModifyTime(String modifyTime) { + this.modifyTime = modifyTime; + } + + public String getModifyTime1() { + return this.modifyTime1; + } + + public void setModifyTime1(String modifyTime1) { + this.modifyTime1 = modifyTime1; + } + + public String getModifyTime2() { + return this.modifyTime2; + } + + public void setModifyTime2(String modifyTime2) { + this.modifyTime2 = modifyTime2; + } + + public String getModifyTimeOperator() { + return this.modifyTimeOperator; + } + + public void setModifyTimeOperator(String modifyTimeOperator) { + this.modifyTimeOperator = modifyTimeOperator; + } + + public String getCreationTime() { + return this.creationTime; + } + + public void setCreationTime(String creationTime) { + this.creationTime = creationTime; + } + + public String getCreationTime1() { + return this.creationTime1; + } + + public void setCreationTime1(String creationTime1) { + this.creationTime1 = creationTime1; + } + + public String getCreationTime2() { + return this.creationTime2; + } + + public void setCreationTime2(String creationTime2) { + this.creationTime2 = creationTime2; + } + + public String getCreationTimeOperator() { + return this.creationTimeOperator; + } + + public void setCreationTimeOperator(String creationTimeOperator) { + this.creationTimeOperator = creationTimeOperator; + } + + public String getValidFlag() { + return this.validFlag; + } + + public void setValidFlag(String validFlag) { + this.validFlag = validFlag; + } + + public String getValidFlagOperator() { + return this.validFlagOperator; + } + + public void setValidFlagOperator(String validFlagOperator) { + this.validFlagOperator = validFlagOperator; + } + + public String getRemarks() { + return this.remarks; + } + + public void setRemarks(String remarks) { + this.remarks = remarks; + } + + public String getRemarksOperator() { + return this.remarksOperator; + } + + public void setRemarksOperator(String remarksOperator) { + this.remarksOperator = remarksOperator; + } + + public String getResponsibleUnit() { + return this.responsibleUnit; + } + + public void setResponsibleUnit(String responsibleUnit) { + this.responsibleUnit = responsibleUnit; + } + + public String getResponsibleUnitOperator() { + return this.responsibleUnitOperator; + } + + public void setResponsibleUnitOperator(String responsibleUnitOperator) { + this.responsibleUnitOperator = responsibleUnitOperator; + } + + public String getEnergyKind() { + return this.energyKind; + } + + public void setEnergyKind(String energyKind) { + this.energyKind = energyKind; + } + + public String getEnergyKindOperator() { + return this.energyKindOperator; + } + + public void setEnergyKindOperator(String energyKindOperator) { + this.energyKindOperator = energyKindOperator; + } + + public String getApplyArctic() { + return this.applyArctic; + } + + public void setApplyArctic(String applyArctic) { + this.applyArctic = applyArctic; + } + + public String getApplyArcticOperator() { + return this.applyArcticOperator; + } + + public void setApplyArcticOperator(String applyArcticOperator) { + this.applyArcticOperator = applyArcticOperator; + } + + public String getTackTime() { + return this.tackTime; + } + + public void setTackTime(String tackTime) { + this.tackTime = tackTime; + } + + public String getTackTime1() { + return this.tackTime1; + } + + public void setTackTime1(String tackTime1) { + this.tackTime1 = tackTime1; + } + + public String getTackTime2() { + return this.tackTime2; + } + + public void setTackTime2(String tackTime2) { + this.tackTime2 = tackTime2; + } + + public String getTackTimeOperator() { + return this.tackTimeOperator; + } + + public void setTackTimeOperator(String tackTimeOperator) { + this.tackTimeOperator = tackTimeOperator; + } + + public String getParts() { + return this.parts; + } + + public void setParts(String parts) { + this.parts = parts; + } + + public String getPartsOperator() { + return this.partsOperator; + } + + public void setPartsOperator(String partsOperator) { + this.partsOperator = partsOperator; + } + + public String getItemsName() { + return this.itemsName; + } + + public void setItemsName(String itemsName) { + this.itemsName = itemsName; + } + + public String getItemsNameOperator() { + return this.itemsNameOperator; + } + + public void setItemsNameOperator(String itemsNameOperator) { + this.itemsNameOperator = itemsNameOperator; + } + + public String getItemsNum() { + return this.itemsNum; + } + + public void setItemsNum(String itemsNum) { + this.itemsNum = itemsNum; + } + + public String getItemsNumOperator() { + return this.itemsNumOperator; + } + + public void setItemsNumOperator(String itemsNumOperator) { + this.itemsNumOperator = itemsNumOperator; + } + + public String getStandId() { + return this.standId; + } + + public void setStandId(String standId) { + this.standId = standId; + } + + public String getStandIdOperator() { + return this.standIdOperator; + } + + public void setStandIdOperator(String standIdOperator) { + this.standIdOperator = standIdOperator; + } + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIdOperator() { + return this.idOperator; + } + + public void setIdOperator(String idOperator) { + this.idOperator = idOperator; + } + + public String getProcessFlag() { + return processFlag; + } + + public void setProcessFlag(String processFlag) { + this.processFlag = processFlag; + } + + public String getNameOrRequest() { + return nameOrRequest; + } + + public void setNameOrRequest(String nameOrRequest) { + this.nameOrRequest = nameOrRequest; + } + + public String[] getIdlist() { + return idlist; + } + + public void setIdlist(String[] idlist) { + this.idlist = idlist; + } + + public String getFileType() { + return fileType; + } + + public void setFileType(String fileType) { + this.fileType = fileType; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index c6a92e00..450daee1 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -1,6 +1,7 @@ package com.adc.da.slrs.sarBussionessStand.controller; +import com.adc.da.common.ReadExcel; import com.adc.da.person.service.IPersonCollectEOService; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarResource.entity.TsResource; @@ -14,33 +15,45 @@ import com.adc.da.http.PageInfo; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.util.LoginUserUtil; +import com.adc.da.util.exception.AdcDaBaseException; +import com.adc.da.util.utils.IOUtils; import com.adc.da.util.utils.StringUtils; +import com.adc.da.utils.util.BussStandExportUtil; import com.adc.da.utils.util.SarAdvanceSearchUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import io.swagger.annotations.Api; import com.adc.da.base.web.BaseController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.Date; import java.util.List; /** -*

- * 企业标准信息表 前端控制器 - *

-* -* @author super_liu -* @since 2021-07-13 -*/ + *

+ * 企业标准信息表 前端控制器 + *

+ * + * @author super_liu + * @since 2021-07-13 + */ @RestController @Api(tags = "福田标准法规--企业标准信息") @RequestMapping("/${restPath}/lawss/sarBussionessStand") public class SarBussionessStandController extends BaseController { + private static final Logger logger = LoggerFactory.getLogger(SarBussionessStandController.class); + @Autowired private ISarBussionessStandService sarBussionessStandEOService; @@ -57,6 +70,54 @@ public class SarBussionessStandController extends BaseController result = sarBussionessStandEOService.deleteSarBussionessStand(sarBussionessStandEOPage); + logger.info("delete from SAR_BUSSIONESS_STAND where id = {}", ids); + return result; + } + + /** + * 将查询出来的数据导出到EXCEL表格中 + * @param + * @return + * @author gaoyan + * date 2018-09-04 + */ + @ApiOperation(value = "|SarBussionessStandEO|导出excel") + @GetMapping(value = "/exportSarBussionessStand") + public void exportSarBussionessStand(String exportContent, String exportType, String exportName,String userId, HttpServletResponse response, HttpServletRequest request)throws Exception { + OutputStream os = null; + Workbook workbook = null; + try { + if(StringUtils.isEmpty(exportName)||exportName.equals("null")){ + exportName="企业标准库"; + } + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx",request)); + response.setContentType("application/force-download"); + //导出数据 + List datas = sarBussionessStandEOService.getSarBussionessStand(exportType,exportContent,userId); + workbook = BussStandExportUtil.exportDatas(datas); + os = response.getOutputStream(); + workbook.write(os); + os.flush(); + } catch (IOException e) { + logger.error(e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + if (workbook != null) { + workbook.close(); + } + } + } + @ApiOperation(value = "|SarBussionessStandEO|企业标准修改") @PostMapping(value = "/updateSarBussionessStand") //401问题2021-03-31暂时注释掉 liuhuiwen @@ -206,3 +267,4 @@ public class SarBussionessStandController extends BaseController { int updateByPrimaryKeySelectiveTimeNotNull(SarBussionessStand sarBussionessStandEO); + int updateByPrimaryKeySelective(SarBussionessStand sarBussionessStandEO); + } + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index 08cf908a..3455a955 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarBussionessStand.service; +import com.adc.da.http.ResponseMessage; import com.adc.da.search.entity.SarBussionessStandEO; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; @@ -17,6 +18,10 @@ import java.util.List; */ public interface ISarBussionessStandService extends IService { + ResponseMessage deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception; + + List getSarBussionessStand(String exportType, String exportContent,String userId) throws Exception; + SarBussionessStand updateSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception; List selectStandardsByStandNumber(String replaceStandNum); @@ -29,3 +34,4 @@ public interface ISarBussionessStandService extends IService List getSarBussionStandPage(SarBussionessStandEOPage page) throws Exception; } + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 2a65a976..097528d6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -6,16 +6,22 @@ import com.adc.da.common.ConvertMqEO; import com.adc.da.common.SarTypeEnum; import com.adc.da.common.SelectionTypeEnum; import com.adc.da.common.UseModuleEnum; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; import com.adc.da.mq.CreateMQService; import com.adc.da.mq.CreateStandMQService; +import com.adc.da.person.dao.PersonCollectEODao; import com.adc.da.person.entity.TsPersonCollect; import com.adc.da.person.page.PersonCollectEOPage; import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.search.entity.StandLawsEO; +import com.adc.da.search.service.StandLawsSearchService; import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; import com.adc.da.slrs.sarBussStandAttrInfo.dao.SarBussStandAttrInfoDao; import com.adc.da.slrs.sarBussStandFile.dao.SarBussStandFileDao; import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile; +import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao; import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; @@ -27,6 +33,7 @@ import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao; import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.entity.SarAdvanceSearchVO; import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage; import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService; import com.adc.da.slrs.sarUser.service.ITsUserService; @@ -38,6 +45,7 @@ import com.adc.da.sys.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.SarAdvanceSearchUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.sf.json.JSONObject; @@ -120,9 +128,164 @@ public class SarBussionessStandServiceImpl extends ServiceImpl deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception { + SarBussionessStand sarStandardsInfoEO = new SarBussionessStand(); + sarStandardsInfoEO.setValidFlag(1); + sarStandardsInfoEO.setModifyTime(new Date()); + for (String id : page.getIdlist()) { + //删除标准表 + sarStandardsInfoEO.setId(id); + sarBussionessStandEODao.updateByPrimaryKeySelective(sarStandardsInfoEO); + // 删除标准属性表 + sarBussStandAttrInfoEODao.deleteStandAttrByStandId(id); + // 删除条款 + sarBussStandItemsEODao.deleteByStandIdAndFileType(id,null); + // 删除标准台账表 +// sarBusSarCompileEODao.deleteByBussStandId(id); + //删除收藏表中数据 + personCollectEODao.deleteByResId(id); + // 删除分享表中数据 +// personShareEODao.deleteByResId(id); + //删除标准关联的value表 + sarBussStandValEODao.deleteDataByStandId(id); + List listFile = sarBussStandFileEODao.selectFileByStandId(id); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + sarBussStandFileEODao.deleteByPrimaryKey(listFile.get(f).getId()); + //删除文件信息表数据 +// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } + if(elasflag) { + //删除成功后,将索引中对应数据删除 + StandLawsEO standLawsEO = new StandLawsEO(); + standLawsEO.setId(sarStandardsInfoEO.getId()); + standLawsEO.setType("bussstand"); + standLawsSearchService.deleteStandLawsSearch(standLawsEO); + } + + } + return Result.success("0", "删除成功", sarStandardsInfoEO); + } + + + @Override + public List getSarBussionessStand(String exportType, String exportContent,String userId) throws Exception { + SarBussionessStandEOPage page = new SarBussionessStandEOPage(); + if ("apart".equals(exportType)) { + page.setIdlist(exportContent.split(",")); + } else { + JSONObject jsonObject = JSONObject.fromObject(exportContent); + page = (SarBussionessStandEOPage)JSONObject.toBean(jsonObject, SarBussionessStandEOPage.class); + page.setPage(1); + page.setPageSize(10000); + if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) { + List searchList = com.alibaba.fastjson.JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class); + String advanceStr = SarAdvanceSearchUtil.createSql(searchList); + if (com.adc.da.util.utils.StringUtils.isNotBlank(advanceStr)) { + page.setAdvanceSearchStr(advanceStr); + } else { + page.setAdvanceSearchStr(null); + } + } + List getMenuIdList = new ArrayList<>(); + if(userId != null){ + getMenuIdList= tsUserService.getResourceUserId(userId); + } + // List getMenuIdList = sarMenuEOService.queryRoleMenuIdList(page.getStandType() + "_STAND", null); + if (getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } else { + page.setMenuRoleList(null); + } +// List getMenuIdList = sarMenuEOService.queryRoleMenuIdList("BUSINESS_STAND",page.getMenuId()); + if(getMenuIdList != null && !getMenuIdList.isEmpty()) { + page.setMenuRoleList(getMenuIdList); + } + List ids = sarMenuEOService.getChildMenuList(page.getMenuId()); + if (ids != null && !ids.isEmpty()) { + page.setMenuAllChildrenIdList(ids); + } + } + page.setOrderBy("SAR_BUSSIONESS_STAND.issue_time is null,SAR_BUSSIONESS_STAND.issue_time desc,SAR_BUSSIONESS_STAND.id"); + if(userId != null){ + page.setUserId(userId); + }else { + page.setUserId(LoginUserUtil.getUserId()); + } + List getList = sarBussionessStandEODao.getSarBussionessStand(page); + attrInfoShow(getList); + return getList; + } + + public void attrInfoShow (List sarlist) throws Exception { + for(SarBussionessStand row : sarlist){ + attrInfoDetails(row); + Map getAttrMap = row.getAttrInfoMap(); + Map getNewMap = new LinkedHashMap<>(); + if (getAttrMap != null && getAttrMap.size() > 0) { + String svppsTip = ""; + for (Map.Entry entry : getAttrMap.entrySet()) { + String name = entry.getKey(); + String value = ""; + if ("SVPPS".equals(name)) { + Object svpps = entry.getValue(); + if (svpps != null && StringUtils.isNotBlank(svpps.toString())) { + svppsTip = svpps.toString(); + } + if (StringUtils.isNotBlank(svppsTip)) { + svppsTip = sysInfoEOService.getSvppsNamesTipByIds(svppsTip); + } + value = String.valueOf(getAttrMap.get("SVPPSName")); + entry.setValue(value); + } else if (entry.getValue() != null && InitStandAttrUtil.fileFieldListBuss != null && InitStandAttrUtil.fileFieldListBuss.size() > 0 && InitStandAttrUtil.fileFieldListBuss.contains(name)) { + value = entry.getValue().toString(); + if (StringUtils.isNotBlank(value)) { + List fileObj = attFileEOService.getMultiFileInfos(value); + entry.setValue(fileObj); + } + } else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { + value = entry.getValue().toString(); + String selVal = InitStandAttrUtil.selectFieldMapBuss.get(name); + if (SelectionTypeEnum.ORGLIST.getValue().equals(selVal) || SelectionTypeEnum.USERLIST.getValue().equals(selVal) || SelectionTypeEnum.ROLELIST.getValue().equals(selVal)) { + if("ZYQCR".equals(name)||"QTQCR".equals(name)){ + if(getAttrMap.get(name + "Name")!=null && !getAttrMap.get(name + "Name").equals("")){ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + }else{ + value = String.valueOf(getAttrMap.get(name + "Name")); + } + } else { + List valArr = Arrays.asList(value.split(",")); + value = dicTypeEODao.getDicNamesByCodes(valArr); + } + entry.setValue(value); + } + } + getAttrMap.put("SVPPSTips",svppsTip); + } + } + } + public SarBussionessStand updateSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception { String standId = sarBussionessStandEO.getId(); SarBussionessStand beforeStandEO = this.baseMapper.selectByPrimaryKey(standId); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/controller/SarLawsDetailedListController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/controller/SarLawsDetailedListController.java index fb33ca82..af745434 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/controller/SarLawsDetailedListController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/controller/SarLawsDetailedListController.java @@ -6,18 +6,18 @@ import com.adc.da.att.entity.AttFileEO; import com.adc.da.base.web.BaseController; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; +import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList; import com.adc.da.slrs.sarLawsDetailedList.Util.BeanConverUtil; -import com.adc.da.slrs.sarLawsDetailedList.entity.AddDetailedDto; -import com.adc.da.slrs.sarLawsDetailedList.entity.FindFileNameDto; -import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList; -import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto; +import com.adc.da.slrs.sarLawsDetailedList.entity.*; import com.adc.da.slrs.sarLawsDetailedList.service.impl.SarLawsDetailedListServiceImpl; import com.adc.da.util.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -152,8 +153,21 @@ public class SarLawsDetailedListController extends BaseController0){ + if ("-".equals(putTime[a]) || null == putTime[a]) { + dto.setSsrq(null); + } else { + dto.setSsrq(putTime[a]); + } + if ("-".equals(putTime[a]) || null == xcx[a]) { + dto.setXcxssrqgj(null); + } else { + dto.setXcxssrqgj(xcx[a]); + } + if ("-".equals(putTime[a]) || null == zcc[a]) { + dto.setZccssrqgj(null); + } else { + dto.setZccssrqgj(zcc[a]); + } } timeDto.add(dto); } @@ -314,7 +320,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl map1 : arr) { if (map1.get("value").equals(s)) { - s = map1.get("label"); + s = map1.get("value"); builder.append(s + ","); break; } @@ -328,7 +334,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl map1 : arr) { if (map1.get("value").equals(list1.getCountryArea())) { - list1.setCountryArea(map1.get("label")); + list1.setCountryArea(map1.get("value")); break; } } @@ -343,14 +349,159 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.select("DISTINCT country_area,car_type"); + List sarLawsDetailedLists = sarLawsDetailedListDao.selectList(wrapper); + + //list是数据库里根据id查出来的数据;detailedUpDto是页面传回来的数据 + SarLawsDetailedList list = sarLawsDetailedListDao.selectById(detailedUpDto.getId()); + System.out.println("数据库里存的当前数据"+list.getCountryArea()); + System.out.println("页面现在的数据"+detailedUpDto.getCountryArea()); + + //国家/地区清单 多选是否可以添加的标识,true表示可以添加,false表示不许添加 + boolean multiEditFlag = true; + //国家/地区清单 单选是否可以添加的标识,true表示可以添加,false表示不许添加 + boolean singleEditFlag = true; + //车型类别是否可以添加的标识,true表示可以添加,false表示不许添加 + boolean carEditFlag = true; + + if (detailedUpDto.getCountryArea() == null && detailedUpDto.getCarType() == null) { + //下面放修改的具体方法 + //国家或地区 + //如果页面的国家地区为空,就把数据库里的国家地区字段也设为空 + updateListMethod(detailedUpDto); + return "其他清单添加成功"; + } + //如果是车辆修改 + else if (detailedUpDto.getCarType() != null) { + //就判断页面的值和数据库里的值是否相等 + for (int i = 0; i < sarLawsDetailedLists.size(); i++) { + //判断数据库里的数据的车型类别字段是否为空 + if (null == sarLawsDetailedLists.get(i) || null == sarLawsDetailedLists.get(i).getCarType()){ + System.out.println("数据库里第" + (i + 1) + "条的车型类别字段长度为空,不重复,目前可以添加"); + } + else if (Objects.equals(detailedUpDto.getCarType(), list.getCarType())){ + System.out.println("页面的数据和数据库里存的当前数据相同,说明没有做更改,允许提交"); + } + //相等就不许添加 + else if (!Objects.equals(detailedUpDto.getCarType(), list.getCarType()) && Objects.equals(detailedUpDto.getCarType(), sarLawsDetailedLists.get(i).getCarType())) { + System.out.println("数据库里第" + (i + 1) + "条的车型类别字段和页面一样,重复,不许添加"); + carEditFlag = false; + } + } + } + //如果是国家修改 + else if (detailedUpDto.getCountryArea() != null) { + for (int i = 0; i < sarLawsDetailedLists.size(); i++) { + //就先判断数据库里的数据的国家/地区字段是否为空 + if (null == sarLawsDetailedLists.get(i) || null == sarLawsDetailedLists.get(i).getCountryArea()) { + System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度为空,不重复,目前可以添加"); + } + else if (Objects.equals(detailedUpDto.getCountryArea(), list.getCountryArea())){ + System.out.println("页面的数据和数据库里存的当前数据相同,说明没有做更改,允许提交"); + } + //再判断页面字段长度是否与数据库里的长度一样,如果长度不一样,允许新增 + else if (detailedUpDto.getCountryArea().length() != sarLawsDetailedLists.get(i).getCountryArea().length()) { + System.out.println("数据库里第" + (i + 1) + "条的国家地区字段长度和页面的国家地区字段长度不一样,不重复,目前可以添加"); + } + //如果不为空且长度一样 + else { + //判断页面的国家地区是单选还是多选(判断能不能拆) + if (detailedUpDto.getCountryArea().contains(",")) { + System.out.println("页面是多选"); + //如果数据库里的国家地区字段存在",",说明是多选,如果不存在说明是单选 + if (sarLawsDetailedLists.get(i).getCountryArea().contains(",")) { + System.out.println("数据库是多选,如果页面字段拆分之后都包含于数据库字段拆分之后,则说明重复,目前不许添加"); + System.out.println("页面字段为" + detailedUpDto.getCountryArea()); + //页面字段以“,”为分隔符拆分后的结果 + String[] frontCountryArea = detailedUpDto.getCountryArea().split(","); + //数据库字段以“,”为分隔符拆分后的结果 + String[] databaseCountryArea = sarLawsDetailedLists.get(i).getCountryArea().split(","); + + //如果页面字段拆分之后都包含于数据库字段拆分之后,则说明重复,不许添加 + for (int j = 0; j < frontCountryArea.length; j++) { + //如果数据库包含了页面字段的所有值,说明这俩完全相同,重复,不许添加 + List databaseCountryAreaList = Arrays.asList(databaseCountryArea); + if (!Objects.equals(detailedUpDto.getCountryArea(), list.getCountryArea()) && databaseCountryAreaList.contains(frontCountryArea[j])) { + System.out.println("数据库" + databaseCountryAreaList); + System.out.println("页面" + frontCountryArea[j]); + System.out.println("数据库里的字段包含页面里的字段,可能重复,目前不许修改"); + multiEditFlag = false; + } else { + System.out.println("数据库" + databaseCountryAreaList); + System.out.println("页面" + frontCountryArea[j]); + System.out.println("数据库里的字段和页面字段虽然长度相同,但是里面有不一样的元素,可以修改"); + multiEditFlag = true; + } + } + if (multiEditFlag == true) { + System.out.println("长度相同,只要有一个不重复,就可以添加"); + } else { + System.out.println("长度相同,整个循环下来都重复,说明两个字段重复,不许添加"); + break; + } + } + } else { + System.out.println("页面是单选"); + + //如果数据库里的国家地区字段存在",",说明是多选,如果不存在说明是单选 + if (sarLawsDetailedLists.get(i).getCountryArea().contains(",")) { + System.out.println("数据库是多选,肯定不重复,目前可以添加"); + } else { + System.out.println("数据库是单选,如果数据库里的字段和页面的字段相等,重复,不许添加"); + //如果数据库里的字段和页面的字段相等,重复,不许添加 + if (!Objects.equals(detailedUpDto.getCountryArea(), list.getCountryArea()) && Objects.equals(sarLawsDetailedLists.get(i).getCountryArea(), detailedUpDto.getCountryArea())) { + System.out.println("数据库里的字段和页面的字段相等,重复,不许添加"); + singleEditFlag = false; + break; + } else { + System.out.println("数据库里的字段和页面的字段不相等,不重复,允许添加"); + } + } + } + } + } + } + + //如果整个循环下来都没有重复,则可以添加,不然就说明有重复,不能添加 + if (carEditFlag == true && multiEditFlag == true && singleEditFlag == true) { + //下面放添加的具体方法 + //国家或地区 + //如果页面的国家地区为空,就把数据库里的国家地区字段也设为空 + updateListMethod(detailedUpDto); + return "车型类别清单修改成功"; + //添加方法结束 + } else if (carEditFlag == false){ + //0表示添加成功,1表示添加失败 + return "车型类别清单修改失败"; + } + + //如果循环完整个数据库,都没有重复使当前数据无法添加,则添加 + if (multiEditFlag == true && singleEditFlag == true && carEditFlag == true) { + //下面放添加的具体方法 + //国家或地区 + //如果页面的国家地区为空,就把数据库里的国家地区字段也设为空 + updateListMethod(detailedUpDto); + //0表示添加成功,1表示添加失败 + return "国家/地区清单修改成功"; + //添加方法结束 + } else { + //0表示添加成功,1表示添加失败 + return "国家/地区清单修改失败"; + } + + + + } + + private void updateListMethod(DetailedUpDto detailedUpDto) { //list是数据库里根据id查出来的数据;detailedUpDto是页面传回来的数据 SarLawsDetailedList list = sarLawsDetailedListDao.selectById(detailedUpDto.getId()); - //国家或地区 - //如果页面的国家地区为空,就把数据库里的国家地区字段也设为空 if (StringUtils.isBlank(detailedUpDto.getCountryArea())) list.setCountryArea(null); else if ("null".equals(detailedUpDto.getCountryArea())) ; - //把数据库里的国家地区字段设为页面的国家地区 + //把数据库里的国家地区字段设为页面的国家地区 else list.setCountryArea(detailedUpDto.getCountryArea()); //车型类别 if (StringUtils.isBlank(detailedUpDto.getCarType())) list.setCarType(null); @@ -432,11 +583,68 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + wrapper.select("country_area","id"); + //查询清单中的国家地区和清单id + List sarLawsDetailedLists = sarLawsDetailedListDao.selectList(wrapper); + //2.判断修改的标准的"国家/地区"与清单中的是否一致,一致则添加到清单中,不一致不作处理 + String[] split = countryArea.split(","); //拆分标准中的国家地区 + + + + //遍历清单 对比国家地区 + for (SarLawsDetailedList lawsDetailed : sarLawsDetailedLists) { + if (lawsDetailed.getCountryArea()==null){ + continue; + } + String[] sarLawsCounties = lawsDetailed.getCountryArea().split(",");//拆分清单中的国家地区 + // 对比清单列表中的国家地区,是否一致 + Arrays.sort(split); + Arrays.sort(sarLawsCounties); + if ( Arrays.equals(split,sarLawsCounties)){ + + //一致时插入表并关联detailedListId和standId + ArrayList timeDtos = new ArrayList<>(); + timeDtos.add(timeDto); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("stand_id",timeDto.getStandId()); + + + //如果目标清单中已存标准在则更新 懒得写更新(⓿_⓿) 直接删掉,再重新插入 + if (sarLawsAttrDetailedListDao.selectCount(queryWrapper)>0) { + sarLawsAttrDetailedListDao.delete(queryWrapper); + } + + sarLawsAttrDetailedListService.insertDetailedList(lawsDetailed.getId(),timeDtos); + break; + } + } + + } + + } 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 352f2b30..ac587322 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 @@ -11,6 +11,7 @@ import com.adc.da.mq.CreateStandMQService; import com.adc.da.person.dao.PersonCollectEODao; import com.adc.da.person.dao.PersonShareEODao; import com.adc.da.person.service.IPersonCollectEOService; +import com.adc.da.search.entity.StandLawsEO; import com.adc.da.search.service.StandLawsSearchService; import com.adc.da.slrs.otConvertMq.dao.OtConvertMqDao; import com.adc.da.slrs.otConvertMq.entity.OtConvertMq; @@ -1284,30 +1285,30 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl listFile = sarStandFileEODao.selectFileByStandId(id); -// if (listFile != null) { -// if (!listFile.isEmpty()) { -// for (int f = 0; f < listFile.size(); f++) { -// //删除文件信息表数据 -// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); -// //删除转换表ot_convert数据 -// otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); -// } -// } -// } //删除代替关系 + List listFile = sarStandFileEODao.selectFileByStandId(id); + if (listFile != null) { + if (!listFile.isEmpty()) { + for (int f = 0; f < listFile.size(); f++) { + //删除文件信息表数据 +// sarFileInfoEODao.deleteByfileId(listFile.get(f).getId()); + //删除转换表ot_convert数据 + otConvertEODao.deleteByAttId(listFile.get(f).getAttId()); + } + } + } updateStandReplaceConnect(getDelStandInfoList); //删除收藏表中数据 personCollectEODao.deleteByResId(id); // 删除分享表中数据 personShareEODao.deleteByResId(id); -// if(elasflag) { -// //删除成功后,将索引中对应数据删除 -// StandLawsEO standLawsEO = new StandLawsEO(); -// standLawsEO.setId(sarStandardsInfoEO.getId()); -// standLawsEO.setType("stand"); -// sarStandAndLawsEOService.deleteFomrIndex(standLawsEO); -// } + if(elasflag) { + //删除成功后,将索引中对应数据删除 + StandLawsEO standLawsEO = new StandLawsEO(); + standLawsEO.setId(sarStandardsInfoEO.getId()); + standLawsEO.setType("stand"); + standLawsSearchService.deleteStandLawsSearch(standLawsEO); + } } return countResult; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java index 2d6c75cb..71442b26 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/dao/SarFileSplitItemsEODao.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.standardSplit.dao; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.standardSplit.dto.FileSplitItemsExportDto; import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEO; import com.adc.da.slrs.standardSplit.entity.SarFileSplitItemsEOPage; @@ -21,6 +22,8 @@ public interface SarFileSplitItemsEODao extends BaseMapper int insertForeach(List list); + int insertStandSplitForeach(@Param(value = "list") List list); + int deleteByIds(SarFileSplitItemsEO sarFileSplitItemsEO); int deleteByItemsIds(SarFileSplitItemsEO sarFileSplitItemsEO); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java index 9b0b7dc6..fa1d0986 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitInfoEOServiceImpl.java @@ -2,6 +2,7 @@ package com.adc.da.slrs.standardSplit.service.impl; import com.adc.da.att.service.IAttFileEOService; import com.adc.da.person.entity.PersonMsgEO; +import com.adc.da.slrs.sarStandItems.entity.SarStandItems; import com.adc.da.slrs.standardSplit.dao.*; import com.adc.da.slrs.standardSplit.service.SarLawsInfoEOService; import com.adc.da.att.entity.AttFileEO; @@ -31,10 +32,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.adc.da.common.SplitFilePragraTypeEnum; + import java.io.*; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; + import com.adc.da.person.dao.PersonShareEODao; import com.adc.da.person.dao.PersonCollectEODao; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -105,7 +108,12 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService @Override @Transactional - public int fileAplit(SarFileSplitInfoEO sarFileSplitInfoEO){ + public int fileAplit(SarFileSplitInfoEO sarFileSplitInfoEO) { + + //用来往标准分解单里添加数据 + List standList = new ArrayList<>(); + + // 拆分文件主表中插入数据 sarFileSplitInfoEO.setId(UUIDUtils.randomUUID20()); sarFileSplitInfoEO.setValidFlag(0); @@ -244,8 +252,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService addItermsConditionsText(messageList.get(messageList.size()-1),itemValList, p.getText()); } } - } - else if (messageNumber>=3){ + } else if (messageNumber >= 3) { ptest = Pattern.compile("^[\\d.]*$"); boolean hasGoIf = false; for (int i=0;i { + //new一个对象 + SarStandItems standItems1 = new SarStandItems(); + //standItems1里的这个值为messageList里的ItermsConditions + standItems1.setId(UUIDUtils.randomUUID20()) + .setFileType(sarFileSplitInfoEO.getFileType()) + .setStandId(sarFileSplitInfoEO.getStandId()) + .setItemsNum(item.getItemsNum()) + .setItemsName(item.getItemsName()) + .setTermsConditions(item.getItermsConditions()); + standList.add(standItems1); + }); + sarFileSplitItemsEODao.insertStandSplitForeach(standList); + + } else { return -1; } @@ -368,7 +393,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService if (o instanceof CTDrawing) { CTDrawing drawing = (CTDrawing) o; CTInline[] ctInlines = drawing.getInlineArray(); - CTAnchor[] ctAnchors = drawing.getAnchorArray(); + CTAnchor[] ctAnchors = drawing.getAnchorArray(); for (CTInline ctInline : ctInlines) { CTGraphicalObject graphic = ctInline.getGraphic(); // @@ -398,7 +423,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } } } - } else if (o instanceof CTLevelText){ + } else if (o instanceof CTLevelText) { logger.info(((CTLevelText) o).getVal()); } } @@ -407,14 +432,14 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsImage(SarFileSplitItemsEO message,List itemsValList,XWPFParagraph p,List imageBundleList) { + private void addItermsConditionsImage(SarFileSplitItemsEO message, List itemsValList, XWPFParagraph p, List imageBundleList) { for (String pictureId : imageBundleList) { XWPFPictureData pictureData = p.getDocument().getPictureDataByID(pictureId); String imageName = UUIDUtils.randomUUID10() + pictureData.getFileName(); byte[] bytev = pictureData.getData(); String outPath = filePath + "/img/"; File file1 = new File(outPath); - if(!file1.exists()){ + if (!file1.exists()) { file1.mkdirs(); } String filepathandname = filePath + "/img/" + imageName; @@ -425,14 +450,14 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService String imgCon = ""; message.getItemsCondi().add(imgCon); message.setItermsConditions(message.getItermsConditions() + imgCon); - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.IMG.getValue(),imgCon,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.IMG.getValue(), imgCon, message.getItemsCondi().size(), null)); } catch (IOException e) { e.printStackTrace(); } } } - private SarFileSplitItemsValEO getSplitItemsValObject (String itemId,String type,String itemContent,int disPlaySql,List tableList) { + private SarFileSplitItemsValEO getSplitItemsValObject(String itemId, String type, String itemContent, int disPlaySql, List tableList) { SarFileSplitItemsValEO sarFileSplitItemsValEO = new SarFileSplitItemsValEO(); sarFileSplitItemsValEO.setId(UUIDUtils.randomUUID20()); sarFileSplitItemsValEO.setValidFlag(0); @@ -444,13 +469,13 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService sarFileSplitItemsValEO.setType(type); sarFileSplitItemsValEO.setDisplaySeq(disPlaySql); sarFileSplitItemsValEO.setItemContent(itemContent); - return sarFileSplitItemsValEO; + return sarFileSplitItemsValEO; } // 像每个条款中依次插入每一段的内容 - private void addItermsConditionsText(SarFileSplitItemsEO message,List itemsValList,String p) { + private void addItermsConditionsText(SarFileSplitItemsEO message, List itemsValList, String p) { message.getItemsCondi().add(p); - message.setItermsConditions(message.getItermsConditions() + "

"+p+ "

"); + message.setItermsConditions(message.getItermsConditions() + "

" + p + "

"); // 判断message中是否引用到其他标准 // String testString = p; // Pattern ptest = Pattern.compile("[A-Z]{1,}/{0,1}[A-Z]{1,}\\s{0,1}[0-9]\\d*\\.?\\d*"); @@ -473,51 +498,52 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService // message.setReferenceStand(matcher.group()); // } // } - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TEXT.getValue(),p,message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TEXT.getValue(), p, message.getItemsCondi().size(), null)); } - private SarFileSplitMenuEO getTreeList(String name, List treeList,String generalCatalogueId,SarFileSplitInfoEO sarFileSplitInfoEO ,Long treeListDisplay,String itemName){ - SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(),name,sarFileSplitInfoEO.getId(),treeListDisplay,itemName); + private SarFileSplitMenuEO getTreeList(String name, List treeList, String generalCatalogueId, SarFileSplitInfoEO sarFileSplitInfoEO, Long treeListDisplay, String itemName) { + SarFileSplitMenuEO documentTreeEO = new SarFileSplitMenuEO(UUIDUtils.randomUUID20(), name, sarFileSplitInfoEO.getId(), treeListDisplay, itemName); // 用现在得name 和之前得name 做比较,确定,parentId - if (name.indexOf(".")>=0) { + if (name.indexOf(".") >= 0) { for (SarFileSplitMenuEO forDocumentTree : treeList) { if (name.substring(0, name.lastIndexOf(".")).equals(forDocumentTree.getName())) { documentTreeEO.setPId(forDocumentTree.getId()); break; } } - }else { + } else { documentTreeEO.setPId(generalCatalogueId); } - return documentTreeEO; + return documentTreeEO; } /** * 通过传递过来的编号,得出下次可能出现的编号 + * * @param nowStart * @return */ - private List getNewNowStart(String nowStart){ + private List getNewNowStart(String nowStart) { List nowStartList = new ArrayList<>(); List nowResultStartList = new ArrayList<>(); String[] numberStr = nowStart.split("\\."); String startnumber = ""; - for(int i=0;i itemsValList,XWPFTable table) throws IOException { + private void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 ReadWordTable readWordTable = new ReadWordTable(); @@ -525,25 +551,25 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService tabaleStringNew.append(tableStr); message.getItemsCondi().add(table.getText()); message.setItermsConditions(message.getItermsConditions() + tabaleStringNew); - itemsValList.add(getSplitItemsValObject(message.getId(),SplitFilePragraTypeEnum.TABLE.getValue(),tabaleStringNew.toString(),message.getItemsCondi().size(),null)); + itemsValList.add(getSplitItemsValObject(message.getId(), SplitFilePragraTypeEnum.TABLE.getValue(), tabaleStringNew.toString(), message.getItemsCondi().size(), null)); } @Override - public List queryByPageOwn(SarFileSplitInfoEOPage page){ + public List queryByPageOwn(SarFileSplitInfoEOPage page) { int rowCount = sarFileSplitInfoEODao.queryByCountOwn(page); page.getPager().setRowCount(rowCount); List rows = sarFileSplitInfoEODao.queryByPageOwn(page); - Map map = new HashMap<>(); - map.put("CA","草稿"); - map.put("ZQYJG","征求意见稿"); - map.put("BPG","报批稿"); - map.put("SSG","送审稿"); - map.put("FBGBJBD","发布稿(必读)"); + Map map = new HashMap<>(); + map.put("CA", "草稿"); + map.put("ZQYJG", "征求意见稿"); + map.put("BPG", "报批稿"); + map.put("SSG", "送审稿"); + map.put("FBGBJBD", "发布稿(必读)"); if (rows != null && !rows.isEmpty()) { for (SarFileSplitInfoEO infoEO : rows) { - infoEO.setFileTypeShow(String.valueOf(map.get(infoEO.getFileType()))); + infoEO.setFileTypeShow(String.valueOf(map.get(infoEO.getFileType()))); // if (!infoEO.getSplitStatus().equals("0") && infoEO.getShowNumber() == null){ // SarLawsInfoEOPage sarLawsInfoEOPage = new SarLawsInfoEOPage(); // sarLawsInfoEOPage.setId(infoEO.getStandId()); @@ -571,7 +597,7 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } @Override - public int deleteByIds(String ids){ + public int deleteByIds(String ids) { String[] infoIds = ids.split(","); // 删除info表数据 SarFileSplitInfoEO sarFileSplitInfoEO = new SarFileSplitInfoEO(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java new file mode 100644 index 00000000..0e8f8207 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/BussStandExportUtil.java @@ -0,0 +1,144 @@ +package com.adc.da.utils.util; + +import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 标准导出工具 + * @Author: yangxuenan + * date: 2020/9/16 14:09 + */ +public class BussStandExportUtil { + + private static final Logger logger = LoggerFactory.getLogger(BussStandExportUtil.class); + + + public static Workbook exportDatas (List datas) { + Workbook workbook = new XSSFWorkbook(); + try { + StringBuilder attrBud = new StringBuilder(); + List detailsEOList = InitStandAttrUtil.bussAttrFieldList; + Map attrInfoMap = new HashMap<>(); + for (SarStandAttrDetails detailsEO : detailsEOList) { + if (!InitStandAttrUtil.fileFieldListBuss.contains(detailsEO.getAttrField())) { + attrBud.append(detailsEO.getAttrName() + ","); + attrInfoMap.put(detailsEO.getAttrName(),detailsEO.getAttrField()); + } + } + String header = FieldConvertUtil.exportBaseFieldNamesBuss + "," + attrBud.toString(); + //创建工作表对象 + Sheet sheet = workbook.createSheet(); + // 创建头部 + createHeader(workbook,sheet,header); + // 创建数据 + createDatas(workbook,sheet,datas,header,attrInfoMap); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + return workbook; + } + + public static void createHeader(Workbook workbook,Sheet sheet,String header){ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + Row rowHeader = sheet.createRow(0);//开始创建标题行 + if (StringUtils.isNotBlank(header)) { + String[] headerArr = header.split(","); + for (int i=0;i < headerArr.length; i++) { + rowHeader.createCell(i).setCellValue(headerArr[i]); +// rowHeader.createCell(i).setCellStyle(cellStyle); + } + } + } + + public static void createDatas(Workbook workbook,Sheet sheet,List datas, + String header,Map attrInfoMap) throws Exception{ + CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象 + cellStyle.setAlignment(HorizontalAlignment.CENTER); + if (datas != null && !datas.isEmpty()) { + for (int i=0;i < datas.size(); i++) { + SarBussionessStand sarStandardsInfoEO = datas.get(i); + Row row = sheet.createRow(i+1); + String[] headerArr = header.split(","); + int sheetNum = 0; + for (String headerName : headerArr) { + String value = getValueByName(headerName,sarStandardsInfoEO,attrInfoMap); + if (StringUtils.isBlank(value) || "null".equals(value)) { + value = ""; + } + row.createCell(sheetNum).setCellValue(value); + sheetNum++; + } + } + } + } + + // 根据表头返回相应值 + public static String getValueByName (String name,SarBussionessStand sarStandardsInfoEO,Map attrInfoMap) throws Exception{ + String value = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Map attrValueMap = sarStandardsInfoEO.getAttrInfoMap(); + switch (name) { + case "企标类别": + value = sarStandardsInfoEO.getStandSortShow(); + break; + case "企标编号": + value = sarStandardsInfoEO.getStandCode(); + break; + case "中文名称": + value = sarStandardsInfoEO.getStandName(); + break; + case "英文名称": + value = sarStandardsInfoEO.getStandEnName(); + break; + case "标准状态": + value = sarStandardsInfoEO.getStandStatusShow(); + break; + case "标准实施日期": + if (sarStandardsInfoEO.getPutTime() != null) { + String issueTime = sdf.format(sarStandardsInfoEO.getPutTime()); + value = issueTime; + } + break; + case "代替企标编号": + value = sarStandardsInfoEO.getReplaceStandNum(); + break; + case "被代替企标编号": + value = sarStandardsInfoEO.getReplacedStandNum(); + break; + case "发布日期": + if (sarStandardsInfoEO.getIssueTime() != null) { + String issueTime = sdf.format(sarStandardsInfoEO.getIssueTime()); + value = issueTime; + } + break; + case "复审日期": + String field1 = attrInfoMap.get(name); + if (attrValueMap != null) { + value = String.valueOf(attrValueMap.get(field1)); + if (value.length()>10){ + value = value.substring(0,10); + } + } + break; + default: + String field = attrInfoMap.get(name); + if (attrValueMap != null) { + value = String.valueOf(attrValueMap.get(field)); + } + break; + } + return value; + } + +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandItems/SarBussStandItemsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandItems/SarBussStandItemsMapper.xml index da27f80e..106689f5 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandItems/SarBussStandItemsMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandItems/SarBussStandItemsMapper.xml @@ -1,5 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SAR_BUSS_STAND_ITEMS.modify_time, SAR_BUSS_STAND_ITEMS.creation_time, SAR_BUSS_STAND_ITEMS.valid_flag, SAR_BUSS_STAND_ITEMS.remarks, responsible_unit, energy_kind, apply_arctic, tack_time, parts, items_name, items_num, SAR_BUSS_STAND_ITEMS.stand_id, SAR_BUSS_STAND_ITEMS.id,SAR_BUSS_STAND_ITEMS.MAINPOINTS_IMPEMENTATION,SAR_BUSS_STAND_ITEMS.TERMS_CONDITIONS, + tsFo.UNAME as foShow,SAR_BUSS_STAND_ITEMS.duty_engineer,SAR_BUSS_STAND_ITEMS.svpps, + SAR_BUSS_STAND_ITEMS.claim_type,SAR_BUSS_STAND_ITEMS.bus_stand_cover,SAR_BUSS_STAND_ITEMS.file_type,dicClaimType.DIC_TYPE_NAME as claimTypeShow,tsdutyEngineer.UNAME as dutyEngineerShow + + + + + left join TS_DICTYPE dicClaimType on (dicClaimType.dic_type_code = SAR_BUSS_STAND_ITEMS.claim_type and dicClaimType.dic_id is + not null and dicClaimType.valid_flag = 0) + left join TS_USER tsdutyEngineer on (tsdutyEngineer.USID = SAR_BUSS_STAND_ITEMS.duty_engineer and tsdutyEngineer.valid_flag=0 + and tsdutyEngineer.DISABLE_FLAG=0) + left join TS_USER tsFo on (tsFo.USID = SAR_BUSS_STAND_ITEMS.fo and tsFo.valid_flag=0 + and tsFo.DISABLE_FLAG=0) + where 1=1 + + + 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 SAR_BUSS_STAND_ITEMS.valid_flag ${validFlagOperator} #{validFlag} + + + and remarks ${remarksOperator} #{remarks} + + + and responsible_unit ${responsibleUnitOperator} #{responsibleUnit} + + + and energy_kind ${energyKindOperator} #{energyKind} + + + and apply_arctic ${applyArcticOperator} #{applyArctic} + + + and tack_time ${tackTimeOperator} #{tackTime} + + + and tack_time >= #{tackTime1} + + + and tack_time <= #{tackTime2} + + + and SAR_BUSS_STAND_ITEMS.parts like concat(concat('%', #{parts}),'%') + + + and (SAR_BUSS_STAND_ITEMS.items_name like concat(concat('%', #{nameOrRequest}),'%') or SAR_BUSS_STAND_ITEMS.TERMS_CONDITIONS like concat(concat('%', #{nameOrRequest}),'%')) + + + and items_name ${itemsNameOperator} #{itemsName} + + + and items_num ${itemsNumOperator} #{itemsNum} + + + and SAR_BUSS_STAND_ITEMS.stand_id ${standIdOperator} #{standId} + + + and SAR_BUSS_STAND_ITEMS.id ${idOperator} #{id} + + + and SAR_BUSS_STAND_ITEMS.id in + + #{item} + + + + and SAR_BUSS_STAND_ITEMS.file_type = #{fileType} + + + + + + + + insert into SAR_BUSS_STAND_ITEMS() + values (#{modifyTime, jdbcType=TIMESTAMP}, #{creationTime, jdbcType=TIMESTAMP}, #{validFlag, jdbcType=INTEGER}, #{remarks, jdbcType=CLOB}, #{responsibleUnit, jdbcType=VARCHAR}, #{energyKind, jdbcType=VARCHAR}, #{applyArctic, jdbcType=VARCHAR}, #{tackTime, jdbcType=TIMESTAMP}, #{parts, jdbcType=VARCHAR}, #{itemsName, jdbcType=VARCHAR}, #{itemsNum, jdbcType=VARCHAR}, #{standId, jdbcType=VARCHAR}, #{id, jdbcType=VARCHAR}) + + + + + + insert into SAR_BUSS_STAND_ITEMS + + modify_time, + creation_time, + valid_flag, + remarks, + responsible_unit, + energy_kind, + apply_arctic, + tack_time, + parts, + items_name, + items_num, + stand_id, + id, + MAINPOINTS_IMPEMENTATION, + TERMS_CONDITIONS, + + fo, + duty_engineer, + svpps, + claim_type, + bus_stand_cover, + file_type + + + #{modifyTime, jdbcType=TIMESTAMP}, + #{creationTime, jdbcType=TIMESTAMP}, + #{validFlag, jdbcType=INTEGER}, + #{remarks, jdbcType=CLOB}, + #{responsibleUnit, jdbcType=VARCHAR}, + #{energyKind, jdbcType=VARCHAR}, + #{applyArctic, jdbcType=VARCHAR}, + #{tackTime, jdbcType=TIMESTAMP}, + #{parts, jdbcType=VARCHAR}, + #{itemsName, jdbcType=VARCHAR}, + #{itemsNum, jdbcType=VARCHAR}, + #{standId, jdbcType=VARCHAR}, + #{id, jdbcType=VARCHAR}, + #{mainPointImplementation, jdbcType=VARCHAR}, + #{termsConditions, jdbcType=VARCHAR}, + + #{fo, jdbcType=VARCHAR}, + #{dutyEngineer, jdbcType=VARCHAR}, + #{svpps, jdbcType=VARCHAR}, + #{claimType, jdbcType=VARCHAR}, + #{busStandCover, jdbcType=VARCHAR}, + #{fileType, jdbcType=VARCHAR} + + + + + + update SAR_BUSS_STAND_ITEMS + set modify_time = #{modifyTime}, + creation_time = #{creationTime}, + valid_flag = #{validFlag}, + remarks = #{remarks}, + responsible_unit = #{responsibleUnit}, + energy_kind = #{energyKind}, + apply_arctic = #{applyArctic}, + tack_time = #{tackTime}, + parts = #{parts}, + items_name = #{itemsName}, + items_num = #{itemsNum}, + stand_id = #{standId} + where id = #{id} + + + + + update SAR_BUSS_STAND_ITEMS + + + modify_time = #{modifyTime}, + + + creation_time = #{creationTime}, + + + valid_flag = #{validFlag}, + + + remarks = #{remarks}, + + + responsible_unit = #{responsibleUnit}, + + + energy_kind = #{energyKind}, + + + apply_arctic = #{applyArctic}, + + + tack_time = #{tackTime}, + + + tack_time = null, + + + parts = #{parts}, + + + items_name = #{itemsName}, + + + items_num = #{itemsNum}, + + + stand_id = #{standId}, + + + MAINPOINTS_IMPEMENTATION = #{mainPointImplementation}, + + + TERMS_CONDITIONS = #{termsConditions}, + + + + fo = #{fo}, + + + duty_engineer = #{dutyEngineer}, + + + svpps = #{svpps}, + + + claim_type = #{claimType}, + + + bus_stand_cover = #{busStandCover}, + + + file_type = #{fileType}, + + + where id = #{id} + + + + + + + + delete from SAR_BUSS_STAND_ITEMS + where id = #{value} + + + + + + + + + + + + + + + + + + delete from SAR_BUSS_STAND_ITEMS + where stand_id = #{standId} + + and file_type = #{fileType} + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml index bfce5e43..f67877f2 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandProjectLibrary/SarStandProjectLibraryMapper.xml @@ -249,6 +249,6 @@ ) diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml index c63d3936..b44506a8 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/standardSplit/SarFileSplitItemsEOMapper.xml @@ -471,6 +471,20 @@ + + + insert into SAR_STAND_ITEMS + (id, STAND_ID, items_num, items_name, TERMS_CONDITIONS,FILE_TYPE) + values + + ( + #{item.id, jdbcType=VARCHAR}, #{item.standId, jdbcType=VARCHAR}, #{item.itemsNum, jdbcType=VARCHAR}, + #{item.itemsName, jdbcType=VARCHAR}, #{item.termsConditions, jdbcType=CLOB}, + #{item.fileType, jdbcType=VARCHAR} + ) + + + delete from SAR_FILE_SPLIT_ITEMS where info_id in diff --git a/adc-da-sys/src/main/java/com/adc/da/person/dao/PersonCollectEODao.java b/adc-da-sys/src/main/java/com/adc/da/person/dao/PersonCollectEODao.java index 59ddd12e..db55614f 100644 --- a/adc-da-sys/src/main/java/com/adc/da/person/dao/PersonCollectEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/person/dao/PersonCollectEODao.java @@ -5,6 +5,7 @@ import com.adc.da.person.entity.TsPersonCollect; import com.adc.da.person.page.PersonCollectEOPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; import java.util.List; @@ -16,6 +17,7 @@ import java.util.List; * 日期: 2018-09-03
* 版权所有:版权归北京卡达克数据技术中心所有。
*/ +@Repository public interface PersonCollectEODao extends BaseMapper { public List queryByList(BasePage page);