Version 1.1
This commit is contained in:
@@ -3,6 +3,7 @@ package org.nl.wms.ext.acs.rest;
|
||||
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -32,6 +33,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/status")
|
||||
@Log("ACS给WMS反馈任务状态")
|
||||
@ApiOperation("ACS给WMS反馈任务状态")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
|
||||
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
|
||||
}
|
||||
@@ -39,6 +41,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/orderFinish")
|
||||
@Log("ACS给WMS下发工单完成状态")
|
||||
@ApiOperation("ACS给WMS下发工单完成状态")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> orderFinish(@RequestBody String string) {
|
||||
return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK);
|
||||
}
|
||||
@@ -46,7 +49,8 @@ public class AcsToWmsController {
|
||||
@PostMapping("/apply")
|
||||
@Log("申请任务")
|
||||
@ApiOperation("申请任务")
|
||||
@SaCheckPermission("menu:list")
|
||||
// @SaCheckPermission("menu:list")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -54,7 +58,8 @@ public class AcsToWmsController {
|
||||
@PostMapping("/againApply")
|
||||
@Log("二次申请任务")
|
||||
@ApiOperation("二次申请任务")
|
||||
@SaCheckPermission("menu:list")
|
||||
// @SaCheckPermission("menu:list")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> againApply(@RequestBody String task_id) {
|
||||
return new ResponseEntity<>(acsToWmsService.againApply(task_id), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -20,11 +20,13 @@ import org.nl.wms.sch.task.CallEmptyVehicleTask;
|
||||
import org.nl.wms.sch.task.CallMaterialTask;
|
||||
import org.nl.wms.sch.task.SendFullVehicleTask;
|
||||
import org.nl.wms.sch.task.SendResiduesMaterialTask;
|
||||
import org.nl.wms.sch.task.wql.SendEmptyVehicleTask;
|
||||
import org.nl.wms.sch.task.SendEmptyVehicleTask;
|
||||
import org.nl.wms.util.CommonUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.concurrent.locks.Lock;
|
||||
|
||||
/**
|
||||
* @author 张江玮
|
||||
* @date 2022/11/04 18:25
|
||||
@@ -60,7 +62,7 @@ public class PdaServiceImpl implements PdaService {
|
||||
for (int i = 0; i < points.size(); i++) {
|
||||
JSONObject point = points.getJSONObject(i);
|
||||
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
|
||||
point.put("status", "3");
|
||||
point.put("status", "2");
|
||||
}
|
||||
}
|
||||
// for (Object o : points) {
|
||||
@@ -78,7 +80,7 @@ public class PdaServiceImpl implements PdaService {
|
||||
|
||||
JSONObject point = WQLObject
|
||||
.getWQLObject("sch_base_point")
|
||||
.query("point_id = '" + pointId + "'")
|
||||
.query("point_id = " + pointId)
|
||||
.uniqueResult(0);
|
||||
|
||||
if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
|
||||
@@ -93,7 +95,6 @@ public class PdaServiceImpl implements PdaService {
|
||||
.getResultJSONArray(0);
|
||||
result.put("detail", detail);
|
||||
} else {
|
||||
String vehicleCode = point.getString("vehicle_code");
|
||||
result.put("vehicle_code", "");
|
||||
result.put("detail", new JSONArray());
|
||||
}
|
||||
@@ -318,10 +319,13 @@ public class PdaServiceImpl implements PdaService {
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("该点位不存在");
|
||||
}
|
||||
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
|
||||
throw new BadRequestException("该点位存在任务");
|
||||
}
|
||||
if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
|
||||
throw new BadRequestException("该点位上有载具");
|
||||
}
|
||||
if (!StrUtil.equals(point.getString("region_id"), RegionEnum.JL.getCode())) {
|
||||
if (!StrUtil.equals(point.getString("region_id"), RegionEnum.JL.getId())) {
|
||||
throw new BadRequestException("只有接料区可以呼叫空载具");
|
||||
}
|
||||
|
||||
@@ -336,10 +340,13 @@ public class PdaServiceImpl implements PdaService {
|
||||
if (ObjectUtil.isEmpty(point)) {
|
||||
throw new BadRequestException("该点位不存在");
|
||||
}
|
||||
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
|
||||
throw new BadRequestException("该点位存在任务");
|
||||
}
|
||||
if (StrUtil.equals(point.getString("point_status"), PointStatus.EMPTY.getCode())) {
|
||||
throw new BadRequestException("该点位为空位");
|
||||
}
|
||||
if (StrUtil.equals(point.getString("region_id"), RegionEnum.ZC.getCode())) {
|
||||
if (StrUtil.equals(point.getString("region_id"), RegionEnum.ZC.getId())) {
|
||||
throw new BadRequestException("暂存区不能生成入库任务");
|
||||
}
|
||||
|
||||
@@ -354,10 +361,10 @@ public class PdaServiceImpl implements PdaService {
|
||||
}
|
||||
if (StrUtil.equals(vehicle.getString("vehicle_status"), VehicleStatus.HAS_MATERIAL.getCode())) {
|
||||
String regionId = point.getString("region_id");
|
||||
if (StrUtil.equals(regionId, RegionEnum.JL.getCode())) {
|
||||
if (StrUtil.equals(regionId, RegionEnum.JL.getId())) {
|
||||
sendFullVehicleTask.createTask(param);
|
||||
}
|
||||
if (StrUtil.equals(regionId, RegionEnum.JJ.getCode())) {
|
||||
if (StrUtil.equals(regionId, RegionEnum.JJ.getId())) {
|
||||
sendResiduesMaterialTask.createTask(param);
|
||||
}
|
||||
}
|
||||
@@ -370,6 +377,9 @@ public class PdaServiceImpl implements PdaService {
|
||||
if (ObjectUtil.isEmpty(startPoint)) {
|
||||
throw new BadRequestException("起点不存在");
|
||||
}
|
||||
if (StrUtil.equals(startPoint.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
|
||||
throw new BadRequestException("起点存在任务");
|
||||
}
|
||||
if (StrUtil.equals(startPoint.getString("point_status"), PointStatus.EMPTY.getCode())) {
|
||||
throw new BadRequestException("起点为空位");
|
||||
}
|
||||
@@ -389,10 +399,13 @@ public class PdaServiceImpl implements PdaService {
|
||||
if (ObjectUtil.isEmpty(nextPoint)) {
|
||||
throw new BadRequestException("终点不存在");
|
||||
}
|
||||
if (StrUtil.equals(nextPoint.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
|
||||
throw new BadRequestException("终点存在任务");
|
||||
}
|
||||
if (StrUtil.equals(nextPoint.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
|
||||
throw new BadRequestException("终点有载具");
|
||||
}
|
||||
if (StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getCode())) {
|
||||
if (StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getId())) {
|
||||
throw new BadRequestException("只有终点为交接区才能生成出库任务");
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum PointStatus {
|
||||
|
||||
EMPTY("1", "空位"),
|
||||
HAS_VEHICLE("2", "有载具");
|
||||
EMPTY("0", "空位"),
|
||||
HAS_VEHICLE("1", "有载具");
|
||||
|
||||
private final String code;
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package org.nl.wms.sch.manage;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.wms.sch.AcsUtils;
|
||||
import org.nl.wms.sch.task.TaskStatus;
|
||||
import org.nl.wms.sch.task.dto.AcsTaskDTO;
|
||||
|
||||
import java.util.List;
|
||||
@@ -107,15 +112,60 @@ public abstract class AbstractAcsTask {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public JSONObject immediateNotifyAcs() {
|
||||
List<AcsTaskDTO> taskList = this.schedule();
|
||||
if (ObjectUtil.isNotEmpty(taskList)) {
|
||||
public JSONObject immediateNotifyAcs(String taskId) {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray tasks = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.getResultJSONArray(0);
|
||||
|
||||
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList));
|
||||
return AcsUtils.notifyAcs("api/wms/task", arr);
|
||||
if (ObjectUtil.isNotEmpty(tasks)) {
|
||||
String taskStatus = ((JSONObject) tasks.get(0)).getString("task_status");
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())) {
|
||||
throw new BadRequestException("只能下发已确认起点和终点的任务");
|
||||
}
|
||||
|
||||
JSONObject result = AcsUtils.notifyAcs("api/wms/task", tasks);
|
||||
|
||||
String status = result.getString("status");
|
||||
String message = result.getString("message");
|
||||
//发送失败的任务JSON集合:task_id,message
|
||||
JSONArray errArr = result.getJSONArray("errArr");
|
||||
|
||||
//任务下发以后,更新任务状态
|
||||
//成功
|
||||
if ("200".equals(status)) {
|
||||
tasks.forEach(item -> {
|
||||
JSONObject taskObj = new JSONObject();
|
||||
taskObj.put("task_id", ((JSONObject) item).getString("task_id"));
|
||||
taskObj.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
taskObj.put("remark", "下发成功");
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskTable.update(taskObj);
|
||||
});
|
||||
} else {//下发失败
|
||||
tasks.forEach(item -> {
|
||||
JSONObject taskObj = new JSONObject();
|
||||
taskObj.put("task_id", ((JSONObject) item).getString("task_id"));
|
||||
// taskObj.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
taskObj.put("remark", "下发失败:" + message);
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskTable.update(taskObj);
|
||||
});
|
||||
}
|
||||
//处理下发错误的任务
|
||||
if (ObjectUtil.isNotEmpty(errArr)) {
|
||||
//处理下发失败的任务
|
||||
for (int i = 0; i < errArr.size(); i++) {
|
||||
JSONObject taskObj = errArr.getJSONObject(i);
|
||||
taskObj.put("remark", "下发失败:"+taskObj.getString("message"));
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskTable.update(taskObj);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -31,7 +31,7 @@ public class AutoCreateTask {
|
||||
@SneakyThrows
|
||||
public void run() {
|
||||
if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) {
|
||||
Reflections reflections = new Reflections("org.nl.wms.sch.tasks");
|
||||
Reflections reflections = new Reflections("org.nl.wms.sch.task");
|
||||
subTypes = reflections.getSubTypesOf(AbstractAcsTask.class);
|
||||
}
|
||||
if (ObjectUtil.isNull(taskTab)) taskTab = WQLObject.getWQLObject("sch_base_task");
|
||||
|
||||
@@ -20,7 +20,6 @@ import org.nl.wms.util.CommonUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -57,7 +56,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
String taskCode = taskJSON.getString("task_code");
|
||||
JSONObject task = taskTable
|
||||
.query("task_code = " + taskCode)
|
||||
.query("task_code = '" + taskCode + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
|
||||
@@ -126,6 +125,10 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
|
||||
this.finishTask(task, TaskFinishedType.MANUAL);
|
||||
}
|
||||
|
||||
@@ -141,22 +144,35 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
JSONObject task = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("已完成的任务不能取消");
|
||||
}
|
||||
|
||||
taskTable.delete(task);
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.uniqueResult(0);
|
||||
String startPointCode = task.getString("point_code1");
|
||||
if (StrUtil.isNotEmpty(startPointCode)) {
|
||||
JSONObject startPoint = pointTable
|
||||
.query("point_code = '" + startPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
}
|
||||
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
String nextPointCode = task.getString("point_code2");
|
||||
if (StrUtil.isNotEmpty(nextPointCode)) {
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("point_code = '" + nextPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -167,7 +183,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
public void findStartPoint() {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray tasks = taskTable
|
||||
.query("task_status = " + TaskStatus.SURE_END.getCode() + " AND handle_class = " + THIS_CLASS_NAME)
|
||||
.query("task_status = " + TaskStatus.SURE_END.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
for (Object o : tasks) {
|
||||
@@ -195,6 +211,15 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
|
||||
String taskStatus = task.getString("task_status");
|
||||
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成");
|
||||
}
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
|
||||
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
|
||||
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
|
||||
}
|
||||
|
||||
task.put("finished_type", taskFinishedType.getCode());
|
||||
task.put("task_status", TaskStatus.FINISHED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(task);
|
||||
@@ -202,10 +227,10 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.query("point_code = '" + task.getString("point_code1") + "'")
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.query("point_code = '" + task.getString("point_code2") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode());
|
||||
|
||||
@@ -57,7 +57,7 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
String taskCode = taskJSON.getString("task_code");
|
||||
JSONObject task = taskTable
|
||||
.query("task_code = " + taskCode)
|
||||
.query("task_code = '" + taskCode + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
|
||||
@@ -137,6 +137,10 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
|
||||
this.finishTask(task, TaskFinishedType.MANUAL);
|
||||
}
|
||||
|
||||
@@ -151,26 +155,48 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
JSONObject task = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("已完成的任务不能取消");
|
||||
}
|
||||
|
||||
taskTable.delete(task);
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.uniqueResult(0);
|
||||
String startPointCode = task.getString("point_code1");
|
||||
if (StrUtil.isNotEmpty(startPointCode)) {
|
||||
JSONObject startPoint = pointTable
|
||||
.query("point_code = '" + startPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
}
|
||||
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
String nextPointCode = task.getString("point_code2");
|
||||
if (StrUtil.isNotEmpty(nextPointCode)) {
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("point_code = '" + nextPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
|
||||
String taskStatus = task.getString("task_status");
|
||||
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成");
|
||||
}
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
|
||||
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
|
||||
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
|
||||
}
|
||||
|
||||
task.put("finished_type", taskFinishedType.getCode());
|
||||
task.put("task_status", TaskStatus.FINISHED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(task);
|
||||
@@ -178,16 +204,16 @@ public class CallMaterialTask extends AbstractAcsTask {
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.query("point_code = '" + task.getString("point_code1") + "'")
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.query("point_code = '" + task.getString("point_code2") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
if (StrUtil.equals(startPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
|
||||
JSONObject vehicle = WQLObject
|
||||
.getWQLObject("md_pb_vehicle")
|
||||
.query("vehicle_code = " + startPoint.getString("vehicle_code"))
|
||||
.query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
WQLObject.getWQLObject("st_ivt_structivt").delete("vehicle_id = " + vehicle.getString("vehicle_id"));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.nl.wms.sch.task.wql;
|
||||
package org.nl.wms.sch.task;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
@@ -13,9 +13,7 @@ import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.wms.sch.base.point.LockType;
|
||||
import org.nl.wms.sch.base.point.PointStatus;
|
||||
import org.nl.wms.sch.base.point.PointType;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
import org.nl.wms.sch.task.*;
|
||||
import org.nl.wms.sch.task.dto.AcsTaskDTO;
|
||||
import org.nl.wms.sch.task.util.TaskUtils;
|
||||
import org.nl.wms.util.CommonUtils;
|
||||
@@ -60,7 +58,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
String taskCode = taskJSON.getString("task_code");
|
||||
JSONObject task = taskTable
|
||||
.query("task_code = " + taskCode)
|
||||
.query("task_code = '" + taskCode + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
|
||||
@@ -130,6 +128,10 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
|
||||
this.finishTask(task, TaskFinishedType.MANUAL);
|
||||
}
|
||||
|
||||
@@ -145,22 +147,35 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
JSONObject task = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("已完成的任务不能取消");
|
||||
}
|
||||
|
||||
taskTable.delete(task);
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.uniqueResult(0);
|
||||
String startPointCode = task.getString("point_code1");
|
||||
if (StrUtil.isNotEmpty(startPointCode)) {
|
||||
JSONObject startPoint = pointTable
|
||||
.query("point_code = '" + startPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
}
|
||||
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
String nextPointCode = task.getString("point_code2");
|
||||
if (StrUtil.isNotEmpty(nextPointCode)) {
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("point_code = '" + nextPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -174,7 +189,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
public void findNextPoint() {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray tasks = taskTable
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME)
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
for (Object o : tasks) {
|
||||
@@ -201,6 +216,15 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
|
||||
String taskStatus = task.getString("task_status");
|
||||
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成");
|
||||
}
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
|
||||
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
|
||||
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
|
||||
}
|
||||
|
||||
task.put("finished_type", taskFinishedType.getCode());
|
||||
task.put("task_status", TaskStatus.FINISHED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(task);
|
||||
@@ -208,10 +232,10 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.query("point_code = '" + task.getString("point_code1") + "'")
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.query("point_code = '" + task.getString("point_code2") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode());
|
||||
@@ -59,7 +59,7 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
String taskCode = taskJSON.getString("task_code");
|
||||
JSONObject task = taskTable
|
||||
.query("task_code = " + taskCode)
|
||||
.query("task_code = '" + taskCode + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
|
||||
@@ -129,6 +129,10 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
|
||||
this.finishTask(task, TaskFinishedType.MANUAL);
|
||||
}
|
||||
|
||||
@@ -144,22 +148,35 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
JSONObject task = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("已完成的任务不能取消");
|
||||
}
|
||||
|
||||
taskTable.delete(task);
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.uniqueResult(0);
|
||||
String startPointCode = task.getString("point_code1");
|
||||
if (StrUtil.isNotEmpty(startPointCode)) {
|
||||
JSONObject startPoint = pointTable
|
||||
.query("point_code = '" + startPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
}
|
||||
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
String nextPointCode = task.getString("point_code2");
|
||||
if (StrUtil.isNotEmpty(nextPointCode)) {
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("point_code = '" + nextPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -173,7 +190,7 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
public void findNextPoint() {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray tasks = taskTable
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME)
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
for (Object o : tasks) {
|
||||
@@ -200,6 +217,15 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
|
||||
String taskStatus = task.getString("task_status");
|
||||
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成");
|
||||
}
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
|
||||
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
|
||||
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
|
||||
}
|
||||
|
||||
task.put("finished_type", taskFinishedType.getCode());
|
||||
task.put("task_status", TaskStatus.FINISHED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(task);
|
||||
@@ -207,17 +233,17 @@ public class SendFullVehicleTask extends AbstractAcsTask {
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.query("point_code = '" + task.getString("point_code1") + "'")
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.query("point_code = '" + task.getString("point_code2") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
|
||||
if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
|
||||
JSONObject vehicle = WQLObject
|
||||
.getWQLObject("md_pb_vehicle")
|
||||
.query("vehicle_code = " + startPoint.getString("vehicle_code"))
|
||||
.query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
JSONObject vm = WQLObject
|
||||
|
||||
@@ -59,7 +59,7 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
String taskCode = taskJSON.getString("task_code");
|
||||
JSONObject task = taskTable
|
||||
.query("task_code = " + taskCode)
|
||||
.query("task_code = '" + taskCode + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
|
||||
@@ -129,6 +129,10 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
|
||||
this.finishTask(task, TaskFinishedType.MANUAL);
|
||||
}
|
||||
|
||||
@@ -144,22 +148,35 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
JSONObject task = taskTable
|
||||
.query("task_id = " + taskId)
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(task)) {
|
||||
throw new BadRequestException("该任务不存在");
|
||||
}
|
||||
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("已完成的任务不能取消");
|
||||
}
|
||||
|
||||
taskTable.delete(task);
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.uniqueResult(0);
|
||||
String startPointCode = task.getString("point_code1");
|
||||
if (StrUtil.isNotEmpty(startPointCode)) {
|
||||
JSONObject startPoint = pointTable
|
||||
.query("point_code = '" + startPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
}
|
||||
|
||||
startPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(startPoint);
|
||||
pointTable.update(startPoint);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
String nextPointCode = task.getString("point_code2");
|
||||
if (StrUtil.isNotEmpty(nextPointCode)) {
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("point_code = '" + nextPointCode + "'")
|
||||
.uniqueResult(0);
|
||||
nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(nextPoint);
|
||||
pointTable.update(nextPoint);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -173,7 +190,7 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
public void findNextPoint() {
|
||||
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
|
||||
JSONArray tasks = taskTable
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME)
|
||||
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
for (Object o : tasks) {
|
||||
@@ -200,6 +217,15 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
|
||||
String taskStatus = task.getString("task_status");
|
||||
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
|
||||
throw new BadRequestException("该任务已完成");
|
||||
}
|
||||
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
|
||||
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
|
||||
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
|
||||
}
|
||||
|
||||
task.put("finished_type", taskFinishedType.getCode());
|
||||
task.put("task_status", TaskStatus.FINISHED.getCode());
|
||||
CommonUtils.addAdminUpdateColum(task);
|
||||
@@ -207,17 +233,17 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
|
||||
|
||||
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
|
||||
JSONObject startPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code1"))
|
||||
.query("point_code = '" + task.getString("point_code1") + "'")
|
||||
.uniqueResult(0);
|
||||
JSONObject nextPoint = pointTable
|
||||
.query("task_code = " + task.getString("point_code2"))
|
||||
.query("point_code = '" + task.getString("point_code2") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
|
||||
if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
|
||||
JSONObject vehicle = WQLObject
|
||||
.getWQLObject("md_pb_vehicle")
|
||||
.query("vehicle_code = " + startPoint.getString("vehicle_code"))
|
||||
.query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
|
||||
JSONObject vm = WQLObject
|
||||
|
||||
@@ -27,7 +27,7 @@ public class TaskUtils {
|
||||
public static List<AcsTaskDTO> addTask(String handleClassName) {
|
||||
JSONArray tasks = WQLObject
|
||||
.getWQLObject("sch_base_task")
|
||||
.query("task_status = " + TaskStatus.START_AND_END.getCode() + " AND handle_class = " + handleClassName)
|
||||
.query("task_status = " + TaskStatus.START_AND_END.getCode() + " AND handle_class = '" + handleClassName + "'")
|
||||
.getResultJSONArray(0);
|
||||
|
||||
ArrayList<AcsTaskDTO> acsTasks = new ArrayList<>();
|
||||
|
||||
@@ -50,13 +50,13 @@
|
||||
point.is_used = '1'
|
||||
AND point.lock_type = '1'
|
||||
AND point.region_id = 1585921595338264576
|
||||
AND point.point_status = '2'
|
||||
AND point.point_status = '1'
|
||||
AND vehicle.vehicle_status = '1'
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "1"
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
point_id,
|
||||
@@ -67,7 +67,7 @@
|
||||
is_used = '1'
|
||||
AND lock_type = '1'
|
||||
AND region_id = 1585921595338264576
|
||||
AND point_status = '1'
|
||||
AND point_status = '0'
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
task.*,
|
||||
md.class_name task_type_name,
|
||||
dict.label task_status_name
|
||||
md.class_name AS task_type_name,
|
||||
dict.label AS task_status_name
|
||||
FROM
|
||||
sch_base_task task
|
||||
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
|
||||
@@ -72,7 +72,7 @@
|
||||
task.create_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
OPTION 输入.unFinish <> ""
|
||||
task.task_status <> '07'
|
||||
task.task_status <> '7'
|
||||
ENDOPTION
|
||||
OPTION 输入.task_status <> ""
|
||||
find_in_set( task.task_status, 输入.task_status)
|
||||
|
||||
Binary file not shown.
@@ -47,12 +47,12 @@
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
ivt.stockrecord_id,
|
||||
region.region_name,
|
||||
point.point_name,
|
||||
vehicle.vehicle_id,
|
||||
vehicle.vehicle_code,
|
||||
ANY_VALUE( region.region_name ) AS region_name,
|
||||
ANY_VALUE( point.point_name ) AS point_name,
|
||||
ANY_VALUE( vehicle.vehicle_id ) AS vehicle_id,
|
||||
ANY_VALUE( vehicle.vehicle_code ) AS vehicle_code,
|
||||
SUM( vm.material_qty ) AS qty,
|
||||
ivt.instorage_time
|
||||
ANY_VALUE( ivt.instorage_time ) AS instorage_time
|
||||
FROM
|
||||
st_ivt_structivt ivt
|
||||
LEFT JOIN sch_base_point point ON ivt.point_id = point.point_id
|
||||
@@ -77,7 +77,7 @@
|
||||
ivt.instorage_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
ivt.stockrecord_id
|
||||
ivt.stockrecord_id
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
@@ -42,22 +42,22 @@
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
vm.vm_id,
|
||||
vehicle.vehicle_id,
|
||||
vehicle.vehicle_code,
|
||||
ANY_VALUE( vm.vm_id ) AS vm_id,
|
||||
ANY_VALUE( vehicle.vehicle_code) AS vehicle_code,
|
||||
SUM( vm.material_qty ) AS qty,
|
||||
vm.create_name,
|
||||
vm.create_time
|
||||
ANY_VALUE( vm.create_name ) AS create_name,
|
||||
ANY_VALUE( vm.create_time ) AS create_time
|
||||
FROM
|
||||
st_ivt_vehicle_material vm
|
||||
LEFT JOIN md_pb_vehicle vehicle ON vm.vehicle_id = vehicle.vehicle_id
|
||||
md_pb_vehicle vehicle
|
||||
LEFT JOIN st_ivt_vehicle_material vm ON vehicle.vehicle_id = vm.vehicle_id
|
||||
WHERE
|
||||
1 = 1
|
||||
vehicle.vehicle_status = '2'
|
||||
OPTION 输入.vehicle_code <> ""
|
||||
vehicle.vehicle_code LIKE CONCAT( '%', 输入.vehicle_code, '%' )
|
||||
ENDOPTION
|
||||
GROUP BY
|
||||
vm.vehicle_id
|
||||
vehicle.vehicle_id
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
Binary file not shown.
@@ -1,14 +1,14 @@
|
||||
server:
|
||||
port: 8010
|
||||
port: 8011
|
||||
#配置数据源
|
||||
spring:
|
||||
datasource:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:ndxy3_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:nmd_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:P@ssw0rd}
|
||||
password: ${DB_PWD:123456}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
|
||||
Reference in New Issue
Block a user