diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/EvaluationIndexController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/EvaluationIndexController.java new file mode 100644 index 00000000..e34ee833 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/EvaluationIndexController.java @@ -0,0 +1,43 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IEvaluationIndexService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +import javax.xml.ws.Response; +import java.util.List; + +/** +*

+ * 前端控制器 + *

+* +* @author zhaokaiyao +* @since 2021-12-03 +*/ +@RestController +@Api(description = "|EvaluationIndex|") +@RequestMapping("/${restPath}/sarEnterpriseStandardEvaluation/evaluation-index") +public class EvaluationIndexController extends BaseController { + @Autowired + private IEvaluationIndexService iEvaluationIndexService; + + + @ApiOperation("获取评价指标") + @GetMapping("getEvaluationIndex") + public ResponseMessage> getEvaluationIndex(EvaluationIndex query){ + List evaluationIndex = iEvaluationIndexService.getEvaluationIndex(query); + + return Result.success(evaluationIndex); + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java new file mode 100644 index 00000000..f887166c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/controller/QualityEvaluationController.java @@ -0,0 +1,110 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiOperation; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import io.swagger.annotations.Api; +import com.adc.da.base.web.BaseController; + +import java.util.List; +import java.util.Map; +import java.util.Optional; + +/** +*

+ * 前端控制器 + *

+* +* @author zhaokaiyao +* @since 2021-12-03 +*/ +@RestController +@Api(description = "|QualityEvaluation|") +@RequestMapping("/${restPath}/sarEnterpriseStandardEvaluation/quality-evaluation") +public class QualityEvaluationController extends BaseController { + + + @Autowired + private IQualityEvaluationService iQualityEvaluationService; + + + @ApiOperation("提交评价表") + @PostMapping("submitEvaluationForm") + public ResponseMessage submitEvaluationForm(@RequestBody FormVO form){ + List tableData = form.getTableData(); + String standId = form.getStandId(); + String userId = form.getUserId(); + + tableData.forEach(item->{ + item.setUserId(userId); + item.setLawId(standId); + + if ( item.getEvaluationIndex()!=null && "3U9lb".equals( item.getEvaluationIndex() ) ){ + + JSONObject jsonObject = JSONObject.parseObject(form.getFormData()); +// switch (item.getScore()){ +// case "0": +// item.setScore("-1"); +// case "1": +// item.setScore("-2"); +// } + item.setScore(jsonObject.getString("revise")); + item.setReason(jsonObject.getString("reviseReason")); + + } + + }); + +// +// Optional.ofNullable(item.getEvaluationIndex()) +// .map(u-> { +// +// return null; +// }) +// .map(a-> { +// +// }).orElseThrow(()->new Exception("取指错误")); + + Boolean i = iQualityEvaluationService.submitEvaluationForm(tableData); + + return Result.success(i); + } + + + @ApiOperation("查询评分表") + @PostMapping("getEvaluationForm") + public ResponseMessage getEvaluationForm(@RequestBody FormVO form){ + + + + return null; + } + + + @ApiOperation("查看评分历史") + @GetMapping("getHistory") + public ResponseMessage> getHistory(QualityEvaluation query){ + IPage history = iQualityEvaluationService.getHistory(query); + + return Result.success(history); + } + + + @ApiOperation("查询评价分数") + @GetMapping("getScore") + public ResponseMessage> getScore(String lawId){ + Map score = iQualityEvaluationService.getScore(lawId); + + return Result.success(score); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/EvaluationIndexDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/EvaluationIndexDao.java new file mode 100644 index 00000000..1f191e7e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/EvaluationIndexDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +public interface EvaluationIndexDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java new file mode 100644 index 00000000..9432145d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/dao/QualityEvaluationDao.java @@ -0,0 +1,26 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +public interface QualityEvaluationDao extends BaseMapper { + + + + public IPage getHistory(IPage page,@Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/EvaluationIndex.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/EvaluationIndex.java new file mode 100644 index 00000000..c48813fc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/EvaluationIndex.java @@ -0,0 +1,59 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="EvaluationIndex对象", description="") +public class EvaluationIndex extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableField("code") //评价指标编码 + private String code; + + @ApiModelProperty(value = "显示顺序") + @TableField("index_sort") + private Integer indexSort; + + @ApiModelProperty(value = "权重") + @TableField("weight") + private String weight; + + @ApiModelProperty(value = "指标类型(动态评价指标,质量评价指标") + @TableField("index_type") + private String indexType; + + @ApiModelProperty(value = "一级指标名称") + @TableField("one_index_title") + private String oneIndexTitle; + + @ApiModelProperty(value = "二级指标名称") + @TableField("two_index_title") + private String twoIndexTitle; + + @ApiModelProperty(value = "三级指标名称") + @TableField("three_index_title") + private String threeIndexTitle; + + @ApiModelProperty(value = "指标值类型") + @TableField("value_type") + private String valueType; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/FormVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/FormVO.java new file mode 100644 index 00000000..16dd75db --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/FormVO.java @@ -0,0 +1,18 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity; + +import lombok.Data; + +import java.util.List; + +@Data +public class FormVO { + + private List tableData; + + private String standId; + + private String userId; + + + private String formData; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java new file mode 100644 index 00000000..4105fc37 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/entity/QualityEvaluation.java @@ -0,0 +1,90 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

+ * + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="QualityEvaluation对象", description="") +public class QualityEvaluation extends BaseEntity { + + private static final long serialVersionUID = 1L; + + private String id; + + @TableField("law_id") + @ApiModelProperty(value = "企标id") + private String lawId; + + @TableField("user_id") + @ApiModelProperty(value = "用户id") + private String userId; + + @ApiModelProperty(value = "用户名称") + @TableField(exist = false) + private String userName; + + @TableField("is_need_revise") + @ApiModelProperty(value = "是否需要修订(废弃)") + private String isNeedRevise; + + @JsonProperty("code") //前后分离 前端字段 + @TableField("evaluation_index") + @ApiModelProperty(value = "评价指标") + private String evaluationIndex; + + @JsonProperty("indexType") //前后分离 前端字段 + @TableField("evaluation_type") + @ApiModelProperty(value = "评价类型") + private String evaluationType; + + @JsonProperty("commentReason") //前后分离 前端字段 + @TableField("reason") + @ApiModelProperty(value = "打分理由") + private String reason; + + @JsonProperty("targetScore") //前后分离 前端字段 + @TableField("score") + @ApiModelProperty(value = "打分") + private String score; + + + @TableField("process_node") + @ApiModelProperty(value = "流程节点") + private String processNode; + + @ApiModelProperty(value = "创建时间") + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + @ApiModelProperty(value = "更新时间") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date modifyTime; + + + @TableField(exist = false) + private Integer page; + + @TableField(exist = false) + private Integer pageSize; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IEvaluationIndexService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IEvaluationIndexService.java new file mode 100644 index 00000000..89055851 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IEvaluationIndexService.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +public interface IEvaluationIndexService extends IService { + + + public List getEvaluationIndex(EvaluationIndex query); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java new file mode 100644 index 00000000..cc78ae4f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/IQualityEvaluationService.java @@ -0,0 +1,29 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 服务类 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +public interface IQualityEvaluationService extends IService { + + public Boolean submitEvaluationForm(List form); + + public IPage getHistory(QualityEvaluation query); + + + public List getEvaluationForm(QualityEvaluation query); + + + Map getScore(String lawId); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/EvaluationIndexServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/EvaluationIndexServiceImpl.java new file mode 100644 index 00000000..e5c84a7c --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/EvaluationIndexServiceImpl.java @@ -0,0 +1,40 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.impl; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.EvaluationIndexDao; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IEvaluationIndexService; +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 java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +@Service +public class EvaluationIndexServiceImpl extends ServiceImpl implements IEvaluationIndexService { + + +// @Autowired +// private EvaluationIndexDao evaluationIndexDao; + + @Override + public List getEvaluationIndex(EvaluationIndex query) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + if (query.getIndexType()!=null){ + queryWrapper.eq("index_type",query.getIndexType()); + } + + queryWrapper.orderByAsc("index_sort"); + + return this.baseMapper.selectList(queryWrapper); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java new file mode 100644 index 00000000..60e3b745 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java @@ -0,0 +1,133 @@ +package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.impl; + +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IEvaluationIndexService; +import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService; +import com.adc.da.util.UUIDUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.PipedReader; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author zhaokaiyao + * @since 2021-12-03 + */ +@Service +public class QualityEvaluationServiceImpl extends ServiceImpl implements IQualityEvaluationService { + + @Autowired + private QualityEvaluationDao qualityEvaluationDao; + + + + @Override + public Boolean submitEvaluationForm(List form) { + QueryWrapper queryWrapper = new QueryWrapper<>(); +// +// queryWrapper.eq("user_id",form.get) +// .eq("evaluation_type","dynamic"); + this.remove(queryWrapper); + form.forEach(item->item.setId( UUIDUtils.randomUUID20())); + return this.saveBatch(form); + } + + @Override + public IPage getHistory(QualityEvaluation query) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = new Page<>(query.getPage(), query.getPageSize()); + + + if (query.getUserId()!=null){ //指定用户 + queryWrapper.eq("user_id", query.getUserId()) + .orderBy(true,true, "crate_time","modify_time"); + } + + if (query.getEvaluationType()!=null){ //指定评价指标 + queryWrapper.eq("evaluation_type",query.getEvaluationType()); + } + + return qualityEvaluationDao.getHistory(page,queryWrapper); + + + } + + + + @Override + public List getEvaluationForm(QualityEvaluation query) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = new Page<>(query.getPage(), query.getPageSize()); + + queryWrapper.select("UNAME as userName","score","reason","create_time","modify_time") + .eq("law_id",query.getLawId()) //企标id + .last("JOIN ts_user user ON quality_evaluation.user_id = user.USID"); + + + if (query.getUserId()!=null){ //指定用户 + queryWrapper.eq("user_id", query.getUserId()) + .orderBy(true,true, "crate_time","modify_time"); + } + + if (query.getEvaluationType()!=null){ //指定评价指标 + queryWrapper.eq("evaluation_type",query.getEvaluationType()); + } + + + return this.baseMapper.selectList(queryWrapper); + } + + + @Autowired + private IEvaluationIndexService iEvaluationIndexService; + + @Override + public Map getScore(String lawId) { + + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("law_id",lawId); + List list = this.list(queryWrapper); + + return list.stream() + .collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType, + Collectors.averagingDouble(item -> getScoreSingle(item)))); + + } + + + private Double getScoreSingle(QualityEvaluation item){ + + QueryWrapper indexQuery = new QueryWrapper<>(); + indexQuery.select("code","weight"); + + List indexList = iEvaluationIndexService.list(indexQuery); + + Map weightMap = indexList.stream() + .collect(Collectors.toMap(EvaluationIndex::getCode, obj -> Float.valueOf(obj.getWeight()))); + + + + String score = item.getScore(); + return ((score == null || (Float.valueOf(item.getScore()) < 0.0)) ? 0.0 : Float.valueOf(score) * weightMap.get(item.getEvaluationIndex())); + } + + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java index 15092f35..d32c8f4c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsDetailedList/service/impl/SarLawsDetailedListServiceImpl.java @@ -11,6 +11,8 @@ import com.adc.da.slrs.sarLawsDetailedList.entity.SarLawsDetailedList; import com.adc.da.slrs.sarLawsDetailedList.entity.DetailedUpDto; import com.adc.da.slrs.sarLawsDetailedList.entity.TimeDto; import com.adc.da.slrs.sarLawsDetailedList.service.ISarLawsDetailedListService; +import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao; +import com.adc.da.slrs.sarStandardsInfo.service.impl.SarStandardsInfoServiceImpl; import com.adc.da.sys.service.IDicTypeEOService; import com.adc.da.util.UUIDUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -39,6 +41,9 @@ import static com.adc.da.login.util.UserUtils.getUserName; @Service public class SarLawsDetailedListServiceImpl extends ServiceImpl implements ISarLawsDetailedListService { + @Autowired + SarStandardsInfoDao sarStandardsInfoDao; + @Autowired public SarLawsDetailedListDao sarLawsDetailedListDao; @Autowired @@ -582,6 +587,10 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl { return Result.success("200",listMap); } + + + + + @GetMapping("/exprotWarning") + @ApiOperation("导出预警") + public void exportStandardsInfoExcel(WarningExcelVO excelVO, HttpServletResponse response) throws Exception { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + try { + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + if(excelVO.getExportName()==null){ + excelVO.setExportName("标准预警"); + } + String fileName = URLEncoder.encode(excelVO.getExportName(), "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + + List exportExcel = earlyWarningEOService.getExportExcel(excelVO); + + + // 这里需要设置不关闭流 + EasyExcel.write(response.getOutputStream(), SarStandIssueControlProduct.class).autoCloseStream(Boolean.FALSE).sheet("sheet1") + .doWrite(exportExcel); + } catch (Exception e) { + System.out.println(e); + // 重置response + response.reset(); + response.setContentType("application/json"); + response.setCharacterEncoding("utf-8"); + response.getWriter().println(JSON.toJSONString(Result.error())); + } + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/dao/EarlyWarningEODao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/dao/EarlyWarningEODao.java index 853cf4d4..0aac00c8 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/dao/EarlyWarningEODao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/dao/EarlyWarningEODao.java @@ -7,8 +7,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface EarlyWarningEODao extends BaseMapper { - IPage selectWarningPage(IPage page, @Param("waringEO") StandWarningEO warningEO); + IPage selectWarningPage(IPage page, @Param("waringEO") StandWarningEO warningEO,@Param("idList") List ids); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java index 0fde3f51..0471434c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/EarlyWarningEO.java @@ -1,6 +1,8 @@ package com.adc.da.slrs.sarStandWarning.entity; import com.adc.da.base.entity.BaseEntity; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -25,64 +27,79 @@ public class EarlyWarningEO extends BaseEntity { private static final long serialVersionUID = 1L; + @ExcelIgnore @ApiModelProperty("id") @TableId("ID") private String id; + @ExcelIgnore @ApiModelProperty("标准id") @TableField("STAND_ID") private String standId; + @ExcelIgnore @ApiModelProperty("标准类别") @TableField(exist = false) private String standType; + @ExcelProperty("标准号") @ApiModelProperty("标准号") @TableField(exist = false) private String standCode; + @ExcelProperty("标准名称") @ApiModelProperty("标准名称") @TableField(exist = false) private String standName; + @ExcelProperty("发布日期") @ApiModelProperty("发布日期") @TableField(exist = false) @DateTimeFormat(pattern="yyyy-MM-dd") private Date putTime; + @ExcelIgnore @TableField(exist = false) private Date lastTime; + @ExcelProperty("适用车型") @ApiModelProperty("适用车型") @TableField(exist = false) private String applyType; + @ExcelProperty("责任工程师") @ApiModelProperty("责任工程师") @TableField(exist = false) private String dutyEngineer; + @ExcelIgnore @ApiModelProperty("条款(分解单)id") @TableField(exist = false) private String itemsId; + @ExcelProperty("条款(分解单)编号") @ApiModelProperty("条款(分解单)编号") @TableField(exist = false) private String itemsNum; + @ExcelProperty("条款(分解单)名称") @ApiModelProperty("条款(分解单)名称") @TableField(exist = false) private String itemsName; + @ExcelIgnore @TableField("POLICY_ID") private String policyId; + @ExcelIgnore @TableField(exist = false) private String policyName; - + @ExcelIgnore @TableField("MARK") private String mark; + @ExcelIgnore @TableField("POWER") private String power; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/StandWarningEO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/StandWarningEO.java index b4c77336..b1604d9a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/StandWarningEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/StandWarningEO.java @@ -1,5 +1,7 @@ package com.adc.da.slrs.sarStandWarning.entity; +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -11,62 +13,79 @@ import java.util.Date; @Accessors(chain = true) public class StandWarningEO extends EarlyWarningEO { private static final long serialVersionUID = 1L; + + @ExcelProperty("新车型实施日期") @ApiModelProperty("新车型实施日期") @DateTimeFormat(pattern = "YYYY-MM-dd") private String XCXSSRQ; + @ExcelProperty("在产车实施日期") @ApiModelProperty("在产车实施日期") @DateTimeFormat(pattern = "YYYY-MM-dd") private String ZCCSSRQ; + @ExcelProperty("实施日期") @ApiModelProperty("实施日期") @DateTimeFormat(pattern = "YYYY-MM-dd") private String SSRQ; + @ExcelProperty("标准编号") private String standNum; + @ExcelProperty("标准类别") private String standSort; + @ExcelProperty("标准年份") private String standYear; + @ExcelProperty("发布日期") private String issueTime; + @ExcelIgnore private Integer page; + @ExcelIgnore private Integer pageSize; + @ExcelIgnore @ApiModelProperty("范围查询新车型实施日期开始") @DateTimeFormat(pattern = "YYYY-MM-dd") private String startXCXSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询新车型实施日期结束") @DateTimeFormat(pattern = "YYYY-MM-dd") private String endXCXSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询在产车实施日期开始") @DateTimeFormat(pattern = "YYYY-MM-dd") private String startZCCSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询在产车实施日期结束") @DateTimeFormat(pattern = "YYYY-MM-dd") private String endZCCSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询实施日期开始") @DateTimeFormat(pattern = "YYYY-MM-dd") private String startSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询实施日期结束") @DateTimeFormat(pattern = "YYYY-MM-dd") private String endSSRQ; + @ExcelIgnore @ApiModelProperty("范围查询发布日期开始") @DateTimeFormat(pattern = "YYYY-MM-dd") private String startPutTime; - + @ExcelIgnore @ApiModelProperty("范围查询发布日期结束") @DateTimeFormat(pattern = "YYYY-MM-dd") private String endPutTime; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningExcelVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningExcelVO.java new file mode 100644 index 00000000..179e4d3f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningExcelVO.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.sarStandWarning.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + + +@Data +public class WarningExcelVO { + @ApiModelProperty("文件名") + String exportName; + @ApiModelProperty("导出的ID列表") + List ids; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/EarlyWarningEOService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/EarlyWarningEOService.java index 89ce035e..fea9090f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/EarlyWarningEOService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/EarlyWarningEOService.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarStandWarning.service; import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; import com.adc.da.slrs.sarStandWarning.entity.StandWarningEO; +import com.adc.da.slrs.sarStandWarning.entity.WarningExcelVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -20,4 +21,6 @@ public interface EarlyWarningEOService extends IService { IPage getStandWarning(StandWarningEO queryPage); + + List getExportExcel(WarningExcelVO excelVO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java index fa113ac5..d22a9db3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/service/Impl/EarlyWarningEOServiceImpl.java @@ -4,6 +4,7 @@ package com.adc.da.slrs.sarStandWarning.service.Impl; import com.adc.da.slrs.sarStandWarning.dao.EarlyWarningEODao; import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO; import com.adc.da.slrs.sarStandWarning.entity.StandWarningEO; +import com.adc.da.slrs.sarStandWarning.entity.WarningExcelVO; import com.adc.da.slrs.sarStandWarning.service.EarlyWarningEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -111,9 +112,20 @@ public class EarlyWarningEOServiceImpl extends ServiceImpl getStandWarning(StandWarningEO queryPage) { IPage iPage = new Page<>(queryPage.getPage(),queryPage.getPageSize()); - return earlyWarningEODao.selectWarningPage(iPage,queryPage); + return earlyWarningEODao.selectWarningPage(iPage,queryPage,null); } + /** + * 导出预警 + * @return + */ + @Override + public List getExportExcel(WarningExcelVO excelVO){ + IPage standWarningEOIPage = earlyWarningEODao.selectWarningPage(null, null, excelVO.getIds()); + return standWarningEOIPage.getRecords(); + } + + private IPage getEarlyWarningEOIPage(int current,int pageSize, QueryWrapper wrapper) { wrapper.eq("power",1); Page page = new Page<>(current, pageSize); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java index 8d2845a4..e3d4b902 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/dao/SarStandardsInfoDao.java @@ -70,4 +70,6 @@ public interface SarStandardsInfoDao extends BaseMapper { List selectStandardsInfoBynumber(SarStandardsInfoEOPage page); + int updateISRELATEACCESSById(@Param("IS_RELATE_ACCESS") String ACCESS,@Param("list") List list); + } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/evaluationIndex/EvaluationIndexMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/evaluationIndex/EvaluationIndexMapper.xml new file mode 100644 index 00000000..bfd205dd --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/evaluationIndex/EvaluationIndexMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/EvaluationIndexMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/EvaluationIndexMapper.xml new file mode 100644 index 00000000..05dd5f85 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/EvaluationIndexMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/QualityEvaluationMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/QualityEvaluationMapper.xml new file mode 100644 index 00000000..c166cfe4 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarEnterpriseStandardEvalution/QualityEvaluationMapper.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/EarlyWraningEOMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/EarlyWraningEOMapper.xml index 539c96ec..4c5861f7 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/EarlyWraningEOMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/EarlyWraningEOMapper.xml @@ -37,56 +37,73 @@ - - AND trim(replace(CONCAT( - sarInfo.STAND_SORT, - ' ', - sarInfo.STAND_NUMBER, - '-', - sarInfo.STAND_YEAR - ),' ','')) LIKE trim(replace(CONCAT('%',#{waringEO.standCode},'%'),' ','')) - - - AND sarInfo.STAND_NAME like concat('%', #{waringEO.standName},'%') - - - AND ( - DATE_FORMAT(sarInfo.PUT_TIME, '%Y-%m-%d') >= DATE_FORMAT( - #{waringEO.endPutTime}, - '%Y-%m-%d' - ) - AND - DATE_FORMAT( sarInfo.PUT_TIME, '%Y-%m-%d') <= DATE_FORMAT( - #{waringEO.endPutTime}, - '%Y-%m-%d' - ) - ) - - - AND ( - sarInfo.ID IN (SELECT DISTINCT law_id FROM warning_date as t WHERE - DATE_FORMAT(t.SSRQ, '%Y-%m-%d') >= DATE_FORMAT(#{waringEO.startSSRQ}, '%Y-%m-%d') - AND - DATE_FORMAT(t.SSRQ, '%Y-%m-%d') <= DATE_FORMAT(#{waringEO.endSSRQ}, '%Y-%m-%d') AND t.time_name = 'SSRQ' ) - ) - + + + warning.ID + IN + + + #{id} + + + + + + AND trim(replace(CONCAT( + sarInfo.STAND_SORT, + ' ', + sarInfo.STAND_NUMBER, + '-', + sarInfo.STAND_YEAR + ),' ','')) LIKE trim(replace(CONCAT('%',#{waringEO.standCode},'%'),' ','')) + + + AND sarInfo.STAND_NAME like concat('%', #{waringEO.standName},'%') + + + AND ( + DATE_FORMAT(sarInfo.PUT_TIME, '%Y-%m-%d') >= DATE_FORMAT( + #{waringEO.endPutTime}, + '%Y-%m-%d' + ) + AND + DATE_FORMAT( sarInfo.PUT_TIME, '%Y-%m-%d') <= DATE_FORMAT( + #{waringEO.endPutTime}, + '%Y-%m-%d' + ) + ) + + + AND ( + sarInfo.ID IN (SELECT DISTINCT law_id FROM warning_date as t WHERE + DATE_FORMAT(t.SSRQ, '%Y-%m-%d') >= DATE_FORMAT(#{waringEO.startSSRQ}, '%Y-%m-%d') + AND + DATE_FORMAT(t.SSRQ, '%Y-%m-%d') <= DATE_FORMAT(#{waringEO.endSSRQ}, '%Y-%m-%d') AND t.time_name = 'SSRQ' ) + ) + 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 a5215c4e..5a0d04b0 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 @@ -441,10 +441,11 @@ and ( - (concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', - SAR_STANDARDS_INFO.STAND_YEAR) like concat(concat('%',#{standNumber}),'%') and SAR_STANDARDS_INFO.STAND_YEAR != '') - or (concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER) like concat(concat('%',#{standNumber}),'%') - and SAR_STANDARDS_INFO.STAND_YEAR = '') + (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', + SAR_STANDARDS_INFO.STAND_YEAR),' ','')) like trim(replace(concat(concat('%',#{standNumber}),'%'),' ','')) and SAR_STANDARDS_INFO.STAND_YEAR != '') + or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) like trim(replace(concat(concat('%',#{standNumber}),'%'),' ','')) + ) + or (stand_name like concat(concat('%',#{standNumber}),'%')) ) @@ -757,8 +758,9 @@ (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', SAR_STANDARDS_INFO.STAND_YEAR),' ','')) like trim(replace(concat(concat('%',#{page.standNumber}),'%'),' ','')) and SAR_STANDARDS_INFO.STAND_YEAR != '') or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) like trim(replace(concat(concat('%',#{page.standNumber}),'%'),' ','')) - and SAR_STANDARDS_INFO.STAND_YEAR = '') - + ) + + ) @@ -884,9 +886,14 @@ - and - (concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', - SAR_STANDARDS_INFO.STAND_YEAR) like concat(concat('%',#{standNumber}),'%') and SAR_STANDARDS_INFO.STAND_YEAR != '') + and ( + (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', + SAR_STANDARDS_INFO.STAND_YEAR),' ','')) like trim(replace(concat(concat('%',#{standNumber}),'%'), + ' ','')) and SAR_STANDARDS_INFO.STAND_YEAR != '') + or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) like + trim(replace(concat(concat('%',#{standNumber}),'%'),' ','')) + ) + ) @@ -1038,16 +1045,28 @@ and ( + (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-', + SAR_STANDARDS_INFO.STAND_YEAR),' ','')) like trim(replace(concat(concat('%',#{standNumber}),'%'),' ','')) and SAR_STANDARDS_INFO.STAND_YEAR != '') + or (trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER),' ','')) like trim(replace(concat(concat('%',#{standNumber}),'%'),' ','')) + ) + + or (stand_name like concat(concat('%',#{standNumber}),'%')) + ) + + + + and id != #{sychronId} @@ -1254,6 +1273,13 @@ #{item} + + + UPDATE sar_standards_info set IS_RELATE_ACCESS = #{IS_RELATE_ACCESS} WHERE ID IN + + #{id} + +