Commit 286c2b50 by 王衍超

预警结构调整;

parent ef0028ca
package com.xyst.dinas.biz.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
import com.beecode.amino.metadata.runtime.MetadataMech;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.TypeConstants;
......@@ -8,12 +13,7 @@ import com.xyst.dinas.biz.dao.SandMiningAreaDao;
import com.xyst.dinas.biz.internal.dao.SandMiningAreaDaoImpl;
import com.xyst.dinas.biz.internal.service.SandMiningAreaServiceImpl;
import com.xyst.dinas.biz.service.SandMiningAreaService;
import com.xyst.dinas.biz.warn.SandAreaDinasCountWarningCalculate;
import com.xyst.dinas.biz.web.SandMiningAreaController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
public class SandMiningAreaConfiguration {
......
......@@ -2,9 +2,9 @@ package com.xyst.dinas.biz.config;
import org.springframework.context.annotation.Bean;
import com.xyst.dinas.biz.warn.WarningServiceImpl;
import com.xyst.dinas.biz.warn.dao.WarnSettingDao;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningSettingServiceImpl;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.biz.web.WarnSettingController;
public class WarningConfiguration {
......@@ -16,8 +16,8 @@ public class WarningConfiguration {
@Bean
public IWarningSettingService warningSettingService() {
return new WarningSettingServiceImpl();
public WarningService warningService() {
return new WarningServiceImpl();
}
......
......@@ -8,8 +8,9 @@ import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.biz.warn.WarnSettingConstant;
import com.xyst.dinas.biz.warn.WarnSettingEntity;
import com.xyst.dinas.biz.warn.WarnTargetTypeEnum;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningSettingServiceImpl;
import com.xyst.dinas.biz.warn.WarningServiceImpl;
import com.xyst.dinas.biz.warn.service.WarningService;
import org.apache.commons.collections.CollectionUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -27,7 +28,7 @@ public class SandMiningAreaServiceImpl implements SandMiningAreaService {
@Autowired
private SandMiningAreaDao sandMiningAreaDao;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@Override
public Page<KObject> queryByPaging(Page<KObject> page, Integer sandMiningAreaStatus) throws Exception {
......
......@@ -25,7 +25,7 @@ import com.beecode.inz.message.enumeration.ParterType;
import com.beecode.inz.message.service.RemindService;
import com.beecode.inz.message.util.MessageUtils;
import com.jiuqi.np.util.DateUtil;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
/**
* 业务预警基类
......@@ -49,7 +49,7 @@ public class BaseBusinessWarn {
private IWarningCalculate warningCalculate;
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
private RemindService remindService;
private StaffService staffService;
......@@ -60,12 +60,13 @@ public class BaseBusinessWarn {
private StaffDAO staffDAO;
public BaseBusinessWarn(@NonNull UUID warnSettingId) {
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) {
BaseBusinessWarn(@NonNull String billType, @Nullable UUID billId, @Nullable String target) {
Assert.notNull(billType, "The billType must not be null!");
this.billType = billType;
this.billId = billId;
......@@ -223,8 +224,8 @@ public class BaseBusinessWarn {
remindService.add(kobject, listRes);
}
private IWarningSettingService getWarningSettingService() {
return Amino.getApplicationMetadataContext().getBean(IWarningSettingService.class);
private WarningService getWarningSettingService() {
return Amino.getApplicationMetadataContext().getBean(WarningService.class);
}
private RemindService getRemindService() {
return Amino.getApplicationMetadataContext().getBean(RemindService.class);
......
package com.xyst.dinas.biz.warn;
/**
* 预警计算接口
* 预警计算
*
* @author Jackpot
* @date 2021年3月30日
*/
//@FunctionalInterface
public interface IWarningCalculate {
boolean isWarning(WarnSetting warnSetting);
String warnMessage();
//boolean isRepeat();重复执行
......
package com.xyst.dinas.biz.warn.service;
package com.xyst.dinas.biz.warn;
import java.time.LocalDateTime;
import java.util.List;
......@@ -15,13 +15,11 @@ import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.common.BaseConstants;
import com.fasterxml.jackson.databind.JsonNode;
import com.xyst.dinas.biz.request.UpdateWarnSetting;
import com.xyst.dinas.biz.warn.WarnExeRecord;
import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.biz.warn.WarnSettingConstant;
import com.xyst.dinas.biz.warn.dao.WarnSettingDao;
import com.xyst.dinas.biz.warn.service.WarningService;
@Transactional
public class WarningSettingServiceImpl implements IWarningSettingService{
public class WarningServiceImpl implements WarningService{
@Autowired
private WarnSettingDao warnSettingDao;
......@@ -105,8 +103,6 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
@Override
public KObject queryWarnSettingById(UUID id) {
KObject KObj = warnSettingDao.queryWarnSettingById(id);
String billId = KObj.getString("billId");
//KObject contract = contractService.queryContractById(UUID.fromString(billId));
return KObj;
}
......@@ -143,4 +139,14 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
return str.toString();
}
@Override
public BaseBusinessWarn createWarn(String billType, UUID billId, String target) {
return new BaseBusinessWarn(billType, billId, target);
}
@Override
public BaseBusinessWarn createWarn(UUID warnSettingId) {
return new BaseBusinessWarn(warnSettingId);
}
}
......@@ -8,10 +8,11 @@ import org.springframework.lang.Nullable;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.request.UpdateWarnSetting;
import com.xyst.dinas.biz.warn.BaseBusinessWarn;
import com.xyst.dinas.biz.warn.WarnExeRecord;
import com.xyst.dinas.biz.warn.WarnSetting;
public interface IWarningSettingService {
public interface WarningService {
/**
* 新增预警设置
......@@ -59,4 +60,8 @@ public interface IWarningSettingService {
List<WarnExeRecord> queryWarnExeRecords(UUID warnSettingId);
BaseBusinessWarn createWarn(@NonNull String billType, @Nullable UUID billId, @Nullable String target);
BaseBusinessWarn createWarn(@NonNull UUID warnSettingId);
}
......@@ -12,7 +12,7 @@ import com.xyst.dinas.biz.request.UpdateWarnSetting;
import com.xyst.dinas.biz.service.SandMiningAreaService;
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.WarningService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -34,7 +34,7 @@ public class SandMiningAreaController {
@Autowired
private SandMiningAreaService sandMiningAreaService;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@RequestMapping(value = "list/page", method = RequestMethod.GET)
public ResponseObj getListPage(
......
......@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.request.UpdateWarnSetting;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
/**
* 预警
......@@ -25,7 +25,7 @@ import com.xyst.dinas.biz.warn.service.IWarningSettingService;
public class WarnSettingController {
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
//更新预警设置
// @PostMapping("/warnsetting/update")
......
......@@ -25,7 +25,7 @@ import com.xyst.dinas.biz.dao.DinasOrganizationDao;
import com.xyst.dinas.biz.warn.WarnSettingEntity;
import com.xyst.dinas.biz.warn.WarnTargetTypeEnum;
import com.xyst.dinas.biz.warn.dao.WarnSettingDao;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.enumeration.ContractStateEnum;
import com.xyst.dinas.contract.internal.dao.ContractDao;
......@@ -62,7 +62,7 @@ public class ContractServiceImpl implements ContractService {
private PurchaseSandCompanyDao purchaseSandCompanyDao;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@Override
@Transactional
......
......@@ -7,7 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.warn.WarnSettingEntity;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.contract.constant.ContractConstant;
import com.xyst.dinas.contract.enumeration.ContractStateEnum;
import com.xyst.dinas.contract.internal.dao.ContractInfoDao;
......@@ -16,7 +16,7 @@ import com.xyst.dinas.contract.service.ContractWarnService;
public class ContractWarnServiceImpl implements ContractWarnService{
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@Autowired
private ContractInfoDao contractInfoDao;
......
......@@ -14,7 +14,7 @@ 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.WarnSetting;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.contract.service.ContractService;
import com.xyst.dinas.contract.warn.DinasCountWarningCalculate;
......@@ -25,10 +25,10 @@ public class ContractWarnController {
@Autowired
private ContractService contractService;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningService;
@PostMapping("/contract/warn/fire")
public void warnFire() {
......@@ -38,10 +38,9 @@ public class ContractWarnController {
UUID contractId = UUID.fromString("b399f4a5-e446-439c-9601-177aad94b675");
String target = "细砂2";
int count = 100;// 某种砂石余量
BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(billType, contractId, target);
DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count);
contractBusinessWarn.setWarningCalculate(dinasCountWarningCalculate);
BaseBusinessWarn contractBusinessWarn = warningService.createWarn(billType, contractId, target);
contractBusinessWarn.setWarningCalculate(new DinasCountWarningCalculate(count));
contractBusinessWarn.warn();
}
......@@ -58,12 +57,11 @@ public class ContractWarnController {
public Object updateWarnSettingPerson(@RequestBody UpdateWarnSetting updateWarnSetting) {
UUID settingId = updateWarnSetting.getId();
BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(settingId);
BaseBusinessWarn contractBusinessWarn = warningService.createWarn(settingId);
WarnSetting warnSetting = contractBusinessWarn.getWarnSetting();
String minOld = warnSetting.getMin()!=null?warnSetting.getMin():"";
String min = updateWarnSetting.getMin()!=null?updateWarnSetting.getMin():"";
warningSettingService.updateWarnSetting(updateWarnSetting);
warningService.updateWarnSetting(updateWarnSetting);
if (minOld.equals(min)) {
return ResponseObj.success("预警设置更新成功");
......
......@@ -8,8 +8,8 @@ import com.beecode.inz.query.processor.DataProcessorContext;
import com.xyst.dinas.biz.service.SandMiningAreaService;
import com.xyst.dinas.biz.warn.WarnSetting;
import com.xyst.dinas.biz.warn.WarnSettingConstant;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningSettingServiceImpl;
import com.xyst.dinas.biz.warn.WarningServiceImpl;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.production.service.SandMiningService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -31,7 +31,7 @@ public class SandWarningExeProcessor implements DataProcessor {
@Autowired
private StaffService staffService;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@Override
public void process(DataProcessorContext context) {
......
package com.xyst.dinas.production.internal.service;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.constant.SandMiningAreaConstant;
import com.xyst.dinas.biz.dao.ShipInfoDao;
import com.xyst.dinas.biz.dao.StationDao;
import com.xyst.dinas.biz.warn.BaseBusinessWarn;
import com.xyst.dinas.biz.warn.SandAreaDinasCountWarningCalculate;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.production.dao.DischargingDao;
import com.xyst.dinas.production.enumeration.DischargingTypeEnum;
import com.xyst.dinas.production.processor.SandAreaDinasCountWarningCalculate;
import com.xyst.dinas.production.service.DischargingService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@Transactional(rollbackFor = Exception.class)
public class DischargingServiceImpl implements DischargingService {
......@@ -28,7 +29,7 @@ public class DischargingServiceImpl implements DischargingService {
@Autowired
private StationDao stationDao;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningService;
@Autowired
private ShipInfoDao shipInfoDao;
......@@ -94,7 +95,8 @@ public class DischargingServiceImpl implements DischargingService {
//查询某个采区下某的开采量
Double allDischargingWeightByYearAndSandAreaId = dischargingDao.getAllDischargingWeightByYearAndSandAreaId(dischargingTime, billId);
SandAreaDinasCountWarningCalculate sandAreaDinasCountWarningCalculate = new SandAreaDinasCountWarningCalculate(allDischargingWeightByYearAndSandAreaId, sandMiningArea.getString("sandMiningAreaName"));
BaseBusinessWarn businessWarn = new BaseBusinessWarn(billType, billId, target);
BaseBusinessWarn businessWarn = warningService.createWarn(billType, billId, target);
businessWarn.setWarningCalculate(sandAreaDinasCountWarningCalculate);
businessWarn.warn();
}
......
......@@ -4,7 +4,7 @@ import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.warn.WarnSettingConstant;
import com.xyst.dinas.biz.warn.WarnSettingEntity;
import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import com.xyst.dinas.biz.warn.service.WarningService;
import com.xyst.dinas.production.dao.SandMiningDao;
import com.xyst.dinas.production.service.SandMiningService;
import org.apache.commons.collections.CollectionUtils;
......@@ -22,7 +22,7 @@ public class SandMiningServiceImpl implements SandMiningService {
private SandMiningDao sandMiningDao;
@Autowired
private IWarningSettingService warningSettingService;
private WarningService warningSettingService;
@Override
public Page<KObject> queryByPaging(Page<KObject> page, Integer sandMiningStatus) throws Exception {
......
package com.xyst.dinas.biz.warn;
package com.xyst.dinas.production.processor;
import com.xyst.dinas.biz.warn.IWarningCalculate;
import com.xyst.dinas.biz.warn.WarnSetting;
/**
* 上岸量比较
*
* @author Jackpot
* @author
* @date 2021年4月1日
*/
public class SandAreaDinasCountWarningCalculate implements IWarningCalculate{
......@@ -56,4 +59,6 @@ public class SandAreaDinasCountWarningCalculate implements IWarningCalculate{
public String warnMessage() {
return warnMessage;
}
}
......@@ -51,6 +51,20 @@ public class SalesPlanController {
salesPlanService.approveSalesPlanForDaily(id, approveState, saleaPlanApprove.getApproveMemo());
return ResponseObj.success();
}
//临时销售计划提交
@PostMapping("/salesplan/temp/submit")
public Object submitSalesPlanForTemp(@RequestBody SaleaPlanApprove saleaPlanApprove) {
//TODO 校验数据
UUID id = saleaPlanApprove.getId();
Integer approveState = BizProcessState.IN_PROCESS.getValue();
Assert.notNull(id, "The id must not be null");
Assert.notNull(approveState, "The approveState must not be null");
salesPlanService.approveSalesPlanForDaily(id, approveState, null);
return ResponseObj.success();
}
/**
* 临时销售计划审批: 同意/驳回
* @param saleaPlanApprove
......
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