首次提交

This commit is contained in:
李玉东 2025-07-23 16:55:42 +08:00
parent 07010623a3
commit 62d8a1e21f
209 changed files with 647 additions and 207 deletions

View File

@ -25,8 +25,8 @@ public class MedicalSupplyBean extends StartTimeBean {
@NotNull(message = "计算间隔时间不能为空") @NotNull(message = "计算间隔时间不能为空")
private Integer intervalTime; private Integer intervalTime;
private double medicinal; private Double medicinal;
private double blood; private Double blood;
// //
/** /**
* 运送工具. * 运送工具.

View File

@ -1,17 +1,30 @@
package com.hshh.nation.mock.controller; package com.hshh.nation.mock.controller;
import com.hshh.nation.mock.bean.*; import com.hshh.nation.common.BaseController;
import com.hshh.nation.common.OperateResult;
import com.hshh.nation.mock.bean.FuelAirMockBean;
import com.hshh.nation.mock.bean.FuelBoatMockBean;
import com.hshh.nation.mock.bean.FuelReceiveMockBean;
import com.hshh.nation.mock.bean.FuelSendMockBean;
import com.hshh.nation.mock.bean.FuelTransMockBean;
import com.hshh.nation.mock.bean.MedicalCasualtyBackToBean;
import com.hshh.nation.mock.bean.MedicalSupplyBean;
import com.hshh.nation.mock.bean.TransportAirMockBean;
import com.hshh.nation.mock.bean.TransportLoadMockBean;
import com.hshh.nation.mock.bean.TransportSeaBean;
import com.hshh.nation.mock.bean.TransportUnloadMockBean;
import com.hshh.nation.mock.service.AbtActionMockBase; import com.hshh.nation.mock.service.AbtActionMockBase;
import com.hshh.nation.mock.service.ActionMockService; import com.hshh.nation.mock.service.ActionMockService;
import com.hshh.nation.mock.service.MockService; import com.hshh.nation.mock.service.MockService;
import com.hshh.nation.common.BaseController;
import com.hshh.nation.common.OperateResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 模拟控制 * 模拟控制
@ -20,214 +33,241 @@ import javax.validation.Valid;
@RequestMapping("/mock") @RequestMapping("/mock")
@Slf4j @Slf4j
public class ActionMockController extends BaseController { public class ActionMockController extends BaseController {
//接收
@Resource(name = "fuel-receive-mock")
private ActionMockService mockService;
//发送
@Resource(name = "fuel-send-mock")
private AbtActionMockBase sendMockService;
//传输
@Resource(name = "fuel-trans-mock")
private MockService transMockService;
//飞机
@Resource(name = "fuel-plane-mock")
private MockService planetMockService;
//舰艇
@Resource(name = "fuel-boat-mock")
private MockService boatMockService;
//装载
@Resource(name = "mock-load")
private MockService loadMockService;
//卸载
@Resource(name = "unload-mock")
private MockService unloadMockService;
//海上运输
@Resource(name = "transport-sea")
private MockService transportSeaMockService;
//空中运输
@Resource(name = "transport-plane")
private MockService transportPaneMockService;
//伤病员后送
@Resource(name = "medical-casualty-mock")
private MockService medicalCasualtyMockService;
//医疗物资输送
@Resource(name = "medical-supplier-mock")
private MockService medicalSupplierMockService;
//油料接收 //接收
@PostMapping("/receive") @Resource(name = "fuel-receive-mock")
@ResponseBody private ActionMockService mockService;
public OperateResult<String> receive(@Valid @RequestBody FuelReceiveMockBean input, BindingResult bindingResult) { //发送
@Resource(name = "fuel-send-mock")
private AbtActionMockBase sendMockService;
//传输
@Resource(name = "fuel-trans-mock")
private MockService transMockService;
//飞机
@Resource(name = "fuel-plane-mock")
private MockService planetMockService;
//舰艇
@Resource(name = "fuel-boat-mock")
private MockService boatMockService;
//装载
@Resource(name = "mock-load")
private MockService loadMockService;
//卸载
@Resource(name = "unload-mock")
private MockService unloadMockService;
//海上运输
@Resource(name = "transport-sea")
private MockService transportSeaMockService;
//空中运输
@Resource(name = "transport-plane")
private MockService transportPaneMockService;
//伤病员后送
@Resource(name = "medical-casualty-mock")
private MockService medicalCasualtyMockService;
//医疗物资输送
@Resource(name = "medical-supplier-mock")
private MockService medicalSupplierMockService;
if (bindingResult.hasErrors()) { //油料接收
return this.errorsInputHandle(bindingResult); @PostMapping("/receive")
} @ResponseBody
//开始模拟行动开启一个线程 public OperateResult<String> receive(@Valid @RequestBody FuelReceiveMockBean input,
new Thread(() -> { BindingResult bindingResult) {
mockService.mock(input, "receive");
}).start(); if (bindingResult.hasErrors()) {
return OperateResult.success(); return this.errorsInputHandle(bindingResult);
} }
//油料发放 //开始模拟行动开启一个线程
@PostMapping("/send") new Thread(() -> {
@ResponseBody mockService.mock(input, "receive");
public OperateResult<String> send(@Valid @RequestBody FuelSendMockBean input, BindingResult bindingResult) { }).start();
return OperateResult.success();
}
if (bindingResult.hasErrors()) { //油料发放
return this.errorsInputHandle(bindingResult); @PostMapping("/send")
} @ResponseBody
//开始模拟行动开启一个线程 public OperateResult<String> send(@Valid @RequestBody FuelSendMockBean input,
BindingResult bindingResult) {
new Thread(() -> { if (bindingResult.hasErrors()) {
sendMockService.mock(input, "send"); return this.errorsInputHandle(bindingResult);
}).start();
return OperateResult.success();
} }
//油料运输 //开始模拟行动开启一个线程
@PostMapping("/trans")
@ResponseBody
public OperateResult<String> trans(@Valid @RequestBody FuelTransMockBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { new Thread(() -> {
return this.errorsInputHandle(bindingResult); sendMockService.mock(input, "send");
} }).start();
//开始模拟行动开启一个线程
new Thread(() -> { return OperateResult.success();
transMockService.mock(input, "trans"); }
}).start();
return OperateResult.success(); //油料运输
@PostMapping("/trans")
@ResponseBody
public OperateResult<String> trans(@Valid @RequestBody FuelTransMockBean input,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
//飞机油料补给 //开始模拟行动开启一个线程
@PostMapping("/plane")
@ResponseBody
public OperateResult<String> plane(@Valid @RequestBody FuelAirMockBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { new Thread(() -> {
return this.errorsInputHandle(bindingResult); transMockService.mock(input, "trans");
} }).start();
//开始模拟行动开启一个线程
new Thread(() -> { return OperateResult.success();
planetMockService.mock(input, "plane"); }
}).start();
return OperateResult.success(); //飞机油料补给
} @PostMapping("/plane")
//舰船油料补给 @ResponseBody
@PostMapping("/boat") public OperateResult<String> plane(@Valid @RequestBody FuelAirMockBean input,
@ResponseBody BindingResult bindingResult) {
public OperateResult<String> boat(@Valid @RequestBody FuelBoatMockBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult); return this.errorsInputHandle(bindingResult);
} }
//开始模拟行动开启一个线程 //开始模拟行动开启一个线程
new Thread(() -> {
boatMockService.mock(input, "boat");
}).start();
return OperateResult.success(); new Thread(() -> {
} planetMockService.mock(input, "plane");
}).start();
//伤病员后送 return OperateResult.success();
@PostMapping("/casualtyTakeBackTo") }
@ResponseBody
public OperateResult<String> casualtyTakeBackTo(@Valid @RequestBody MedicalCasualtyBackToBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {medicalCasualtyMockService.mock(input,"casualtyTakeBackTo");}).start();
return OperateResult.success();
}
//战地物资补给 //舰船油料补给
@PostMapping("/medicalSupply") @PostMapping("/boat")
@ResponseBody @ResponseBody
public OperateResult<String> medicalSupply(@Valid @RequestBody MedicalSupplyBean input, BindingResult bindingResult) { public OperateResult<String> boat(@Valid @RequestBody FuelBoatMockBean input,
if (bindingResult.hasErrors()) { BindingResult bindingResult) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {medicalSupplierMockService.mock(input,"medicalSupply");}).start();
return OperateResult.success();
}
//装载 if (bindingResult.hasErrors()) {
@PostMapping("/load") return this.errorsInputHandle(bindingResult);
@ResponseBody }
public OperateResult<String> load(@Valid @RequestBody TransportLoadMockBean input, BindingResult bindingResult) { //开始模拟行动开启一个线程
log.info("load::{}", input); new Thread(() -> {
if (bindingResult.hasErrors()) { boatMockService.mock(input, "boat");
return this.errorsInputHandle(bindingResult); }).start();
}
new Thread(() -> {
loadMockService.mock(input, "load");
}).start();
return OperateResult.success(); return OperateResult.success();
} }
//卸载
@PostMapping("/unLoad")
@ResponseBody
public OperateResult<String> unLoad(@Valid @RequestBody TransportUnloadMockBean input, BindingResult bindingResult) {
log.info("unLoad::{}", input);
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {
unloadMockService.mock(input, "unLoad");
}).start();
return OperateResult.success(); //伤病员后送
@PostMapping("/casualtyTakeBackTo")
@ResponseBody
public OperateResult<String> casualtyTakeBackTo(
@Valid @RequestBody MedicalCasualtyBackToBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
//海上运输 new Thread(() -> {
@PostMapping("/transportSea") medicalCasualtyMockService.mock(input, "casualtyTakeBackTo");
@ResponseBody }).start();
public OperateResult<String> transportSea(@Valid @RequestBody TransportSeaBean input, BindingResult bindingResult) { return OperateResult.success();
if (bindingResult.hasErrors()) { }
return this.errorsInputHandle(bindingResult);
} //战地物资补给
new Thread(() -> { @PostMapping("/medicalSupply")
transportSeaMockService.mock(input, "transportSea"); @ResponseBody
}).start(); public OperateResult<String> medicalSupply(@Valid @RequestBody MedicalSupplyBean input,
return OperateResult.success(); BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
//空中运输 new Thread(() -> {
@PostMapping("/transportPlane") medicalSupplierMockService.mock(input, "medicalSupply");
@ResponseBody }).start();
public OperateResult<String> transportAir(@Valid @RequestBody TransportAirMockBean input, BindingResult bindingResult) { return OperateResult.success();
if (bindingResult.hasErrors()) { }
return this.errorsInputHandle(bindingResult);
} //装载
new Thread(() -> { @PostMapping("/load")
transportPaneMockService.mock(input, "transportPlane"); @ResponseBody
}).start(); public OperateResult<String> load(@Valid @RequestBody TransportLoadMockBean input,
return OperateResult.success(); BindingResult bindingResult) {
log.info("load::{}", input);
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
//伤病员后撤 new Thread(() -> {
@PostMapping("/medicalCasualty") loadMockService.mock(input, "load");
@ResponseBody }).start();
public OperateResult<String> medicalCasualtyTake(@Valid @RequestBody MedicalCasualtyBackToBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { return OperateResult.success();
return this.errorsInputHandle(bindingResult); }
}
new Thread(() -> { //卸载
medicalCasualtyMockService.mock(input, "medicalCasualty"); @PostMapping("/unLoad")
}).start(); @ResponseBody
return OperateResult.success(); public OperateResult<String> unLoad(@Valid @RequestBody TransportUnloadMockBean input,
BindingResult bindingResult) {
log.info("unLoad::{}", input);
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
//医疗物资补给 new Thread(() -> {
@PostMapping("/medicalSupplies") unloadMockService.mock(input, "unLoad");
@ResponseBody }).start();
public OperateResult<String> medicalSupplies(@Valid @RequestBody MedicalSupplyBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { return OperateResult.success();
return this.errorsInputHandle(bindingResult); }
}
new Thread(() -> { //海上运输
medicalSupplierMockService.mock(input, "medicalSupplies"); @PostMapping("/transportSea")
}).start(); @ResponseBody
return OperateResult.success(); public OperateResult<String> transportSea(@Valid @RequestBody TransportSeaBean input,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
} }
new Thread(() -> {
transportSeaMockService.mock(input, "transportSea");
}).start();
return OperateResult.success();
}
//空中运输
@PostMapping("/transportPlane")
@ResponseBody
public OperateResult<String> transportAir(@Valid @RequestBody TransportAirMockBean input,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {
transportPaneMockService.mock(input, "transportPlane");
}).start();
return OperateResult.success();
}
//伤病员后撤
@PostMapping("/medicalCasualty")
@ResponseBody
public OperateResult<String> medicalCasualtyTake(
@Valid @RequestBody MedicalCasualtyBackToBean input, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {
medicalCasualtyMockService.mock(input, "medicalCasualty");
}).start();
return OperateResult.success();
}
//医疗物资补给
@PostMapping("/medicalSupplies")
@ResponseBody
public OperateResult<String> medicalSupplies(@Valid @RequestBody MedicalSupplyBean input,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return this.errorsInputHandle(bindingResult);
}
new Thread(() -> {
medicalSupplierMockService.mock(input, "medicalSupplies");
}).start();
return OperateResult.success();
}
} }

View File

@ -9,8 +9,8 @@ import com.hshh.nation.medical.service.MedicalArmyService;
import com.hshh.nation.medical.service.MedicalHospitalService; import com.hshh.nation.medical.service.MedicalHospitalService;
import com.hshh.nation.medical.service.impl.MedicalBoatServiceImpl; import com.hshh.nation.medical.service.impl.MedicalBoatServiceImpl;
import com.hshh.nation.medical.service.impl.MedicalPlaneServiceImpl; import com.hshh.nation.medical.service.impl.MedicalPlaneServiceImpl;
import com.hshh.nation.mock.bean.MedicalCasualtyBackToBean;
import com.hshh.nation.mock.bean.MedicalSupplyBean; import com.hshh.nation.mock.bean.MedicalSupplyBean;
import com.hshh.nation.mock.bean.StartTimeBean;
import com.hshh.nation.mock.service.AbtMockGeneralService; import com.hshh.nation.mock.service.AbtMockGeneralService;
import com.hshh.nation.mock.service.MockService; import com.hshh.nation.mock.service.MockService;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -48,7 +48,7 @@ public class MedicalSupplierMockServiceImpl extends AbtMockGeneralService implem
LocalDateTime endTime = handling(input, count, now, "casualty"); LocalDateTime endTime = handling(input, count, now, "casualty");
finished("", endTime, (MedicalCasualtyBackToBean) input, count, now); finished("", endTime, (StartTimeBean) input, count, now);
} }
@Override @Override
@ -57,6 +57,16 @@ public class MedicalSupplierMockServiceImpl extends AbtMockGeneralService implem
String transportInfo = bean.getTransport(); String transportInfo = bean.getTransport();
String[] transports = transportInfo.split("\\|"); String[] transports = transportInfo.split("\\|");
Integer id = Integer.parseInt(transports[0]); Integer id = Integer.parseInt(transports[0]);
//验证是否有药材
if (bean.getMedicinal() == null) {
sendMessage(bean.getStartTime(), validate_label, "必须设置药材", counter, now, 1);
return true;
}
//验证是否有血液
if (bean.getBlood() == null) {
sendMessage(bean.getStartTime(), validate_label, "必须设置血液", counter, now, 1);
return true;
}
if (transports[1].equalsIgnoreCase("boat")) { if (transports[1].equalsIgnoreCase("boat")) {
MedicalBoatServiceImpl boatService = SpringContextHolder.getBean( MedicalBoatServiceImpl boatService = SpringContextHolder.getBean(
MedicalBoatServiceImpl.class); MedicalBoatServiceImpl.class);
@ -108,7 +118,7 @@ public class MedicalSupplierMockServiceImpl extends AbtMockGeneralService implem
bean.getToLocation(), bean.getToLocation(),
bean.getTransSpeed(), bean.getTransSpeed(),
bean.getIntervalTime(), bean.getIntervalTime(),
"" "药材" + bean.getMedicinal() + ",血液" + bean.getBlood()
); );
} }

View File

@ -428,7 +428,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label class="col-3 col-form-label ">备注</label> <label class="col-3 col-form-label ">备注</label>
<div class="col"> <div class="col">
<textarea class="form-control" data-bs-toggle="autosize" <textarea class="form-control" data-bs-toggle="autosize" name="equipMeno" id="equipMeno"
placeholder="Type something…" placeholder="Type something…"
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea> style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
</div> </div>

View File

@ -421,7 +421,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label class="col-3 col-form-label ">备注</label> <label class="col-3 col-form-label ">备注</label>
<div class="col"> <div class="col">
<textarea class="form-control" data-bs-toggle="autosize" <textarea class="form-control" data-bs-toggle="autosize" name="portMeno" id="portMeno"
placeholder="Type something…" placeholder="Type something…"
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea> style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
</div> </div>

View File

@ -444,7 +444,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label class="col-3 col-form-label ">备注</label> <label class="col-3 col-form-label ">备注</label>
<div class="col"> <div class="col">
<textarea class="form-control" data-bs-toggle="autosize" <textarea class="form-control" data-bs-toggle="autosize" id="jarMeno" name="jarMeno"
placeholder="Type something…" placeholder="Type something…"
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea> style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
</div> </div>

View File

@ -501,7 +501,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label class="col-3 col-form-label ">备注</label> <label class="col-3 col-form-label ">备注</label>
<div class="col"> <div class="col">
<textarea class="form-control" data-bs-toggle="autosize" <textarea class="form-control" data-bs-toggle="autosize" name="equipMeno" id="equipMeno"
placeholder="Type something…" placeholder="Type something…"
style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea> style="overflow: hidden; overflow-wrap: break-word; resize: none; text-align: start; height: 56px;"></textarea>
</div> </div>

View File

@ -512,7 +512,7 @@
function setMedicalResourceLocation(obj) { function setMedicalResourceLocation(obj) {
if(document.getElementById("fromLocation")){} if(document.getElementById("fromLocation")){}
document.getElementById("fromLocation").value = obj.attributes["location"]; document.getElementById("fromLocation").value = obj.attributes["location"].value;
} }
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
var fuelDiv = document.getElementById("from_secure_depart_dialog"); var fuelDiv = document.getElementById("from_secure_depart_dialog");

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More