服务指令计划调整时,数据池页即时做相应的调整

This commit is contained in:
曹磊 2025-11-13 15:30:01 +08:00
parent 31413271bd
commit 27dea9f146
4 changed files with 115 additions and 43 deletions

View File

@ -395,11 +395,11 @@ public class NuBizNuCustomerServerServiceImpl extends ServiceImpl<NuBizNuCustome
@Override @Override
public void deleteDirective(NuBizNuCustomerServer nuBizNuCustomerServer) { public void deleteDirective(NuBizNuCustomerServer nuBizNuCustomerServer) {
String id = nuBizNuCustomerServer.getId();
//调用方法删除数据池中的数据 //调用方法删除数据池中的数据
dataPoolServiceImpl.deleteDataPool(nuBizNuCustomerServer.getId()); dataPoolServiceImpl.deleteDataPool(nuBizNuCustomerServer);
baseMapper.deleteByIdPhysic(nuBizNuCustomerServer.getId()); baseMapper.deleteByIdPhysic(id);
//TODO 增加日志 //TODO 增加日志
} }
@ -417,11 +417,13 @@ public class NuBizNuCustomerServerServiceImpl extends ServiceImpl<NuBizNuCustome
@Override @Override
public void editDirective(NuBizNuCustomerServer nuBizNuCustomerServer) { public void editDirective(NuBizNuCustomerServer nuBizNuCustomerServer) {
NuBizNuCustomerServer entity = baseMapper.selectById(nuBizNuCustomerServer.getId());
baseMapper.updateById(nuBizNuCustomerServer); baseMapper.updateById(nuBizNuCustomerServer);
//TODO 增加日志 //TODO 增加日志
//调用方法先删除数据池中的数据生成数据池中的数据 //调用方法先删除数据池中的数据生成数据池中的数据
dataPoolServiceImpl.editDataPool(entity);
} }
@Override @Override

View File

@ -250,7 +250,6 @@
<update id="deleteDataPool"> <update id="deleteDataPool">
delete from nu_biz_nu_directive_data_pool a delete from nu_biz_nu_directive_data_pool a
where a.create_time &lt;= #{endTime}
<where> <where>
<if test="id != null and id != ''"> <if test="id != null and id != ''">
AND id = #{id} AND id = #{id}

View File

@ -28,7 +28,14 @@ public interface IDataPoolService extends IService<DataPool> {
* 删除 * 删除
* @param id * @param id
*/ */
void deleteDataPool(String id); void deleteDataPool(NuBizNuCustomerServer nuBizNuCustomerServer);
/**
* 修改
* @param nuBizNuCustomerServer
*/
void editDataPool(NuBizNuCustomerServer nuBizNuCustomerServer);
/** /**
* 清理 * 清理

View File

@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -38,6 +39,8 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
public Result<?> generateDataPoolBatch() { public Result<?> generateDataPoolBatch() {
DataPool entity = new DataPool(); DataPool entity = new DataPool();
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
entity.setStartTime(c.getTime()); entity.setStartTime(c.getTime());
c.add(Calendar.MINUTE,10); c.add(Calendar.MINUTE,10);
entity.setEndTime(c.getTime()); entity.setEndTime(c.getTime());
@ -63,26 +66,37 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
* 指令生成数据池 * 指令生成数据池
*/ */
private void addDataPool(DataPool dataPool){ private void addDataPool(DataPool dataPool){
dataPool.setIzSend("0"); Date dataTime = dataPool.getStartTime();
dataPool.setDelFlag("0"); Calendar c = Calendar.getInstance();
String izPackage = dataPool.getIzPackage(); c.set(Calendar.SECOND,0);
if(izPackage!=null&&izPackage.equals("1")){ c.set(Calendar.MILLISECOND,0);
addPackage(dataPool); Date startTime = c.getTime();
}else{ c.add(Calendar.MINUTE,10);
String typeId = dataPool.getCycleTypeId(); Date endTime = c.getTime();
if(typeId!=null){ if(dataTime.getTime()>=startTime.getTime()){
if(typeId.equals("1")){ if(dataTime.getTime()<=endTime.getTime()){
addDaily(dataPool); dataPool.setIzSend("0");
} dataPool.setDelFlag("0");
if(typeId.equals("2")){ String izPackage = dataPool.getIzPackage();
//周期先判断是星期还是月份再判断当前时间是否命中周期 if(izPackage!=null&&izPackage.equals("1")){
String cycleValue = dataPool.getCycleValue(); addPackage(dataPool);
if(cycleValue.length()>1){ }else{
//月周期 String typeId = dataPool.getCycleTypeId();
addMonthDay(dataPool); if(typeId!=null){
}else{ if(typeId.equals("1")){
//星期周期 addDaily(dataPool);
addWeekDay(dataPool); }
if(typeId.equals("2")){
//周期先判断是星期还是月份再判断当前时间是否命中周期
String cycleValue = dataPool.getCycleValue();
if(cycleValue.length()>1){
//月周期
addMonthDay(dataPool);
}else{
//星期周期
addWeekDay(dataPool);
}
}
} }
} }
} }
@ -242,36 +256,83 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
dataPool.setNuName(nuBizNuCustomerServer.getNuName()); dataPool.setNuName(nuBizNuCustomerServer.getNuName());
dataPool.setCustomerId(nuBizNuCustomerServer.getCustomerId()); dataPool.setCustomerId(nuBizNuCustomerServer.getCustomerId());
dataPool.setCustomerName(nuBizNuCustomerServer.getCustomerName()); dataPool.setCustomerName(nuBizNuCustomerServer.getCustomerName());
dataPool.setDirectiveId(nuBizNuCustomerServer.getDirectiveId());
dataPool.setDirectiveName(nuBizNuCustomerServer.getDirectiveName());
dataPool.setServiceDuration(nuBizNuCustomerServer.getServiceDuration()); dataPool.setServiceDuration(nuBizNuCustomerServer.getServiceDuration());
dataPool.setCycleTypeId(nuBizNuCustomerServer.getCycleTypeId()); dataPool.setCycleTypeId(nuBizNuCustomerServer.getCycleTypeId());
dataPool.setIzPackage(nuBizNuCustomerServer.getIzPackage()); dataPool.setIzPackage(nuBizNuCustomerServer.getIzPackage());
if(nuBizNuCustomerServer.getIzPackage().equals("1")){
dataPool.setPackageId(nuBizNuCustomerServer.getDirectiveId());
dataPool.setPackageName(nuBizNuCustomerServer.getDirectiveName());
}else{
dataPool.setDirectiveId(nuBizNuCustomerServer.getDirectiveId());
dataPool.setDirectiveName(nuBizNuCustomerServer.getDirectiveName());
}
String startTime = nuBizNuCustomerServer.getStartTime();
String hour = startTime.substring(0, 2);
String minute = startTime.substring(3, 5);
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour));
c.set(Calendar.MINUTE,Integer.valueOf(minute));
c.set(Calendar.SECOND,0); c.set(Calendar.SECOND,0);
c.add(Calendar.MINUTE,1); c.set(Calendar.MILLISECOND,0);
dataPool.setStartTime(c.getTime()); dataPool.setStartTime(c.getTime());
String serviceDuration = dataPool.getServiceDuration(); String endTime = nuBizNuCustomerServer.getEndTime();
c.add(Calendar.MINUTE,Integer.valueOf(serviceDuration)); hour = endTime.substring(0, 2);
minute = endTime.substring(3, 5);
c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour));
c.set(Calendar.MINUTE,Integer.valueOf(minute));
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
dataPool.setEndTime(c.getTime()); dataPool.setEndTime(c.getTime());
addDataPool(dataPool); addDataPool(dataPool);
} }
/** /**
* 删除数据池 * 删除数据池
* @param id * @param nuBizNuCustomerServer
*/ */
@Override @Override
public void deleteDataPool(String id) { public void deleteDataPool(NuBizNuCustomerServer nuBizNuCustomerServer) {
DataPool entity = baseMapper.queryPlanById(id); String startTime = nuBizNuCustomerServer.getStartTime();
entity.setIzSend("0"); String hour = startTime.substring(0, 2);
DataPool dataPool = baseMapper.queryPoolOne(entity); String minute = startTime.substring(3, 5);
if(dataPool!=null){ Calendar c = Calendar.getInstance();
Calendar c = Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour));
c.set(Calendar.MINUTE,Integer.valueOf(minute));
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
DataPool dataPool = new DataPool();
dataPool.setBizId(nuBizNuCustomerServer.getId());
dataPool.setNuId(nuBizNuCustomerServer.getNuId());
dataPool.setCustomerId(nuBizNuCustomerServer.getCustomerId());
dataPool.setStartTime(c.getTime());
dataPool.setIzSend("0");
String izPackage = nuBizNuCustomerServer.getIzPackage();
if(izPackage.equals("1")){
dataPool.setPackageId(nuBizNuCustomerServer.getDirectiveId());
}else{
dataPool.setDirectiveId(nuBizNuCustomerServer.getDirectiveId());
}
DataPool pool = baseMapper.queryPoolOne(dataPool);
if(pool!=null){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(c.getTime()); String dateStr = sdf.format(c.getTime());
addDataPoolLog(dateStr,dataPool.getId()); addDataPoolLog(dateStr,pool.getId());
addDataPoolSubLog(dateStr,dataPool.getId()); addDataPoolSubLog(dateStr,pool.getId());
}
}
/**
* 编辑数据池
* @param nuBizNuCustomerServer
*/
@Override
public void editDataPool(NuBizNuCustomerServer nuBizNuCustomerServer) {
deleteDataPool(nuBizNuCustomerServer);
DataPool dataPool = baseMapper.queryPlanById(nuBizNuCustomerServer.getId());
DataPool pool = baseMapper.queryPoolOne(dataPool);
if(pool==null){
addDataPool(dataPool);;
} }
} }
@ -327,9 +388,10 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
dataPool.setTableName(tableName); dataPool.setTableName(tableName);
baseMapper.createDataPoolLog(dataPool);//创建日志主表 baseMapper.createDataPoolLog(dataPool);//创建日志主表
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR,0); c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0); c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0); c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
dataPool.setEndTime(c.getTime()); dataPool.setEndTime(c.getTime());
dataPool.setOperationFlag("1"); dataPool.setOperationFlag("1");
baseMapper.addDataPoolLog(dataPool);//保存数据池数据到日志主表 baseMapper.addDataPoolLog(dataPool);//保存数据池数据到日志主表
@ -345,9 +407,10 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
dataPool.setTableName(tableName); dataPool.setTableName(tableName);
baseMapper.createDataPoolLogSub(dataPool);//创建日志子表 baseMapper.createDataPoolLogSub(dataPool);//创建日志子表
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR,0); c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0); c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0); c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
dataPool.setEndTime(c.getTime()); dataPool.setEndTime(c.getTime());
dataPool.setOperationFlag("1"); dataPool.setOperationFlag("1");
baseMapper.addDataPoolSubLog(dataPool);//保存数据池数据到日志子表 baseMapper.addDataPoolSubLog(dataPool);//保存数据池数据到日志子表
@ -362,6 +425,7 @@ public class DataPoolServiceImpl extends ServiceImpl<DataPoolMapper, DataPool> i
@Override @Override
public Result<?> addInstant(DataPool dataPool){ public Result<?> addInstant(DataPool dataPool){
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.set(Calendar.MILLISECOND,0);
c.set(Calendar.SECOND,0); c.set(Calendar.SECOND,0);
c.add(Calendar.MINUTE,1); c.add(Calendar.MINUTE,1);
dataPool.setStartTime(c.getTime()); dataPool.setStartTime(c.getTime());