Commit db2cd8b2 by 王衍超

合同预警完善;

parent 9ab9d937
...@@ -43,6 +43,9 @@ public class BaseBusinessWarn { ...@@ -43,6 +43,9 @@ public class BaseBusinessWarn {
/** 指标*/ /** 指标*/
protected String target; protected String target;
/** 预警设置ID*/
protected UUID warnSettingId;
private IWarningCalculate warningCalculate; private IWarningCalculate warningCalculate;
private IWarningSettingService warningSettingService; private IWarningSettingService warningSettingService;
...@@ -56,11 +59,20 @@ public class BaseBusinessWarn { ...@@ -56,11 +59,20 @@ public class BaseBusinessWarn {
private StaffDAO staffDAO; private StaffDAO staffDAO;
public BaseBusinessWarn(@NonNull UUID warnSettingId) {
Assert.notNull(warnSettingId, "The warnSettingId must not be null!");
this.warnSettingId = warnSettingId;
init();
}
public BaseBusinessWarn(@NonNull String billType, @Nullable UUID billId, @Nullable String target) { public BaseBusinessWarn(@NonNull String billType, @Nullable UUID billId, @Nullable String target) {
Assert.notNull(billType, "The billType must not be null!"); Assert.notNull(billType, "The billType must not be null!");
this.billType = billType; this.billType = billType;
this.billId = billId; this.billId = billId;
this.target = target; this.target = target;
init();
}
private void init() {
remindService = getRemindService(); remindService = getRemindService();
staffService = getStaffService(); staffService = getStaffService();
warningSettingService = getWarningSettingService(); warningSettingService = getWarningSettingService();
...@@ -68,8 +80,10 @@ public class BaseBusinessWarn { ...@@ -68,8 +80,10 @@ public class BaseBusinessWarn {
} }
/** 预警设置*/ /** 预警设置*/
protected WarnSetting getWarnSetting() { public WarnSetting getWarnSetting() {
if(warnSettingId!=null) {
return warningSettingService.getWarnSetting(warnSettingId);
}
return warningSettingService.getWarnSetting(billType, billId, target); return warningSettingService.getWarnSetting(billType, billId, target);
} }
...@@ -91,34 +105,34 @@ public class BaseBusinessWarn { ...@@ -91,34 +105,34 @@ public class BaseBusinessWarn {
boolean isWarning = false; boolean isWarning = false;
WarnSetting warnSetting = getWarnSetting(); WarnSetting warnSetting = getWarnSetting();
if(warnSetting==null || !warnSetting.isOpen()) return false; if(warnSetting==null ) return false;//|| !warnSetting.isOpen()
Assert.notNull(warningCalculate, "The warningCalculate must not be null!"); Assert.notNull(warningCalculate, "The warningCalculate must not be null!");
//计算业务实际的值, 与预警设置中的值做比较, 计算是否预警 //计算业务实际的值, 与预警设置中的值做比较, 计算是否预警
isWarning = warningCalculate.isWarning(warnSetting); isWarning = warningCalculate.isWarning(warnSetting);
if(!isWarning) isNotice= false; // if(!isWarning) isNotice= false;
UUID warnSettingId = warnSetting.getSettingId();
//记录预警日志 //记录预警日志
UUID warnSettingId = warnSetting.getSettingId();
WarnExeRecord warnExeRecord = warningSettingService.queryWarnExeRecord(warnSettingId); WarnExeRecord warnExeRecord = warningSettingService.queryWarnExeRecord(warnSettingId);
//1.当前没有执行中的预警记录
if (warnExeRecord == null) { if (warnExeRecord == null) {
//新增预警执行信息 if(!isWarning) return false;//1.1 没有触发预警, 则不做任何操作;
//1.2 新增预警执行信息
warnExeRecord = createWarnExeRecord(warnSetting); warnExeRecord = createWarnExeRecord(warnSetting);
warningSettingService.insertWarnExe(warnExeRecord); warningSettingService.insertWarnExe(warnExeRecord);
}else { }else {
//修改预警执行信息 //2.当前存在执行中的预警记录,则修改预警执行信息
Date currentTime = new Date(); Date currentTime = new Date();
warnExeRecord.setRecentlyTime(currentTime); warnExeRecord.setRecentlyTime(currentTime);
if(!isWarning) { if(!isWarning) {//2.1 如果没有处罚预警,则结束该预警记录
warnExeRecord.setEndTime(currentTime); warnExeRecord.setEndTime(currentTime);
} }
warningSettingService.updateWarnExe(warnExeRecord); warningSettingService.updateWarnExe(warnExeRecord);
} }
String[] noticePerson = warnSetting.getPersonnel(); String[] noticePerson = warnSetting.getPersonnel();
String message = "message"; String message = warningCalculate.warnMessage();
try { try {
if (isNotice) if (isWarning)
notice(noticePerson, message, warnSetting.getBillId()); notice(noticePerson, message, warnSetting.getBillId());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -155,11 +169,11 @@ public class BaseBusinessWarn { ...@@ -155,11 +169,11 @@ public class BaseBusinessWarn {
UUID remindId = UUID.randomUUID(); UUID remindId = UUID.randomUUID();
remObject.put("id", remindId); remObject.put("id", remindId);
remObject.put("createTime", currentTimeStr); remObject.put("createTime", currentTimeStr);
remObject.put("remindContent", "合同预警通知");
remObject.put("remindTime", currentTimeStr); remObject.put("remindTime", currentTimeStr);
remObject.put("remindContent", message);//消息
remObject.put("data",billId );//param.getString("id") remObject.put("data",billId );
remObject.put("lookName", "contractY"); remObject.put("lookName", "");//标题
remObject.put("lookType", "Contract"); remObject.put("lookType", "Contract");
remObject.put("_type", CommonConstants.REMIND_ENTITY); remObject.put("_type", CommonConstants.REMIND_ENTITY);
remObject.put("isToCustomer", false); remObject.put("isToCustomer", false);
......
...@@ -5,11 +5,12 @@ package com.xyst.dinas.biz.warn; ...@@ -5,11 +5,12 @@ package com.xyst.dinas.biz.warn;
* @author Jackpot * @author Jackpot
* @date 2021年3月30日 * @date 2021年3月30日
*/ */
@FunctionalInterface //@FunctionalInterface
public interface IWarningCalculate { public interface IWarningCalculate {
boolean isWarning(WarnSetting warnSetting); boolean isWarning(WarnSetting warnSetting);
String warnMessage();
//boolean isRepeat();重复执行 //boolean isRepeat();重复执行
......
...@@ -5,9 +5,16 @@ public class WarnSettingConstant { ...@@ -5,9 +5,16 @@ public class WarnSettingConstant {
/** 实体名:预警设置 */ /** 实体名:预警设置 */
public static final String ENTITY_WARNSETTING = "com.xyst.dinas.biz.datamodel.WarnSetting"; public static final String ENTITY_WARNSETTING = "com.xyst.dinas.biz.datamodel.WarnSetting";
/************************************/
/** 实体名:预警执行记录 */ /** 实体名:预警执行记录 */
public static final String ENTITY_WARNINGEXE = "com.xyst.dinas.biz.datamodel.WarningExe"; public static final String ENTITY_WARNINGEXE = "com.xyst.dinas.biz.datamodel.WarningExe";
/** 项目 */ /** 预警结束时间 */
public static final String PROJECT = "project"; public static final String END_TIME = "endTime";
/** 最近预警时间 */
public static final String RECENTLY_TIME = "recentlyTime";
} }
package com.xyst.dinas.biz.warn;
import java.util.UUID;
public class WarnTest {
public void warnTest() {
String billType = "contract";
UUID billId = null;
String target = "青砂";
int count = 10000;//青砂余量
// BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(billType, billId,target);
// DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count);
// contractBusinessWarn.setWarningCalculate(dinasCountWarningCalculate);
// contractBusinessWarn.warn();
}
}
package com.xyst.dinas.biz.warn.dao; package com.xyst.dinas.biz.warn.dao;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
...@@ -18,7 +19,6 @@ import org.springframework.orm.hibernate5.HibernateCallback; ...@@ -18,7 +19,6 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations; import org.springframework.orm.hibernate5.HibernateOperations;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.beecode.amino.common.Convert;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.warn.WarnExeRecord; import com.xyst.dinas.biz.warn.WarnExeRecord;
import com.xyst.dinas.biz.warn.WarnSetting; import com.xyst.dinas.biz.warn.WarnSetting;
...@@ -47,9 +47,23 @@ public class WarnSettingDao { ...@@ -47,9 +47,23 @@ public class WarnSettingDao {
return (KObject) template.get(WarnSettingConstant.ENTITY_WARNINGEXE, id); return (KObject) template.get(WarnSettingConstant.ENTITY_WARNINGEXE, id);
} }
/**
* 将一条预警执行记录改为结束状态
* @param warnRecord
*/
public void endWarnRecordState(KObject warnRecord) {
if(warnRecord==null) return;
LocalDateTime now = LocalDateTime.now();
warnRecord.set(WarnSettingConstant.END_TIME, now);
warnRecord.set(WarnSettingConstant.RECENTLY_TIME, now);
update(warnRecord);
}
public WarnSetting getWarnSetting(UUID warnSettingId) {
KObject warnSetting = queryWarnSettingById(warnSettingId);
return warnSettingToEntity(warnSetting);
}
public WarnSetting getWarnSetting(String billType, UUID billId, String target) { public WarnSetting getWarnSetting(String billType, UUID billId, String target) {
...@@ -66,10 +80,16 @@ public class WarnSettingDao { ...@@ -66,10 +80,16 @@ public class WarnSettingDao {
if(billId!=null) query.setParameter("billId", billId); if(billId!=null) query.setParameter("billId", billId);
if(target!=null) query.setParameter("target", target); if(target!=null) query.setParameter("target", target);
KObject singleResult = query.getSingleResult(); KObject singleResult = query.getSingleResult();
return warnSettingToEntity(singleResult);
});
}
private WarnSetting warnSettingToEntity(KObject singleResult) {
if(singleResult==null) return null;
UUID settingId = singleResult.getUuid("id"); UUID settingId = singleResult.getUuid("id");
UUID billId2 = singleResult.getUuid("billId"); UUID billId = singleResult.getUuid("billId");
String target2 = singleResult.getString("target"); String billType = singleResult.getString("billType");
String target = singleResult.getString("target");
String max = singleResult.getString("max"); String max = singleResult.getString("max");
String min = singleResult.getString("min"); String min = singleResult.getString("min");
String personnel = singleResult.getString("personnel"); String personnel = singleResult.getString("personnel");
...@@ -78,8 +98,8 @@ public class WarnSettingDao { ...@@ -78,8 +98,8 @@ public class WarnSettingDao {
WarnSettingEntity warnSettingEntity = new WarnSettingEntity(); WarnSettingEntity warnSettingEntity = new WarnSettingEntity();
warnSettingEntity.setBillType(billType); warnSettingEntity.setBillType(billType);
warnSettingEntity.setBillId(billId2); warnSettingEntity.setBillId(billId);
warnSettingEntity.setTarget(target2); warnSettingEntity.setTarget(target);
warnSettingEntity.setSettingId(settingId); warnSettingEntity.setSettingId(settingId);
warnSettingEntity.setMin(min); warnSettingEntity.setMin(min);
warnSettingEntity.setMax(max); warnSettingEntity.setMax(max);
...@@ -88,11 +108,27 @@ public class WarnSettingDao { ...@@ -88,11 +108,27 @@ public class WarnSettingDao {
String[] personnelArray= personnel!=null && !personnel.isEmpty()?personnel.split(","):null; String[] personnelArray= personnel!=null && !personnel.isEmpty()?personnel.split(","):null;
warnSettingEntity.setPersonnel(personnelArray); warnSettingEntity.setPersonnel(personnelArray);
return warnSettingEntity; return warnSettingEntity;
});
} }
/**
* 通过预警设置ID查询一条未结束的预警执行记录
* @param warnSettingId
* @return
*/
public KObject queryWarnExeRecordBySettingId(UUID warnSettingId) {
String QUERY_HQL = "from " + WarnSettingConstant.ENTITY_WARNINGEXE + " where endTime is null and warnSetting.id =:warnSettingId";
return template.execute(session -> {
Query<KObject> query = session.createQuery(QUERY_HQL, KObject.class);
query.setParameter("warnSettingId", warnSettingId);
List<KObject> resultList = query.getResultList();
if (resultList.isEmpty()) return null;
return resultList.get(0);
});
}
public WarnExeRecord queryWarnExeRecord(UUID warnSettingId) { public WarnExeRecord queryWarnExeRecord(UUID warnSettingId) {
...@@ -100,20 +136,19 @@ public class WarnSettingDao { ...@@ -100,20 +136,19 @@ public class WarnSettingDao {
return template.execute(session -> { return template.execute(session -> {
Query<KObject> query = session.createQuery(QUERY_HQL, KObject.class);//KObject Query<KObject> query = session.createQuery(QUERY_HQL, KObject.class);
query.setParameter("warnSettingId", warnSettingId); query.setParameter("warnSettingId", warnSettingId);
List<KObject> resultList = query.getResultList(); List<KObject> resultList = query.getResultList();
if (resultList.isEmpty()) { if (resultList.isEmpty()) return null;
return null; KObject singleResult = resultList.get(0);
}
KObject singleResult = query.getSingleResult();
Date stratTime = singleResult.getDate("stratTime"); Date stratTime = singleResult.getDate("startTime");
Date endTime = singleResult.getDate("endTime"); Date endTime = singleResult.getDate("endTime");
Date recentlyTime = singleResult.getDate("recentlyTime"); Date recentlyTime = singleResult.getDate("recentlyTime");
String max = singleResult.getString("max"); String max = singleResult.getString("max");
String min = singleResult.getString("min"); String min = singleResult.getString("min");
String message = singleResult.getString("message"); String message = singleResult.getString("message");
String memo = singleResult.getString("memo");
String target = singleResult.getString("target"); String target = singleResult.getString("target");
UUID billId = singleResult.getUuid("billId"); UUID billId = singleResult.getUuid("billId");
UUID id = singleResult.getUuid("id"); UUID id = singleResult.getUuid("id");
...@@ -127,6 +162,7 @@ public class WarnSettingDao { ...@@ -127,6 +162,7 @@ public class WarnSettingDao {
warnExeRecord.setMax(max); warnExeRecord.setMax(max);
warnExeRecord.setMin(min); warnExeRecord.setMin(min);
warnExeRecord.setMessage(message); warnExeRecord.setMessage(message);
warnExeRecord.setMemo(memo);
warnExeRecord.setTarget(target); warnExeRecord.setTarget(target);
warnExeRecord.setBillId(billId); warnExeRecord.setBillId(billId);
warnExeRecord.setWarnState("warnState"); warnExeRecord.setWarnState("warnState");
......
...@@ -20,6 +20,8 @@ public interface IWarningSettingService { ...@@ -20,6 +20,8 @@ public interface IWarningSettingService {
*/ */
public UUID insertWarnSetting(WarnSetting warnSetting) ; public UUID insertWarnSetting(WarnSetting warnSetting) ;
WarnSetting getWarnSetting(@NonNull UUID warnSettingId);
WarnSetting getWarnSetting(@NonNull String billType, @Nullable UUID billId, @Nullable String target); WarnSetting getWarnSetting(@NonNull String billType, @Nullable UUID billId, @Nullable String target);
/** /**
* 根据ID查询一条预警设置 * 根据ID查询一条预警设置
...@@ -42,6 +44,13 @@ public interface IWarningSettingService { ...@@ -42,6 +44,13 @@ public interface IWarningSettingService {
public void updateWarnExe(WarnExeRecord warnExeRecord); public void updateWarnExe(WarnExeRecord warnExeRecord);
/**
* 结束一条预警设置的预警执行记录
* @param warnSettingId
*/
void endWarnStateBySettingId(UUID warnSettingId);
/** /**
* 查询未结束的预警执行记录 * 查询未结束的预警执行记录
* @param warnSettingId * @param warnSettingId
......
package com.xyst.dinas.biz.warn.service;
/**
* 预警服务
*
* @author Jackpot
* @date 2021年4月1日
*/
public class WarningService {
}
...@@ -50,9 +50,29 @@ public class WarningSettingServiceImpl implements IWarningSettingService{ ...@@ -50,9 +50,29 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
KClass type = Amino.getApplicationMetadataContext().getBean(WarnSettingConstant.ENTITY_WARNINGEXE, KClass.class); KClass type = Amino.getApplicationMetadataContext().getBean(WarnSettingConstant.ENTITY_WARNINGEXE, KClass.class);
JsonNode json = JSONObjectUtils.toJson(warnExeRecord); JsonNode json = JSONObjectUtils.toJson(warnExeRecord);
KObject object = JSONObjectUtils.toObject(json, type); KObject object = JSONObjectUtils.toObject(json, type);
object.set("startTime", warnExeRecord.getStratTime());
object.set("recentlyTime", warnExeRecord.getRecentlyTime());
UUID warnSettingId = warnExeRecord.getWarnSettingId();
KObject warnSettingObj = warnSettingDao.queryWarnSettingById(warnSettingId);
object.set("warnSetting", warnSettingObj);
return warnSettingDao.create(object); return warnSettingDao.create(object);
} }
/**
* 结束一条预警设置的预警执行记录
* @param warnSettingId
*/
public void endWarnStateBySettingId(UUID warnSettingId) {
KObject warnExeRecord = warnSettingDao.queryWarnExeRecordBySettingId(warnSettingId);
warnSettingDao.endWarnRecordState(warnExeRecord);
}
@Override
public WarnSetting getWarnSetting(UUID warnSettingId) {
return warnSettingDao.getWarnSetting(warnSettingId);
}
@Override @Override
public WarnSetting getWarnSetting(String billType, UUID billId, String target) { public WarnSetting getWarnSetting(String billType, UUID billId, String target) {
return warnSettingDao.getWarnSetting(billType, billId, target); return warnSettingDao.getWarnSetting(billType, billId, target);
...@@ -73,6 +93,12 @@ public class WarningSettingServiceImpl implements IWarningSettingService{ ...@@ -73,6 +93,12 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
KClass type = Amino.getApplicationMetadataContext().getBean(WarnSettingConstant.ENTITY_WARNINGEXE, KClass.class); KClass type = Amino.getApplicationMetadataContext().getBean(WarnSettingConstant.ENTITY_WARNINGEXE, KClass.class);
JsonNode json = JSONObjectUtils.toJson(warnExeRecord); JsonNode json = JSONObjectUtils.toJson(warnExeRecord);
KObject object = JSONObjectUtils.toObject(json, type); KObject object = JSONObjectUtils.toObject(json, type);
object.set("startTime", warnExeRecord.getStratTime());
object.set("endTime", warnExeRecord.getEndTime());
object.set("recentlyTime", warnExeRecord.getRecentlyTime());
UUID warnSettingId = warnExeRecord.getWarnSettingId();
KObject warnSettingObj = warnSettingDao.queryWarnSettingById(warnSettingId);
object.set("warnSetting", warnSettingObj);
warnSettingDao.update(object); warnSettingDao.update(object);
} }
......
...@@ -28,12 +28,12 @@ public class WarnSettingController { ...@@ -28,12 +28,12 @@ public class WarnSettingController {
private IWarningSettingService warningSettingService; private IWarningSettingService warningSettingService;
//更新预警设置 //更新预警设置
@PostMapping("/warnsetting/update") // @PostMapping("/warnsetting/update")
public String updateWarnSettingPerson(@RequestBody UpdateWarnSetting warnSetting) { // public String updateWarnSettingPerson(@RequestBody UpdateWarnSetting warnSetting) {
//
warningSettingService.updateWarnSetting(warnSetting); // warningSettingService.updateWarnSetting(warnSetting);
return "success"; // return "success";
} // }
//查询一条预警设置 //查询一条预警设置
@GetMapping("/warnsetting/{id}") @GetMapping("/warnsetting/{id}")
......
...@@ -19,8 +19,10 @@ public class ContractExpireCheckTask implements Task{ ...@@ -19,8 +19,10 @@ public class ContractExpireCheckTask implements Task{
@Override @Override
public void execute(TaskContext arg0) { public void execute(TaskContext arg0) {
logger.info("合同过期检查任务开始执行...");
// Amino.getApplicationContext().getBean(getClass()); // Amino.getApplicationContext().getBean(getClass());
System.out.println("ContractExpireCheckTask.execute....");
} }
......
...@@ -26,19 +26,28 @@ public class ContractExpireCheckTaskRegister implements ServiceInitializer{ ...@@ -26,19 +26,28 @@ public class ContractExpireCheckTaskRegister implements ServiceInitializer{
@Override @Override
public void init(ApplicationMetadataContext arg0) { public void init(ApplicationMetadataContext arg0) {
}
public void crateScheduleTask(){
Optional<ScheduleDetail> Optional = scheduleService.findByName(EXPIRE_REMIND_TASK_NAME); Optional<ScheduleDetail> Optional = scheduleService.findByName(EXPIRE_REMIND_TASK_NAME);
if (Optional.isPresent()) { if (Optional.isPresent()) {
// 如果该租户的库中存在这个轮询任务那么就不再去注册了
scheduleService.removeTask(EXPIRE_REMIND_TASK_NAME); scheduleService.removeTask(EXPIRE_REMIND_TASK_NAME);
} }
TaskDetail TaskDetail = new TaskDetail(EXPIRE_REMIND_TASK_NAME, ContractExpireCheckTask.class.getName()); TaskDetail TaskDetail = new TaskDetail(EXPIRE_REMIND_TASK_NAME, ContractExpireCheckTask.class.getName());
// 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期) // 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期)
// scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?"); scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?");
// 测试调度时进行调用 // 测试调度时进行调用
scheduleService.scheduleTask(TaskDetail, "*/10 * * * * ?"); // scheduleService.scheduleTask(TaskDetail, "*/10 * * * * ?");
logger.info("合同到期提醒任务初始化成功!"); logger.info("合同到期提醒任务初始化成功!");
} }
@PostConstruct
public void init() {
crateScheduleTask();
}
} }
...@@ -14,6 +14,8 @@ public class DinasCountWarningCalculate implements IWarningCalculate{ ...@@ -14,6 +14,8 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
//砂石余量 //砂石余量
private int dinsaCount; private int dinsaCount;
private String warnMessage;
/** /**
* 砂石余量预警计算器 * 砂石余量预警计算器
* @param dinsaCount 砂石余量 * @param dinsaCount 砂石余量
...@@ -27,8 +29,11 @@ public class DinasCountWarningCalculate implements IWarningCalculate{ ...@@ -27,8 +29,11 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
public boolean isWarning(WarnSetting warnSetting) { public boolean isWarning(WarnSetting warnSetting) {
String min = warnSetting.getMin(); String min = warnSetting.getMin();
String target = warnSetting.getTarget();
if(min==null || min.trim().length()==0) return false;
//业务数据与设置的阀值做比较,计算是否预警 //业务数据与设置的阀值做比较,计算是否预警
if (dinsaCount <= Integer.valueOf(min)) { if (dinsaCount <= Integer.valueOf(min)) {
warnMessage = "["+target+"]"+"的当前余量为"+dinsaCount+",已不足"+min+"吨!";
return true; return true;
} }
return false; return false;
...@@ -42,4 +47,10 @@ public class DinasCountWarningCalculate implements IWarningCalculate{ ...@@ -42,4 +47,10 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
public void setDinsaCount(int dinsaCount) { public void setDinsaCount(int dinsaCount) {
this.dinsaCount = dinsaCount; this.dinsaCount = dinsaCount;
} }
@Override
public String warnMessage() {
return warnMessage;
}
} }
...@@ -21,7 +21,9 @@ import com.beecode.bcp.type.KObject; ...@@ -21,7 +21,9 @@ import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils; import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj; import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.xlib.runtime.Assert; import com.beecode.xlib.runtime.Assert;
import com.xyst.dinas.biz.request.UpdateWarnSetting;
import com.xyst.dinas.biz.warn.BaseBusinessWarn; import com.xyst.dinas.biz.warn.BaseBusinessWarn;
import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.biz.warn.service.IWarningSettingService; import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.contract.constant.ContractConstant; import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.entity.BaseEntity; import com.xyst.dinas.contract.entity.BaseEntity;
...@@ -149,10 +151,9 @@ public class ContractController { ...@@ -149,10 +151,9 @@ public class ContractController {
// 合同审批通过后,自动新增砂石余量预警设置 // 合同审批通过后,自动新增砂石余量预警设置
String billType = "合同"; String billType = "合同";
UUID contractId = UUID.fromString("598A9B1B-34C7-4BFB-A846-40EDEF357752"); UUID contractId = UUID.fromString("b399f4a5-e446-439c-9601-177aad94b675");
String target = "清砂"; String target = "细砂2";
int count = 100;// 某种砂石余量
int count = 100;// 青砂余量
BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(billType, contractId, target); BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(billType, contractId, target);
DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count); DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count);
...@@ -168,6 +169,29 @@ public class ContractController { ...@@ -168,6 +169,29 @@ public class ContractController {
return contractService.queryWarnSettingById(id); return contractService.queryWarnSettingById(id);
} }
//更新预警设置
@PostMapping("/warnsetting/update")// /contract
public ResponseObj updateWarnSettingPerson(@RequestBody UpdateWarnSetting updateWarnSetting) {
UUID settingId = updateWarnSetting.getId();
BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(settingId);
WarnSetting warnSetting = contractBusinessWarn.getWarnSetting();
String minOld = warnSetting.getMin()!=null?warnSetting.getMin():"";
String min = updateWarnSetting.getMin()!=null?updateWarnSetting.getMin():"";
warningSettingService.updateWarnSetting(updateWarnSetting);
if (minOld.equals(min)) {
return ResponseObj.success("预警设置更新成功");
}
int count = 100; //查询合同中该砂石的余量
DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count);
contractBusinessWarn.setWarningCalculate(dinasCountWarningCalculate);
contractBusinessWarn.warn();
return ResponseObj.success("预警设置更新成功");
}
/** /**
* @Description: 根据合同查询预警设置中所有人员 * @Description: 根据合同查询预警设置中所有人员
* @param id * @param id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment