diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java index 5933c188..f1ef1500 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClient/workFlowFeignClient.java @@ -477,4 +477,8 @@ public interface workFlowFeignClient { String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee); @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectBusProcessNew",method = RequestMethod.GET) String selectBusProcessNew(@RequestParam("taskId")String taskId); + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/deleteReplyToenNotice",method = RequestMethod.POST) + List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer); + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/selectAskId",method = RequestMethod.GET) + String selectAskId(@RequestParam("taskId") String taskId); } diff --git a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java index 80395544..9b46d828 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java +++ b/adc-da-activiti/src/main/java/com/adc/da/FeignClientImpl/workFlowFeignClientImpl.java @@ -426,4 +426,12 @@ public class workFlowFeignClientImpl { public String selectBusProcessNew(@RequestParam("taskId")String taskId) { return workFlowFeignClient.selectBusProcessNew(taskId); } + + public List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); + } + + public String selectAskId(@RequestParam("taskId") String taskId) { + return workFlowFeignClient.selectAskId(taskId); + } } diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java index ca3e9ebd..7e4df154 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessName.java @@ -56,4 +56,6 @@ public class BusProcessName implements Serializable { private String isEnd; private String taskBackAssignee; + + private boolean showreceive; } diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java index f586c883..6c5786cd 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/controller/WorkFlowController.java @@ -13,6 +13,7 @@ import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; import com.adc.da.common.Page; import com.adc.da.login.util.JwtUtils; +import com.adc.da.slrs.StandardQA.service.Impl.SarAgenldAcceptButtonServiceImpl; import com.adc.da.slrs.esRevisePlan.dao.EsRevisePlanDao; import com.adc.da.slrs.esRevisePlan.entity.EsRevisePlan; import com.adc.da.slrs.esRevisePlan.service.IEsRevisePlanLogService; @@ -29,6 +30,7 @@ import com.adc.da.workFlow.service.WorkFlowService; import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import oracle.ucp.proxy.annotation.Post; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.util.IOUtils; @@ -83,6 +85,9 @@ public class WorkFlowController { @Autowired private IEsRevisePlanLogService esRevisePlanLogService; + @Autowired + private SarAgenldAcceptButtonServiceImpl sarAgenldAcceptButtonService; + // @Autowired // private ExportExcelMapper exportExcelMapper; @@ -259,6 +264,7 @@ public class WorkFlowController { @ApiOperation(value = "管控流程接收任务") @GetMapping("/acceptTack") public Integer acceptTack(@RequestParam("nowEsId") String nowEsId, @RequestParam("oaFlag") String oaFlag, @RequestParam("taskId") String taskId) { + sarAgenldAcceptButtonService.add(taskId); return workFlowFeignClient.acceptTack(nowEsId,oaFlag,taskId); } @@ -507,6 +513,16 @@ public class WorkFlowController { pageInfo.setCount(Long.valueOf(0)); pageInfo.setPageSize(taskCommonQuery.getSize()); } + for (BusProcessName data : pageInfo.getList()){ + if(StringUtils.isNotBlank(data.getTaskIds())){ + String s = sarAgenldAcceptButtonService.selectIsNot(data.getTaskIds()); + if(s.equals("1")){ + data.setShowreceive(false); + }else { + data.setShowreceive(true); + } + } + } return pageInfo; } @@ -958,6 +974,19 @@ public class WorkFlowController { public String selectBusProcessNew(@RequestParam("taskId") String taskId) { return workFlowFeignClient.selectBusProcessNew(taskId); } + + + @ApiOperation(value = "问答中心(第一个人回答以后删除其他人的代办任务以及OA提醒)") + @PostMapping("/deleteReplyToenNotice") + public List deleteReplyToenNotice(@RequestParam("taskId") String taskId,@RequestParam("answerer") String answerer) { + return workFlowFeignClient.deleteReplyToenNotice(taskId,answerer); + } + + @ApiOperation(value = "问答中心(通过taskId获取提问Id)") + @GetMapping("/selectAskId") + public String selectAskId(@RequestParam("taskId") String taskId) { + return workFlowFeignClient.selectAskId(taskId); + } @ApiOperation(value = "OA待办强制删除") @GetMapping("/deleteOAByMandatory") public String deleteOAByMandatory(@RequestParam("todoId") String todoId,@RequestParam("assignee") String assignee) { diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index 3f94431f..74df1e57 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -115,6 +115,8 @@ public class WebMvcConfig implements WebMvcConfigurer { //企业标准导出 addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportSarBussionessStand"); + addInterceptor.excludePathPatterns("/api/lawss/sarFileSplitItems/exportTemplate"); + //预警导出 addInterceptor.excludePathPatterns("/api/sys/EarlyWarning/exportWarning"); @@ -156,6 +158,9 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/importSarBussionessStandFile"); addInterceptor.excludePathPatterns("/api/sarLawsDetailedList/sar-laws-detailed-list/importData"); + //企标标准导入模板下载 + addInterceptor.excludePathPatterns("/api/lawss/sarBussionessStand/exportTemplateFile"); + //doc文檔重新轉換 addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_GNW"); addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/convertDocAll_QB"); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java index de6da2a6..7693ce2c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java @@ -5,8 +5,11 @@ import com.adc.da.slrs.StandardQA.dao.AskQuestionsDao; import com.adc.da.slrs.StandardQA.entity.*; import com.adc.da.slrs.StandardQA.service.Impl.AskQuestionsServiceImpl; import com.adc.da.slrs.StandardQA.service.Impl.AskUserServiceImpl; +import com.adc.da.slrs.StandardQA.service.Impl.ReplyServiceImpl; import com.adc.da.slrs.StandardQA.service.Impl.SubscriptionServiceImpl; import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl; +import com.adc.da.slrs.sarUser.dao.TsUserDao; +import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.util.http.ResponseMessage; @@ -41,6 +44,12 @@ public class AskQuestionsController extends BaseController { @Autowired private AskUserServiceImpl askUserService; + @Autowired + private ReplyServiceImpl replyService; + + @Autowired + private TsUserDao tsUserDao; + @Autowired private SubscriptionServiceImpl subscriptionService; @@ -262,4 +271,44 @@ public class AskQuestionsController extends BaseController { return Result.success(askQuestionsList); } + @PostMapping("/selectQuestionReplyInfo") + public ResponseMessage selectQuestionReplyInfo(String id){ + List objects = new ArrayList<>(); + if(StringUtils.isNotBlank(id)){ + AskQuestions askQuestions = askQuestionsService.getById(id); + if(askQuestions!=null) { + TsUser tsUser = tsUserDao.selectById(askQuestions.getQuestioner()); + if(tsUser!=null){ + askQuestions.setQuestioner(tsUser.getUname()); + } + if(askQuestions.getClassification().equals("BUSINESS_STAND")){ + askQuestions.setClassification("企业标准"); + } + if(askQuestions.getClassification().equals("FOREIGN")){ + askQuestions.setClassification("海外标准"); + } + if(askQuestions.getClassification().equals("INLAND")){ + askQuestions.setClassification("国内标准"); + } + if(askQuestions.getClassification().equals("OTHER")){ + askQuestions.setClassification("公共标准"); + } + QueryWrapper replyQueryWrapper = new QueryWrapper<>(); + replyQueryWrapper.eq("ASK_ID", id); + List list = replyService.list(replyQueryWrapper); + if(!list.isEmpty()){ + for (Reply reply : list){ + TsUser ruser = tsUserDao.selectById(reply.getAnswerer()); + if(ruser!=null){ + reply.setAnswerer(ruser.getUname()); + } + } + } + objects.add(askQuestions); + objects.add(list); + } + } + return Result.success(objects); + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java index 9da0099c..0b5e2100 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java @@ -73,7 +73,6 @@ public class ReplyController extends BaseController { return Result.success("200","归档成功",null); } - @PostMapping("/listByPage") public ResponseMessage updateReply(@RequestBody ReplyPage reply){ return Result.success(replyService.listByPage(reply)); @@ -90,4 +89,16 @@ public class ReplyController extends BaseController { replyService.updateBatchById(replyList); return Result.success("200","编辑成功",null); } + + @PostMapping("/selectListSize") + public ResponseMessage selectListSize(String askId){ + //1:查询当前问题下是否有其他回答 如果是第一次回答则删除 其他人的代办任务,如果非第一次回答则跳过当前步骤 + QueryWrapper replyQueryWrapper = new QueryWrapper<>(); + replyQueryWrapper.eq("ASK_ID",askId); + List list = replyService.list(replyQueryWrapper); + if(list.isEmpty()){ + return Result.success(null); + } + return Result.success(list); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java new file mode 100644 index 00000000..cab58629 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SarAgenldAcceptButtonController.java @@ -0,0 +1,30 @@ +package com.adc.da.slrs.StandardQA.controller; + +import com.adc.da.slrs.StandardQA.service.SarAgenldAcceptButtonService; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/${restPath}/lawss/SarAgenldAcceptButton") +@Api(description = "|SarAgenldAcceptButton|") +public class SarAgenldAcceptButtonController { + + @Autowired + private SarAgenldAcceptButtonService sarAgenldAcceptButtonService; + + @GetMapping("/selectIsNot") + public String selectIsNot(String pid){ + return sarAgenldAcceptButtonService.selectIsNot(pid); + } + + @GetMapping("/add") + public ResponseMessage add(String id){ + sarAgenldAcceptButtonService.add(id); + return Result.success(); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java new file mode 100644 index 00000000..a02c091a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SarAgenldAcceptButtonDao.java @@ -0,0 +1,9 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.SarAgenldAcceptButton; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +@Repository +public interface SarAgenldAcceptButtonDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java index ddab429d..d89d86f0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java @@ -68,4 +68,7 @@ public class Reply extends BaseEntity { @TableField(exist = false) private List fileList; + + @TableField(exist = false) + private String taskId; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java new file mode 100644 index 00000000..3f124323 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/SarAgenldAcceptButton.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("sar_agenld_accept_button") +@ApiModel(value="SarAgenldAcceptButton对象", description="") +@Data +public class SarAgenldAcceptButton { + + @ApiModelProperty(value = "主键") + @TableId(value = "ID", type = IdType.UUID) + private String id; + + @ApiModelProperty(value = "类型") + @TableField("TASK_ID") + private String taskId; + + @ApiModelProperty(value = "类型") + @TableField("TYPE") + private String type; + + @TableField("CREATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @TableField("UPDATE_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java new file mode 100644 index 00000000..2bb02d4b --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SarAgenldAcceptButtonServiceImpl.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + +import com.adc.da.slrs.StandardQA.dao.SarAgenldAcceptButtonDao; +import com.adc.da.slrs.StandardQA.entity.SarAgenldAcceptButton; +import com.adc.da.slrs.StandardQA.service.SarAgenldAcceptButtonService; +import com.adc.da.util.http.ResponseMessage; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class SarAgenldAcceptButtonServiceImpl extends ServiceImpl implements SarAgenldAcceptButtonService { + + @Autowired + private SarAgenldAcceptButtonDao sarAgenldAcceptButtonDao; + + @Override + public String selectIsNot(String pid){ + QueryWrapper objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("TASK_ID",pid); + List sarAgenldAcceptButtons = sarAgenldAcceptButtonDao.selectList(objectQueryWrapper); + if(!sarAgenldAcceptButtons.isEmpty()){ + if(sarAgenldAcceptButtons.get(0).getType().equals("1")){ + return "1"; + } + } + return "0"; + } + + + public void add(String id) { + SarAgenldAcceptButton sarAgenldAcceptButton = new SarAgenldAcceptButton(); + sarAgenldAcceptButton.setTaskId(id); + sarAgenldAcceptButton.setType("1"); + sarAgenldAcceptButtonDao.insert(sarAgenldAcceptButton); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java new file mode 100644 index 00000000..308910b0 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SarAgenldAcceptButtonService.java @@ -0,0 +1,10 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.util.http.ResponseMessage; + +public interface SarAgenldAcceptButtonService { + + void add(String id); + + String selectIsNot(String pid); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java index 321d8870..c0d91052 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandAttrInfo/entity/SarBussStandAttrInfoExecl.java @@ -84,9 +84,24 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { private String xgjh; - //附件 + //发布稿附件 + private String fbgbuss; + + //编制说明附件 + private String bzsmbuss; + + //历史版本附件 + private String lsbbbuss; + + //其他文件附件 private String qtwjbuss; + //修改单附件 + private String xgd; + + //关联文件附件 + private String glwjbuss; + //标准中文名称 private String standName; @@ -109,7 +124,7 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { private String issueTime; //标准编号 - private String standCode; + private String standNumber; //标准英文名称 private String standEnName; @@ -171,6 +186,10 @@ public class SarBussStandAttrInfoExecl extends BaseEntity { //备案日期 private String barq; + private String menuId; + + private String standCode; + @TableField(exist = false) private Map attrInfoMap = new LinkedHashMap<>(); 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 a4de21bb..82a2b714 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 cn.hutool.core.util.ZipUtil; import com.adc.da.Log.BusinessType; import com.adc.da.Log.EpcLog; import com.adc.da.common.FileUnZip; @@ -21,6 +22,7 @@ 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.UUIDUtils; import com.adc.da.util.exception.AdcDaBaseException; import com.adc.da.util.utils.IOUtils; import com.adc.da.util.utils.StringUtils; @@ -31,8 +33,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.ApiOperation; import org.apache.commons.io.FileUtils; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -46,9 +52,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; +import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -416,9 +420,9 @@ public class SarBussionessStandController extends BaseController importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file) throws Exception{ + public ResponseMessage importSarBussionessStandFile(@RequestParam(value = "file",required = false)MultipartFile file,String menuId,String userId) throws Exception{ - return sarBussionessStandEOService.importSarBussionessStandFile(file); + return sarBussionessStandEOService.importSarBussionessStandFile(file,menuId,userId); } @ApiOperation(value = "|SarBussionessStand|判断原文译文") @GetMapping("/emptyFileAnewStorage") @@ -437,5 +441,74 @@ public class SarBussionessStandController extends BaseController { List getBussionessStandInfo(); void updateByIdInfo(@Param("strFile")String strFile, @Param("attfId")String attfId); + + @Select("select * from sar") + String setDtqbbhbuss(String dtqbbhbuss); } 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 7181992b..37890e3b 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 @@ -55,7 +55,7 @@ public interface ISarBussionessStandService extends IService void checkFileByEncrypt(); ResponseMessage emptyFileAnewStorage(String type); - ResponseMessage importSarBussionessStandFile(MultipartFile file)throws Exception; + ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId,String userId)throws Exception; ResponseMessage repetitionFile(); 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 25f171d1..78f15e76 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 @@ -72,6 +72,7 @@ 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; +import com.adc.da.slrs.sarVppsTree.dao.SarVppsTreeDao; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; import com.adc.da.sys.constant.ValueStateEnum; import com.adc.da.sys.dao.DicTypeEODao; @@ -84,6 +85,7 @@ import com.adc.da.sys.util.LoginUserUtil; import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.*; import com.adc.da.utils.util.DateUtil; +import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -113,6 +115,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; import org.springframework.web.multipart.MultipartFile; import javax.net.ssl.*; @@ -126,6 +129,7 @@ import java.security.SecureRandom; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.sql.Clob; +import java.sql.Connection; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -255,6 +259,11 @@ public class SarBussionessStandServiceImpl extends ServiceImpl dicTypeEOS = dicTypeEODao.selectByPidInfo(pid); List sarBussionessStandlist = this.baseMapper.selectStandardsInfoByKey(id); SarBussionessStand sarBussionessStandEO = new SarBussionessStand(); if(!sarBussionessStandlist.isEmpty()) { List newStandList = new ArrayList<>(); newStandList.add(sarBussionessStandlist.get(0)); attrInfoShowDetails(newStandList); + for (DicTypeEO data : dicTypeEOS){ + if(data.getDicTypeCode().equals(newStandList.get(0).getTextStatusBuss())){ + newStandList.get(0).setTextStatusBussShow(data.getDicTypeName()); + } + } sarBussionessStandEO = newStandList.get(0); } + //企标文本状态 return sarBussionessStandEO; } @@ -2029,296 +2047,720 @@ public class SarBussionessStandServiceImpl extends ServiceImpl importSarBussionessStandFile(MultipartFile file)throws Exception { - //给出头部信息 - String[] headerExcel = {"企标编号,中文名称,英文名称,文本状态,发布日期,企标实施日期,企标制修订状态,起草部门,废止日期,代替企标编号,复审日期,起草人,被代替企标编号,采用标准,文件上传人员,采标程度,引用标准,适用车型,能源类型,适用产品线,上传时间,体系类别,备案日期,关联模块-乘用车VPPS编码,关联模块--乘用车vpps中文名称,关联模块--卡车VPPS编码,关联模块--卡车vpps中文名称,附件,企标类型,标准年份,"}; + public ResponseMessage importSarBussionessStandFile(MultipartFile file,String menuId,String userId)throws Exception { - //获取文件全称 - String fileNameStr = file.getOriginalFilename(); - //获取最后.的位置 - int pos = fileNameStr.lastIndexOf("."); - //获取压缩文件名称并以小写显示 - String fileStr = fileNameStr.substring(pos + 1).toLowerCase(); - //校验是否是zip文件 - if (!fileStr.equals("zip")){ - return Result.error("请上传zip格式的文件"); - } - //进行拼接获取文件名称 - String fileName = fileNameStr.substring(0,pos); - //获取路径和文件名称 - String path = filePath + "/" + fileName; + List tsResources = tsResourceService.getByMenuId(menuId); + if (ObjectUtils.isEmpty(tsResources)) { + return Result.error("请选择需要导入的目录"); + } + //给出头部信息 + String[] headerExcel = {"*企标类别,企标编号,*标准年份,*企标名称,企标英文名称,*文本状态,发布日期,企标实施日期,起草部门,起草人,适用车型,能源类型,适用产品线,体系类别,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿,编制说明,历史版本,其他文件,修改单,代替企标编号,采用标准,采标程度,引用标准,关联文件,"}; - File saveDirectory = new File(path); - //判断saveDirectory中是否是文件夹 - if (!saveDirectory.isDirectory()){ - saveDirectory.mkdir(); - } - //将文件写入到指定路径中 - FileUtils.copyInputStreamToFile(file.getInputStream(),new File(path + "/" + fileNameStr)); - int countSuccess = 0; - try { - //解压缩 - String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path); - //获取文件信息 - List fileList = readImpExcelFile(zipEntryName); - //判断获取到的文件数量 - if (fileList.size() < 1){ - return Result.error("上传的文件是空文件"); - } - //File excelfile = fileList.get(0); - int excel = 0; - for (File fileInfo:fileList){ - String infoJson = ""; - if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) { - excel =excel+1; - if (excel > 1){ - return Result.error("导入了多个Excel文件"); + //获取文件全称 + String fileNameStr = file.getOriginalFilename(); + //获取最后.的位置 + int pos = fileNameStr.lastIndexOf("."); + //获取压缩文件名称并以小写显示 + String fileStr = fileNameStr.substring(pos + 1).toLowerCase(); + //校验是否是zip文件 + if (!fileStr.equals("zip")) { + return Result.error("请上传zip格式的文件"); + } + //进行拼接获取文件名称 + String fileName = fileNameStr.substring(0, pos); + //获取路径和文件名称 + String path = filePath + "/" + fileName; + + File saveDirectory = new File(path); + //判断saveDirectory中是否是文件夹 + if (!saveDirectory.isDirectory()) { + saveDirectory.mkdir(); + } + //将文件写入到指定路径中 + FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path + "/" + fileNameStr)); + int countSuccess = 0; + try { + //解压缩 + String zipEntryName = FileUnZip.unZipFiles(path + "/" + fileNameStr, path); + //获取文件信息 + List fileList = readImpExcelFile(zipEntryName); + //判断获取到的文件数量 + if (fileList.size() < 1) { + return Result.error("上传的文件是空文件"); } - Workbook workbook = null; - try { - workbook = WorkbookFactory.create(fileInfo); - if (workbook != null){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Sheet sheet = workbook.getSheetAt(0); - if (sheet != null){ - StringBuilder sb = new StringBuilder(); - //获取总条数 - int rowNum = sheet.getLastRowNum(); - //循环遍历 - for (int i = 0;i <= rowNum;i++){ - Row row = sheet.getRow(i); - Row headerRow = sheet.getRow(0); - boolean isBlank = sarLawsInfoEOService.isRowEmpty(row); - if (row != null && !isBlank) { - int columNos = headerRow.getLastCellNum();// 表头总共的列数 - Map rowList = new LinkedHashMap<>(); - for (int j = 0; j < columNos; j++) { - Cell cell = row.getCell(j); - Cell headerCell = headerRow.getCell(j); - if (cell != null) { - if (i == 0) { - cell.setCellType(CellType.STRING); - sb.append(cell.getStringCellValue() + ","); - } else { - if (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { - Date d = cell.getDateCellValue(); - rowList.put(headerCell.getStringCellValue(), sdf.format(d)); - } else { - cell.setCellType(CellType.STRING); - rowList.put(headerCell.getStringCellValue(), cell.getStringCellValue()); - } - } - } else { - if (i != 0) { - rowList.put(headerCell.getStringCellValue(), ""); - } - } - } - String fields = StringUtils.join(headerExcel); - String excelHeader = sb.toString(); - if (!fields.equals(excelHeader)) { - workbook.close(); - //删除原上传文件 - FileUnZip.deleteDir(saveDirectory); - return Result.error("fail", "读取失败,请严格按照模板文件导入数据"); - } - SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl(); - if (i != 0) { - - String standCode = rowList.get("企标编号"); - sarBussStandAttrInfo.setStandCode(standCode); - - String standName = rowList.get("中文名称"); - if(StringUtils.isNotBlank(standName)){ - if(standName.length()>100){ - return Result.error("输入的标准名称过长"); - } - sarBussStandAttrInfo.setStandName(standName); - } - - String standEnName = rowList.get("英文名称"); - sarBussStandAttrInfo.setStandEnName(standEnName); - - String textStatusBuss = rowList.get("文本状态"); - if (StringUtils.isNotBlank(textStatusBuss)){ - if (textStatusBuss.length() > 200){ - return Result.error("输入的文本状态过长"); - } - sarBussStandAttrInfo.setTextStatusBuss(textStatusBuss); - } - - SimpleDateFormat sdfs = new SimpleDateFormat("yyyy-MM-dd"); - - Date issueTime = sdfs.parse( rowList.get("发布日期")); - String issueTimeStr = sdfs.format(issueTime); - if (StringUtils.isNotBlank(issueTimeStr)){ - sarBussStandAttrInfo.setIssueTime(issueTimeStr); - } + //File excelfile = fileList.get(0); + int excel = 0; + List jsonList = new ArrayList<>(); + SarBussStandAttrInfoExecl sarBussStandAttrInfo = new SarBussStandAttrInfoExecl(); + for (File fileInfo : fileList) { + if (fileInfo.getName().contains(".xls") || fileInfo.getName().contains(".xlsx")) { + excel = excel + 1; + if (excel > 1) { + return Result.error("导入了多个Excel文件"); + } + Workbook workbook = null; + try { + workbook = WorkbookFactory.create(fileInfo); + if (workbook != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Sheet sheet = workbook.getSheetAt(0); + if (sheet != null) { - Date putTime = sdfs.parse(rowList.get("企标实施日期")); - String putTimeStr = sdfs.format(putTime); - if (StringUtils.isNotBlank(putTimeStr)){ - sarBussStandAttrInfo.setPutTime(putTimeStr); - } + StringBuilder sb = new StringBuilder(); + Row row = sheet.getRow(1); + for (int i = 0; i <= 25; i++) { + sb.append(row.getCell(i).getStringCellValue()).append(","); + } - String revisionStatus = rowList.get("企标制修订状态"); - sarBussStandAttrInfo.setRevisionStatus(revisionStatus); - - String qcdw = rowList.get("起草部门"); - if (StringUtils.isNotBlank(qcdw)){ - if (qcdw.length() > 100){ - return Result.error("输入的起草部门过长"); - } - sarBussStandAttrInfo.setQcdw(qcdw); - } - - String fzrqbuss = rowList.get("废止日期"); - if (StringUtils.isNotBlank(fzrqbuss)){ - sarBussStandAttrInfo.setFzrqbuss(fzrqbuss); - } - String dtqbbhbuss = rowList.get("代替企标编号"); - sarBussStandAttrInfo.setDtqbbhbuss(dtqbbhbuss); - String fsrqbuss = rowList.get("复审日期"); - if (StringUtils.isNotBlank(fsrqbuss)){ - sarBussStandAttrInfo.setFsrqbuss(fsrqbuss); - } + //获取总条数 + int rowNum = sheet.getPhysicalNumberOfRows(); + //循环遍历 + for (int i = 1; i <= rowNum; i++) { + row = sheet.getRow(i); + Row headerRow = sheet.getRow(1); + boolean isBlank = sarLawsInfoEOService.isRowEmpty(row); + if (row != null && !isBlank) { + int columNos = row.getLastCellNum();// 表头总共的列数 + Map rowList = new LinkedHashMap<>(); + for (int j = 0; j < columNos; j++) { + Cell cell = row.getCell(j); + Cell headerCell = headerRow.getCell(j); + if (cell != null) { + if (i == 1) { +// cell.setCellType(CellType.STRING); +// sb.append(cell.getStringCellValue() + ","); + } else { + if + (CellType.NUMERIC == cell.getCellType() && HSSFDateUtil.isCellDateFormatted(cell)) { + Date d = cell.getDateCellValue(); + if(d.before(sdf.parse("1900-01-01"))||d.after(sdf.parse("2500-01-01")) ){ + return Result.error("输入的日期异常,请按照实际日期填写"); + } + rowList.put(headerCell.getStringCellValue(), sdf.format(d)); + } else + { + cell.setCellType(CellType.STRING); + rowList.put(headerCell.getStringCellValue(), cell.getStringCellValue()); + } + } + } else { + if (i != 0 && i != 1) { + rowList.put(headerCell.getStringCellValue(), ""); + } + } + } + String fields = StringUtils.join(headerExcel); + String excelHeader = sb.toString(); + if (!fields.equals(excelHeader)) { + workbook.close(); + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + return Result.error("fail", "读取失败,请严格按照模板文件导入数据"); + } + if (i != 0 && i != 1 && !rowList.equals("") && rowList != null ) { + + int count = 1; + count++; + + String standSort = rowList.get("*企标类别"); + if (StringUtils.isNotBlank(standSort)) { + if (standSort.length() > 100) { + return Result.error("第"+ count +"行企标类别输入过长"); + } + switch (standSort){ + case "BZJ": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "FT": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q-HD": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q-IOUM": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/ASB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/BFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/BQB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/CBFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FD": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FL": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT A": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT B": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT E": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT F": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT G": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT M": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT P": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Q": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT R": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT S": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT T": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT V": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT X": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Y": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/FT Z": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/MGB": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/QCBFC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/QCFLC": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SGZGS": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SH": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q/SY": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QB/NE": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QC/T": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "QJ/SH": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "Q房/AYJ": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "TFT": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "津Q/NK": + sarBussStandAttrInfo.setStandSort(standSort); + break; + case "鲁Q/LX": + sarBussStandAttrInfo.setStandSort(standSort); + break; + default: + return Result.error("第"+ count +"行请输入正确的企标类别"); + } + } else { + return Result.error("第"+ count +"行企标类别不能为空"); + } + + String standNumber = rowList.get("企标编号"); + sarBussStandAttrInfo.setStandNumber(standNumber); + + String standYear = rowList.get("*标准年份"); + if (StringUtils.isNotBlank(standYear)) { + if (standYear.length() > 100) { + return Result.error("第"+ count +"行标准年份输入过长"); + } + sarBussStandAttrInfo.setStandYear(standYear); + } else { + return Result.error("第"+ count +"行标准年份不能为空"); + } + + String standName = rowList.get("*企标名称"); + if (StringUtils.isNotBlank(standName)) { + if (standName.length() > 100) { + return Result.error("第"+ count +"行输入的企标名称过长"); + } + sarBussStandAttrInfo.setStandName(standName); + } else { + return Result.error("第"+ count +"行企标名称不能为空"); + } + + String standEnName = rowList.get("企标英文名称"); + sarBussStandAttrInfo.setStandEnName(standEnName); + + String textStatusBuss = rowList.get("*文本状态"); + if (StringUtils.isNotBlank(textStatusBuss)) { + if (textStatusBuss.length() > 200) { + return Result.error("第"+ count +"行输入的文本状态过长"); + } + switch (textStatusBuss) { + case "发布": + sarBussStandAttrInfo.setTextStatusBuss("6jnqba2mby"); + break; + case "被代替": + sarBussStandAttrInfo.setTextStatusBuss("quxujsuev5"); + break; + case "参考": + sarBussStandAttrInfo.setTextStatusBuss("01i8opy07d"); + break; + case "即将实施": + sarBussStandAttrInfo.setTextStatusBuss("rpvoxsvr60"); + break; + case "有效": + sarBussStandAttrInfo.setTextStatusBuss("9z741h2m3j"); + break; + case "直接上传": + sarBussStandAttrInfo.setTextStatusBuss("t769k1rkcy"); + break; + case "作废": + sarBussStandAttrInfo.setTextStatusBuss("3lqnlgmgcn"); + break; + case "待修订-指的其他企业标准": + sarBussStandAttrInfo.setTextStatusBuss("1w7cegukbs"); + break; + default: + return Result.error("第"+ count +"行请提供正确的文本状态"); + } + } else { + return Result.error("第"+ count +"行文本状态不能为空"); + } + + String issueTimeStr =rowList.get("发布日期"); + if (StringUtils.isNotBlank(issueTimeStr)){ + if (issueTimeStr.contains("-")) { + sarBussStandAttrInfo.setIssueTime(issueTimeStr); + }else { + return Result.error("第"+ count +"行发布日期格式必须为年-月-日"); + } + } - String qcrbuss = rowList.get("起草人"); - if (StringUtils.isNotBlank(qcrbuss)){ - if (qcrbuss.length() > 100){ - return Result.error("输入的起草人过长"); - } - sarBussStandAttrInfo.setQcrbuss(qcrbuss); - } + String putTimeStr = rowList.get("企标实施日期"); + if (StringUtils.isNotBlank(putTimeStr)){ + if (putTimeStr.contains("-")) { + sarBussStandAttrInfo.setPutTime(putTimeStr); + }else { + return Result.error("第"+ count +"行企标实施日期格式必须为年-月-日"); + } + } - String bdtqbbhbuss = rowList.get("被代替企标编号"); - sarBussStandAttrInfo.setBdtqbbhbuss(bdtqbbhbuss); + + String qcdw = rowList.get("起草部门"); + if (StringUtils.isNotBlank(qcdw)) { + if (qcdw.length() > 100) { + return Result.error("第"+ count +"行输入的起草部门过长"); + } + sarBussStandAttrInfo.setQcdw(qcdw); + } + + String qcrbuss = rowList.get("起草人"); + if (StringUtils.isNotBlank(qcrbuss)) { + if (qcrbuss.length() > 100) { + return Result.error("第"+ count +"行输入的起草人过长"); + } + sarBussStandAttrInfo.setQcrbuss(qcrbuss); + } + + String sycxclass = rowList.get("适用车型"); + if (StringUtils.isNotBlank(sycxclass) && !sycxclass.equals("")){ + String[] strings = sycxclass.split(","); + String sycx = ""; + String sycxs = ""; + if (ObjectUtils.isNotEmpty(strings)) { + for (int j = 0; j < strings.length; j++) { + sycx = strings[j]; + if (sycx.equals("N1") || sycx.equals("N2") || sycx.equals("N3") || sycx.equals("M1") || sycx.equals("M2") || sycx.equals("M3")) { + if (StringUtils.isNotBlank(sycxs)){ + sycxs += "," + sycx; + }else { + sycxs = sycx; + } + } else { + return Result.error("第"+ count +"行请输入正确的适用车型"); + } + } + sarBussStandAttrInfo.setSycxclass(sycxs); + } + } + + + String nylxclass = rowList.get("能源类型"); + if (StringUtils.isNotBlank(nylxclass) && ! nylxclass.equals("")){ + String[] stringNylxc = nylxclass.split(","); + String nylx = ""; + String nylxs = ""; + if (ObjectUtils.isNotEmpty(stringNylxc)){ + for (int j = 0; j < stringNylxc.length; j++) { + nylx = stringNylxc[j]; + if (nylx.equals("汽油") || nylx.equals("柴油") || nylx.equals("纯电动") || nylx.equals("混合动力") || nylx.equals("燃料电池") || nylx.equals("替代燃料")){ + if (StringUtils.isNotBlank(nylxs)){ + nylxs += "," + nylx; + }else { + nylxs = nylx; + } + }else { + return Result.error("第"+ count +"行请输入正确的能源类型"); + } + } + sarBussStandAttrInfo.setNylxclass(nylxs); + } + } + + + String sycpxclass = rowList.get("适用产品线"); + if (StringUtils.isNotBlank(sycpxclass) && !sycpxclass.equals("")){ + String[] stringSycpx = sycpxclass.split(","); + String sycpx = ""; + String sycpxs = ""; + if (ObjectUtils.isNotEmpty(stringSycpx)){ + for (int j = 0; j < stringSycpx.length; j++) { + sycpx = stringSycpx[j]; + if (sycpx.equals("VAN") || sycpx.equals("微卡") || sycpx.equals("轻卡") || sycpx.equals("皮卡") || sycpx.equals("中卡") || sycpx.equals("重卡") || sycpx.equals("客车")){ + if (StringUtils.isNotBlank(sycpxs)){ + sycpxs += "," + sycpx; + }else { + sycpxs = sycpx; + } + }else { + return Result.error("第"+ count +"行请输入正确的适用产品线"); + } + } + sarBussStandAttrInfo.setSycpxclass(sycpxs); + } + } + + + + String txlbbuss = rowList.get("体系类别"); + sarBussStandAttrInfo.setTxlbbuss(txlbbuss); + + //关联模块-乘用车VPPS编码 23 + String cycvppsbmbuss = rowList.get("关联模块-乘用车VPPS编码"); + sarBussStandAttrInfo.setCycvppsbmbuss(cycvppsbmbuss); + + // 关联模块-乘用车VPPS名称 24 + String cycvppscnbuss = sarVppsTreeDao.getCycvppscnbuss(sarBussStandAttrInfo.getCycvppsbmbuss()); + sarBussStandAttrInfo.setCycvppscnbuss(cycvppscnbuss); + +//// //关联模块--卡车VPPS编码 25 + String kcvppsbmbuss = rowList.get("关联模块--卡车VPPS编码"); + sarBussStandAttrInfo.setKcvppsbmbuss(kcvppsbmbuss); + + //关联模块--卡车VPPS名称 26 + String kcvppscnbuss = sarVppsTreeDao.getKcvppscnbuss(sarBussStandAttrInfo.getKcvppsbmbuss()); + sarBussStandAttrInfo.setKcvppscnbuss(kcvppscnbuss); + + + String dtqbbhbuss = rowList.get("代替企标编号"); + sarBussStandAttrInfo.setDtqbbhbuss(dtqbbhbuss); + + //被代替企标编号 +// String bdtqbbhbuss = sarBussionessStandEODao.setDtqbbhbuss(dtqbbhbuss); +// sarBussionessStandEODao.s //// //采用标准 13 - String cybz = rowList.get("采用标准"); - sarBussStandAttrInfo.setCybz(cybz); + String cybz = rowList.get("采用标准"); + if (StringUtils.isNotBlank(cybz) && !cybz.equals("")){ + if (cybz.equals("IDT等同采用") || cybz.equals("NEQ非等效采用") || cybz.equals("MOD修改采用")){ + sarBussStandAttrInfo.setCybz(cybz); + }else { + return Result.error("第"+ count +"行请提供正确的采用标准"); + } + } - String wjscrybuss = rowList.get("文件上传人员"); - sarBussStandAttrInfo.setWjscrybuss(wjscrybuss); //// //采标程度 15 - String cycd = rowList.get("采标程度"); - sarBussStandAttrInfo.setCycd(cycd); + String cycd = rowList.get("采标程度"); + sarBussStandAttrInfo.setCycd(cycd); //// //引用标准 16 - String yybz = rowList.get("引用标准"); - sarBussStandAttrInfo.setYybz(yybz); + String yybz = rowList.get("引用标准"); + sarBussStandAttrInfo.setYybz(yybz); - String sycxclass = rowList.get("适用车型"); - sarBussStandAttrInfo.setSycxclass(sycxclass); + //上传时间 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = new Date(); + String format = simpleDateFormat.format(date); + sarBussStandAttrInfo.setXcsjbuss(format); - String nylxclass = rowList.get("能源类型"); - sarBussStandAttrInfo.setNylxclass(nylxclass); + String fbgbuss = rowList.get("发布稿"); + if (fbgbuss != null && !fbgbuss.equals("")) { + String[] split = fbgbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行" +fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setFbgbuss(s); + } + } - String sycpxclass = rowList.get("适用产品线"); - sarBussStandAttrInfo.setSycpxclass(sycpxclass); + String bzsmbuss = rowList.get("编制说明"); + if (bzsmbuss != null && !bzsmbuss.equals("")) { + String[] split = bzsmbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行"+ fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error("第"+ count +"行"+ fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setBzsmbuss(s); + } + } - String xcsjbuss = rowList.get("上传时间"); - if (StringUtils.isNotBlank(xcsjbuss)){ - sarBussStandAttrInfo.setXcsjbuss(xcsjbuss); - } + String lsbbbuss = rowList.get("历史版本"); + if (lsbbbuss != null && !lsbbbuss.equals("")) { + String[] split = lsbbbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setLsbbbuss(s); + } + } + String qtwjbuss = rowList.get("其他文件"); + if (qtwjbuss != null && !qtwjbuss.equals("")) { + String[] split = qtwjbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx") || split2.equals("png")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx/png格式的附件"); + return Result.error("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx/png格式的附件"); + } + } + sarBussStandAttrInfo.setQtwjbuss(s); + } + } - String txlbbuss = rowList.get("体系类别"); - sarBussStandAttrInfo.setTxlbbuss(txlbbuss); + String xgd = rowList.get("修改单"); + if (xgd != null && !xgd.equals("")) { + String[] split = xgd.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setXgd(s); + } + } -//// //备案日期 22 - String barq = rowList.get("备案日期"); - sarBussStandAttrInfo.setBarq(barq); + String glwjbuss = rowList.get("关联文件"); + if (glwjbuss != null && !glwjbuss.equals("")) { + String[] split = glwjbuss.split(","); + String s = ""; + if (split.length != 0) { + for (int j = 0; j < split.length; j++) { + String fjName = split[j]; + int one = fjName.lastIndexOf("."); + String split2 = fjName.substring(one + 1).toLowerCase(); + if (split2.equals("pdf") || split2.equals("ppt") || split2.equals("pptx") || split2.equals("doc") || split2.equals("docx") || split2.equals("xls") || split2.equals("xlsx")) { + String name = fileInfo.getName(); + String[] split1 = fileInfo.toString().split(name); + File files = new File(split1[0] + split[j]); + AttFileVo attFileVo = attFileEOService.saveFileInfo(files); + if (StringUtils.isNotBlank(attFileVo.getId())) { + s += "," + attFileVo.getAttId(); + } else { + s = attFileVo.getAttId(); + } + } else { + logger.info("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + return Result.error("第"+ count +"行"+fjName + "格式不正确,请上传pdf/ppt/pptx/doc/docx/xls/xlsx格式的附件"); + } + } + sarBussStandAttrInfo.setGlwjbuss(s); + } + } -//// //关联模块-乘用车VPPS编码 23 - String cycvppsbmbuss = rowList.get("关联模块-乘用车VPPS编码"); - sarBussStandAttrInfo.setCycvppsbmbuss(cycvppsbmbuss); + //文件上传人员 + if ((sarBussStandAttrInfo.getFbgbuss() != null && !sarBussStandAttrInfo.getFbgbuss().equals("")) + || (sarBussStandAttrInfo.getBzsmbuss() != null && !sarBussStandAttrInfo.getBzsmbuss().equals("")) + || (sarBussStandAttrInfo.getLsbbbuss() != null && !sarBussStandAttrInfo.getLsbbbuss().equals("")) + || (sarBussStandAttrInfo.getQtwjbuss() != null && !sarBussStandAttrInfo.getQtwjbuss().equals("")) + || (sarBussStandAttrInfo.getXgd() != null && !sarBussStandAttrInfo.getXgd().equals("")) + || (sarBussStandAttrInfo.getGlwjbuss() != null && !sarBussStandAttrInfo.getGlwjbuss().equals(""))){ + String userName = tsUserService.userIdByName(userId); + sarBussStandAttrInfo.setWjscrybuss(userName); + } -//// //关联模块--乘用车vpps中文名称 24 - String cycvppscnbuss = rowList.get("关联模块--乘用车vpps中文名称"); - sarBussStandAttrInfo.setCycvppscnbuss(cycvppscnbuss); + sarBussStandAttrInfo.setMenuId(menuId); -//// //关联模块--卡车VPPS编码 25 - String kcvppsbmbuss = rowList.get("关联模块--卡车VPPS编码"); - sarBussStandAttrInfo.setKcvppsbmbuss(kcvppsbmbuss); + String standCode = ifCodeAndName(sarBussStandAttrInfo.getStandName(), sarBussStandAttrInfo.getStandSort(), sarBussStandAttrInfo.getStandYear(), sarBussStandAttrInfo.getStandNumber()); + sarBussStandAttrInfo.setStandCode(standCode); + String json = com.alibaba.fastjson.JSONObject.toJSONString(sarBussStandAttrInfo); + if(StringUtils.isNotEmpty(json)){ + jsonList.add(json); + } + } + } + } + } + } + } catch (Exception e) { + FileUnZip.deleteDir(saveDirectory); + return Result.error("导入失败,需要导入的数据有问题或导入的企标标号或企标名称重复"); + } + } + } + //入库 + try { + for (String infoJson : jsonList) { + processCreateBuss(infoJson); + countSuccess++; + } + }catch (Exception e){ + return Result.error("导入失败,请查看导入的数据是否有问题"); + } -//// //关联模块--卡车vpps中文名称 26 - String kcvppscnbuss = rowList.get("关联模块--卡车vpps中文名称"); - sarBussStandAttrInfo.setKcvppscnbuss(kcvppscnbuss); + String msg = "成功导入" + countSuccess + "条"; + return Result.success("", msg, null); + } catch (Exception e) { + FileUnZip.deleteDir(saveDirectory); + return Result.error("导入失败,没有可导入的数据,请检查!"); + } + } - String qtwjbuss = rowList.get("附件"); - if (qtwjbuss != null && !qtwjbuss.equals("")) { - String[] split = qtwjbuss.split(","); - String s = ""; - if (split.length != 0) { - for (int j = 0; j < split.length; j++) { - String name = fileInfo.getName(); - String[] split1 = fileInfo.toString().split(name); - File files = new File(split1[0] + split[j]); - AttFileVo attFileVo = attFileEOService.saveFileInfo(files); - if (StringUtils.isNotBlank(attFileVo.getId())) { - s += "," + attFileVo.getAttId(); - } else { - s = attFileVo.getAttId(); - } - } - sarBussStandAttrInfo.setQtwjbuss(s); - } - } + /** + * + * @param standName + * @param standSort + * @param standYear + * @param standNumber + * @return + */ + private String ifCodeAndName(String standName, String standSort, String standYear, String standNumber) { - String standSort = rowList.get("企标类型"); - if (StringUtils.isNotBlank(standSort)){ - if (standSort.length() > 100){ - return Result.error("企标类型输入过长"); - } - sarBussStandAttrInfo.setStandSort(standSort); - } - - String standYear = rowList.get("标准年份"); - if (StringUtils.isNotBlank(standYear)){ - if (standYear.length() > 100){ - return Result.error("标准年份输入过长"); - } - sarBussStandAttrInfo.setStandYear(standYear); - } - - List list = new ArrayList<>(); - list.add(sarBussStandAttrInfo); - - com.alibaba.fastjson.JSONArray json = com.alibaba.fastjson.JSONArray.parseArray(JSON.toJSONString(list)); - com.alibaba.fastjson.JSONObject jsonObjects = null; - for (int j = 0; j < json.size(); j++) { - jsonObjects = json.getJSONObject(j); - } - infoJson = String.valueOf(jsonObjects); - - //入库 - processCreateBuss(infoJson); - countSuccess++; - } - } - } - } - } - }catch (Exception e){ - FileUnZip.deleteDir(saveDirectory); - return Result.error("导入失败,请查看需要导入的企标标准号和企标名称是否已存在"); + SarBussionessStand sarBussionessStand = new SarBussionessStand(); + //拼接企标编号 + String standCode = standSort + " " + standNumber + "-" + standYear; + sarBussionessStand.setStandCode(standCode); + // 根据标准号判断数据是否已存在 + //2021年4月9日 此处检查当前是否存在standId + QueryWrapperqueryWrapper = new QueryWrapper<>(); + queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) + .eq(standName != null,"STAND_NAME",standName); + List list = iSarBussionessStandService.list(queryWrapper); + Integer valIdFlag = 0; + for (SarBussionessStand stand :list){ + if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ + valIdFlag = stand.getValidFlag(); + if (valIdFlag == 0){ + throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); } } } - String msg = "成功导入" + countSuccess + "条"; - return Result.success("",msg,null); - }catch (Exception e){ - FileUnZip.deleteDir(saveDirectory); - return Result.error("导入失败,没有可导入的数据,请检查!"); - } + return sarBussionessStand.getStandCode(); } private static List readImpExcelFile(String path) { @@ -2375,22 +2817,27 @@ public class SarBussionessStandServiceImpl extends ServiceImplqueryWrapper = new QueryWrapper<>(); - queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) - .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); - Integer count = iSarBussionessStandService.count(queryWrapper); - if (count > 0){ - //return Result.error("当前企标标准号和企标名称已存在"); - throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); - } - String standCode = ""; - if(StringUtils.isNotBlank(sarBussionessStand.getStandCode()) && !"null".equals(sarBussionessStand.getStandCode())){ - standCode = sarBussionessStand.getStandCode(); - } - List lawsList = iSarBussionessStandService.selectStandardsByStandNumber(standCode); + // String textStatusBussShow = sarBussionessStand.getTextStatusBuss(); + +// //拼接企标编号 +// String standCode = sarBussionessStand.getStandSort() + " " + sarBussionessStand.getStandNumber() + "-" + sarBussionessStand.getStandYear(); +// sarBussionessStand.setStandCode(standCode); +// // 根据标准号判断数据是否已存在 +// //2021年4月9日 此处检查当前是否存在standId +// QueryWrapperqueryWrapper = new QueryWrapper<>(); +// queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) +// .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); +// List list = iSarBussionessStandService.list(queryWrapper); +// Integer valIdFlag = 0; +// for (SarBussionessStand stand :list){ +// if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ +// valIdFlag = stand.getValidFlag(); +// if (valIdFlag == 0){ +// throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); +// } +// } +// } //此处判断是否是带入的标准 if(StringUtils.isNotBlank(sarBussionessStand.getId())) { @@ -2408,8 +2855,8 @@ public class SarBussionessStandServiceImpl extends ServiceImpl dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name"); Map dicMap = dicInfo.stream() - .filter(item-> !item.getDicTypeName().isEmpty()) - .collect(Collectors.toMap(DicTypeEO::getDicTypeName,DicTypeEO::getDicTypeCode,(value1, value2 )->value2)); + .filter(item-> !item.getDicTypeCode().isEmpty()) + .collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getDicTypeName,(value1, value2 )->value2)); for(SarBussStandAttrInfoExecl row : sarlist){ attrInfoDetailsImport(row); @@ -3958,4 +4405,54 @@ public class SarBussionessStandServiceImpl extends ServiceImpl saveSarBussionessStand(SarBussionessStand sarBussionessStandEO) throws Exception { + //标准信息表中插入一条数据 + sarBussionessStandEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarBussionessStandEO.setCreationTime(new Date()); + sarBussionessStandEO.setModifyTime(new Date()); + sarBussionessStandEO.setId(UUIDUtils.randomUUID20()); + + if (StringUtils.isEmpty(sarBussionessStandEO.getMenuId())){ + sarBussionessStandEO.setMenuId("3"); + } + //根据新建标准所在目录,确定此处是否需要在标准目录关联表中插入数据 + if (StringUtils.isNotEmpty(sarBussionessStandEO.getMenuId())) { + SarBussStandMenu sarStandMenuEO = new SarBussStandMenu(); + sarStandMenuEO.setBussStandId(sarBussionessStandEO.getId()); + sarStandMenuEO.setMenuId(sarBussionessStandEO.getMenuId()); + sarStandMenuEO.setValidFlag(ValueStateEnum.VALUE_TRUE.getValue()); + sarStandMenuEO.setId(UUIDUtils.randomUUID20()); + sarBussStandMenuEODao.insertSelective(sarStandMenuEO); + } + int insertresult = this.baseMapper.insert(sarBussionessStandEO); + if (insertresult >= 1) { + // 根据代替标准号 ,修改代替标准号标准中的,被代替标准号 + updateReplaceConnect(sarBussionessStandEO); + //编写预警信息 +// writeWarnings(sarBussionessStandEO); + // 处理属性表信息 + if (StringUtils.isNotBlank(sarBussionessStandEO.getSarStandAttrEOStr())) { + createStandAttrInfo(sarBussionessStandEO,false); + } + // 增加关联事件 + String sortName = sysInfoEOService.getDicNamesByCodes(sarBussionessStandEO.getStandSort(),"JKSADFH564S"); + String number = sortName + " " + sarBussionessStandEO.getStandCode(); + if (StringUtils.isNotBlank(sarBussionessStandEO.getStandYear())) { + number += "-" + sarBussionessStandEO.getStandYear(); + } + String content = "入库" + number + " 《" + sarBussionessStandEO.getStandName() + "》"; + String prcCreateUser = StringUtils.isNotBlank(sarBussionessStandEO.getPrcCreateUser()) ? sarBussionessStandEO.getPrcCreateUser() : ""; + sarUpdLogEOService.createBaseProcessLog(sarBussionessStandEO.getId(),"BUSINESS",content,prcCreateUser); + saveNewFeed(sarBussionessStandEO,"2"); + if(elasflag) { + attrInfoShowSearchDetails(sarBussionessStandEO,"add"); + createStandMQService.sendBussStandMQ(sarBussionessStandEO,"add"); + } + return Result.success("00", "插入数据成功", sarBussionessStandEO); + } else { + return Result.error("01", "插入输入过程中出错"); + } + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java index 13c08cd7..3eadc5af 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/ITsResourceService.java @@ -59,4 +59,7 @@ public interface ITsResourceService extends IService { List getChildMenuList(String menuId); boolean dealWithData(); + + List getByMenuId(String menuId)throws Exception; + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java index 0815fd38..dc4a8ae9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarResource/service/impl/TsResourceServiceImpl.java @@ -1,5 +1,6 @@ package com.adc.da.slrs.sarResource.service.impl; +import com.adc.da.exception.AdcDaBaseException; import com.adc.da.http.ResponseMessage; import com.adc.da.http.Result; @@ -490,6 +491,14 @@ public class TsResourceServiceImpl extends ServiceImpl getByMenuId(String menuId) throws Exception{ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ID",menuId); + List tsResources = baseMapper.selectList(queryWrapper); + return tsResources; + } + public boolean dealData(TsResource tsResource,Map map){ if (null!=tsResource.getParentId() && !"".equals(tsResource.getParentId()) && !"0".equals(tsResource.getParentId())){ tsResource.setParentIds(tsResource.getParentIds()+tsResource.getParentId()+","); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java index b523c42a..1fd546fe 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/dao/TsUserDao.java @@ -72,4 +72,7 @@ public interface TsUserDao extends BaseMapper { Integer selectUserByRole(@Param("role") RoleUserDTO roleSelectDTO); List selectUserByRoleByPage(@Param("role") RoleUserDTO roleSelectDTO); + + @Select("select UNAME from ts_user where USID = #{userId}") + String selectByName(String userId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index d850a34a..fd625467 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -90,4 +90,6 @@ public interface ITsUserService extends IService { List selectNameById(List strings,String type); IPage getAllUsers(TsUser tsUser); + + String userIdByName(String userId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index cb59428d..d4310ff6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -522,5 +522,11 @@ public class TsUserServiceImpl extends ServiceImpl implements return tsUserPage; } + @Override + public String userIdByName(String userId) { + String userName = tsUserDao.selectByName(userId); + return userName; + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java index b91948c6..425473c5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarVppsTree/dao/SarVppsTreeDao.java @@ -2,6 +2,8 @@ package com.adc.da.slrs.sarVppsTree.dao; import com.adc.da.slrs.sarVppsTree.entity.SarVppsTree; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

@@ -13,4 +15,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface SarVppsTreeDao extends BaseMapper { + @Select("select sar_vpps_tree.CHINESE_NAME from sar_vpps_tree where sar_vpps_tree.VPPS_CODE = #{cycvppsbmbuss} and sar_vpps_tree.TYPE = 'car';") + String getCycvppscnbuss(@Param("cycvppsbmbuss") String cycvppsbmbuss); + + @Select("select sar_vpps_tree.CHINESE_NAME from sar_vpps_tree where sar_vpps_tree.VPPS_CODE = #{kcvppsbmbuss} and sar_vpps_tree.TYPE = 'truck';") + String getKcvppscnbuss(@Param("kcvppsbmbuss") String kcvppsbmbuss); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java index d1c53080..4a18ffbb 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/controller/SarFileSplitItemsEOController.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ZipUtil; import com.adc.da.att.controller.AttFileEOController; import com.adc.da.att.entity.AttFileEO; import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.att.util.CommonExportUtil; import com.adc.da.base.web.BaseController; import com.adc.da.common.ConvertHtml2Excel; import com.adc.da.common.FileUnZip; @@ -546,8 +547,7 @@ public class SarFileSplitItemsEOController extends BaseController result = new ArrayList<>(); // 解析excel,并返回校验信息 @@ -583,6 +583,12 @@ public class SarFileSplitItemsEOController extends BaseController queryByPage(BasePage page) throws Exception{ @@ -184,8 +188,9 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService String regex = "^[0-9]*$"; for (IBodyElement element : elements) { // 段落 + XWPFParagraph p = null; if (element instanceof XWPFParagraph) { - XWPFParagraph p = (XWPFParagraph)element; + p = (XWPFParagraph)element; // 处理段落生成编号不识别问题 String paragraphString = p.getText(); @@ -660,8 +665,36 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService } private void addItermsConditionsOfTable(SarFileSplitItemsEO message, List itemsValList, XWPFTable table) throws IOException { + StringBuffer buffer = new StringBuffer(); StringBuilder tabaleStringNew = new StringBuilder(""); //将表格转为html字符串 + int numberOfRows = table.getNumberOfRows(); + for (int i = 0; i tableCells = table.getRow(i).getTableCells(); + for (int j = 0; j paragraphs = tableCells.get(j).getParagraphs(); + for (XWPFParagraph data : paragraphs){ + for (XWPFRun xwrun : data.getRuns()) { + VerticalAlign subscript = xwrun.getSubscript(); + String smalltext = xwrun.getText(0); + if (ObjectUtils.isNotEmpty(smalltext)) { + switch (subscript) { + case BASELINE: + xwrun.setText(smalltext); + break; + case SUBSCRIPT: + xwrun.setText("" + smalltext + ""); + break; + case SUPERSCRIPT: + xwrun.setText("" + smalltext + ""); + break; + } + } + } + } + } + } + ReadWordTable readWordTable = new ReadWordTable(); String tableStr = readWordTable.readTable(table); tabaleStringNew.append(tableStr); @@ -709,6 +742,13 @@ public class SarFileSplitInfoEOServiceImpl implements SarFileSplitInfoEOService // } } } + + for (SarFileSplitInfoEO data : rows){ + List dicTypeEO = dicTypeEODao.selectPidByCode(data.getFileType()); + if(dicTypeEO!=null){ + data.setFileTypeShow(dicTypeEO.get(0).getDicTypeName()); + } + } return rows; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java index f3a28e60..5874079f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/standardSplit/service/impl/SarFileSplitItemsEOServiceImpl.java @@ -71,6 +71,9 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic @Autowired private SarFileSplitInfoEOService sarFileSplitInfoEOService; + @Value("${elasticsearch.img}") + private String elasticsearchImg;//图片拆分自调地址 + @Override public Map getByPage(SarFileSplitItemsEOPage page) { @@ -468,7 +471,6 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic }else { infoId = UUIDUtils.randomUUID20(); } - //验证导入数据是否符合规则 Map map = validateImportDatas(list,filepath); boolean isOk = (boolean) map.get("result"); if (!isOk) { @@ -530,12 +532,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -564,12 +567,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -600,12 +604,13 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic List nowfilelist = FileUnZip.readFileByFilename(filepath, valArr[i]); if (nowfilelist != null && !nowfilelist.isEmpty()) { AttFileVo attFileVo = attFileEOService.saveFileInfo(nowfilelist.get(0)); - if(attFileVo!=null){ + if (attFileVo != null) { isText = false; - String path = "file" + attFileVo.getFilePath()+attFileVo.getFileName(); - String imgCon = ""; + //String path = "E:/data/slrs/file" + attFileVo.getFilePath()+attFileVo.getOldFileName(); + String pathSrc = elasticsearchImg + "/api/att/attFile/getFileInfo?fileId=" + attFileVo.getId(); + String imgCon = ""; valEO.setType("IMG"); - valEO.setItemContent(imgCon); + valEO.setItemContent(imgCon + "

" + importDto.getMag() + "

"); } } if (isText) { @@ -629,6 +634,7 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic sarFileSplitInfoEO.setValidFlag(0); sarFileSplitInfoEO.setResult("1"); sarFileSplitInfoEO.setModifyUser(LoginUserUtil.getUserId()); + sarFileSplitInfoEO.setStandId(sarFileSplitInfoEO.getStandId()); sarFileSplitInfoEOService.insertSelective(sarFileSplitInfoEO); } @@ -640,6 +646,14 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic menuPidMap.put("总目录",menuid ); } for (SarFileSplitItemsEO itemsEO : addItemsEOList) { + List itemValEOList = itemsEO.getItemValEOList(); + if(itemValEOList!=null){ + String tupian = ""; + for (SarFileSplitItemsValEO data : itemValEOList){ + tupian = tupian+data.getItemContent(); + } + itemsEO.setItermsConditions(tupian); + } String menuIdT = createItemsInfo(itemsEO,infoId,countSuccess,menuPidMap); menuPidMap.put(itemsEO.getItemsNum(),menuIdT); countSuccess++; @@ -724,6 +738,11 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic int num = 0; //记录是第几条数据 //循环验证数据 for (SarFileSplitItemsImportDto dto : datas) { + + if(dto.getItemsNum().contains("模板说明")){ + continue; + } + i++; int countError = 0; //记录失败数据数量 DicTypeEO dic = new DicTypeEO(); @@ -755,148 +774,151 @@ public class SarFileSplitItemsEOServiceImpl implements SarFileSplitItemsEOServic countError++; } } - String saveApplyCode = ""; - if (StringUtils.isNotEmpty(dto.getApplyArctic())) { - dto.setApplyArctic(dto.getApplyArctic().replace(",", ",")); - String applys[] = dto.getApplyArctic().split(","); - if(applys.length>20){ - errorMsg += "适用车型选项不能超过20个;"; - countError++; - } else if (dto.getApplyArctic().length() > 500) { - errorMsg += "适用车型不能超过500个字符;"; - countError++; - } else { - Set set = new HashSet(); - for (int a = 0; a < applys.length; a++) { - dic.setDicTypeName(applys[a]); - dic.setDicTypeCode("ENERGYTYPES"); - getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); - if (getDic.size() == 1) { - saveApplyCode += getDic.get(0).getDicTypeCode() + ","; - } else if (getDic.size() > 0) { - errorMsg += "适用车型" + applys[a] + "不明确;"; - countError++; - break; - } else { - errorMsg += "适用车型" + applys[a] + "不存在;"; - countError++; - break; - } - set.add(applys[a]); - if (a==applys.length-1 && applys.length != set.size()){ - errorMsg += "适用车型存在重复数据;"; - countError++; - } - } - if (!saveApplyCode.equals("")){ - dto.setApplyArctic(saveApplyCode.substring(0,saveApplyCode.length()-1)); - } - } - } - if(!claimStypelist.contains(dto.getClaimType())) { - if (StringUtils.isNotEmpty(dto.getClaimType())) { - dic.setDicTypeName(dto.getClaimType()); - dic.setDicTypeCode("REQUESTTYPE"); - if (dto.getClaimType().length() > 500) { - errorMsg += "要求类型不能超过500个字符;"; - countError++; - } else { - getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); - Set set = new HashSet(); - if (getDic != null) { - if (getDic.size() == 1) { - dto.setClaimType(getDic.get(0).getDicTypeCode()); - claimStypelist.add(getDic.get(0).getDicTypeCode()); - } else if (getDic.size() > 0) { - errorMsg += "要求类型不明确;"; - countError++; - } else { - errorMsg += "要求类型不存在;"; - countError++; - } - } else { - errorMsg += "要求类型不存在;"; - countError++; - } - } - } - } - if(StringUtils.isNotEmpty(dto.getItermsConditions())){ - if(dto.getItermsConditions().length() > 50000){ - errorMsg += "内容简介不能超过50000个字符;"; + // String saveApplyCode = ""; +// if (StringUtils.isNotEmpty(dto.getApplyArctic())) { +// dto.setApplyArctic(dto.getApplyArctic().replace(",", ",")); +// String applys[] = dto.getApplyArctic().split(","); +// if(applys.length>20){ +// errorMsg += "适用车型选项不能超过20个;"; +// countError++; +// } else if (dto.getApplyArctic().length() > 500) { +// errorMsg += "适用车型不能超过500个字符;"; +// countError++; +// } else { +// Set set = new HashSet(); +// for (int a = 0; a < applys.length; a++) { +// dic.setDicTypeName(applys[a]); +// dic.setDicTypeCode("ENERGYTYPES"); +// getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); +// if (getDic.size() == 1) { +// saveApplyCode += getDic.get(0).getDicTypeCode() + ","; +// } else if (getDic.size() > 0) { +// errorMsg += "适用车型" + applys[a] + "不明确;"; +// countError++; +// break; +// } else { +// errorMsg += "适用车型" + applys[a] + "不存在;"; +// countError++; +// break; +// } +// set.add(applys[a]); +// if (a==applys.length-1 && applys.length != set.size()){ +// errorMsg += "适用车型存在重复数据;"; +// countError++; +// } +// } +// if (!saveApplyCode.equals("")){ +// dto.setApplyArctic(saveApplyCode.substring(0,saveApplyCode.length()-1)); +// } +// } +// } +// if(!claimStypelist.contains(dto.getClaimType())) { +// if (StringUtils.isNotEmpty(dto.getClaimType())) { +// dic.setDicTypeName(dto.getClaimType()); +// dic.setDicTypeCode("REQUESTTYPE"); +// if (dto.getClaimType().length() > 500) { +// errorMsg += "要求类型不能超过500个字符;"; +// countError++; +// } else { +// getDic = dicTypeEODao.getDicTypeByDicTypeName(dic); +// Set set = new HashSet(); +// if (getDic != null) { +// if (getDic.size() == 1) { +// dto.setClaimType(getDic.get(0).getDicTypeCode()); +// claimStypelist.add(getDic.get(0).getDicTypeCode()); +// } else if (getDic.size() > 0) { +// errorMsg += "要求类型不明确;"; +// countError++; +// } else { +// errorMsg += "要求类型不存在;"; +// countError++; +// } +// } else { +// errorMsg += "要求类型不存在;"; +// countError++; +// } +// } +// } +// } + if (StringUtils.isEmpty(dto.getMag())) { + errorMsg += "条款内容不能为空;"; + countError++; + } else { + if(dto.getMag().length() > 50000){ + errorMsg += "条款内容不能超过50000个字符;"; countError++; } } - if(!foList.contains(dto.getFo())) { - if (StringUtils.isNotEmpty(dto.getFo())) { - if (dto.getFo().length() > 200) { - errorMsg += "FO不能超过200个字符;"; - countError++; - } else { - String uname = roleEODao.getIdsByNames(dto.getFo().split(",")); - if (StringUtils.isNotBlank(uname)) { - dto.setFo(uname); - foList.addAll(Arrays.asList(uname.split(","))); - } else { - errorMsg += "FO不存在;"; - countError++; - } - } - } - } - if(!dutyEngineerList.contains(dto.getDutyEngineer())) { - if (StringUtils.isNotEmpty(dto.getDutyEngineer())) { - if (dto.getDutyEngineer().length() > 100) { - errorMsg += "责任工程师不能超过100个字符;"; - countError++; - } else { - String emList = roleEODao.getIdsByNames(dto.getDutyEngineer().split(",")); - if (StringUtils.isNotBlank(emList)) { - dto.setDutyEngineer(emList); - dutyEngineerList.addAll(Arrays.asList(dto.getDutyEngineer().split(","))); - } else { - errorMsg += "系统中没有用户:" + dto.getDutyEngineer(); - countError++; - } - } - } - } - if(StringUtils.isNotEmpty(dto.getSvpps())){ - if(dto.getSvpps().length() > 200){ - errorMsg += "SVPPS不能超过200个字符;"; - countError++; - }else { - String svppsShow = sysInfoEOService.getSvppsIdByName(dto.getSvpps()); - dto.setSvpps(svppsShow); - } - } - if(StringUtils.isNotEmpty(dto.getBusStandCover())){ - if(dto.getBusStandCover().length() > 200){ - errorMsg += "企标覆盖关系不能超过200个字符;"; - countError++; - }else { - List getDicType = dicTypeEODao.getDicTypeByDicCode("BZFGGXOUIUJ"); - for (DicTypeEO dicTypeEO:getDicType) { - if (dicTypeEO.getDicTypeName().equals(dto.getBusStandCover())){ - dto.setBusStandCover(dicTypeEO.getDicTypeCode()); - } - } - } - } - if(StringUtils.isNotBlank(dto.getResponsibleUnit())){ - if(dto.getResponsibleUnit().length() > 100){ - errorMsg += "责任部门不能超过100个字符;"; - countError++; - }else { - String id = sysInfoEOService.getOrgIdByName(dto.getResponsibleUnit(),"DEPART"); - if(StringUtils.isNotBlank(id)){ - dto.setResponsibleUnit(id); - } else { - errorMsg += "系统中没有部门"+dto.getResponsibleUnit(); - countError++; - } - } - } +// if(!foList.contains(dto.getFo())) { +// if (StringUtils.isNotEmpty(dto.getFo())) { +// if (dto.getFo().length() > 200) { +// errorMsg += "FO不能超过200个字符;"; +// countError++; +// } else { +// String uname = roleEODao.getIdsByNames(dto.getFo().split(",")); +// if (StringUtils.isNotBlank(uname)) { +// dto.setFo(uname); +// foList.addAll(Arrays.asList(uname.split(","))); +// } else { +// errorMsg += "FO不存在;"; +// countError++; +// } +// } +// } +// } +// if(!dutyEngineerList.contains(dto.getDutyEngineer())) { +// if (StringUtils.isNotEmpty(dto.getDutyEngineer())) { +// if (dto.getDutyEngineer().length() > 100) { +// errorMsg += "责任工程师不能超过100个字符;"; +// countError++; +// } else { +// String emList = roleEODao.getIdsByNames(dto.getDutyEngineer().split(",")); +// if (StringUtils.isNotBlank(emList)) { +// dto.setDutyEngineer(emList); +// dutyEngineerList.addAll(Arrays.asList(dto.getDutyEngineer().split(","))); +// } else { +// errorMsg += "系统中没有用户:" + dto.getDutyEngineer(); +// countError++; +// } +// } +// } +// } +// if(StringUtils.isNotEmpty(dto.getSvpps())){ +// if(dto.getSvpps().length() > 200){ +// errorMsg += "SVPPS不能超过200个字符;"; +// countError++; +// }else { +// String svppsShow = sysInfoEOService.getSvppsIdByName(dto.getSvpps()); +// dto.setSvpps(svppsShow); +// } +// } +// if(StringUtils.isNotEmpty(dto.getBusStandCover())){ +// if(dto.getBusStandCover().length() > 200){ +// errorMsg += "企标覆盖关系不能超过200个字符;"; +// countError++; +// }else { +// List getDicType = dicTypeEODao.getDicTypeByDicCode("BZFGGXOUIUJ"); +// for (DicTypeEO dicTypeEO:getDicType) { +// if (dicTypeEO.getDicTypeName().equals(dto.getBusStandCover())){ +// dto.setBusStandCover(dicTypeEO.getDicTypeCode()); +// } +// } +// } +// } +// if(StringUtils.isNotBlank(dto.getResponsibleUnit())){ +// if(dto.getResponsibleUnit().length() > 100){ +// errorMsg += "责任部门不能超过100个字符;"; +// countError++; +// }else { +// String id = sysInfoEOService.getOrgIdByName(dto.getResponsibleUnit(),"DEPART"); +// if(StringUtils.isNotBlank(id)){ +// dto.setResponsibleUnit(id); +// } else { +// errorMsg += "系统中没有部门"+dto.getResponsibleUnit(); +// countError++; +// } +// } +// } if (countError > 0) { stringMessage.add(errorMsg); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java index 1d3cf766..c3e01dd4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/FieldConvertUtil.java @@ -68,6 +68,18 @@ public class FieldConvertUtil { "在产车实施日期(项目),EOP实施日期(项目),实施说明,认证交付物,认证对象,监管类型,适用车辆类型,责任部门,相关部门,FO,项目评估角色," + "文本说明,标签,要求类型,清单类型,入库模块"; + public static String exportName = "填写说明\n" + + "1.导入数据从第三行开始,第一行为填写说明,第二行为表头,第三行是正式数据\n" + + "2.所有带*号的字段必须填写\n" + + "3.企标类别(例如:BZJ、FT、Q-HD、Q-IOUM、Q/ASB、Q/BFC、Q/BQB等),文本状态(包含:发布、被代替、参考、即将实施、有效、直接上传、作废、待修订-指的其他企业标准),采用标准(包含:IDT等同采用、NEQ非等效采用、MOD修改采用)字段是单选属性,必须和系统中的对应字段选项相匹配\n" + + "4.适用车型,能源类型,适用产品线字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文逗号分割\n" + + "5.发布日期,企标实施日期字段为年-月-日格式,必须精确到日,例如(2023-04-01)\n" + + "6.企标编号,企标名称,企标英文名称字段为文本,填写文本内容\n" + + "7.关联模块-乘用车VPPS编码和关联模块--卡车VPPS编码是填写数据库中已有的编码从而带出乘用车VPPS名称和卡车VPPS名称\n" + + "8.发布稿,编制说明,历史版本,其他文件,修改单,关联文件为附件文件,需要放在Excel文档同级目录中"; + + public static String exportFieldName = "*企标类别,企标编号,*标准年份,*企标名称,企标英文名称,*文本状态,发布日期,企标实施日期,起草部门,起草人,适用车型,能源类型,适用产品线,体系类别,关联模块-乘用车VPPS编码,关联模块--卡车VPPS编码,发布稿,编制说明,历史版本,其他文件,修改单,代替企标编号,采用标准,采标程度,引用标准,关联文件,"; + /*** * @Description: Clob类型 转String * @Author: super_liu diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml new file mode 100644 index 00000000..585e3510 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarAgenIdAcceptButton/SarAgenIdAcceptButtonMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml index e2abcc96..7b48e2c0 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandardsInfo/SarStandardsInfoMapper.xml @@ -1956,5 +1956,14 @@ + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java b/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java new file mode 100644 index 00000000..d91616c3 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/CommonExportUtil.java @@ -0,0 +1,269 @@ +package com.adc.da.att.util; + +import com.adc.da.util.exception.AdcDaBaseException; +import com.adc.da.util.utils.IOUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; +import java.util.Map; + +/** + * @Description + * @Author liyawei + * @Create 2021/7/26 + */ +public class CommonExportUtil { + + private static final Logger logger = LoggerFactory.getLogger(CommonExportUtil.class); + + /** + * 导出excel + * @param columnList 数据库字段名集合 + * @param headerList 导出表头集合 + * @param datalist + * @param response + * @param request + * @param exportName + * @param tableName + * @throws Exception + */ + public static void exportExcel(List columnList, List headerList, List> datalist, HttpServletResponse response, HttpServletRequest request, + String exportName, String tableName) throws Exception{ + final OutputStream os = response.getOutputStream(); // 获得ServletOutputStream对象 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + //response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode(exportName+".xlsx", "UTF-8") + ';'); + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(exportName+".xlsx", request)); + //导出excel + copyrightContractCount(columnList ,headerList ,datalist ,os ,tableName); + } + + /** + * + * @param fileName 文件名 + * @param headers 表头 + * @param desc 填写说明 + * @param response + * @param request + * @throws Exception + */ + public static void exportTemplate(String fileName , String[] headers , String desc, HttpServletResponse response, HttpServletRequest request) throws Exception { + // 声明一个工作薄 + XSSFWorkbook workbook = new XSSFWorkbook(); + // 生成一个表格 + XSSFSheet sheet = workbook.createSheet(); + //设置表格样式 + XSSFCellStyle cellStyle = (XSSFCellStyle) generateCommonCellStyle(workbook,true); + OutputStream os = response.getOutputStream(); + try{ + // 设置表格默认列宽度为15个字节 + //sheet.setDefaultColumnWidth((short) 18); + XSSFRow row = sheet.createRow(0); + for (short i = 0; i < headers.length; i++) { + XSSFCell cell = row.createCell(i); + XSSFRichTextString text = new XSSFRichTextString(headers[i]); + cell.setCellValue(text); + cell.setCellStyle(cellStyle); + + } + + // 如果填写说明存在,则创建 + if (StringUtils.isNotEmpty(desc)){ + XSSFRow descRow = sheet.createRow(1); + descRow.setHeightInPoints(80.0F); + XSSFCell descCell = descRow.createCell(0); + descCell.setCellValue(desc); + descCell.setCellStyle(generateDescCellStyle(workbook,true)); + + CellRangeAddress region = new CellRangeAddress(1, 1,0,headers.length); + sheet.addMergedRegion(region); + } + + response.setCharacterEncoding("UTF-8"); +// response.setContentType("application/force-download"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("Content-Disposition", + "attachment; filename=" + ReadExcel.encodeFileName(fileName+".xlsx", request)); + response.flushBuffer(); + + workbook.write(os); + } catch (IOException e) { + logger.error("发生异常,异常信息为:"+e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + }finally { + workbook.close(); + IOUtils.closeQuietly(os); + } + } + /** + * 导出excel + * @param columnList + * @param headerList + * @param dataList + * @param os + * @param tableName + * @throws Exception + */ + public static void copyrightContractCount(List columnList,List headerList,List dataList ,OutputStream os,String tableName) throws Exception{ + try{ + Workbook workbook = new XSSFWorkbook(); + //产生通用单元格样式 + CellStyle style = generateCommonCellStyle(workbook,false); + //创建sheet表单,同时写入标题 + CellStyle titleStyle = generateCommonCellStyle(workbook,true); + Sheet sheet = generateSheet(workbook, tableName, columnList, titleStyle); + //写入标题行 + writeColumnName(sheet ,headerList ,titleStyle); + //写入数据行 + writeDataRow(sheet, columnList, dataList, style); + //输入excel文件 + workbook.write(os); + os.close(); + //os.flush(); + + if (workbook != null) { + workbook.close(); + } + } catch (IOException e) { + logger.error("发生异常,异常信息为:"+e.getMessage(), e); + throw new AdcDaBaseException("下载文件失败,请重试"); + }finally { + IOUtils.closeQuietly(os); + } + } + + /** + * 表格导入数据 + * @param sheet + * @param columnList + * @param dataList + * @param style + */ + public static void writeDataRow(Sheet sheet, List columnList, List> dataList, CellStyle style){ + //columnList 列数 + int rowIndex = 2; + for(int i = 0 ; i rowDataMap = dataList.get(i); + if (columnList != null && columnList.size() > 0) { + for (int j = 0; j < columnList.size() ;j++) { + //创建单元格 + Cell dataCell = dataRow.createCell(j); + //设置单元格样式 + dataCell.setCellStyle(style); + //从数据map中获取对应列的数据 + if(rowDataMap.get(columnList.get(j)) == null){ + continue; + } + String value = String.valueOf(rowDataMap.get(columnList.get(j))); + //将数据写入单元格 + dataCell.setCellValue(value); + } + } + } + } + + + /** + * 第二行设置导出的列名 + * @param sheet + * @param headerList + * @param style + */ + public static void writeColumnName(Sheet sheet , List headerList , CellStyle style){ + Row titleRow = sheet.createRow(1); + int index = 0; + for(int i = 0;i < headerList.size();i ++){ + Cell titleCell = titleRow.createCell(index); + titleCell.setCellStyle(style); + titleCell.setCellValue(headerList.get(i)); + index ++; + } + } + + /** + * 创建sheet表单,第一行合并单元格设置表格名 + * @param workbook + * @param tableName + * @param columnList + * @param style + * @return + */ + public static Sheet generateSheet(Workbook workbook, String tableName, List columnList, CellStyle style){ + //创建sheet表单 + Sheet sheet = workbook.createSheet(tableName); + //在表单中创建一行 + Row tableRow = sheet.createRow(0); + //在行中创建单元格 + for(int i = 0;i < columnList.size();i ++){ + Cell cell = tableRow.createCell(i); + cell.setCellStyle(style); + } + //获取第一个单元格 + Cell tableCell = tableRow.getCell(0); + //给第一个单元格添加数据 + tableCell.setCellValue(tableName); + //合并单元格 + sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, columnList.size()-1)); + return sheet; + } + + /** + * 设置单元格样式 + * @param workbook + * @return + */ + public static CellStyle generateCommonCellStyle(Workbook workbook, boolean isBold){ + //设置表格样式 + CellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setBorderBottom(BorderStyle.THIN); //下边框 + cellStyle.setBorderLeft(BorderStyle.THIN); //左边框 + cellStyle.setBorderRight(BorderStyle.THIN); //右边框 + cellStyle.setBorderTop(BorderStyle.THIN); //上边框 + cellStyle.setAlignment(HorizontalAlignment.CENTER); // 水平居中 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 上下居中 + cellStyle.setWrapText(true); // 设置自动换行 + + Font headerFont = getFont(workbook, (short) 10,isBold); // 创建字体样式 + cellStyle.setFont(headerFont); // 为标题样式设置字体样式 + + return cellStyle; + } + + + /** + * 设置填写说明样式 + * @param workbook + * @return + */ + public static CellStyle generateDescCellStyle(Workbook workbook, boolean isBold){ + //设置表格样式 + CellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 上下居中 + cellStyle.setWrapText(true); // 设置自动换行 + + Font headerFont = getFont(workbook, (short) 10,isBold); // 创建字体样式 + cellStyle.setFont(headerFont); // 为标题样式设置字体样式 + + return cellStyle; + } + + public static Font getFont(Workbook workbook, short size, boolean isBold) { + Font font = workbook.createFont(); + font.setFontName("宋体"); // 字体样式 + font.setBold(isBold); // 是否加粗 + font.setFontHeightInPoints(size); // 字体大小 + return font; + } +} diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java b/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java new file mode 100644 index 00000000..1f0e88da --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/ReadExcel.java @@ -0,0 +1,175 @@ +package com.adc.da.att.util; + +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; + +/** + * @des : excel信息读取 + * @author: duyunbao + * @email: 1114808306@qq.com + * @date 2017/10/27 17:06 + **/ +public class ReadExcel { + private static final Logger logger = LoggerFactory.getLogger(ReadExcel.class); + + /** + * 总行数 + */ + private int totalRows = 0; + /** + * 总条数 + */ + private int totalCells = 0; + /** + * 错误信息接收器 + */ + private String errorMsg; + + public ReadExcel() { + // 不做操作 + } + + public int getTotalRows() { + return totalRows; + } + + public int getTotalCells() { + return totalCells; + } + + public String getErrorInfo() {//获取错误信息 + return errorMsg; + } + + /** + * @method_name: validateExcel + * @des : 验证excel格式 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 17:07 + **/ + public boolean validateExcel(String filePath) { + if (filePath == null || !(WDWUtil.isExcel2003(filePath) || WDWUtil.isExcel2007(filePath))) { + errorMsg = "文件名不是excel格式"; + return false; + } + return true; + } + + /** + * @method_name: getExcelInfo + * @des : 读EXCEL文件,获取信息集合 + * @author: duyunbao + * @param: [fileName, Mfile] + * @return: org.apache.poi.ss.usermodel.Workbook + * @date: 2017/10/27 17:08 + **/ + public Workbook getExcelInfo(String fileName, MultipartFile Mfile) { + Workbook wb = null; + //把spring文件上传的MultipartFile转换成CommonsMultipartFile类型 + CommonsMultipartFile cf = (CommonsMultipartFile) Mfile; //获取本地存储路径 + //初始化输入流 + InputStream is = null; + try { + //根据文件名判断文件是2003版本还是2007版本 + boolean isExcel2003 = true; + if (WDWUtil.isExcel2007(fileName)) { + isExcel2003 = false; + } + is = cf.getInputStream(); + //根据excel里面的内容读取客户信息 + wb = getExcelInfo(is, isExcel2003, wb); + is.close(); + } catch (Exception e) { + logger.error(e.getMessage(),e); + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + is = null; + logger.error(e.getMessage(),e); + } + } + } + return wb; + } + + /*** + * @method_name: getExcelInfo + * @des : 判断excel版本 + * @author: duyunbao + * @param: [is, isExcel2003, wb] + * @return: org.apache.poi.ss.usermodel.Workbook + * @date: 2017/10/27 17:08 + **/ + private Workbook getExcelInfo(InputStream is, boolean isExcel2003, Workbook wb) { + Workbook workbook =wb; + try { + /** 根据版本选择创建Workbook的方式 */ + //当excel是2003时 + if (isExcel2003) { + workbook = new HSSFWorkbook(is); + } else {//当excel是2007时 + workbook = new XSSFWorkbook(is); + } + } catch (IOException e) { + logger.error(e.getMessage(),e); + } + return workbook; + } + + /** + * 获取sheet的名称 + * @MethodName:getSheetName + * @author: 马晓晨 + * @email: 747052172@qq.com + * @date 2017年11月24日 上午9:49:22 + * @version V1.0 + * @param filename + * @param file + * @param sheetIndex + * @return + */ + public String getSheetName(String filename, MultipartFile file, Integer sheetIndex) { + Workbook wb = getExcelInfo(filename, file); + return wb.getSheetName(sheetIndex); + } + + /** + * + * @Title: encodeFileName + * @Description: 导出文件转换文件名称编码 + * @param @param fileNames + * @param @param request + * @param @return 设定文件 + * @return String 返回类型 + * @throws + */ + public static String encodeFileName(String fileNames , HttpServletRequest request) { + try { + String agent = request.getHeader("User-Agent"); + if (agent.contains("Firefox")) { + fileNames = new String(fileNames.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器 + } else { + fileNames = URLEncoder.encode(fileNames, "utf-8"); + //谷歌中空格变为+问题 + fileNames = fileNames.replaceAll("\\+","%20"); + } + } catch (Exception e) { + logger.error(e.getMessage(),e); + } + return fileNames ; + } +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java b/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java new file mode 100644 index 00000000..f2b90382 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/att/util/WDWUtil.java @@ -0,0 +1,164 @@ +package com.adc.da.att.util; + +import org.apache.commons.lang3.StringUtils; + +import java.util.regex.Pattern; + +/** + * @des : excel版本判断类 + * @author: duyunbao + * @email: 1114808306@qq.com + * @date 2017/10/27 16:59 + **/ +public class WDWUtil { + + /** + * @method_name: isExcel2003 + * @des :是否是2003的excel,返回true是2003 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 16:57 + **/ + public static boolean isExcel2003(String filePath) { + return filePath.matches("^.+\\.(?i)(xls)$"); + } + + /** + * @method_name: isExcel2007 + * @des : 是否是2007的excel,返回true是2007 + * @author: duyunbao + * @param: [filePath] + * @return: boolean + * @date: 2017/10/27 16:57 + **/ + public static boolean isExcel2007(String filePath) { + return filePath.matches("^.+\\.(?i)(xlsx)$"); + } + + + /** + * 判断字符串是否是整数 + * @MethodName:isInteger + * @author: DuYunbao + * @date: 2018/5/22 18:00 + */ + public static boolean isNumeric(String str){ + for (int i = str.length();--i>=0;){ + if (!Character.isDigit(str.charAt(i))){ + return false; + } + } + return true; + } + + /**方法二:推荐,速度最快 + * 判断是否为整数 + * @param str 传入的字符串 + * @return 是整数返回true,否则返回false + */ + public static boolean isInteger(String str) { + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + return pattern.matcher(str).matches(); + } + + /** + * 字母或数字 + * + * @MethodName:isLetterDigitOrChinese + * @author: DuYunbao + * @date: 2018/5/30 15:26 + */ + public static boolean isLetterOrNumber(String str) { + String regex = "^(\\d|[a-zA-Z])+$"; + return !str.matches(regex); + } + + /** + * 汉字、字母、() + * + * @MethodName:isLetterOrChineseOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 15:53 + */ + public static boolean isLetterOrChineseOrChar1(String str) { + String regex = "[^\\a-\\z\\A-\\Z\\u4E00-\\u9FA5\\()\\()]"; + return str.matches(regex); + } + + /** + * 汉字、字母、数字 + * + * @MethodName:isLetterOrChineseOrNumber + * @author: DuYunbao + * @date: 2018/5/30 15:56 + */ + public static boolean isLetterOrChineseOrNumber(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z0-9]+$"; + return !str.matches(regex); + } + + /** + * 汉字、字母、()、-、下划线 + * + * @MethodName:isChineseOrLetterOrUnderlineOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 16:03 + */ + public static boolean isChineseOrLetterOrUnderlineOrChar1(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z_\\-\\()\\()]+$"; + return !str.matches(regex); + } + + /** + * 数字 + * + * @MethodName:isNumbee + * @author: DuYunbao + * @date: 2018/5/30 16:09 + */ + public static boolean isNumber(String str) { + String regex = "\\D"; + return str.matches(regex); + } + + /** + * 数字、大写字母、- + * + * @MethodName:isNumberOrLowerLetterOrChar1 + * @author: DuYunbao + * @date: 2018/5/30 16:41 + */ + public static boolean isNumberOrLowerLetterOrChar1(String str) { + String regex = "^[A-Z0-9\\-]+$"; + return !str.matches(regex); + } + + /** + * 汉字、数字、字母、()、-、下划线 + * + * @MethodName:isChineseOrNumberOrLetterOrUnderlineOrChar + * @author: DuYunbao + * @date: 2018/5/30 16:45 + */ + public static boolean isChineseOrNumberOrLetterOrUnderlineOrChar(String str) { + String regex = "^[\\u4E00-\\u9FA5A-Za-z0-9_\\-\\()\\()]+$"; + return !str.matches(regex); + } + + + /** + * 去除整数含有小数点 + * @MethodName:subStr + * @author: DuYunbao + * @date: 2018/5/31 11:19 + */ + public static String subStr(String text) { + if (StringUtils.isNotEmpty(text)) { + if(text.contains(".0") && text.substring(text.length()-2,text.length()).equals(".0")) { + text = text.substring(0,text.length()-2); + } + } + return text; + } +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java index 18d9e1ac..2a62fec5 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/DicTypeEODao.java @@ -85,4 +85,9 @@ public interface DicTypeEODao extends BaseMapper { */ public List getDicInfo(@Param("filed") String... filed); + String selectByPid(@Param("Info") String Info); + + List selectByPidInfo(@Param("pid") String pid); + + List selectPidByCode(@Param("fileType") String fileType); } 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 2bcc302c..35a53608 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 @@ -614,4 +614,30 @@ + + + + +