update:增加高级查询

This commit is contained in:
zzy
2021-07-23 15:03:02 +08:00
parent 8ec8db0437
commit 06aa79e3f6
5 changed files with 107 additions and 58 deletions
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.dao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarLawsAttrDetailedList;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandRegionalTimeDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -23,7 +24,7 @@ public interface SarLawsAttrDetailedListDao extends BaseMapper<SarLawsAttrDetail
//根据清单id,查出标准的id并排序
List<String> selectLawsId(@Param("standId") String standId,@Param("param3") Integer page,@Param("param2") Integer size);
//根据标准id查出数据
List<LawsDto> selectLawsById(@Param("param1") List<String> LawsIds, @Param("standName") String standName);
List<LawsDto> selectLawsById(@Param("param1") List<String> LawsIds, @Param("sarFindDto") SarFindDto sarFindDto);
//根据标准id查出数据
List<LawsDto> selectLawsByIdC(@Param("param1") List<String> LawsIds, @Param("standName") String standName,@Param("standType")String standType);
//查询时间
@@ -1,9 +1,5 @@
package com.adc.da.slrs.sarLawsAttrDetailedList.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -18,13 +14,13 @@ public class SarFindDto {
private int Size;
private String id;
private String standName;
private String standNumber;
// private String standNumber;
private String standEnName;
private String typeApplicable;
private String NYLX;
private String putTime;
private String XCXSSRQGJ;
private String ZCCSSRQGJ;
// private String putTime;
// private String XCXSSRQGJ;
// private String ZCCSSRQGJ;
private String ZRBM;
private String SYCPX;
@@ -43,7 +43,7 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl<SarLawsAttrD
if (CollectionUtils.isEmpty(lawsIds)){
return null;
}
List<LawsDto> list = sarLawsAttrDetailedListDao.selectLawsById(lawsIds,sarFindDto.getStandName());
List<LawsDto> list = sarLawsAttrDetailedListDao.selectLawsById(lawsIds,sarFindDto);
for (LawsDto lawsDto:list){
QueryWrapper<SarLawsAttrDetailedList> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("stand_id",lawsDto.getId())
@@ -59,6 +59,7 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
@Override
public String add(AddDetailedDto addDetailedDto) {
addDetailedDto.setInforlist(addDetailedDto.getInforlist().substring(1, addDetailedDto.getInforlist().length() -1));
try {
SarLawsDetailedList sarLawsDetailedList = SarLawsDetailedList.builder()
.id(UUIDUtils.randomUUID20())
@@ -73,15 +74,73 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
.updatePeople(getUserName())
.fileIds(addDetailedDto.getFileIds())
.build();
List<TimeDto> timeDto = new ArrayList<>();
switch (addDetailedDto.getSortKey()) {
case "1":
sarLawsDetailedList.setCountryArea(addDetailedDto.getCountryArea());
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
String[] putTime = addDetailedDto.getInforlist1().split(",");
String[] zcc = addDetailedDto.getInforlist2().split(",");
String[] xcx = addDetailedDto.getInforlist3().split(",");
for (int a =0;a< id.length;a++){
TimeDto dto = new TimeDto();
dto.setStandId(id[a]);
if ("\"".equals(putTime[a])){
dto.setPutTime(null);
}else {
dto.setPutTime(putTime[a]);
}
if ("\"".equals(putTime[a])){
dto.setXcxssrqgj(null);
}else {
dto.setXcxssrqgj(xcx[a]);
}
if ("\"".equals(putTime[a])){
dto.setZccssrqgj(null);
}else {
dto.setZccssrqgj(zcc[a]);
}
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
dto.setPutTime(addDetailedDto.getInforlist1());
dto.setXcxssrqgj(addDetailedDto.getInforlist2());
dto.setZccssrqgj(addDetailedDto.getInforlist3());
timeDto.add(dto);
}
break;
case "2":
sarLawsDetailedList.setProjectName(addDetailedDto.getProjectName());
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
for (String standId:id){
TimeDto dto = new TimeDto();
dto.setStandId(standId);
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
timeDto.add(dto);
}
break;
case "3":
sarLawsDetailedList.setDetailedList(addDetailedDto.getDetailedList());
if (addDetailedDto.getInforlist().contains(",")){
String[] id = addDetailedDto.getInforlist().split(",");
for (String standId:id){
TimeDto dto = new TimeDto();
dto.setStandId(standId);
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
timeDto.add(dto);
}
break;
default:
break;
@@ -90,41 +149,6 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl<SarLawsDetailedL
else {sarLawsDetailedList.setUpdatePeople(getUserName());}
sarLawsDetailedListDao.insert(sarLawsDetailedList);
addDetailedDto.setInforlist(addDetailedDto.getInforlist().substring(1,addDetailedDto.getInforlist().length()-1));
List<TimeDto> timeDto = new ArrayList<>();
if (addDetailedDto.getInforlist().indexOf(",") >= 0){
String[] id = addDetailedDto.getInforlist().split(",");
String[] putTime = addDetailedDto.getInforlist1().split(",");
String[] zcc = addDetailedDto.getInforlist2().split(",");
String[] xcx = addDetailedDto.getInforlist3().split(",");
for (int a =0;a< id.length;a++){
TimeDto dto = new TimeDto();
dto.setStandId(id[a]);
if ("\"".equals(putTime[a])){
dto.setPutTime(null);
}else {
dto.setPutTime(putTime[a]);
}
if ("\"".equals(putTime[a])){
dto.setXcxssrqgj(null);
}else {
dto.setXcxssrqgj(xcx[a]);
}
if ("\"".equals(putTime[a])){
dto.setZccssrqgj(null);
}else {
dto.setZccssrqgj(zcc[a]);
}
timeDto.add(dto);
}
}else {
TimeDto dto = new TimeDto();
dto.setStandId(addDetailedDto.getInforlist());
dto.setPutTime(addDetailedDto.getInforlist1());
dto.setXcxssrqgj(addDetailedDto.getInforlist2());
dto.setZccssrqgj(addDetailedDto.getInforlist3());
timeDto.add(dto);
}
service.insertDetailedList(sarLawsDetailedList.getId(),timeDto);
} catch (Exception e) {
@@ -2,18 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao">
<select id="selectLawsById" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
<select id="selectLawsById" parameterType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
SELECT a.ID,a.STAND_NUMBER,a.STAND_NAME,a.STAND_EN_NAME,b.NYLX,a.PUT_TIME,b.XCXSSRQGJ,b.ZCCSSRQGJ,b.ZRBM,b.SYCPX,b.CYCVPPSBM,b.CYCVPPSCN,b.KCCVPPSBM,b.KCCVPPSCN,b.CLLX as typeApplicable
FROM sar_standards_info a LEFT JOIN sar_stand_attr_info b on
a.ID = b.STAND_ID
<where>
<if test="standName != null">
(a.STAND_NUMBER LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%')
or a.STAND_NAME LIKE concat ('%',#{standName,jdbcType=VARCHAR},'%'))
<if test="sarFindDto.standName != null">
(a.STAND_NUMBER LIKE concat ('%',#{sarFindDto.standName,jdbcType=VARCHAR},'%')
or a.STAND_NAME LIKE concat ('%',#{sarFindDto.standName,jdbcType=VARCHAR},'%'))
and
</if>
<if test="sarFindDto.standEnName != null">
a.STAND_EN_NAME LIKE concat ('%',#{sarFindDto.standEnName,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.typeApplicable != null">
b.CLLX LIKE concat ('%',#{sarFindDto.typeApplicable,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.NYLX != null">
b.NYLX LIKE concat ('%',#{sarFindDto.NYLX,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.ZRBM != null">
b.ZRBM LIKE concat ('%',#{sarFindDto.ZRBM,jdbcType=VARCHAR},'%')
and
</if>
<if test="sarFindDto.SYCPX != null">
b.SYCPX LIKE concat ('%',#{sarFindDto.SYCPX,jdbcType=VARCHAR},'%')
and
</if>
a.ID IN
<foreach collection="param1" index="index" item="item" open="(" separator="," close=")">
<foreach collection="param1" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</where>
@@ -41,13 +61,8 @@
</where>
order by number
</select>
<select id="selectTypeApplicable" resultType="java.lang.String">
SELECT APPLY_ARCTIC
FROM sar_stand_items
WHERE ID =#{param1,jdbcType=VARCHAR}
</select>
<select id="selectLawsByIdC" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
SELECT a.ID,a.STAND_NUMBER,a.STAND_NAME,a.STAND_EN_NAME,b.NYLX,a.PUT_TIME,b.XCXSSRQGJ,b.ZCCSSRQGJ,b.ZRBM,b.SYCPX,b.CYCVPPSBM,b.CYCVPPSCN,b.KCCVPPSBM,b.KCCVPPSCN
SELECT a.ID,a.STAND_NUMBER,a.STAND_NAME,a.STAND_EN_NAME,b.NYLX,a.PUT_TIME,b.XCXSSRQGJ,b.ZCCSSRQGJ,b.ZRBM,b.SYCPX,b.CYCVPPSBM,b.CYCVPPSCN,b.KCCVPPSBM,b.KCCVPPSCN,b.CLLX as typeApplicable
FROM sar_standards_info a LEFT JOIN sar_stand_attr_info b on
a.ID = b.STAND_ID
<where>
@@ -65,12 +80,25 @@
</foreach>
</where>
</select>
<select id="selectTimes" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.StandRegionalTimeDto">
SELECT
b.country_area AS country,
a.putTime AS putTime,
a.xcxssrq AS xcxssrq,
a.zccssrq AS zccssrq
FROM
sar_laws_attr_detailed_list a
LEFT JOIN sar_laws_detailed_list b ON b.id = a.detailed_list_id
WHERE
b.sort_key = 1
AND a.stand_id = #{standId}
</select>
<insert id="insertList">
INSERT INTO sar_laws_attr_detailed_list ( id, number, detailed_list_id, stand_id ) VALUES
INSERT INTO sar_laws_attr_detailed_list ( id, number, detailed_list_id, stand_id ,putTime,xcxssrq,zccssrq) VALUES
<foreach collection ="sarLawsAttrDetailedLists" item="list" separator =",">
(#{list.id,jdbcType=VARCHAR}, #{list.number}, #{list.detailedListId,jdbcType=VARCHAR}, #{list.standId,jdbcType=VARCHAR})
(#{list.id,jdbcType=VARCHAR}, #{list.number}, #{list.detailedListId,jdbcType=VARCHAR}, #{list.standId,jdbcType=VARCHAR},#{list.putTime,jdbcType=VARCHAR},#{list.xcxssrq,jdbcType=VARCHAR},#{list.zccssrq,jdbcType=VARCHAR})
</foreach >
</insert>