下发充电任务 断电任务
This commit is contained in:
@@ -56,21 +56,21 @@ public class CdzThread implements Runnable {
|
|||||||
List<DeviceSrgv> middleBatterySRgv = new ArrayList<>();
|
List<DeviceSrgv> middleBatterySRgv = new ArrayList<>();
|
||||||
for (String sRgv : PlcSrgvRead.deviceSrgvMap.keySet()) {
|
for (String sRgv : PlcSrgvRead.deviceSrgvMap.keySet()) {
|
||||||
DeviceSrgv deviceSrgv = PlcSrgvRead.deviceSrgvMap.get(sRgv);
|
DeviceSrgv deviceSrgv = PlcSrgvRead.deviceSrgvMap.get(sRgv);
|
||||||
if (deviceSrgv.getWorkMode()==5 && deviceSrgv.getStatus()!=3 ){
|
if (deviceSrgv.getWorkMode() == 5 && deviceSrgv.getStatus() != 3) {
|
||||||
if (deviceSrgv.getBattery()<=LITTLE_BETTERY){
|
if (deviceSrgv.getBattery() <= LITTLE_BETTERY) {
|
||||||
littleBatterySRgv.add(deviceSrgv);
|
littleBatterySRgv.add(deviceSrgv);
|
||||||
}else if (deviceSrgv.getBattery()<=MIDDLE_BETTERY){
|
} else if (deviceSrgv.getBattery() <= MIDDLE_BETTERY) {
|
||||||
middleBatterySRgv.add(deviceSrgv);
|
middleBatterySRgv.add(deviceSrgv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//优先低电量小车充电
|
//优先低电量小车充电
|
||||||
if (CollUtil.isNotEmpty(littleBatterySRgv)){
|
if (CollUtil.isNotEmpty(littleBatterySRgv)) {
|
||||||
//生成充电任务
|
//生成充电任务
|
||||||
createChargingInJob(littleBatterySRgv);
|
createChargingInJob(littleBatterySRgv);
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
if (CollUtil.isNotEmpty(middleBatterySRgv)){
|
if (CollUtil.isNotEmpty(middleBatterySRgv)) {
|
||||||
//生成充电任务
|
//生成充电任务
|
||||||
createChargingInJob(middleBatterySRgv);
|
createChargingInJob(middleBatterySRgv);
|
||||||
}
|
}
|
||||||
@@ -94,12 +94,15 @@ public class CdzThread implements Runnable {
|
|||||||
if (CollUtil.isNotEmpty(srgvChargingJobs)) {
|
if (CollUtil.isNotEmpty(srgvChargingJobs)) {
|
||||||
|
|
||||||
for (SrgvChargingJob srgvChargingJob : srgvChargingJobs) {
|
for (SrgvChargingJob srgvChargingJob : srgvChargingJobs) {
|
||||||
int i = PlcCdzRead.WriteToCdz("", null);
|
if ("0".equals(srgvChargingJob.getChargingStatus())) {
|
||||||
if (i == 1) {
|
int i = PlcCdzRead.WriteToCdz("", null);
|
||||||
srgvChargingJob.setChargingStatus("1");
|
if (i == 1) {
|
||||||
srgvChargingJob.setChargingDate(DateUtil.formatDateTime(DateUtil.date()));
|
srgvChargingJob.setChargingStatus("2");
|
||||||
chargingJobService.updateSrgvChargingJob(srgvChargingJob);
|
srgvChargingJob.setChargingDate(DateUtil.formatDateTime(DateUtil.date()));
|
||||||
|
chargingJobService.updateSrgvChargingJob(srgvChargingJob);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -126,7 +129,8 @@ public class CdzThread implements Runnable {
|
|||||||
DeviceSrgv deviceSrgv = PlcSrgvRead.deviceSrgvMap.get(deviceCdz.getSpare1());
|
DeviceSrgv deviceSrgv = PlcSrgvRead.deviceSrgvMap.get(deviceCdz.getSpare1());
|
||||||
if (deviceSrgv.getBattery() >= 50) {
|
if (deviceSrgv.getBattery() >= 50) {
|
||||||
//生成断电任务
|
//生成断电任务
|
||||||
createChargingOutJob(deviceSrgv,deviceCdz);
|
createChargingOutJob(deviceSrgv, deviceCdz);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -142,13 +146,16 @@ public class CdzThread implements Runnable {
|
|||||||
List<SrgvChargingJob> srgvChargingJobDds = chargingJobService.selectSrgvChargingJobList(srgvChargingJobDdParam);
|
List<SrgvChargingJob> srgvChargingJobDds = chargingJobService.selectSrgvChargingJobList(srgvChargingJobDdParam);
|
||||||
if (CollUtil.isNotEmpty(srgvChargingJobDds)) {
|
if (CollUtil.isNotEmpty(srgvChargingJobDds)) {
|
||||||
|
|
||||||
for (SrgvChargingJob srgvChargingJob : srgvChargingJobDds) {
|
for (SrgvChargingJob srgvChargingJob : srgvChargingJobs) {
|
||||||
int i = PlcCdzRead.WriteToCdz("", null);
|
if ("0".equals(srgvChargingJob.getChargingStatus())) {
|
||||||
if (i == 1) {
|
int i = PlcCdzRead.WriteToCdz("", null);
|
||||||
srgvChargingJob.setChargingStatus("1");
|
if (i == 1) {
|
||||||
srgvChargingJob.setChargingDate(DateUtil.formatDateTime(DateUtil.date()));
|
srgvChargingJob.setChargingStatus("1");
|
||||||
chargingJobService.updateSrgvChargingJob(srgvChargingJob);
|
srgvChargingJob.setChargingDate(DateUtil.formatDateTime(DateUtil.date()));
|
||||||
|
chargingJobService.updateSrgvChargingJob(srgvChargingJob);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -157,19 +164,20 @@ public class CdzThread implements Runnable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建充电任务
|
* 创建充电任务
|
||||||
|
*
|
||||||
* @param srgvList
|
* @param srgvList
|
||||||
*/
|
*/
|
||||||
private void createChargingInJob(List<DeviceSrgv> srgvList) {
|
private void createChargingInJob(List<DeviceSrgv> srgvList) {
|
||||||
srgvList.sort((o1, o2) -> o2.getBattery()-o1.getBattery());
|
srgvList.sort((o1, o2) -> o2.getBattery() - o1.getBattery());
|
||||||
|
|
||||||
for (DeviceSrgv deviceSrgv : srgvList) {
|
for (DeviceSrgv deviceSrgv : srgvList) {
|
||||||
SrgvChargingJob wcsChargingJob = new SrgvChargingJob();
|
SrgvChargingJob wcsChargingJob = new SrgvChargingJob();
|
||||||
wcsChargingJob.setJobType("1");
|
wcsChargingJob.setJobType("1");
|
||||||
wcsChargingJob.setAgvId(deviceSrgv.getDeviceId().toString());
|
wcsChargingJob.setAgvId(deviceSrgv.getDeviceId().toString());
|
||||||
List<SrgvChargingJob> srgvChargingJobs = chargingJobService.selectSrgvChargingJobList(wcsChargingJob);
|
List<SrgvChargingJob> srgvChargingJobs = chargingJobService.selectSrgvChargingJobList(wcsChargingJob);
|
||||||
if (CollUtil.isEmpty(srgvChargingJobs)){
|
if (CollUtil.isEmpty(srgvChargingJobs)) {
|
||||||
List<DeviceCdz> cdzList = deviceCdzService.selectDeviceCdzListNoSRgvId();
|
List<DeviceCdz> cdzList = deviceCdzService.selectDeviceCdzListNoSRgvId();
|
||||||
if (CollUtil.isNotEmpty(cdzList)){
|
if (CollUtil.isNotEmpty(cdzList)) {
|
||||||
//寻找最接近的充电桩
|
//寻找最接近的充电桩
|
||||||
Integer floor = deviceSrgv.getCurrFloor();
|
Integer floor = deviceSrgv.getCurrFloor();
|
||||||
DeviceCdz cdz = null;
|
DeviceCdz cdz = null;
|
||||||
@@ -212,29 +220,22 @@ public class CdzThread implements Runnable {
|
|||||||
* @param deviceSrgv
|
* @param deviceSrgv
|
||||||
*/
|
*/
|
||||||
private void createChargingOutJob(DeviceSrgv deviceSrgv, DeviceCdz cdz) {
|
private void createChargingOutJob(DeviceSrgv deviceSrgv, DeviceCdz cdz) {
|
||||||
SrgvChargingJob wcsChargingJob = new SrgvChargingJob();
|
SrgvChargingJob srgvChargingJobParam = new SrgvChargingJob();
|
||||||
wcsChargingJob.setJobType("2");
|
srgvChargingJobParam.setAgvId(deviceSrgv.getDeviceId().toString());
|
||||||
wcsChargingJob.setAgvId(deviceSrgv.getDeviceId().toString());
|
srgvChargingJobParam.setChargingSite(cdz.getSiteId());
|
||||||
List<SrgvChargingJob> srgvChargingJobs = chargingJobService.selectSrgvChargingJobList(wcsChargingJob);
|
srgvChargingJobParam.setChargingId(cdz.getId().toString());
|
||||||
if (CollUtil.isEmpty(srgvChargingJobs)) {
|
List<SrgvChargingJob> srgvChargingJobs = chargingJobService.selectSrgvChargingJobList(srgvChargingJobParam);
|
||||||
//生成充电任务
|
if (CollUtil.isNotEmpty(srgvChargingJobs)) {
|
||||||
SrgvChargingJob srgvChargingJobParam = new SrgvChargingJob();
|
SrgvChargingJob scj = srgvChargingJobs.get(0);
|
||||||
srgvChargingJobParam.setAgvId(deviceSrgv.getDeviceId().toString());
|
//scj.setGuid(IdUtil.fastSimpleUUID());
|
||||||
srgvChargingJobParam.setChargingSite(cdz.getSiteId());
|
scj.setChargingSite(cdz.getSiteId());
|
||||||
srgvChargingJobParam.setChargingId(cdz.getId().toString());
|
scj.setJobStatus("1");
|
||||||
List<SrgvChargingJob> wcsChargingJobs = chargingJobService.selectSrgvChargingJobList(srgvChargingJobParam);
|
scj.setChargingStatus("0");
|
||||||
if (CollUtil.isEmpty(wcsChargingJobs)) {
|
scj.setStartDate(DateUtil.now());
|
||||||
SrgvChargingJob scj = new SrgvChargingJob();
|
scj.setJobType("2");//到充电桩
|
||||||
scj.setGuid(IdUtil.fastSimpleUUID());
|
scj.setAgvId(deviceSrgv.getDeviceId().toString());
|
||||||
scj.setChargingSite(cdz.getSiteId());
|
scj.setChargingId(deviceSrgv.getDeviceId().toString());
|
||||||
scj.setJobStatus("1");
|
chargingJobService.insertSrgvChargingJob(scj);
|
||||||
scj.setChargingStatus("0");
|
|
||||||
scj.setStartDate(DateUtil.now());
|
|
||||||
scj.setJobType("2");//到充电桩
|
|
||||||
scj.setAgvId(deviceSrgv.getDeviceId().toString());
|
|
||||||
scj.setChargingId(deviceSrgv.getDeviceId().toString());
|
|
||||||
chargingJobService.insertSrgvChargingJob(scj);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user