Merge branch 'develop_master' into 'FOTON'

Develop master

See merge request LiuChao/foton-slrs-system-rest!257
This commit is contained in:
王夏晖
2021-11-30 19:10:29 +08:00
12 changed files with 272 additions and 153 deletions
@@ -4,17 +4,19 @@ import com.adc.da.scheduled.dao.SarStandardInfoDao;
import com.adc.da.scheduled.dao.SarStandardItemDao;
import com.adc.da.scheduled.dao.SarStandardWarningDao;
import com.adc.da.scheduled.entity.DataDTO;
import com.adc.da.scheduled.entity.WarningEO;
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
import com.adc.da.slrs.sarStandAttrInfo.entity.SarStandAttrInfo;
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
@@ -25,6 +27,7 @@ import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@EnableScheduling
@@ -57,121 +60,130 @@ public class ScheduledJob {
@Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
// @Scheduled(cron="*/5 * * * * ?")
@Async
public void WarningSchedulingTasks() {
/**
* 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS
* 联接标准信息表sar_standards_info表的STAND_NAME
* 2.查询分解单(条款表)
* 3.查询预警表
* 4.去掉预警表中已存在的的数据
* 5.插入预警表
*/
/**
mark:标识预警的种类
3:新车标准预警
4:在产车标准预警
1:新车条款预警
2:在产车条款预警
*/
//删除不在预警范围的标准
QueryWrapper<EarlyWarningEO> earlyWarningEOQW = new QueryWrapper<>();
earlyWarningEOQW.lt("PUT_TIME",LocalDate.now());
int remove = sarStandardWarningDao.delete(earlyWarningEOQW);
System.out.println(remove);
System.out.println("开始执行预警!!!");
DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后)
LinkedList<WarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
//分解单(条款) 新车型 mark=1
List<WarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ");
for (WarningEO warningEO : itemForXCXSSRQ) {
warningEO.setId(UUIDUtils.randomUUID20())
.setPower("1")
.setMark("1")
.setPutTime(warningEO.getXCXSSRQ())
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
}
warningList.addAll(itemForXCXSSRQ);
//分解单(条款) 在产车型 mark=2
List<WarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ");
for (WarningEO warningEO : itemForZCCSSRQ) {
warningEO.setId(UUIDUtils.randomUUID20())
.setPower("1")
.setMark("2")
.setPutTime(warningEO.getZCCSSRQ())
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
}
warningList.addAll(itemForZCCSSRQ);
//标准 新车型 预警 mark=3
List<WarningEO> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ");
for (WarningEO warningEO : standInfoXCXSSRQ) {
warningEO.setId(UUIDUtils.randomUUID20())
/**
* //如果插入的值均为NULL,则根据索引的原理,
* 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的
* 则此处设为 '-1'
*/
.setItemsId("-1")
.setPower("1")
.setMark("3")
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
//实施日期达到预警时间,但在产车实施日期不在时间内
/**
* 2021/9/9取消限制
*/
// if (term.isTerm(warningEO.getXCXSSRQ())){
// warningEO.setPutTime(warningEO.getXCXSSRQ());
// }
warningEO.setPutTime(warningEO.getXCXSSRQ());
}
warningList.addAll(standInfoXCXSSRQ);
//标准 在产车型 mark=4
List<WarningEO> standInfoZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
for (WarningEO warningEO : standInfoZCCSSRQ) {
warningEO.setId(UUIDUtils.randomUUID20())
/**
* 同上
*/
.setItemsId("-1")
.setPower("1")
.setMark("4")
.setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
//实施日期达到预警时间,但在产车实施日期不在时间内
/**
* 2021/9/9取消限制
*/
// if (term.isTerm(warningEO.getZCCSSRQ())){
// warningEO.setPutTime(warningEO.getZCCSSRQ());
// }
warningEO.setPutTime(warningEO.getZCCSSRQ());
}
warningList.addAll(standInfoZCCSSRQ);
//持久化至预警表 忽略标准id和标志位都一样的数据
if (warningList.size()!=0){
//此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束
int count = sarStandardWarningDao.ignoreInsert(warningList);
System.out.println("已预警 " + count + " 条标准或条款!!");
}
}
// @Scheduled(cron = "0 0 0 * * ?") //每天的凌晨0点执行
//// @Scheduled(cron="*/5 * * * * ?")
// @Async
// public void WarningSchedulingTasks() {
// Logger logger = LoggerFactory.getLogger(ScheduledJob.class);
//
// /**
// * 1.查询标准属性字段表(sar_stand_attr_info) XCXSSEQ ZCCSSRQ ZRGCS
// * 联接标准信息表sar_standards_info表的STAND_NAME
// * 2.查询分解单(条款表)
// * 3.查询预警表
// * 4.去掉预警表中已存在的的数据
// * 5.插入预警表
// */
//
// /**
// mark:标识预警的种类
// 3:新车标准预警
// 4:在产车标准预警
// 1:新车条款预警
// 2:在产车条款预警
// */
//
// //删除不在预警范围的标准
// QueryWrapper<EarlyWarningEO> earlyWarningEOQW = new QueryWrapper<>();
// earlyWarningEOQW.lt("PUT_TIME",LocalDate.now());
// int remove = sarStandardWarningDao.delete(earlyWarningEOQW);
// System.out.println(remove);
//
//
// System.out.println("开始执行预警!!!");
//
// DataDTO term = new DataDTO(); //预警期限(当前日期至3个月后)
//
// LinkedList<EarlyWarningEO> warningList = new LinkedList<>();//需预警的标准和条款列表集合
// //分解单(条款) 新车型 mark=1
// List<EarlyWarningEO> itemForXCXSSRQ = sarStandardItemDao.selectWithinTerm(term, "XCXSSRQ");
// for (EarlyWarningEO warningEO : itemForXCXSSRQ) {
// warningEO.setId(UUIDUtils.randomUUID20())
// .setPower("1")
// .setMark("1");
//// .setPutTime(warningEO.getXCXSSRQ());
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
// }
// warningList.addAll(itemForXCXSSRQ);
//
// //分解单(条款) 在产车型 mark=2
// List<EarlyWarningEO> itemForZCCSSRQ = sarStandardItemDao.selectWithinTerm(term, "ZCCSSRQ");
// for (EarlyWarningEO warningEO : itemForZCCSSRQ) {
// warningEO.setId(UUIDUtils.randomUUID20())
// .setPower("1")
// .setMark("2");
//// .setPutTime(warningEO.getZCCSSRQ());
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
//
// }
// warningList.addAll(itemForZCCSSRQ);
//
// //标准 新车型 预警 mark=3
// List<String> standInfoXCXSSRQ = sarStandardInfoDao.selectWithinTerm(term, "XCXSSRQ");
// for (EarlyWarningEO warningEO : standInfoXCXSSRQ) {
// warningEO.setId(UUIDUtils.randomUUID20())
// /**
// * //如果插入的值均为NULL,则根据索引的原理,
// * 全NULL值不被记录在索引上,所以插入全NULL值时,可以有重复的
// * 则此处设为 '-1'
// */
// .setItemsId("-1")
// .setPower("1")
// .setMark("3");
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
//
//
// //实施日期达到预警时间,但在产车实施日期不在时间内
// /**
// * 2021/9/9取消限制
// */
//// if (term.isTerm(warningEO.getXCXSSRQ())){
//// warningEO.setPutTime(warningEO.getXCXSSRQ());
//// }
//// warningEO.setPutTime(warningEO.getXCXSSRQ());
//
// }
// warningList.addAll(standInfoXCXSSRQ);
//
//
// //标准 在产车型 mark=4
// List<String> standIdZCCSSRQ = sarStandardInfoDao.selectWithinTerm(term, "ZCCSSRQ");
//
// List<EarlyWarningEO> standInfoZCCSSRQ = standIdZCCSSRQ.stream()
// .map(id -> {
// EarlyWarningEO earlyWarningEO = new EarlyWarningEO();
// earlyWarningEO.setStandId(id)
// .setItemsId("-1")
// .setPower("1")
// .setMark("4");
// return earlyWarningEO;
// }).collect(Collectors.toList());
// warningList.addAll(standInfoZCCSSRQ);
//
//
//// .setStandCode(warningEO.getStandSort()+" "+ warningEO.getStandNum()+"-"+ warningEO.getStandYear());
// //实施日期达到预警时间,但在产车实施日期不在时间内
// /**
// * 2021/9/9取消限制
// */
//// if (term.isTerm(warningEO.getZCCSSRQ())){
//// warningEO.setPutTime(warningEO.getZCCSSRQ());
//// }
//// warningEO.setPutTime(warningEO.getZCCSSRQ());
//
//
// //持久化至预警表 忽略标准id和标志位都一样的数据
// if (warningList.size()!=0){
// //此表的STAND_ID和MARK字段以及ITEMS_ID字段需个建立唯一性约束
// int count = sarStandardWarningDao.ignoreInsert(warningList);
// logger.info("==================================预警结束======================================");
// logger.info("==================================预警结束======================================");
// logger.info("已预警"+ count+"条标准或条款!!");
// logger.info("==================================预警结束======================================");
// logger.info("==================================预警结束======================================");
//
// }
// }
@@ -4,6 +4,7 @@ package com.adc.da.scheduled.dao;
import com.adc.da.scheduled.entity.DataDTO;
import com.adc.da.scheduled.entity.WarningEO;
import com.adc.da.slrs.sarStandWarning.entity.EarlyWarningEO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -12,7 +13,7 @@ import java.util.List;
@Repository
public interface SarStandardInfoDao{
public List<WarningEO> selectWithinTerm(DataDTO date, String str);
public List<String> selectWithinTerm(DataDTO date, String str);
public int updateStandardInfo(@Param("id")String id, @Param("textStatus") String textStatus);
@@ -13,5 +13,5 @@ import java.util.LinkedList;
@Repository
public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<WarningEO> warningEOS);
public int ignoreInsert(@Param(value = "warningEOS") LinkedList<EarlyWarningEO> warningEOS);
}
@@ -43,7 +43,7 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl<SarLawsAttrD
IPage<SarLawsAttrDetailedList> pageRes = new Page<>(sarFindDto.getPage(), sarFindDto.getSize());
QueryWrapper<SarLawsAttrDetailedList> wrapper = new QueryWrapper<>();
wrapper.eq("detailed_list_id", sarFindDto.getId());
IPage<SarLawsAttrDetailedList> selectPage = sarLawsAttrDetailedListDao.selectPage(pageRes,wrapper);
IPage<SarLawsAttrDetailedList> selectPage = sarLawsAttrDetailedListDao.selectPage(pageRes,wrapper); //??????
//查询标准id
List<String> lawsIds = sarLawsAttrDetailedListDao.selectLawsId(sarFindDto.getId(),(sarFindDto.getPage())-1,sarFindDto.getSize(),sarFindDto);
if (CollectionUtils.isEmpty(lawsIds)){
@@ -65,4 +65,11 @@ public class SarModelTree extends BaseEntity {
@TableField(exist=false)
private List<String> childMenuIds;
@TableField("HAS_CHILDREN")
private String hasChildren;
@TableField(exist = false)
private boolean leaf;
}
@@ -33,6 +33,14 @@ public class SarModelTreeServiceImpl extends ServiceImpl<SarModelTreeDao, SarMod
// tree.setChildren(recursionGetChildren((tree)));
// }
list.forEach(item->{
switch (item.getHasChildren()){
case "0":
item.setLeaf(true);
break;
case "1":
item.setLeaf(false);
break;
}
item.setId(item.getName());
});
return list;
@@ -55,6 +63,14 @@ public class SarModelTreeServiceImpl extends ServiceImpl<SarModelTreeDao, SarMod
// }
children.forEach(item->{
switch (item.getHasChildren()){
case "0":
item.setLeaf(true);
break;
case "1":
item.setLeaf(false);
break;
}
item.setId(item.getName());
});
return children;
@@ -71,6 +71,7 @@ public class BusinessDeptIssue {
@ExcelIgnore
@TableLogic(value = "0",delval = "1")
@TableField("del_flag")
private String delFlag;
@ExcelProperty("责任部门")
@@ -59,6 +59,7 @@ public class ProductDeptIssue {
private String responseDept;
@TableLogic(value = "0",delval = "1")
@TableField("del_flag")
private String delFlag;
@TableField("is_close")
@@ -2,6 +2,7 @@ package com.adc.da.utils.util;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
import java.io.BufferedReader;
@@ -11,7 +12,10 @@ import java.sql.Clob;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 处理各类型字段
@@ -99,11 +103,17 @@ public class FieldConvertUtil {
* @Return: java.lang.String
*/
public static String changeTimeValue (String timeStr) {
if (StringUtils.isNotBlank(timeStr)) {
timeStr = "str_to_date('" + timeStr + "','%Y-%m-%d %H:%i:%s')";
} else {
timeStr = "null";
}
if (StringUtils.isNotBlank(timeStr)) {
List<String> timeList = Arrays.asList(timeStr.split(","));
List<String> collect = timeList.stream()
.map(item -> "str_to_date('" + item + "','%Y-%m-%d %H:%i:%s')")
.collect(Collectors.toList());
timeStr ="concat(" + String.join(", \',\' ,", collect) + ")";
} else {
timeStr = "null";
}
return timeStr;
}
@@ -44,6 +44,86 @@
#{item}
</foreach>
</where>
UNION ALL
SELECT
a.ID,
a.STAND_CODE AS standNumber,
a.STAND_NAME AS standName,
a.STAND_EN_NAME,
b.NYLXCLASS,
null AS SSRQ,
null AS XCXSSRQGJ,
null AS ZCCSSRQGJ,
null as ZRBM,
null as SYCPX,
null as CYCVPPSBM,
null as CYCVPPSCN,
null as KCCVPPSBM,
null as KCCVPPSCN,
null as typeApplicable,
dicstandSort.DIC_TYPE_NAME AS standSortShow,
null as standYear,
null as issueTime,
null asstandType,
null AS textStatus
FROM
sar_bussioness_stand a
LEFT JOIN sar_buss_stand_attr_info b ON a.ID = b.STAND_ID
LEFT JOIN TS_DICTYPE dicstandSort ON (
dicstandSort.dic_type_code = a.stand_sort
AND dicstandSort.dic_id IS NOT NULL
AND dicstandSort.valid_flag = 0
AND dicstandSort.PARENT_ID IS NULL
)
<where>
a.ID IN
<foreach collection="param1" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</where>
UNION ALL
SELECT
a.ID,
a.LAWS_NUMBER AS standNumber,
a.LAWS_NAME AS standName,
a.LAWS_EN_NAME as STAND_EN_NAME,
b.NYLXLAWS,
b.SSRQLAWS AS SSRQ,
b.XCXSSRQLAWS AS XCXSSRQGJ,
b.ZCXSSRQLAWS AS ZCCSSRQGJ,
b.ZRBMLAWS as ZRBM,
null as SYCPX,
null as CYCVPPSBM,
null as CYCVPPSCN,
null as KCCVPPSBM,
null as KCCVPPSCN,
null as typeApplicable,
dicstandSort.DIC_TYPE_NAME AS standSortShow,
a.LAWS_YEAR as standYear,
a.ISSUE_TIME as issueTime,
null asstandType,
null AS textStatus
FROM
sar_laws_stand_info a
LEFT JOIN sar_laws_attr_info b ON a.ID = b.LAWS_ID
LEFT JOIN TS_DICTYPE dicstandSort ON (
dicstandSort.dic_type_code = a.LAWS_TYPE
AND dicstandSort.dic_id IS NOT NULL
AND dicstandSort.valid_flag = 0
AND dicstandSort.PARENT_ID IS NULL
)
<where>
a.ID IN
<foreach collection="param1" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</where>
</select>
<select id="selectLawsByIdE" resultType="com.adc.da.slrs.sarLawsAttrDetailedList.entity.LawsDto">
@@ -3,33 +3,24 @@
<mapper namespace="com.adc.da.scheduled.dao.SarStandardInfoDao">
<!-- Result Map-->
<resultMap id="resultMap" type="com.adc.da.scheduled.entity.WarningEO" >
<id column="ID" property="standId" />
<result column="STAND_NUMBER" property="standNum" />
<result column="STAND_NAME" property="standName" />
<result column="STAND_SORT" property="standSort"/>
<result column="STAND_YEAR" property="standYear"/>
<result column="XCXSSRQ" property="XCXSSRQ"/>
<result column="ZCCSSRQ" property="ZCCSSRQ"/>
<result column="SSRQ" property="SSRQ"/>
<result column="CLLX" property="applyType" />
<result column="STAND_TYPE" property="standType" />
<result column="ZRGCS" property="dutyEngineer" />
</resultMap>
<!-- <resultMap id="resultMap" type="com.adc.da.scheduled.entity.WarningEO" >-->
<!-- <id column="ID" property="standId" />-->
<!-- <result column="STAND_NUMBER" property="standNum" />-->
<!-- <result column="STAND_NAME" property="standName" />-->
<!-- <result column="STAND_SORT" property="standSort"/>-->
<!-- <result column="STAND_YEAR" property="standYear"/>-->
<!-- <result column="XCXSSRQ" property="XCXSSRQ"/>-->
<!-- <result column="ZCCSSRQ" property="ZCCSSRQ"/>-->
<!-- <result column="SSRQ" property="SSRQ"/>-->
<!-- <result column="CLLX" property="applyType" />-->
<!-- <result column="STAND_TYPE" property="standType" />-->
<!-- <result column="ZRGCS" property="dutyEngineer" />-->
<!-- </resultMap>-->
<!-- 查询条件 -->
<select id="selectWithinTerm" resultMap="resultMap" parameterType="com.adc.da.scheduled.entity.DataDTO">
<select id="selectWithinTerm" resultType="java.lang.String" parameterType="com.adc.da.scheduled.entity.DataDTO">
SELECT
info.ID,
info.STAND_SORT,
info.STAND_YEAR,
info.STAND_NUMBER,
info.STAND_NAME,
info.STAND_TYPE,
attrInfo.CLLX,
attrInfo.ZRGCS,
attrInfo.SSRQ,
attrInfo.${str}
info.ID
FROM
sar_standards_info AS info
JOIN sar_stand_attr_info AS attrInfo ON info.id = attrinfo.stand_id
@@ -79,19 +79,19 @@
dicstandTextStatus.DIC_TYPE_NAME AS standTextStatusShow,
(
CASE
WHEN SAR_STAND_ATTR_INFO.SSRQ ='' THEN '9999-01-01'
WHEN SAR_STAND_ATTR_INFO.SSRQ ='' THEN ''
ELSE SAR_STAND_ATTR_INFO.SSRQ
END
) AS SSRQ,
(
CASE
WHEN SAR_STAND_ATTR_INFO.ZCCSSRQ ='' THEN '9999-01-01'
WHEN SAR_STAND_ATTR_INFO.ZCCSSRQ ='' THEN ''
ELSE SAR_STAND_ATTR_INFO.ZCCSSRQ
END
) AS ZCCSSRQ,
(
CASE
WHEN SAR_STAND_ATTR_INFO.XCXSSRQ ='' THEN '9999-01-01'
WHEN SAR_STAND_ATTR_INFO.XCXSSRQ ='' THEN ''
ELSE SAR_STAND_ATTR_INFO.XCXSSRQ
END
) AS XCXSSRQ