Commit 5194faa7 by shiwenbo

修改合同预警和库存预警的模板消息

parent 2803b252
......@@ -28,14 +28,15 @@ public class AdvanceBalanceWarningCalculator implements IWarningCalculator{
public boolean isWarning(WarnSetting warnSetting) {
String min = warnSetting.getMin();
String target = warnSetting.getTarget();
if(min==null || min.trim().length()==0) return false;
KObject contractInfo = contractService.queryContractInfo(warnSetting.getBillId());
KObject contract = contractService.getLastContractByInfoId(contractInfo.getUuid("id"));
KObject contract = contractService.getExecutingContractByContractInfoId(contractInfo.getUuid("id"));
String purchaseSandUnitName = contract.get("purchaseSandUnit").getString("name");
String projectName = contract.get("project").getString("projectName");
String contractName = contract.getString("contractName");
advanceBalance = contract.getDouble(ContractConstant.ADVANCE_BALANCE);
if (advanceBalance < Double.valueOf(min)) {
String contractCode = contract.getString(ContractConstant.CONTRACT_CODE);
warnMessage = "编号["+contractCode+"]"+"的合同"+target+"为"+advanceBalance+",已不足"+min+"!";
warnMessage = purchaseSandUnitName + "下"+projectName+"的"+contractName+"中预付款余额不足"+min+"元。";
return true;
}
return false;
......
......@@ -35,18 +35,20 @@ public class ContractExpireWarningCalculator implements IWarningCalculator{
if(min==null || min.trim().length()==0) return false;
KObject contractInfo = contractService.queryContractInfo(warnSetting.getBillId());
KObject contract = contractService.getLastContractByInfoId(contractInfo.getUuid("id"));
KObject contract = contractService.getExecutingContractByContractInfoId(contractInfo.getUuid("id"));
String purchaseSandUnitName = contract.get("purchaseSandUnit").getString("name");
String projectName = contract.get("project").getString("projectName");
String contractName = contract.getString("contractName");
Date endDate = contract.getDate(ContractConstant.endDate);
Date now = new Date();
diffDays = (int) ((endDate.getTime() -now.getTime()) / millisOfDay);
if (diffDays < Integer.valueOf(min)) {
int value = diffDays - Integer.valueOf(min);
String contractCode = contract.getString(ContractConstant.CONTRACT_CODE);
if (value>= 0) {
warnMessage = "编号["+contractCode+"]"+"的合同还有"+value+"天到期!";
warnMessage = purchaseSandUnitName + "下"+projectName+"的"+contractName+"还有"+value+"天到期。";
}else {
warnMessage = "编号["+contractCode+"]"+"的合同已经过期"+Math.abs(value)+"天!";
warnMessage = purchaseSandUnitName + "下"+projectName+"的"+contractName+"已经过期"+Math.abs(value)+"天。";
}
return true;
}
......
package com.xyst.dinas.contract.warn;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.warn.IWarningCalculator;
import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.contract.service.ContractService;
/**
* 砂石余量预警计算器
......@@ -16,6 +20,9 @@ public class DinasCountWarningCalculate implements IWarningCalculator{
private String warnMessage;
@Autowired
private ContractService contractService;
/**
* 砂石余量预警计算器
* @param dinsaCount 砂石余量
......@@ -31,9 +38,15 @@ public class DinasCountWarningCalculate implements IWarningCalculator{
String min = warnSetting.getMin();
String target = warnSetting.getTarget();
if(min==null || min.trim().length()==0) return false;
KObject contractInfo = contractService.queryContractInfo(warnSetting.getBillId());
KObject contract = contractService.getExecutingContractByContractInfoId(contractInfo.getUuid("id"));
String purchaseSandUnitName = contract.get("purchaseSandUnit").getString("name");
String projectName = contract.get("project").getString("projectName");
String contractName = contract.getString("contractName");
//业务数据与设置的阀值做比较,计算是否预警
if (dinsaCount <= Double.valueOf(min)) {
warnMessage = "["+target+"]"+"的当前余量为"+dinsaCount+",已不足"+min+"吨!";
warnMessage = purchaseSandUnitName + "下"+projectName+"的"+contractName+"中"+target+"余量不足"+min+"吨。";
return true;
}
return false;
......
......@@ -36,7 +36,10 @@ public class DinasCountWarningCalculator implements IWarningCalculator{
if(min==null || min.trim().length()==0) return false;
KObject contractInfo = contractService.queryContractInfo(warnSetting.getBillId());
KObject contract = contractService.getLastContractByInfoId(contractInfo.getUuid("id"));
KObject contract = contractService.getExecutingContractByContractInfoId(contractInfo.getUuid("id"));
String purchaseSandUnitName = contract.get("purchaseSandUnit").getString("name");
String projectName = contract.get("project").getString("projectName");
String contractName = contract.getString("contractName");
List<KObject> details = contract.get(ContractConstant.CONTRACT_DETAILS).toList();
for (KObject detail : details) {
String dinasTypeName = detail.get(ContractConstant.dinasType).getString(DinasTypeConstant.DINASTYPE_NAME);
......@@ -44,7 +47,7 @@ public class DinasCountWarningCalculator implements IWarningCalculator{
//业务数据与设置的阀值做比较,计算是否预警
dinasAmount = detail.getDouble(ContractConstant.DINAS_AMOUNT);
if (dinasAmount <= Double.valueOf(min)) {
warnMessage = "["+target+"]"+"的当前余量为"+dinasAmount+",已不足"+min+"吨!";
warnMessage = purchaseSandUnitName + "下"+projectName+"的"+contractName+"中"+target+"余量不足"+min+"吨。";
return true;
}
}
......
package com.xyst.dinas.sales.processor;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.service.StationService;
import com.xyst.dinas.biz.warn.IWarningCalculator;
import com.xyst.dinas.biz.warn.WarnSetting;
......@@ -17,7 +23,8 @@ public class StockAmountWarnCalculate implements IWarningCalculator{
private String warnMessage;
@Autowired
private StationService stationService;
public StockAmountWarnCalculate(double stockAmount) {
this.stockAmount = stockAmount;
......@@ -26,10 +33,12 @@ public class StockAmountWarnCalculate implements IWarningCalculator{
@Override
public boolean isWarning(WarnSetting warnSetting) {
String min = warnSetting.getMin();
UUID stationId = warnSetting.getBillId();
String dinasTypeName = warnSetting.getTarget();
if(min==null || min.trim().length()==0) return false;
KObject station = stationService.getById(stationId);
if (stockAmount < Double.valueOf(min)) {
warnMessage = "["+dinasTypeName+"]"+"的当前库存量为"+stockAmount+",已不足"+min+"吨!";
warnMessage = station.getString("stationName") + "的"+dinasTypeName+"库存不足"+min+"吨,请注意。";
return true;
}
return false;
......
......@@ -4,6 +4,8 @@ import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.service.StationService;
import com.xyst.dinas.biz.warn.IWarningCalculator;
import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.sales.service.InventoryService;
......@@ -19,6 +21,9 @@ public class StockAmountWarnCalculator implements IWarningCalculator{
@Autowired
private InventoryService inventoryService;
@Autowired
private StationService stationService;
//砂石库存量
private double stockAmount;
......@@ -31,8 +36,9 @@ public class StockAmountWarnCalculator implements IWarningCalculator{
String dinasTypeName = warnSetting.getTarget();
if(min==null || min.trim().length()==0) return false;
stockAmount = inventoryService.getStockAmountByDinas(stationId, dinasTypeName);
KObject station = stationService.getById(stationId);
if (stockAmount < Double.valueOf(min)) {
warnMessage = "["+dinasTypeName+"]"+"的当前库存量为"+stockAmount+",已不足"+min+"吨!";
warnMessage = station.getString("stationName") + "的"+dinasTypeName+"库存不足"+min+"吨,请注意。";
return true;
}
return false;
......
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