Browse Source

预警

dev_kxc
ljf 12 months ago
parent
commit
4849f9dbb3
  1. 2
      jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiChangeController.java
  2. 2
      jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiGzbzjController.java
  3. 2
      jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSalaryEnsureController.java
  4. 14
      jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSubProjectQualityController.java
  5. 1
      jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectInfoController.java
  6. 4
      jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectInfo.java
  7. 2
      jwtech-system/src/main/java/com/kms/warn/WarnOperate.java
  8. 12
      jwtech-system/src/main/java/com/kms/warn/WarnType.java
  9. 76
      jwtech-system/src/main/java/com/kms/warn/WarningJudgment.java
  10. 2
      jwtech-system/src/main/java/com/kms/warn/warnconfig/HolidayUtil.java
  11. 2
      jwtech-system/src/main/java/com/kms/warn/warnconfig/TaskPoolConfig.java
  12. 15
      jwtech-system/src/main/java/com/kms/warn/warnconfig/WarnRo.java

2
jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiChangeController.java

@ -95,7 +95,7 @@ public class BsSgcJsjdBuiChangeController extends BaseController
BaseEntityUtils.preInsert(bsSgcJsjdBuiChange);
boolean save = bsSgcJsjdBuiChangeService.save(bsSgcJsjdBuiChange);
if(save){
warningJudgment.ChangeWarn(bsSgcJsjdBuiChange, WarnType.SECTION_CHANGES);
warningJudgment.ChangeWarn(bsSgcJsjdBuiChange);
}
return toAjax(save);
}

2
jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiGzbzjController.java

@ -94,7 +94,7 @@ public class BsSgcJsjdBuiGzbzjController extends BaseController
{
BaseEntityUtils.preInsert(bsSgcJsjdBuiGzbzj);
AjaxResult ajaxResult = toAjax(bsSgcJsjdBuiGzbzjService.save(bsSgcJsjdBuiGzbzj));
warningJudgment.GzbzjWarn(bsSgcJsjdBuiGzbzj, WarnType.SALARY_DEPOSIT);
warningJudgment.GzbzjWarn(bsSgcJsjdBuiGzbzj);
return ajaxResult;
}

2
jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSalaryEnsureController.java

@ -93,7 +93,7 @@ public class BsSgcJsjdBuiSalaryEnsureController extends BaseController
{
BaseEntityUtils.preInsert(bsSgcJsjdBuiSalaryEnsure);
boolean save = bsSgcJsjdBuiSalaryEnsureService.save(bsSgcJsjdBuiSalaryEnsure);
warningJudgment.salaryEnsureWarn(bsSgcJsjdBuiSalaryEnsure,WarnType.MARGIN_PAYMENT_TIME);
warningJudgment.salaryEnsureWarn(bsSgcJsjdBuiSalaryEnsure);
return toAjax(save);
}

14
jwtech-system/src/main/java/com/kms/build/controller/BsSgcJsjdBuiSubProjectQualityController.java

@ -16,6 +16,7 @@ import com.kms.build.service.BsSgcJsjdBuiUnitQualityRateService;
import com.kms.common.utils.BaseEntityUtils;
import com.kms.warn.WarningJudgment;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -58,6 +59,9 @@ public class BsSgcJsjdBuiSubProjectQualityController extends BaseController
@Autowired
private BsSgcJsjdBuiUnitProjectService bsSgcJsjdBuiUnitProjectService;
@Autowired
WarningJudgment warningJudgment;
/**
* 查询分部工程质量评定列表
@ -114,13 +118,15 @@ public class BsSgcJsjdBuiSubProjectQualityController extends BaseController
bsSgcJsjdBuiUnitQualityRateService.save(qualityRate);
String id = qualityRate.getId();
bsSgcJsjdBuiSubProjectQuality.setUnitId(id);
return toAjax(bsSgcJsjdBuiSubProjectQualityService.save(bsSgcJsjdBuiSubProjectQuality));
boolean save = bsSgcJsjdBuiSubProjectQualityService.save(bsSgcJsjdBuiSubProjectQuality);
warningJudgment.detectionWarn(bsSgcJsjdBuiSubProjectQuality);
return toAjax(save);
}else {
bsSgcJsjdBuiSubProjectQuality.setUnitId(one.getId());
return toAjax(bsSgcJsjdBuiSubProjectQualityService.save(bsSgcJsjdBuiSubProjectQuality));
boolean save = bsSgcJsjdBuiSubProjectQualityService.save(bsSgcJsjdBuiSubProjectQuality);
warningJudgment.detectionWarn(bsSgcJsjdBuiSubProjectQuality);
return toAjax(save);
}
}
/**

1
jwtech-system/src/main/java/com/kms/earlyStage/controller/SpecialProjectInfoController.java

@ -176,7 +176,6 @@ public class SpecialProjectInfoController extends BaseController {
SysDept sysDept = sysDeptService.get(deptId);
specialProjectInfo.setAdcd(sysDept.getXzqhName());
}
return toAjax(specialProjectInfoService.save(specialProjectInfo));
}

4
jwtech-system/src/main/java/com/kms/earlyStage/domain/SpecialProjectInfo.java

@ -97,8 +97,6 @@ public class SpecialProjectInfo extends BaseEntity
* 行政区划
*/
@ApiModelProperty("行政区划")
@TableField(exist = false)
@NoQuery
private String Adcd;
private String adcd;
}

2
jwtech-system/src/main/java/com/kms/warn/WarnOperate.java

@ -30,7 +30,7 @@ public class WarnOperate {
bsSgcJsjdWarnResult.setWarnResult(warnResult);
bsSgcJsjdWarnResult.preInsert();
bsSgcJsjdWarnResult.setCreateUid("1"); //系统账号
bsSgcJsjdWarnResult.setResultType("1"); //预警
bsSgcJsjdWarnResult.setResultType("2"); //预警
bsSgcJsjdWarnResultService.save(bsSgcJsjdWarnResult);
}else {
one.setWarnResult(warnResult);

12
jwtech-system/src/main/java/com/kms/warn/WarnType.java

@ -16,11 +16,15 @@ public enum WarnType {
//标段单次变更金额超过500万元,或单项变更金额超过标段合同价5%
SECTION_EXCEED("A001","001","标段单次变更金额超过500万元,或单项变更金额超过标段合同价5%",null),
//保证金的缴纳时间与施工令时间进行比对,大于20个工作日
MARGIN_PAYMENT_TIME("D001","004","保证金的缴纳时间与施工令时间进行比对,大于%个工作日",null),
MARGIN_PAYMENT_TIME("D001","004","保证金的缴纳时间与施工令时间进行比对,大于20个工作日",null),
//专用账户余额等于小于0
SALARY_DEPOSIT("D002","004","专用账户余额为%",null),
SALARY_DEPOSIT("D002","004","专用账户余额为%s",null),
//标段变更次数累计超过20次的,非基本建设程序项目的标段变更次数累计超过10次的
SECTION_CHANGES("A003","001","标段变更次数累计%次,超过20次","基本建设程序项目的标段变更次数累计%次,超过10次");
SECTION_CHANGES("A003","001","标段变更次数累计%s次,超过20次","基本建设程序项目的标段变更次数累计%s次,超过10次"),
//检测结果合格率<90%
DETECTION_QUALIFICATION_RATE("A001","003","检测结果合格率为%s,小于90%",null),
//超过合同工期6个月未完成验收
EXCEEDING_CONTRACT_PERIOD("A001","007","超过合同工期6个月未完成验收",null);
private String warnType;
private String warnSubType;
@ -44,7 +48,7 @@ public enum WarnType {
public String replaceString(String warnResult,String target){
return warnResult.replaceAll("%",target);
return warnResult.replaceAll("%s",target);
}
}

76
jwtech-system/src/main/java/com/kms/warn/WarningJudgment.java

@ -2,46 +2,50 @@ package com.kms.warn;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.build.domain.BsSgcJsjdBuiChange;
import com.kms.build.domain.BsSgcJsjdBuiConstrMeas;
import com.kms.build.domain.BsSgcJsjdBuiGzbzj;
import com.kms.build.domain.BsSgcJsjdBuiSalaryEnsure;
import com.kms.build.service.BsSgcJsjdBuiChangeService;
import com.kms.build.service.BsSgcJsjdBuiConstrMeasService;
import com.kms.build.service.BsSgcJsjdBuiSalaryEnsureService;
import com.jianwei.common.utils.StringUtils;
import com.kms.build.domain.*;
import com.kms.build.service.*;
import com.kms.warn.warnconfig.HolidayUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.time.Instant;
import java.util.Calendar;
import java.util.Date;
@Async
@Configuration
public class WarningJudgment<T> {
public static final String redisKey = "warn:queue";
@Autowired
WarnOperate warnOperate;
@Autowired
RedisTemplate redisTemplate;
@Autowired
BsSgcJsjdBuiSalaryEnsureService bsSgcJsjdBuiSalaryEnsureService;
@Autowired
BsSgcJsjdBuiConstrMeasService bsSgcJsjdBuiConstrMeasService;
@Autowired
BsSgcJsjdBuiChangeService bsSgcJsjdBuiChangeService;
@Autowired
BsSgcJsjdBuiSubProjectQualityService bsSgcJsjdBuiSubProjectQualityService;
@Autowired
BsSgcJsjdBuiContInfoService bsSgcJsjdBuiContInfoService;
/**
* 农民工工资保证金预警
* @param
* @param warnType
* @param
*/
public void salaryEnsureWarn(BsSgcJsjdBuiSalaryEnsure salaryEnsure, WarnType warnType){
public void salaryEnsureWarn(BsSgcJsjdBuiSalaryEnsure salaryEnsure){
WarnType warnType = WarnType.MARGIN_PAYMENT_TIME;
String proCode = salaryEnsure.getProCode();
String proNo = salaryEnsure.getProNo();
BsSgcJsjdBuiConstrMeas one = bsSgcJsjdBuiConstrMeasService.getOne(Wrappers.lambdaQuery(BsSgcJsjdBuiConstrMeas.class)
@ -63,9 +67,10 @@ public class WarningJudgment<T> {
/**
* 农名工工资保证金专用账户预警
* @param
* @param warnType
* @param
*/
public void GzbzjWarn(BsSgcJsjdBuiGzbzj bsSgcJsjdBuiGzbzj, WarnType warnType){
public void GzbzjWarn(BsSgcJsjdBuiGzbzj bsSgcJsjdBuiGzbzj){
WarnType warnType = WarnType.MARGIN_PAYMENT_TIME;
String proNo = bsSgcJsjdBuiGzbzj.getProNo();
String projectCode = bsSgcJsjdBuiGzbzj.getProjectCode();
String balance = bsSgcJsjdBuiGzbzj.getBalance();
@ -79,7 +84,8 @@ public class WarningJudgment<T> {
/**
* 标段变更预警
*/
public void ChangeWarn(BsSgcJsjdBuiChange bsSgcJsjdBuiChange,WarnType warnType){
public void ChangeWarn(BsSgcJsjdBuiChange bsSgcJsjdBuiChange){
WarnType warnType = WarnType.SECTION_CHANGES;
String proCode = bsSgcJsjdBuiChange.getProCode();
String proNo = bsSgcJsjdBuiChange.getProNo();
QueryWrapper<BsSgcJsjdBuiChange> query = Wrappers.query();
@ -98,6 +104,40 @@ public class WarningJudgment<T> {
}
/**
* 检测结果合格率预警
*/
public void detectionWarn(BsSgcJsjdBuiSubProjectQuality bsSgcJsjdBuiSubProjectQuality){
WarnType warnType = WarnType.DETECTION_QUALIFICATION_RATE;
String cellProjectRate = bsSgcJsjdBuiSubProjectQuality.getCellProjectRate();
String proNo = bsSgcJsjdBuiSubProjectQuality.getProNo();
String proCode = bsSgcJsjdBuiSubProjectQuality.getProCode();
if(StringUtils.isNotEmpty(cellProjectRate)){
Double aDouble = Double.valueOf(cellProjectRate);
if(aDouble<90){
warnOperate.sendWarn(proNo,proCode,warnType, warnType.replaceString(warnType.getOtherResult(),cellProjectRate));
}
}
}
/**
* 合同超期预警
*/
public void exceedingWarn(BsSgcJsjdBuiContInfo bsSgcJsjdBuiContInfo){
WarnType exceedingContractPeriod = WarnType.EXCEEDING_CONTRACT_PERIOD;
String contractDuration = bsSgcJsjdBuiContInfo.getContractDuration();
Integer integer = Integer.valueOf(contractDuration); //几月
Date commencementTime = bsSgcJsjdBuiContInfo.getCommencementTime();
Calendar instance = Calendar.getInstance();
instance.setTime(commencementTime);
instance.add(Calendar.MONTH,integer);
// redisTemplate.opsForZSet().add()
}
}

2
jwtech-system/src/main/java/com/kms/warn/HolidayUtil.java → jwtech-system/src/main/java/com/kms/warn/warnconfig/HolidayUtil.java

@ -1,4 +1,4 @@
package com.kms.warn;
package com.kms.warn.warnconfig;
import cn.hutool.core.date.DateUtil;
import com.jwtech.util.StringUtil;
import org.apache.commons.lang.StringUtils;

2
jwtech-system/src/main/java/com/kms/warn/TaskPoolConfig.java → jwtech-system/src/main/java/com/kms/warn/warnconfig/TaskPoolConfig.java

@ -1,4 +1,4 @@
package com.kms.warn;
package com.kms.warn.warnconfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

15
jwtech-system/src/main/java/com/kms/warn/warnconfig/WarnRo.java

@ -0,0 +1,15 @@
package com.kms.warn.warnconfig;
import com.kms.warn.WarnType;
import lombok.Data;
@Data
public class WarnRo {
WarnType warnType;
String proNo;
String proCode;
}
Loading…
Cancel
Save