代码更新

This commit is contained in:
ldj_willow
2022-10-19 13:14:42 +08:00
parent cdd2225b5a
commit 8b89c10e33
31 changed files with 341 additions and 421 deletions

View File

@@ -55,8 +55,15 @@ public class DictDetail extends BaseEntity implements Serializable {
@ApiModelProperty(value = "字典值") @ApiModelProperty(value = "字典值")
private String value; private String value;
@ApiModelProperty(value = "参数1")
private String para1;
@ApiModelProperty(value = "参数2")
private String para2;
@ApiModelProperty(value = "参数3")
private String para3;
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
private Integer dictSort = 999; private Integer dictSort = 999;
} }

View File

@@ -50,8 +50,8 @@ public class GenCodeController {
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@Log("修改字典") @Log("修改编码")
@ApiOperation("修改字典") @ApiOperation("修改编码")
@PutMapping @PutMapping
@SaCheckPermission("genCode:edit") @SaCheckPermission("genCode:edit")
public ResponseEntity<Object> update(@RequestBody JSONObject json) { public ResponseEntity<Object> update(@RequestBody JSONObject json) {

View File

@@ -22,9 +22,9 @@ import org.nl.modules.common.base.BaseDTO;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author Zheng Jie * @author Zheng Jie
* @date 2019-04-10 * @date 2019-04-10
*/ */
@Getter @Getter
@Setter @Setter
public class DictDetailDto extends BaseDTO implements Serializable { public class DictDetailDto extends BaseDTO implements Serializable {
@@ -36,6 +36,11 @@ public class DictDetailDto extends BaseDTO implements Serializable {
private String label; private String label;
private String value; private String value;
private String para1;
private String para2;
private String name;
private String para3;
private Integer dictSort; private Integer dictSort;
} }

View File

@@ -48,7 +48,9 @@ public class CodeDetailServiceImpl implements CodeDetailService {
json.put("code_rule_id",dict.get("id")); json.put("code_rule_id",dict.get("id"));
json.put("is_active","1"); json.put("is_active","1");
json.put("is_delete","0"); json.put("is_delete","0");
json.put("create_by", SecurityUtils.getCurrentUsername());
json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentNickName());
json.put("create_time", now); json.put("create_time", now);
if(form.get("type").equals("02")){ if(form.get("type").equals("02")){
Date date = DateUtil.date(); Date date = DateUtil.date();
@@ -69,7 +71,8 @@ public class CodeDetailServiceImpl implements CodeDetailService {
public void update(JSONObject json) { public void update(JSONObject json) {
String now = DateUtil.now(); String now = DateUtil.now();
json.put("update_time",now); json.put("update_time",now);
json.put("update_by", SecurityUtils.getCurrentUsername()); json.put("update_optid", SecurityUtils.getCurrentUserId());
json.put("update_optname", SecurityUtils.getCurrentNickName());
WQLObject.getWQLObject("sys_code_rule_detail").update(json); WQLObject.getWQLObject("sys_code_rule_detail").update(json);
} }
} }

View File

@@ -86,7 +86,7 @@ public class GenCodeServiceImpl implements GenCodeService {
WQLObject wql = WQLObject.getWQLObject("sys_code_rule"); WQLObject wql = WQLObject.getWQLObject("sys_code_rule");
String code = json.getString("code"); String code = json.getString("code");
String id = json.getString("id"); String id = json.getString("id");
JSONObject jo = wql.query("id<>'"+id+"code = '" + code + "'").uniqueResult(0); JSONObject jo = wql.query("id <> '"+id+"' and code = '"+code+"'").uniqueResult(0);
if (jo != null){ if (jo != null){
throw new BadRequestException("该编码code已存在请校验"); throw new BadRequestException("该编码code已存在请校验");
} }

View File

@@ -176,7 +176,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空"); if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空");
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("next_point_code", point_code); param.put("point_code2", point_code);
param.put("qty", vehicle_num); param.put("qty", vehicle_num);
// 创建任务 // 创建任务
CallEmpVehicleTask taskBean = SpringContextHolder.getBean(CallEmpVehicleTask.class); CallEmpVehicleTask taskBean = SpringContextHolder.getBean(CallEmpVehicleTask.class);
@@ -198,14 +198,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
throw new BadRequestException("物料数量不能为空或者为0"); throw new BadRequestException("物料数量不能为空或者为0");
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code", point_code); // 满料位 param.put("point_code1", point_code); // 满料位
SendMaterialTask taskBean = SpringContextHolder.getBean(SendMaterialTask.class); SendMaterialTask taskBean = SpringContextHolder.getBean(SendMaterialTask.class);
String task_id = taskBean.createTask(param); // 创建任务 String task_id = taskBean.createTask(param); // 创建任务
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
// 插入区域出入库表 // 插入区域出入库表
param.put("next_point_code", jsonTask.getString("next_point_code")); param.put("point_code2", jsonTask.getString("point_code2"));
param.put("qty", qty); param.put("qty", qty);
param.put("task_id", task_id); param.put("task_id", task_id);
param.put("io_type", "0"); param.put("io_type", "0");
@@ -228,7 +228,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空"); if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空");
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("next_point_code", point_code); param.put("point_code2", point_code);
param.put("qty", vehicle_num); param.put("qty", vehicle_num);
// 创建任务 // 创建任务
CallEmpVehicleTask taskBean = SpringContextHolder.getBean(CallEmpVehicleTask.class); CallEmpVehicleTask taskBean = SpringContextHolder.getBean(CallEmpVehicleTask.class);
@@ -244,7 +244,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} else if (StrUtil.equals(type, "4")) { } else if (StrUtil.equals(type, "4")) {
// 4.油漆线申请物料: 调用物料出库库处理类创建任务 // 4.油漆线申请物料: 调用物料出库库处理类创建任务
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("next_point_code", point_code); param.put("point_code2", point_code);
param.put("io_type", "1"); param.put("io_type", "1");
// 插入区域出库单 // 插入区域出库单
JSONObject json = this.outCreateRegion(param); JSONObject json = this.outCreateRegion(param);
@@ -260,8 +260,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
// 回显出库单起始点位、起始区域、任务id // 回显出库单起始点位、起始区域、任务id
JSONObject jsonRegion = regionTab.query("iostorinv_id = '" + json.getString("iostorinv_id") + "'").uniqueResult(0); JSONObject jsonRegion = regionTab.query("iostorinv_id = '" + json.getString("iostorinv_id") + "'").uniqueResult(0);
jsonRegion.put("start_point_code", jsonTask.getString("start_point_code")); jsonRegion.put("point_code1", jsonTask.getString("point_code1"));
Long start_region_id = SpringContextHolder.getBean(PointService.class).findByCode(jsonTask.getString("start_point_code")).getRegion_id(); Long start_region_id = SpringContextHolder.getBean(PointService.class).findByCode(jsonTask.getString("point_code1")).getRegion_id();
jsonRegion.put("start_region_id", String.valueOf(start_region_id)); jsonRegion.put("start_region_id", String.valueOf(start_region_id));
jsonRegion.put("task_id", Long.valueOf(task_id)); jsonRegion.put("task_id", Long.valueOf(task_id));
regionTab.update(jsonRegion); regionTab.update(jsonRegion);
@@ -279,7 +279,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空"); if (ObjectUtil.isEmpty(vehicle_num)) throw new BadRequestException("数量不能为空");
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code", point_code); param.put("point_code1", point_code);
param.put("qty", vehicle_num); param.put("qty", vehicle_num);
// 创建任务 // 创建任务
SendEmpVehicleTask taskBean = SpringContextHolder.getBean(SendEmpVehicleTask.class); SendEmpVehicleTask taskBean = SpringContextHolder.getBean(SendEmpVehicleTask.class);
@@ -309,7 +309,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} }
param.put("qty", jsonVeQty.getString("qty")); param.put("qty", jsonVeQty.getString("qty"));
param.put("start_point_code", point_code); param.put("point_code1", point_code);
param.put("vehicle_code", vehicle_code); param.put("vehicle_code", vehicle_code);
// 创建任务 // 创建任务
SendEmpVehicleTask taskBean = SpringContextHolder.getBean(SendEmpVehicleTask.class); SendEmpVehicleTask taskBean = SpringContextHolder.getBean(SendEmpVehicleTask.class);
@@ -327,19 +327,19 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
} }
} else if (StrUtil.equals(type, "7")) { } else if (StrUtil.equals(type, "7")) {
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code", point_code); param.put("point_code1", point_code);
// 1.生成起点确定的任务 // 1.生成起点确定的任务
SpringContextHolder.getBean(PointToPointTask.class).createTask(param); SpringContextHolder.getBean(PointToPointTask.class).createTask(param);
} else if (StrUtil.equals(type, "8")) { } else if (StrUtil.equals(type, "8")) {
// 8.豪凯自动线下料入库 // 8.豪凯自动线下料入库
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code", point_code); param.put("point_code1", point_code);
SendMaterialTask taskBean = SpringContextHolder.getBean(SendMaterialTask.class); SendMaterialTask taskBean = SpringContextHolder.getBean(SendMaterialTask.class);
String task_id = taskBean.createTask(param); String task_id = taskBean.createTask(param);
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
// 插入区域出入库表 // 插入区域出入库表
param.put("next_point_code", jsonTask.getString("next_point_code")); param.put("point_code2", jsonTask.getString("point_code2"));
if (ObjectUtil.isEmpty(qty)) { if (ObjectUtil.isEmpty(qty)) {
param.put("qty", "1"); // 为空先写死1 param.put("qty", "1"); // 为空先写死1
} else { } else {
@@ -367,8 +367,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@LokiLog(type = LokiLogType.ACS_TO_LMS) @LokiLog(type = LokiLogType.ACS_TO_LMS)
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject inCreateRegion(JSONObject json) { public JSONObject inCreateRegion(JSONObject json) {
String start_point_code = json.getString("start_point_code"); String point_code1 = json.getString("point_code1");
String next_point_code = json.getString("next_point_code"); String point_code2 = json.getString("point_code2");
String qty = json.getString("qty"); String qty = json.getString("qty");
Long task_id = json.getLongValue("task_id"); Long task_id = json.getLongValue("task_id");
String io_type = json.getString("io_type"); String io_type = json.getString("io_type");
@@ -384,7 +384,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jsonRegion.put("io_type", io_type); jsonRegion.put("io_type", io_type);
jsonRegion.put("bill_status", "20"); jsonRegion.put("bill_status", "20");
// 根据起点点位找到起点设备,根据设备找到对应工单, 根据工单找到对应物料及托盘类型 // 根据起点点位找到起点设备,根据设备找到对应工单, 根据工单找到对应物料及托盘类型
String device_code = start_point_code.substring(0, start_point_code.indexOf("_")); String device_code = point_code1.substring(0, point_code1.indexOf("_"));
DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class); DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class);
DeviceDto deviceDto = deviceBean.findByCode(device_code); DeviceDto deviceDto = deviceBean.findByCode(device_code);
@@ -397,11 +397,11 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject jsonMater = materTab.query("material_id ='" + jsonOrder.getString("material_id") + "'").uniqueResult(0); JSONObject jsonMater = materTab.query("material_id ='" + jsonOrder.getString("material_id") + "'").uniqueResult(0);
jsonRegion.put("qty_unit_id", jsonMater.getString("base_unit_id")); jsonRegion.put("qty_unit_id", jsonMater.getString("base_unit_id"));
jsonRegion.put("start_point_code", start_point_code); jsonRegion.put("point_code1", point_code1);
Long start_region_id = SpringContextHolder.getBean(PointService.class).findByCode(start_point_code).getRegion_id(); Long start_region_id = SpringContextHolder.getBean(PointService.class).findByCode(point_code1).getRegion_id();
jsonRegion.put("start_region_id", String.valueOf(start_region_id)); jsonRegion.put("start_region_id", String.valueOf(start_region_id));
jsonRegion.put("end_point_code", next_point_code); jsonRegion.put("end_point_code", point_code2);
Long end_region_id = SpringContextHolder.getBean(PointService.class).findByCode(next_point_code).getRegion_id(); Long end_region_id = SpringContextHolder.getBean(PointService.class).findByCode(point_code2).getRegion_id();
jsonRegion.put("end_region_id", String.valueOf(end_region_id)); jsonRegion.put("end_region_id", String.valueOf(end_region_id));
jsonRegion.put("create_mode", "02"); jsonRegion.put("create_mode", "02");
@@ -420,7 +420,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject outCreateRegion(JSONObject json) { public JSONObject outCreateRegion(JSONObject json) {
String next_point_code = json.getString("next_point_code"); String point_code2 = json.getString("point_code2");
String io_type = json.getString("io_type"); String io_type = json.getString("io_type");
WQLObject regionTab = WQLObject.getWQLObject("SCH_IVT_regionIO"); WQLObject regionTab = WQLObject.getWQLObject("SCH_IVT_regionIO");
@@ -433,7 +433,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jsonRegion.put("io_type", io_type); jsonRegion.put("io_type", io_type);
jsonRegion.put("bill_status", "20"); jsonRegion.put("bill_status", "20");
// 根据起点点位找到起点设备,根据设备找到对应工单, 根据工单找到对应物料及托盘类型 // 根据起点点位找到起点设备,根据设备找到对应工单, 根据工单找到对应物料及托盘类型
String device_code = next_point_code.substring(0, next_point_code.indexOf("_")); String device_code = point_code2.substring(0, point_code2.indexOf("_"));
DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class); DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class);
DeviceDto deviceDto = deviceBean.findByCode(device_code); DeviceDto deviceDto = deviceBean.findByCode(device_code);
@@ -446,8 +446,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject jsonMater = materTab.query("material_id ='" + jsonOrder.getString("material_id") + "'").uniqueResult(0); JSONObject jsonMater = materTab.query("material_id ='" + jsonOrder.getString("material_id") + "'").uniqueResult(0);
jsonRegion.put("qty_unit_id", jsonMater.getString("base_unit_id")); jsonRegion.put("qty_unit_id", jsonMater.getString("base_unit_id"));
jsonRegion.put("end_point_code", next_point_code); jsonRegion.put("end_point_code", point_code2);
Long end_region_id = SpringContextHolder.getBean(PointService.class).findByCode(next_point_code).getRegion_id(); Long end_region_id = SpringContextHolder.getBean(PointService.class).findByCode(point_code2).getRegion_id();
jsonRegion.put("end_region_id", String.valueOf(end_region_id)); jsonRegion.put("end_region_id", String.valueOf(end_region_id));
jsonRegion.put("create_mode", "02"); jsonRegion.put("create_mode", "02");

View File

@@ -89,7 +89,7 @@ public class AutoQueryTask {
if (StrUtil.equals(jsonPointAfter.getString("SSX01A1"), "0") && StrUtil.equals(jsonPointAfter.getString("SSX01A2"), "0")) { if (StrUtil.equals(jsonPointAfter.getString("SSX01A1"), "0") && StrUtil.equals(jsonPointAfter.getString("SSX01A2"), "0")) {
// 4.2如果都是空位 则判断是否有正在进行的任务 // 4.2如果都是空位 则判断是否有正在进行的任务
map.put("flag", "2"); map.put("flag", "2");
map.put("start_point_code", "('SSX01A1','SSX01A2')"); map.put("point_code1", "('SSX01A1','SSX01A2')");
// 查找起点是否有任务 // 查找起点是否有任务
JSONArray is_stara = WQL.getWO("AUTO_QUERYTASK").addParamMap(map).process().getResultJSONArray(0); JSONArray is_stara = WQL.getWO("AUTO_QUERYTASK").addParamMap(map).process().getResultJSONArray(0);
// 查询终点是否有任务 // 查询终点是否有任务
@@ -99,7 +99,7 @@ public class AutoQueryTask {
if (ObjectUtil.isEmpty(is_stara) && ObjectUtil.isEmpty(is_end)) { if (ObjectUtil.isEmpty(is_stara) && ObjectUtil.isEmpty(is_end)) {
// 4.3.更新任务终点点位 // 4.3.更新任务终点点位
jsonTask.put("next_point_code", "SSX01A1"); jsonTask.put("point_code2", "SSX01A1");
taskTab.update(jsonTask); taskTab.update(jsonTask);
// 4.4.下发ACS // 4.4.下发ACS
JSONObject jsonResultAcs = pointTaskBean.renotifyAcs(jsonTask.getString("task_id")); JSONObject jsonResultAcs = pointTaskBean.renotifyAcs(jsonTask.getString("task_id"));
@@ -113,7 +113,7 @@ public class AutoQueryTask {
} else if (StrUtil.equals(jsonPointAfter.getString("SSX02A1"), "0") && StrUtil.equals(jsonPointAfter.getString("SSX02A2"), "0")) { } else if (StrUtil.equals(jsonPointAfter.getString("SSX02A1"), "0") && StrUtil.equals(jsonPointAfter.getString("SSX02A2"), "0")) {
// 5.2如果都是空位 则判断是否有正在进行的任务 // 5.2如果都是空位 则判断是否有正在进行的任务
map.put("flag", "2"); map.put("flag", "2");
map.put("start_point_code", "('SSX02A1','SSX02A2')"); map.put("point_code1", "('SSX02A1','SSX02A2')");
// 查找起点是否有任务 // 查找起点是否有任务
JSONArray is_stara2 = WQL.getWO("AUTO_QUERYTASK").addParamMap(map).process().getResultJSONArray(0); JSONArray is_stara2 = WQL.getWO("AUTO_QUERYTASK").addParamMap(map).process().getResultJSONArray(0);
// 查询终点是否有任务 // 查询终点是否有任务
@@ -123,7 +123,7 @@ public class AutoQueryTask {
if (ObjectUtil.isEmpty(is_stara2) && ObjectUtil.isEmpty(is_end2)) { if (ObjectUtil.isEmpty(is_stara2) && ObjectUtil.isEmpty(is_end2)) {
// 5.3.更新任务终点点位 // 5.3.更新任务终点点位
jsonTask.put("next_point_code", "SSX02A1"); jsonTask.put("point_code2", "SSX02A1");
taskTab.update(jsonTask); taskTab.update(jsonTask);
// 5.4.下发ACS // 5.4.下发ACS
JSONObject jsonResultAcs = pointTaskBean.renotifyAcs(jsonTask.getString("task_id")); JSONObject jsonResultAcs = pointTaskBean.renotifyAcs(jsonTask.getString("task_id"));

View File

@@ -14,7 +14,7 @@
## 表字段对应输入参数 ## 表字段对应输入参数
################################################# #################################################
输入.flag TYPEAS s_string 输入.flag TYPEAS s_string
输入.start_point_code TYPEAS f_string 输入.point_code1 TYPEAS f_string
输入.end_point_code TYPEAS f_string 输入.end_point_code TYPEAS f_string
@@ -49,7 +49,7 @@
WHERE WHERE
task.is_delete = '0' task.is_delete = '0'
AND task.task_status = '01' AND task.task_status = '01'
AND task.start_point_code in ('YQX01_WX','YQX02_WX') AND task.point_code1 in ('YQX01_WX','YQX02_WX')
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
@@ -65,8 +65,8 @@
task.is_delete = '0' task.is_delete = '0'
AND task.task_status <> '99' AND task.task_status <> '99'
OPTION 输入.start_point_code <> "" OPTION 输入.point_code1 <> ""
task.start_point_code in 输入.start_point_code task.point_code1 in 输入.point_code1
ENDOPTION ENDOPTION
ENDSELECT ENDSELECT
@@ -84,9 +84,9 @@
AND task.task_status <> '99' AND task.task_status <> '99'
OPTION 输入.end_point_code <> "" OPTION 输入.end_point_code <> ""
task.next_point_code in 输入.end_point_code task.point_code2 in 输入.end_point_code
ENDOPTION ENDOPTION
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF

View File

@@ -52,8 +52,8 @@ public abstract class AbstractAcsTask {
taskDto.setTask_code(json.getString("task_code")); taskDto.setTask_code(json.getString("task_code"));
taskDto.setTask_type("1"); taskDto.setTask_type("1");
taskDto.setRoute_plan_code("normal"); taskDto.setRoute_plan_code("normal");
taskDto.setStart_device_code(json.getString("start_point_code")); taskDto.setStart_device_code(json.getString("point_code1"));
taskDto.setNext_device_code(json.getString("next_point_code")); taskDto.setNext_device_code(json.getString("point_code2"));
taskDto.setVehicle_code(json.getString("vehicle_code")); taskDto.setVehicle_code(json.getString("vehicle_code"));
arr.add(taskDto); arr.add(taskDto);
} }
@@ -116,8 +116,8 @@ public abstract class AbstractAcsTask {
AcsTaskDto taskDto = new AcsTaskDto(); AcsTaskDto taskDto = new AcsTaskDto();
taskDto.setTask_id(json.getString("task_id")); taskDto.setTask_id(json.getString("task_id"));
taskDto.setTask_code(json.getString("task_code")); taskDto.setTask_code(json.getString("task_code"));
taskDto.setStart_device_code(json.getString("start_point_code")); taskDto.setStart_device_code(json.getString("point_code1"));
taskDto.setNext_device_code(json.getString("next_point_code")); taskDto.setNext_device_code(json.getString("point_code2"));
taskDto.setPriority("1"); taskDto.setPriority("1");
taskDto.setVehicle_code(json.getString("vehicle_code")); taskDto.setVehicle_code(json.getString("vehicle_code"));
taskDto.setTask_type("1"); taskDto.setTask_type("1");

View File

@@ -12,12 +12,10 @@ import org.nl.modules.logging.annotation.Log;
import org.nl.wms.sch.manage.FinishTypeEnum; import org.nl.wms.sch.manage.FinishTypeEnum;
import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.service.TaskService; import org.nl.wms.sch.service.TaskService;
import org.nl.wms.sch.service.dto.TaskDto;
import org.nl.wms.sch.tasks.TaskTypeEnum; import org.nl.wms.sch.tasks.TaskTypeEnum;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Map; import java.util.Map;
@@ -43,33 +41,6 @@ public class TaskController {
return new ResponseEntity<>(taskService.queryAll(whereJson, page), HttpStatus.OK); return new ResponseEntity<>(taskService.queryAll(whereJson, page), HttpStatus.OK);
} }
@PostMapping
@Log("新增任务")
@ApiOperation("新增任务")
//@SaCheckPermission("task:add")
public ResponseEntity<Object> create(@Validated @RequestBody TaskDto dto) {
taskService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改任务")
@ApiOperation("修改任务")
//@SaCheckPermission("task:edit")
public ResponseEntity<Object> update(@Validated @RequestBody TaskDto dto) {
taskService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除任务")
@ApiOperation("删除任务")
//@SaCheckPermission("task:del")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
taskService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/taskStatus") @GetMapping("/taskStatus")
@Log("获取任务状态列表") @Log("获取任务状态列表")
@ApiOperation("获取任务状态列表") @ApiOperation("获取任务状态列表")

View File

@@ -55,29 +55,6 @@ public interface TaskService {
*/ */
TaskDto findByCode(String code); TaskDto findByCode(String code);
/**
* 创建
*
* @param dto /
*/
void create(TaskDto dto);
/**
* 编辑
*
* @param dto /
*/
void update(TaskDto dto);
/**
* 多选删除
*
* @param ids /
*/
void deleteAll(String[] ids);
/** /**
* 任务操作 * 任务操作
* *

View File

@@ -5,44 +5,90 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @description / * @description /
* @author ldjun * @author ldjun
* @date 2021-12-23 * @date 2022-10-19
**/ **/
@Data @Data
public class TaskDto implements Serializable { public class TaskDto implements Serializable {
/** 任务标识 */
/** 防止精度丢失 */
@JsonSerialize(using= ToStringSerializer.class)
private Long task_id;
/** 任务编码 */ /** 任务编码 */
private String task_code; private String task_code;
/** 任务类型 */ /** 任务类型 */
private String task_type; private Long task_type;
/** 任务明细类型 */ /** 任务状态 */
private String taskdtl_type;
/** 指令状态 */
private String task_status; private String task_status;
/** 起始点位 */ /** 点位1 */
private String start_point_code; private String point_code1;
/** 下一点位 */ /** 点位2 */
private String next_point_code; private String point_code2;
/** 点位3 */
private String point_code3;
/** 点位4 */
private String point_code4;
/** 物料标识 */
private Long material_id;
/** 载具类型 */
private String vehicle_type;
/** 载具数量 */
private BigDecimal vehicle_qty;
/** 载具编码 */ /** 载具编码 */
private String vehicle_code; private String vehicle_code;
/** 优先级 */
private String priority;
/** 处理类 */ /** 处理类 */
private String handle_class; private String handle_class;
/** 任务组标识 */
private Long task_group_id;
/** 任务顺序号 */
private BigDecimal sort_seq;
/** 任务完成类型 */ /** 任务完成类型 */
private String finished_type; private String finished_type;
/** acs任务类型 */
private String acs_task_type;
/** 业务表表名 */
private String table_name;
/** 业务表表名主键字段 */
private String table_fk;
/** 业务表表名主键值 */
private Long table_fk_id;
/** 备注 */ /** 备注 */
private String remark; private String remark;
/** 备注1 */
private String remark2;
/** 备注2 */
private String remark3;
/** 是否删除 */ /** 是否删除 */
private String is_delete; private String is_delete;
@@ -51,30 +97,4 @@ public class TaskDto implements Serializable {
/** 修改时间 */ /** 修改时间 */
private String update_time; private String update_time;
/** 任务明细标识 */
/** 防止精度丢失 */
@JsonSerialize(using= ToStringSerializer.class)
private Long taskdtl_id;
/** 任务标识 */
private Long task_id;
/** 物料编码 */
private String material_code;
/** 车号 */
private String car_no;
/** 创建人 */
private Long create_id;
/** 创建人姓名 */
private String create_name;
/** 修改人 */
private Long update_optid;
/** 修改人姓名 */
private String update_optname;
} }

View File

@@ -36,12 +36,12 @@ public class TaskQueryDto implements Serializable {
/** /**
* 起始点位 * 起始点位
*/ */
private String start_point_code; private String point_code1;
/** /**
* 下一点位 * 下一点位
*/ */
private String next_point_code; private String point_code2;
/** /**
* 载具编码 * 载具编码

View File

@@ -2,9 +2,7 @@
package org.nl.wms.sch.service.impl; package org.nl.wms.sch.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@@ -12,19 +10,14 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil; import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.sch.service.TaskService; import org.nl.wms.sch.service.TaskService;
import org.nl.wms.sch.service.dto.TaskDto; import org.nl.wms.sch.service.dto.TaskDto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@@ -63,11 +56,11 @@ public class TaskServiceImpl implements TaskService {
if (StrUtil.isNotEmpty(whereJson.getString("task_code"))) { if (StrUtil.isNotEmpty(whereJson.getString("task_code"))) {
map.put("task_code", "%" + whereJson.getString("task_code") + "%"); map.put("task_code", "%" + whereJson.getString("task_code") + "%");
} }
if (StrUtil.isNotEmpty(whereJson.getString("start_point_code"))) { if (StrUtil.isNotEmpty(whereJson.getString("point_code1"))) {
map.put("start_point_code", "%" + whereJson.getString("start_point_code") + "%"); map.put("point_code1", "%" + whereJson.getString("point_code1") + "%");
} }
if (StrUtil.isNotEmpty(whereJson.getString("next_point_code"))) { if (StrUtil.isNotEmpty(whereJson.getString("point_code2"))) {
map.put("next_point_code", "%" + whereJson.getString("next_point_code") + "%"); map.put("point_code2", "%" + whereJson.getString("point_code2") + "%");
} }
if (StrUtil.isNotEmpty(whereJson.getString("vehicle_code"))) { if (StrUtil.isNotEmpty(whereJson.getString("vehicle_code"))) {
map.put("vehicle_code", "%" + whereJson.getString("vehicle_code") + "%"); map.put("vehicle_code", "%" + whereJson.getString("vehicle_code") + "%");
@@ -123,57 +116,6 @@ public class TaskServiceImpl implements TaskService {
return obj; return obj;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void create(TaskDto dto) {
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setTaskdtl_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setTask_id(dto.getTaskdtl_id());
dto.setCreate_id(currentUserId);
dto.setCreate_name(nickName);
dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName);
dto.setUpdate_time(now);
dto.setCreate_time(now);
WQLObject wo = WQLObject.getWQLObject("sch_base_task");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.insert(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(TaskDto dto) {
TaskDto entity = this.findById(dto.getTask_id() + "");
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
dto.setUpdate_time(now);
dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName);
WQLObject wo = WQLObject.getWQLObject("sch_base_task");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.update(json);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(String[] ids) {
WQLObject wo = WQLObject.getWQLObject("sch_base_task");
for (String taskdtl_id : ids) {
wo.delete("taskdtl_id = '" + taskdtl_id + "'");
}
}
@Override @Override
public void operation(Map<String, Object> map) { public void operation(Map<String, Object> map) {
String task_id = MapUtil.getStr(map, "task_id"); String task_id = MapUtil.getStr(map, "task_id");

View File

@@ -69,23 +69,23 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
PointService point = SpringContextHolder.getBean(PointService.class); PointService point = SpringContextHolder.getBean(PointService.class);
// 校验起点是否存在 // 校验起点是否存在
PointDto start_point_code = point.findByCode(jsonTask.getString("start_point_code")); PointDto point_code1 = point.findByCode(jsonTask.getString("point_code1"));
if (ObjectUtil.isEmpty(start_point_code)) throw new BadRequestException("未找到可用点位:" + start_point_code); if (ObjectUtil.isEmpty(point_code1)) throw new BadRequestException("未找到可用点位:" + point_code1);
// 校验终点是否存在 // 校验终点是否存在
PointDto next_point_code = point.findByCode(jsonTask.getString("next_point_code")); PointDto point_code2 = point.findByCode(jsonTask.getString("point_code2"));
if (ObjectUtil.isEmpty(start_point_code)) throw new BadRequestException("未找到可用点位:" + next_point_code); if (ObjectUtil.isEmpty(point_code1)) throw new BadRequestException("未找到可用点位:" + point_code2);
// 1.更新点位数量 2.解锁点位 // 1.更新点位数量 2.解锁点位
int vehicle_qty = JSONObject.parseObject(JSON.toJSONString(start_point_code)).getIntValue("vehicle_qty"); int vehicle_qty = JSONObject.parseObject(JSON.toJSONString(point_code1)).getIntValue("vehicle_qty");
BigDecimal vehicle_qty_point = NumberUtil.sub(String.valueOf(vehicle_qty), String.valueOf(1)); BigDecimal vehicle_qty_point = NumberUtil.sub(String.valueOf(vehicle_qty), String.valueOf(1));
start_point_code.setVehicle_qty(Integer.valueOf(vehicle_qty_point.toString())); point_code1.setVehicle_qty(Integer.valueOf(vehicle_qty_point.toString()));
if (StrUtil.equals(vehicle_qty_point.toString(), "0")) { if (StrUtil.equals(vehicle_qty_point.toString(), "0")) {
start_point_code.setPoint_status("00"); point_code1.setPoint_status("00");
start_point_code.setVehicle_type(""); point_code1.setVehicle_type("");
} }
start_point_code.setLock_type("00"); point_code1.setLock_type("00");
pointTab.update(JSONObject.parseObject(JSON.toJSONString(start_point_code))); pointTab.update(JSONObject.parseObject(JSON.toJSONString(point_code1)));
} }
} }
@@ -105,17 +105,17 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
String start_point_code = form.getString("start_point_code"); String point_code1 = form.getString("point_code1");
String next_point_code = form.getString("next_point_code"); String point_code2 = form.getString("point_code2");
String qty = form.getString("qty"); String qty = form.getString("qty");
String vehicle_type = form.getString("vehicle_type"); String vehicle_type = form.getString("vehicle_type");
// 出库终点不能为空 // 出库终点不能为空
if (ObjectUtil.isEmpty(next_point_code)) { if (ObjectUtil.isEmpty(point_code2)) {
throw new BadRequestException("终点不能为空"); throw new BadRequestException("终点不能为空");
} else { } else {
// 判断终点是否有正在执行的任务 // 判断终点是否有正在执行的任务
JSONObject beforTaskObj = taskTab.query("is_delete='0' and next_point_code='" + next_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0); JSONObject beforTaskObj = taskTab.query("is_delete='0' and point_code2='" + point_code2 + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(beforTaskObj)) throw new BadRequestException("存在任务号为'" + beforTaskObj.getString("task_code") + "' 未完成!"); if (ObjectUtil.isNotEmpty(beforTaskObj)) throw new BadRequestException("存在任务号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
} }
// 载具数量不能为空 // 载具数量不能为空
@@ -126,16 +126,16 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
* 2. 终点确定: 需要找到对应起点,在创建任务 具体找起点货位的规则在findBeginPoint()中 * 2. 终点确定: 需要找到对应起点,在创建任务 具体找起点货位的规则在findBeginPoint()中
*/ */
// 终点确定:找起点 // 终点确定:找起点
if (ObjectUtil.isEmpty(start_point_code)) { if (ObjectUtil.isEmpty(point_code1)) {
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("next_point_code",next_point_code); param.put("point_code2",point_code2);
param.put("vehicle_qty",qty); param.put("vehicle_qty",qty);
JSONObject json = this.findBeginPoint(param); JSONObject json = this.findBeginPoint(param);
start_point_code = json.getString("start_point_code"); point_code1 = json.getString("point_code1");
vehicle_type = json.getString("vehicle_type"); vehicle_type = json.getString("vehicle_type");
} else { } else {
// 判断终点是否是空位 // 判断终点是否是空位
JSONObject jsonPoint = pointTab.query("point_code = '" + start_point_code + "' and lock_type = '00' and point_status <> '02' and is_delete = '0' and is_used = '1'").uniqueResult(0); JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "' and lock_type = '00' and point_status <> '02' and is_delete = '0' and is_used = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) throw new BadRequestException("起点点位不可用或不存在"); if (ObjectUtil.isEmpty(jsonPoint)) throw new BadRequestException("起点点位不可用或不存在");
} }
// 创建任务 // 创建任务
@@ -148,8 +148,8 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
jsonTask.put("task_type", "04"); jsonTask.put("task_type", "04");
jsonTask.put("taskdtl_type", "04"); jsonTask.put("taskdtl_type", "04");
jsonTask.put("task_status", "01"); jsonTask.put("task_status", "01");
jsonTask.put("start_point_code", start_point_code); jsonTask.put("point_code1", point_code1);
jsonTask.put("next_point_code", next_point_code); jsonTask.put("point_code2", point_code2);
jsonTask.put("handle_class", THIS_CLASS); jsonTask.put("handle_class", THIS_CLASS);
jsonTask.put("vehicle_type", vehicle_type); jsonTask.put("vehicle_type", vehicle_type);
jsonTask.put("create_name", SecurityUtils.getCurrentUsername()); jsonTask.put("create_name", SecurityUtils.getCurrentUsername());
@@ -159,7 +159,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
taskTab.insert(jsonTask); taskTab.insert(jsonTask);
// 锁定起点点位 // 锁定起点点位
JSONObject jsonPoint = pointTab.query("point_code = '" + start_point_code + "'").uniqueResult(0); JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
jsonPoint.put("lock_type", "02"); jsonPoint.put("lock_type", "02");
pointTab.update(jsonPoint); pointTab.update(jsonPoint);
@@ -185,21 +185,21 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject findBeginPoint(JSONObject json) { public JSONObject findBeginPoint(JSONObject json) {
String next_point_code = json.getString("next_point_code"); String point_code2 = json.getString("point_code2");
String vehicle_qty = json.getString("vehicle_qty"); String vehicle_qty = json.getString("vehicle_qty");
if (ObjectUtil.isEmpty(next_point_code)) throw new BadRequestException("终点不能为空"); if (ObjectUtil.isEmpty(point_code2)) throw new BadRequestException("终点不能为空");
if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空"); if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空");
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region"); WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region");
WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
// 根据终点区域判断优先的起点区域 // 根据终点区域判断优先的起点区域
JSONObject jsonPointEnd = pointTab.query("point_code = '" + next_point_code + "'").uniqueResult(0); JSONObject jsonPointEnd = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPointEnd)) throw new BadRequestException("终点点位不存在"); if (ObjectUtil.isEmpty(jsonPointEnd)) throw new BadRequestException("终点点位不存在");
JSONObject jsonRegionEnd = regionTab.query("region_id ='" + jsonPointEnd.getString("region_id") + "'").uniqueResult(0); JSONObject jsonRegionEnd = regionTab.query("region_id ='" + jsonPointEnd.getString("region_id") + "'").uniqueResult(0);
// 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型 // 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型
String device_code = next_point_code.substring(0, next_point_code.indexOf("_")); String device_code = point_code2.substring(0, point_code2.indexOf("_"));
DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class); DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class);
DeviceDto deviceDto = deviceBean.findByCode(device_code); DeviceDto deviceDto = deviceBean.findByCode(device_code);
@@ -211,7 +211,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
* 1.叠盘架B区、养生A区 --> 共挤线 优先级1叠盘架B区 2养生A区 * 1.叠盘架B区、养生A区 --> 共挤线 优先级1叠盘架B区 2养生A区
* 2.叠盘架A区、养生A区 --> 油漆线 优先级1叠盘架A区 2养生A区 * 2.叠盘架A区、养生A区 --> 油漆线 优先级1叠盘架A区 2养生A区
*/ */
String start_point_code = ""; String point_code1 = "";
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
if (StrUtil.equals(jsonRegionEnd.getString("region_code"),RegionTypeEnum.GJQY.getCode())) { if (StrUtil.equals(jsonRegionEnd.getString("region_code"),RegionTypeEnum.GJQY.getCode())) {
// 共挤线呼叫空托盘业务查找叠盘架B区是否有满足条件的点位 // 共挤线呼叫空托盘业务查找叠盘架B区是否有满足条件的点位
@@ -221,7 +221,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
map.put("region_code", RegionTypeEnum.DPJQB.getCode()); map.put("region_code", RegionTypeEnum.DPJQB.getCode());
JSONObject jsonStartPointDPB = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); JSONObject jsonStartPointDPB = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonStartPointDPB)) { if (ObjectUtil.isNotEmpty(jsonStartPointDPB)) {
start_point_code = jsonStartPointDPB.getString("point_code"); point_code1 = jsonStartPointDPB.getString("point_code");
} else { } else {
// 为空说明叠盘架B区没有则去养生A区找 : 只能找数量为1的空托盘 // 为空说明叠盘架B区没有则去养生A区找 : 只能找数量为1的空托盘
map.put("flag", "3"); map.put("flag", "3");
@@ -229,7 +229,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonStartPointYSA)) { if (ObjectUtil.isNotEmpty(jsonStartPointYSA)) {
start_point_code = jsonStartPointYSA.getString("point_code"); point_code1 = jsonStartPointYSA.getString("point_code");
} else { } else {
throw new BadRequestException("没有满足需求数量的点位"); throw new BadRequestException("没有满足需求数量的点位");
/* // 如果没有则需要从养生区A区里找到 > 1的货位 出库到叠盘架B中 /* // 如果没有则需要从养生区A区里找到 > 1的货位 出库到叠盘架B中
@@ -243,17 +243,18 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
if (ObjectUtil.isEmpty(jsonEnd)) throw new BadRequestException("叠盘架B货位不足"); if (ObjectUtil.isEmpty(jsonEnd)) throw new BadRequestException("叠盘架B货位不足");
JSONObject parem = new JSONObject(); JSONObject parem = new JSONObject();
parem.put("start_point_code",jsonStart.getString("point_code")); parem.put("point_code1",jsonStart.getString("point_code"));
parem.put("next_point_code",jsonEnd.getString("point_code")); parem.put("point_code2",jsonEnd.getString("point_code"));
parem.put("qty",jsonStart.getString("vehicle_qty")); parem.put("qty",jsonStart.getString("vehicle_qty"));
parem.put("vehicle_type",jsonStart.getString("vehicle_qty")); parem.put("vehicle_type",jsonStart.getString("vehicle_qty"));
String task_id = this.createTask(parem); String task_id = this.createTask(parem);
// 生成 叠盘架 -> 共挤线的任务 返回叠盘架B的点位code // 生成 叠盘架 -> 共挤线的任务 返回叠盘架B的点位code
start_point_code = jsonEnd.getString("point_code");*/ point_code1 = jsonEnd.getString("point_code");*/
} }
} }
} else if (StrUtil.equals(jsonRegionEnd.getString("region_code"),RegionTypeEnum.YQQY.getCode())) { } else if (StrUtil.equals(jsonRegionEnd.getString("region_code"),RegionTypeEnum.YQQY.getCode())) {
// 油漆线呼叫空托盘业务查找叠盘架A区是否有满足条件的点位 // 油漆线呼叫空托盘业务查找叠盘架A区是否有满足条件的点位
map.put("flag", "1"); map.put("flag", "1");
@@ -262,18 +263,18 @@ public class CallEmpVehicleTask extends AbstractAcsTask {
map.put("region_code", RegionTypeEnum.DPJQA.getCode()); map.put("region_code", RegionTypeEnum.DPJQA.getCode());
JSONObject jsonStartPointDPA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); JSONObject jsonStartPointDPA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonStartPointDPA)) { if (ObjectUtil.isNotEmpty(jsonStartPointDPA)) {
start_point_code = jsonStartPointDPA.getString("point_code"); point_code1 = jsonStartPointDPA.getString("point_code");
} else { } else {
// 为空说明叠盘架A区没有则去养生A区找 // 为空说明叠盘架A区没有则去养生A区找
map.put("flag", "3"); map.put("flag", "3");
map.put("region_code", RegionTypeEnum.YSQA.getCode()); map.put("region_code", RegionTypeEnum.YSQA.getCode());
JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isEmpty(jsonStartPointYSA)) throw new BadRequestException("没有满足需求数量的点位"); if (ObjectUtil.isEmpty(jsonStartPointYSA)) throw new BadRequestException("没有满足需求数量的点位");
start_point_code = jsonStartPointYSA.getString("point_code"); point_code1 = jsonStartPointYSA.getString("point_code");
} }
} }
JSONObject resuft = new JSONObject(); JSONObject resuft = new JSONObject();
resuft.put("start_point_code",start_point_code); resuft.put("point_code1",point_code1);
resuft.put("vehicle_type",jsonOrder.getString("vehicle_type")); resuft.put("vehicle_type",jsonOrder.getString("vehicle_type"));
return resuft; return resuft;
} }

View File

@@ -75,7 +75,7 @@ public class CallMaterialTask extends AbstractAcsTask {
//解锁仓位,托盘信息,回写到点位上去 //解锁仓位,托盘信息,回写到点位上去
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("start_point_code") + "'").uniqueResult(0); JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
startPointObj.put("lock_type", "00"); startPointObj.put("lock_type", "00");
startPointObj.put("point_status", "00"); startPointObj.put("point_status", "00");
startPointObj.put("vehicle_code", ""); startPointObj.put("vehicle_code", "");
@@ -110,7 +110,7 @@ public class CallMaterialTask extends AbstractAcsTask {
} }
//修改单据状态,将终点填入 //修改单据状态,将终点填入
IosObj.put("bill_status", "20"); IosObj.put("bill_status", "20");
IosObj.put("start_point_code", inStructObj.getString("struct_code")); IosObj.put("point_code1", inStructObj.getString("struct_code"));
ProcedureIOStable.update(IosObj); ProcedureIOStable.update(IosObj);
//终点加锁 //终点加锁
HashMap lock_map = new HashMap(); HashMap lock_map = new HashMap();
@@ -136,8 +136,8 @@ public class CallMaterialTask extends AbstractAcsTask {
public String createTask(JSONObject form) { public String createTask(JSONObject form) {
//请求参数 载具、起点、终点 //请求参数 载具、起点、终点
String vehicle_code = form.getString("vehicle_code"); String vehicle_code = form.getString("vehicle_code");
String start_point_code = form.getString("start_point_code"); String point_code1 = form.getString("point_code1");
String next_point_code = form.getString("next_point_code"); String point_code2 = form.getString("point_code2");
String vehicle_type = form.getString("vehicle_type"); String vehicle_type = form.getString("vehicle_type");
String task_status = TaskStatusEnum.START_AND_POINT.getCode(); String task_status = TaskStatusEnum.START_AND_POINT.getCode();
@@ -148,7 +148,7 @@ public class CallMaterialTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task");
WQLObject regionTable = WQLObject.getWQLObject("SCH_IVT_regionIO"); WQLObject regionTable = WQLObject.getWQLObject("SCH_IVT_regionIO");
if (StrUtil.isEmpty(next_point_code)) { if (StrUtil.isEmpty(point_code2)) {
throw new BadRequestException("终点不能为空!"); throw new BadRequestException("终点不能为空!");
} }
if (StrUtil.isEmpty(material_id)) { if (StrUtil.isEmpty(material_id)) {
@@ -159,7 +159,7 @@ public class CallMaterialTask extends AbstractAcsTask {
} }
//判断终点有没有未完成的指令 //判断终点有没有未完成的指令
JSONObject beforTaskObj = taskTable. JSONObject beforTaskObj = taskTable.
query("is_delete='0' and next_point_code='" + next_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'") query("is_delete='0' and point_code2='" + point_code2 + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isNotEmpty(beforTaskObj)) { if (ObjectUtil.isNotEmpty(beforTaskObj)) {
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!"); throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
@@ -170,17 +170,17 @@ public class CallMaterialTask extends AbstractAcsTask {
String qty = ""; String qty = "";
String qty_unit_id = ""; String qty_unit_id = "";
if (StrUtil.isEmpty(start_point_code)) { if (StrUtil.isEmpty(point_code1)) {
// 起点为空找到对应的起点 // 起点为空找到对应的起点
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("next_point_code",next_point_code); param.put("point_code2",point_code2);
param.put("vehicle_type",vehicle_type); param.put("vehicle_type",vehicle_type);
param.put("material_id",material_id); param.put("material_id",material_id);
JSONObject ivtObj = this.findBeginPoint(param); JSONObject ivtObj = this.findBeginPoint(param);
qty = ivtObj.getString("canuse_qty"); qty = ivtObj.getString("canuse_qty");
qty_unit_id = ivtObj.getString("qty_unit_id"); qty_unit_id = ivtObj.getString("qty_unit_id");
start_point_code = ivtObj.getString("struct_code"); point_code1 = ivtObj.getString("struct_code");
} else { } else {
// 不能空则为点对点,查找对应出入库单据 // 不能空则为点对点,查找对应出入库单据
if (ObjectUtil.isEmpty(iostorinv_id)) throw new BadRequestException("出库单id不能为空"); if (ObjectUtil.isEmpty(iostorinv_id)) throw new BadRequestException("出库单id不能为空");
@@ -189,10 +189,10 @@ public class CallMaterialTask extends AbstractAcsTask {
qty_unit_id = jsonRegion.getString("qty_unit_id"); qty_unit_id = jsonRegion.getString("qty_unit_id");
} }
PointDto startPoint = pointService.findByCode(start_point_code); PointDto startPoint = pointService.findByCode(point_code1);
//起点点加锁 //起点点加锁
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPointObj = pointTable.query("point_code='" + start_point_code + "'").uniqueResult(0); JSONObject startPointObj = pointTable.query("point_code='" + point_code1 + "'").uniqueResult(0);
startPointObj.put("lock_type", "01"); startPointObj.put("lock_type", "01");
pointTable.update(startPointObj); pointTable.update(startPointObj);
@@ -203,10 +203,10 @@ public class CallMaterialTask extends AbstractAcsTask {
taskObj.put("task_type", "02"); taskObj.put("task_type", "02");
taskObj.put("taskdtl_type", "02"); taskObj.put("taskdtl_type", "02");
taskObj.put("task_status", task_status); taskObj.put("task_status", task_status);
taskObj.put("start_point_code", start_point_code); taskObj.put("point_code1", point_code1);
taskObj.put("start_area", start_area); taskObj.put("start_area", start_area);
taskObj.put("request_param", form.toJSONString()); taskObj.put("request_param", form.toJSONString());
taskObj.put("next_point_code", next_point_code); taskObj.put("point_code2", point_code2);
taskObj.put("vehicle_code", vehicle_code); taskObj.put("vehicle_code", vehicle_code);
taskObj.put("handle_class", THIS_CLASS); taskObj.put("handle_class", THIS_CLASS);
taskObj.put("is_auto_issue", "1"); taskObj.put("is_auto_issue", "1");
@@ -236,14 +236,14 @@ public class CallMaterialTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject findBeginPoint(JSONObject json) { public JSONObject findBeginPoint(JSONObject json) {
String next_point_code = json.getString("next_point_code"); String point_code2 = json.getString("point_code2");
String vehicle_type = json.getString("vehicle_type"); String vehicle_type = json.getString("vehicle_type");
String material_id = json.getString("material_id"); String material_id = json.getString("material_id");
WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region"); WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region");
// 根据起点判断是什么区域 然后要入到什么区 // 根据起点判断是什么区域 然后要入到什么区
PointDto endDto = SpringContextHolder.getBean(PointService.class).findByCode(next_point_code); PointDto endDto = SpringContextHolder.getBean(PointService.class).findByCode(point_code2);
if (ObjectUtil.isEmpty(endDto)) throw new BadRequestException("终点点位不存在"); if (ObjectUtil.isEmpty(endDto)) throw new BadRequestException("终点点位不存在");
JSONObject jsonEndRegion = regionTab.query("region_id = '" + endDto.getRegion_id() + "'").uniqueResult(0); JSONObject jsonEndRegion = regionTab.query("region_id = '" + endDto.getRegion_id() + "'").uniqueResult(0);

View File

@@ -69,14 +69,14 @@ public class PointToPointTask extends AbstractAcsTask {
@Override @Override
@Transactional @Transactional
public String createTask(JSONObject form) { public String createTask(JSONObject form) {
String start_point_code = form.getString("start_point_code"); String point_code1 = form.getString("point_code1");
String next_point_code = form.getString("next_point_code"); String point_code2 = form.getString("point_code2");
String vehicle_code = form.getString("vehicle_code"); String vehicle_code = form.getString("vehicle_code");
String now = DateUtil.now(); String now = DateUtil.now();
if (StrUtil.isEmpty(start_point_code)) { if (StrUtil.isEmpty(point_code1)) {
throw new BadRequestException("起点不能为空!"); throw new BadRequestException("起点不能为空!");
} }
/* if (StrUtil.isEmpty(next_point_code)) { /* if (StrUtil.isEmpty(point_code2)) {
throw new BadRequestException("终点不能为空!"); throw new BadRequestException("终点不能为空!");
} }
if (StrUtil.isEmpty(vehicle_code)) { if (StrUtil.isEmpty(vehicle_code)) {
@@ -90,8 +90,8 @@ public class PointToPointTask extends AbstractAcsTask {
task.put("task_type", "05"); task.put("task_type", "05");
task.put("taskdtl_type", "05"); task.put("taskdtl_type", "05");
task.put("task_status", "01"); task.put("task_status", "01");
task.put("start_point_code", start_point_code); task.put("point_code1", point_code1);
task.put("next_point_code", next_point_code); task.put("point_code2", point_code2);
task.put("vehicle_code", vehicle_code); task.put("vehicle_code", vehicle_code);
task.put("handle_class", this.getClass().getName()); task.put("handle_class", this.getClass().getName());
task.put("finished_type", "00"); task.put("finished_type", "00");

View File

@@ -14,7 +14,6 @@ public enum RegionTypeEnum {
KTPHCQA(8, "KTPHCQA01", "空托盘缓存A区","1558015810096730112"), KTPHCQA(8, "KTPHCQA01", "空托盘缓存A区","1558015810096730112"),
KTPHCQB(9, "KTPHCQB01", "空托盘缓存B区","1558015870570205184"), KTPHCQB(9, "KTPHCQB01", "空托盘缓存B区","1558015870570205184"),
HKQY(10, "HKQY01", "豪凯区域","1564862312702152704"), HKQY(10, "HKQY01", "豪凯区域","1564862312702152704"),
CPQYB(11, "CPQYB01", "成品区域B","1564874102089584640"),
SSX(12, "SSX01", "输送线区域","1559374522581389312"); SSX(12, "SSX01", "输送线区域","1559374522581389312");
private int index; private int index;

View File

@@ -71,14 +71,14 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
jsonTask.put("update_time", DateUtil.now()); jsonTask.put("update_time", DateUtil.now());
taskTab.update(jsonTask); taskTab.update(jsonTask);
String start_point_code = jsonTask.getString("start_point_code"); String point_code1 = jsonTask.getString("point_code1");
PointService point = SpringContextHolder.getBean(PointService.class); PointService point = SpringContextHolder.getBean(PointService.class);
// 校验起点是否存在 // 校验起点是否存在
PointDto startDto = point.findByCode(start_point_code); PointDto startDto = point.findByCode(point_code1);
if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("未找到可用点位:" + startDto); if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("未找到可用点位:" + startDto);
// 校验终点是否存在 // 校验终点是否存在
PointDto nextDto = point.findByCode(jsonTask.getString("next_point_code")); PointDto nextDto = point.findByCode(jsonTask.getString("point_code2"));
if (ObjectUtil.isEmpty(nextDto)) throw new BadRequestException("未找到可用点位:" + nextDto); if (ObjectUtil.isEmpty(nextDto)) throw new BadRequestException("未找到可用点位:" + nextDto);
// 1.更新点位数量 2.解锁点位 // 1.更新点位数量 2.解锁点位
@@ -119,19 +119,19 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
WQLObject empTab = WQLObject.getWQLObject("st_ivt_EmptyVehicleRecord"); WQLObject empTab = WQLObject.getWQLObject("st_ivt_EmptyVehicleRecord");
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
String start_point_code = form.getString("start_point_code"); String point_code1 = form.getString("point_code1");
String next_point_code = form.getString("next_point_code"); String point_code2 = form.getString("point_code2");
String vehicle_code = form.getString("vehicle_code"); String vehicle_code = form.getString("vehicle_code");
String qty = form.getString("qty"); String qty = form.getString("qty");
String record_uuid = form.getString("record_uuid"); String record_uuid = form.getString("record_uuid");
String vehicle_type = ""; String vehicle_type = "";
// 入库起点不能为空 // 入库起点不能为空
if (ObjectUtil.isEmpty(start_point_code)) { if (ObjectUtil.isEmpty(point_code1)) {
throw new BadRequestException("起点不能为空"); throw new BadRequestException("起点不能为空");
} else { } else {
// 判断起点是否有正在执行的任务 // 判断起点是否有正在执行的任务
JSONObject beforTaskObj = taskTab.query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0); JSONObject beforTaskObj = taskTab.query("is_delete='0' and point_code1='" + point_code1 + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(beforTaskObj)) throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!"); if (ObjectUtil.isNotEmpty(beforTaskObj)) throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
} }
// 载具数量不能为空 // 载具数量不能为空
@@ -142,17 +142,17 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
* 2. 起点确定: 需要找到对应终点,在创建任务 具体找终点货位的规则在findEndPoint()中 * 2. 起点确定: 需要找到对应终点,在创建任务 具体找终点货位的规则在findEndPoint()中
*/ */
// 起点确定:找终点 // 起点确定:找终点
if (ObjectUtil.isEmpty(next_point_code)) { if (ObjectUtil.isEmpty(point_code2)) {
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code",start_point_code); param.put("point_code1",point_code1);
param.put("vehicle_qty",qty); param.put("vehicle_qty",qty);
param.put("vehicle_code",vehicle_code); param.put("vehicle_code",vehicle_code);
JSONObject json = this.findEndPoint(param); JSONObject json = this.findEndPoint(param);
next_point_code = json.getString("EndPoint_code"); point_code2 = json.getString("EndPoint_code");
vehicle_type = json.getString("vehicle_type"); vehicle_type = json.getString("vehicle_type");
} else { } else {
// 判断终点是否是空位 // 判断终点是否是空位
JSONObject jsonPoint = pointTab.query("point_code = '" + next_point_code + "' and lock_type = '00' and point_status <> '02' and is_delete = '0' and is_used = '1'").uniqueResult(0); JSONObject jsonPoint = pointTab.query("point_code = '" + point_code2 + "' and lock_type = '00' and point_status <> '02' and is_delete = '0' and is_used = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) throw new BadRequestException("终点点位不不可用或不存在"); if (ObjectUtil.isEmpty(jsonPoint)) throw new BadRequestException("终点点位不不可用或不存在");
} }
// 创建任务 // 创建任务
@@ -165,8 +165,8 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
jsonTask.put("task_type", "03"); jsonTask.put("task_type", "03");
jsonTask.put("taskdtl_type", "03"); jsonTask.put("taskdtl_type", "03");
jsonTask.put("task_status", "01"); jsonTask.put("task_status", "01");
jsonTask.put("start_point_code", start_point_code); jsonTask.put("point_code1", point_code1);
jsonTask.put("next_point_code", next_point_code); jsonTask.put("point_code2", point_code2);
jsonTask.put("vehicle_type", vehicle_type); jsonTask.put("vehicle_type", vehicle_type);
jsonTask.put("vehicle_code", vehicle_code); jsonTask.put("vehicle_code", vehicle_code);
jsonTask.put("handle_class", THIS_CLASS); jsonTask.put("handle_class", THIS_CLASS);
@@ -177,7 +177,7 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
taskTab.insert(jsonTask); taskTab.insert(jsonTask);
// 锁定终点点位 // 锁定终点点位
JSONObject jsonPoint = pointTab.query("point_code = '" + next_point_code + "'").uniqueResult(0); JSONObject jsonPoint = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
jsonPoint.put("lock_type", "02"); jsonPoint.put("lock_type", "02");
pointTab.update(jsonPoint); pointTab.update(jsonPoint);
@@ -209,11 +209,11 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject findEndPoint(JSONObject json) { public JSONObject findEndPoint(JSONObject json) {
String start_point_code = json.getString("start_point_code"); String point_code1 = json.getString("point_code1");
String vehicle_qty = json.getString("vehicle_qty"); String vehicle_qty = json.getString("vehicle_qty");
String vehicle_code = json.getString("vehicle_code"); String vehicle_code = json.getString("vehicle_code");
if (ObjectUtil.isEmpty(start_point_code)) throw new BadRequestException("起点不能为空"); if (ObjectUtil.isEmpty(point_code1)) throw new BadRequestException("起点不能为空");
if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空"); if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空");
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 点位表 WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 点位表
@@ -221,14 +221,14 @@ public class SendEmpVehicleTask extends AbstractAcsTask {
WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); //空载具记录表 WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); //空载具记录表
WQLObject velicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); // 载具表 WQLObject velicleTab = WQLObject.getWQLObject("md_pb_storagevehicleinfo"); // 载具表
// 根据起点区域判断优先的终点区域 // 根据起点区域判断优先的终点区域
JSONObject jsonPointStart = pointTab.query("point_code = '" + start_point_code + "'").uniqueResult(0); JSONObject jsonPointStart = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPointStart)) throw new BadRequestException("起点点位不存在"); if (ObjectUtil.isEmpty(jsonPointStart)) throw new BadRequestException("起点点位不存在");
JSONObject jsonRegionStart = regionTab.query("region_id ='" + jsonPointStart.getString("region_id") + "'").uniqueResult(0); JSONObject jsonRegionStart = regionTab.query("region_id ='" + jsonPointStart.getString("region_id") + "'").uniqueResult(0);
// 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型 // 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型
String device_code = ""; String device_code = "";
if (ObjectUtil.isEmpty(vehicle_code)) { if (ObjectUtil.isEmpty(vehicle_code)) {
device_code = start_point_code.substring(0, start_point_code.indexOf("_")); device_code = point_code1.substring(0, point_code1.indexOf("_"));
} }
String vehicle_type = ""; String vehicle_type = "";

View File

@@ -80,23 +80,23 @@ public class SendMaterialTask extends AbstractAcsTask {
String iostorinv_id = mstObj.getString("iostorinv_id"); String iostorinv_id = mstObj.getString("iostorinv_id");
String bill_code = mstObj.getString("bill_code"); String bill_code = mstObj.getString("bill_code");
String bill_type_scode = mstObj.getString("bill_type"); String bill_type_scode = mstObj.getString("bill_type");
String next_point_code = mstObj.getString("end_point_code"); String point_code2 = mstObj.getString("end_point_code");
String start_point_code = mstObj.getString("start_point_code"); String point_code1 = mstObj.getString("point_code1");
PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class); PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class);
PointDto nextPointDto = pointService.findByCode(next_point_code); PointDto nextPointDto = pointService.findByCode(point_code2);
if (ObjectUtil.isNull(nextPointDto)) { if (ObjectUtil.isNull(nextPointDto)) {
throw new BadRequestException("未找到可用点位:" + next_point_code); throw new BadRequestException("未找到可用点位:" + point_code2);
} }
PointDto startPointDto = pointService.findByCode(start_point_code); PointDto startPointDto = pointService.findByCode(point_code1);
if (ObjectUtil.isNull(startPointDto)) { if (ObjectUtil.isNull(startPointDto)) {
throw new BadRequestException("未找到可用点位:" + start_point_code); throw new BadRequestException("未找到可用点位:" + point_code1);
} }
// 解锁点位 // 解锁点位
String vehicle_code = jsonTask.getString("vehicle_code"); String vehicle_code = jsonTask.getString("vehicle_code");
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
JSONObject endpointObj = pointTab.query("point_code='" + jsonTask.getString("next_point_code") + "'").uniqueResult(0); JSONObject endpointObj = pointTab.query("point_code='" + jsonTask.getString("point_code2") + "'").uniqueResult(0);
endpointObj.put("lock_type", "00"); endpointObj.put("lock_type", "00");
endpointObj.put("point_status", "02"); endpointObj.put("point_status", "02");
endpointObj.put("vehicle_code", vehicle_code); endpointObj.put("vehicle_code", vehicle_code);
@@ -104,7 +104,7 @@ public class SendMaterialTask extends AbstractAcsTask {
pointTab.update(endpointObj); pointTab.update(endpointObj);
taskTab.update(jsonTask); taskTab.update(jsonTask);
/* JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("start_point_code") + "'").uniqueResult(0); /* JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
startPointObj.put("lock_type", "00"); startPointObj.put("lock_type", "00");
startPointObj.put("point_status", "00"); startPointObj.put("point_status", "00");
startPointObj.put("vehicle_code", ""); startPointObj.put("vehicle_code", "");
@@ -167,36 +167,36 @@ public class SendMaterialTask extends AbstractAcsTask {
//请求参数 载具、起点、终点 //请求参数 载具、起点、终点
String vehicle_code = form.getString("vehicle_code"); String vehicle_code = form.getString("vehicle_code");
String vehicle_type = form.getString("vehicle_type"); String vehicle_type = form.getString("vehicle_type");
String start_point_code = form.getString("start_point_code"); String point_code1 = form.getString("point_code1");
String next_point_code = form.getString("next_point_code"); String point_code2 = form.getString("point_code2");
WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject taskTable = WQLObject.getWQLObject("SCH_BASE_Task");
WQLObject iosTable = WQLObject.getWQLObject("SCH_IVT_regionIO"); WQLObject iosTable = WQLObject.getWQLObject("SCH_IVT_regionIO");
if (StrUtil.isEmpty(start_point_code)) { if (StrUtil.isEmpty(point_code1)) {
throw new BadRequestException("起点不能为空!"); throw new BadRequestException("起点不能为空!");
} }
//判断起点有没有未完成的指令 //判断起点有没有未完成的指令
JSONObject beforTaskObj = taskTable. JSONObject beforTaskObj = taskTable.
query("is_delete='0' and start_point_code='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'") query("is_delete='0' and point_code1='" + point_code1 + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isNotEmpty(beforTaskObj)) { if (ObjectUtil.isNotEmpty(beforTaskObj)) {
throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!"); throw new BadRequestException("存在指令号为'" + beforTaskObj.getString("task_code") + "' 未完成!");
} }
if (StrUtil.isEmpty(next_point_code)) { if (StrUtil.isEmpty(point_code2)) {
// 终点为空需要找终点 // 终点为空需要找终点
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("start_point_code", start_point_code); param.put("point_code1", point_code1);
JSONObject endPoint = this.findEndPoint(param); JSONObject endPoint = this.findEndPoint(param);
next_point_code = endPoint.getString("next_point_code"); point_code2 = endPoint.getString("point_code2");
} }
//终点点加锁 //终点点加锁
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject endPointObj = pointTable.query("point_code='" + next_point_code + "'").uniqueResult(0); JSONObject endPointObj = pointTable.query("point_code='" + point_code2 + "'").uniqueResult(0);
endPointObj.put("lock_type", "01"); endPointObj.put("lock_type", "01");
pointTable.update(endPointObj); pointTable.update(endPointObj);
@@ -214,12 +214,12 @@ public class SendMaterialTask extends AbstractAcsTask {
taskObj.put("taskdtl_type", "01"); taskObj.put("taskdtl_type", "01");
taskObj.put("acs_task_type", "1"); taskObj.put("acs_task_type", "1");
taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); taskObj.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
taskObj.put("start_point_code", start_point_code); taskObj.put("point_code1", point_code1);
PointDto startPoint = pointService.findByCode(start_point_code); PointDto startPoint = pointService.findByCode(point_code1);
taskObj.put("start_area", startPoint.getRegion_id()); taskObj.put("start_area", startPoint.getRegion_id());
taskObj.put("request_param", form.toJSONString()); taskObj.put("request_param", form.toJSONString());
taskObj.put("next_point_code", next_point_code); taskObj.put("point_code2", point_code2);
PointDto nextPoint = pointService.findByCode(next_point_code); PointDto nextPoint = pointService.findByCode(point_code2);
taskObj.put("next_area", nextPoint.getRegion_id()); taskObj.put("next_area", nextPoint.getRegion_id());
taskObj.put("vehicle_code", vehicle_code); taskObj.put("vehicle_code", vehicle_code);
taskObj.put("handle_class", THIS_CLASS); taskObj.put("handle_class", THIS_CLASS);
@@ -251,12 +251,12 @@ public class SendMaterialTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject findEndPoint(JSONObject json) { public JSONObject findEndPoint(JSONObject json) {
String start_point_code = json.getString("start_point_code"); String point_code1 = json.getString("point_code1");
WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region"); WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region");
// 根据起点判断是什么区域 然后要入到什么区 // 根据起点判断是什么区域 然后要入到什么区
PointDto startDto = SpringContextHolder.getBean(PointService.class).findByCode(start_point_code); PointDto startDto = SpringContextHolder.getBean(PointService.class).findByCode(point_code1);
if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("起点点位不存在"); if (ObjectUtil.isEmpty(startDto)) throw new BadRequestException("起点点位不存在");
JSONObject jsonStartRegion = regionTab.query("region_id = '" + startDto.getRegion_id() + "'").uniqueResult(0); JSONObject jsonStartRegion = regionTab.query("region_id = '" + startDto.getRegion_id() + "'").uniqueResult(0);
@@ -265,7 +265,7 @@ public class SendMaterialTask extends AbstractAcsTask {
* 1.共挤线 --> 养生区A * 1.共挤线 --> 养生区A
* 2.豪凯线 --> 成品区 * 2.豪凯线 --> 成品区
*/ */
String next_point_code = ""; String point_code2 = "";
if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.GJQY.getCode())) { if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.GJQY.getCode())) {
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
map.put("flag", "2"); map.put("flag", "2");
@@ -273,7 +273,7 @@ public class SendMaterialTask extends AbstractAcsTask {
JSONObject jsonEndPoint = WQL.getWO("ST_REGION_IN_01").addParamMap(map).process().uniqueResult(0); JSONObject jsonEndPoint = WQL.getWO("ST_REGION_IN_01").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足"); if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足");
next_point_code = jsonEndPoint.getString("point_code"); point_code2 = jsonEndPoint.getString("point_code");
} else if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.HKQY.getCode())) { } else if (StrUtil.equals(jsonStartRegion.getString("region_code"), RegionTypeEnum.HKQY.getCode())) {
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
map.put("flag", "2"); map.put("flag", "2");
@@ -281,11 +281,11 @@ public class SendMaterialTask extends AbstractAcsTask {
JSONObject jsonEndPoint = WQL.getWO("ST_REGION_IN_01").addParamMap(map).process().uniqueResult(0); JSONObject jsonEndPoint = WQL.getWO("ST_REGION_IN_01").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足"); if (ObjectUtil.isEmpty(jsonEndPoint)) throw new BadRequestException("仓位不足");
next_point_code = jsonEndPoint.getString("point_code"); point_code2 = jsonEndPoint.getString("point_code");
} }
JSONObject resuft = new JSONObject(); JSONObject resuft = new JSONObject();
resuft.put("next_point_code", next_point_code); resuft.put("point_code2", point_code2);
return resuft; return resuft;
} }

View File

@@ -17,8 +17,8 @@
输入.task_status TYPEAS s_string 输入.task_status TYPEAS s_string
输入.finished_type TYPEAS s_string 输入.finished_type TYPEAS s_string
输入.task_type TYPEAS s_string 输入.task_type TYPEAS s_string
输入.start_point_code TYPEAS s_string 输入.point_code1 TYPEAS s_string
输入.next_point_code TYPEAS s_string 输入.point_code2 TYPEAS s_string
输入.task_code TYPEAS s_string 输入.task_code TYPEAS s_string
输入.vehicle_code TYPEAS s_string 输入.vehicle_code TYPEAS s_string
输入.begin_time TYPEAS s_string 输入.begin_time TYPEAS s_string
@@ -50,29 +50,14 @@
IF 输入.flag = "1" IF 输入.flag = "1"
PAGEQUERY PAGEQUERY
SELECT SELECT
task.*, task.*
p1.point_name AS start_point_name,
region1.region_name AS start_area_name,
p2.point_name AS next_point_name,
region2.region_name AS next_area_name,
d3.label AS task_type_name,
d4.label AS taskdtl_type_name
FROM FROM
sch_base_task task sch_base_task task
LEFT JOIN sch_base_point p1 ON task.start_point_code = p1.point_code
LEFT JOIN SCH_BASE_Region region1 ON region1.region_id = p1.region_id
LEFT JOIN sch_base_point p2 ON task.next_point_code = p2.point_code
LEFT JOIN SCH_BASE_Region region2 ON region2.region_id = p2.region_id
LEFT JOIN sys_dict_detail d3 ON d3.`value` = task.task_type AND d3.`name` = 'SCH_TASK_TYPE'
LEFT JOIN sys_dict_detail d4 ON d4.`value` = task.taskdtl_type AND d4.`name` = 'SCH_TASK_TYPE_DTL'
WHERE WHERE
task.is_delete = '0' task.is_delete = '0'
OPTION 输入.task_type <> "" OPTION 输入.task_type <> ""
task.task_type = 输入.task_type task.task_type = 输入.task_type
ENDOPTION
OPTION 输入.taskdtl_type <> ""
task.taskdtl_type = 输入.taskdtl_type
ENDOPTION ENDOPTION
OPTION 输入.finished_type <> "" OPTION 输入.finished_type <> ""
task.finished_type = 输入.finished_type task.finished_type = 输入.finished_type
@@ -95,11 +80,8 @@
OPTION 输入.task_code <> "" OPTION 输入.task_code <> ""
(task.task_code like 输入.task_code) (task.task_code like 输入.task_code)
ENDOPTION ENDOPTION
OPTION 输入.start_point_code <> "" OPTION 输入.point_code <> ""
(task.start_point_code like 输入.start_point_code) (task.point_code1 like 输入.point_code1)
ENDOPTION
OPTION 输入.next_point_code <> ""
(task.next_point_code like 输入.next_point_code)
ENDOPTION ENDOPTION
OPTION 输入.begin_time <> "" OPTION 输入.begin_time <> ""
task.create_time >= 输入.begin_time task.create_time >= 输入.begin_time

View File

@@ -68,7 +68,7 @@ public class RegionioDto implements Serializable {
/** /**
* 起始点位编码 * 起始点位编码
*/ */
private String start_point_code; private String point_code1;
/** /**
* 终点点位编码 * 终点点位编码

View File

@@ -56,7 +56,7 @@ public class RegionioInServiceImpl implements RegionioInService {
String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code"); String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code");
String material_code = MapUtil.getStr(whereJson, "material_code"); String material_code = MapUtil.getStr(whereJson, "material_code");
String pcsn = MapUtil.getStr(whereJson, "pcsn"); String pcsn = MapUtil.getStr(whereJson, "pcsn");
String start_point_code = MapUtil.getStr(whereJson, "start_point_code"); String point_code1 = MapUtil.getStr(whereJson, "point_code1");
String end_point_code = MapUtil.getStr(whereJson, "end_point_code"); String end_point_code = MapUtil.getStr(whereJson, "end_point_code");
String start_region_code = MapUtil.getStr(whereJson, "start_region_code"); String start_region_code = MapUtil.getStr(whereJson, "start_region_code");
String end_region_code = MapUtil.getStr(whereJson, "end_region_code"); String end_region_code = MapUtil.getStr(whereJson, "end_region_code");
@@ -68,7 +68,7 @@ public class RegionioInServiceImpl implements RegionioInService {
if (ObjectUtil.isNotEmpty(vehicle_code)) map.put("vehicle_code", vehicle_code + "%"); if (ObjectUtil.isNotEmpty(vehicle_code)) map.put("vehicle_code", vehicle_code + "%");
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", material_code + "%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", material_code + "%");
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", pcsn + "%"); if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", pcsn + "%");
if (ObjectUtil.isNotEmpty(start_point_code)) map.put("start_point_code", start_point_code + "%"); if (ObjectUtil.isNotEmpty(point_code1)) map.put("point_code1", point_code1 + "%");
if (ObjectUtil.isNotEmpty(end_point_code)) map.put("end_point_code", end_point_code + "%"); if (ObjectUtil.isNotEmpty(end_point_code)) map.put("end_point_code", end_point_code + "%");
if (ObjectUtil.isNotEmpty(start_region_code)) map.put("start_region_code", start_region_code + "%"); if (ObjectUtil.isNotEmpty(start_region_code)) map.put("start_region_code", start_region_code + "%");
if (ObjectUtil.isNotEmpty(end_region_code)) map.put("end_region_code", end_region_code + "%"); if (ObjectUtil.isNotEmpty(end_region_code)) map.put("end_region_code", end_region_code + "%");
@@ -201,13 +201,13 @@ public class RegionioInServiceImpl implements RegionioInService {
WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
JSONObject jsonIn = wo.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); JSONObject jsonIn = wo.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0);
String start_point_code = jsonIn.getString("start_point_code"); String point_code1 = jsonIn.getString("point_code1");
// 准备参数 并调用入库处理类中的创建任务方法 // 准备参数 并调用入库处理类中的创建任务方法
JSONObject form = new JSONObject(); JSONObject form = new JSONObject();
form.put("vehicle_code", jsonIn.getString("vehicle_code")); form.put("vehicle_code", jsonIn.getString("vehicle_code"));
form.put("start_point_code", start_point_code); form.put("point_code1", point_code1);
form.put("next_point_code", jsonIn.getString("end_point_code")); form.put("point_code2", jsonIn.getString("end_point_code"));
form.put("material_id", jsonIn.getString("material_id")); form.put("material_id", jsonIn.getString("material_id"));
form.put("qty", jsonIn.getString("qty")); form.put("qty", jsonIn.getString("qty"));
form.put("cust_id", jsonIn.getString("cust_id")); form.put("cust_id", jsonIn.getString("cust_id"));
@@ -216,7 +216,7 @@ public class RegionioInServiceImpl implements RegionioInService {
form.put("iostorinv_id", iostorinv_id); form.put("iostorinv_id", iostorinv_id);
// 根据起点点位 找到对应设备,根据设备找到对应工单,根据工单获取载具类型 // 根据起点点位 找到对应设备,根据设备找到对应工单,根据工单获取载具类型
String device_code = start_point_code.substring(0, start_point_code.indexOf("_")); String device_code = point_code1.substring(0, point_code1.indexOf("_"));
DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class); DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class);
DeviceDto deviceDto = deviceBean.findByCode(device_code); DeviceDto deviceDto = deviceBean.findByCode(device_code);

View File

@@ -19,7 +19,7 @@
输入.vehicle_code TYPEAS s_string 输入.vehicle_code TYPEAS s_string
输入.material_code TYPEAS s_string 输入.material_code TYPEAS s_string
输入.pcsn TYPEAS s_string 输入.pcsn TYPEAS s_string
输入.start_point_code TYPEAS s_string 输入.point_code1 TYPEAS s_string
输入.end_point_code TYPEAS s_string 输入.end_point_code TYPEAS s_string
输入.start_region_code TYPEAS s_string 输入.start_region_code TYPEAS s_string
输入.end_region_code TYPEAS s_string 输入.end_region_code TYPEAS s_string
@@ -64,7 +64,7 @@
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ios.qty_unit_id LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ios.qty_unit_id
LEFT JOIN SCH_BASE_Region region1 ON region1.region_id = ios.start_region_id LEFT JOIN SCH_BASE_Region region1 ON region1.region_id = ios.start_region_id
LEFT JOIN SCH_BASE_Region region2 ON region2.region_id = ios.end_region_id LEFT JOIN SCH_BASE_Region region2 ON region2.region_id = ios.end_region_id
LEFT JOIN sch_base_point point1 ON point1.point_code = ios.start_point_code LEFT JOIN sch_base_point point1 ON point1.point_code = ios.point_code1
LEFT JOIN sch_base_point point2 ON point2.point_code = ios.end_point_code LEFT JOIN sch_base_point point2 ON point2.point_code = ios.end_point_code
WHERE WHERE
ios.is_delete = '0' ios.is_delete = '0'
@@ -91,9 +91,9 @@
mater.material_name like 输入.material_code) mater.material_name like 输入.material_code)
ENDOPTION ENDOPTION
OPTION 输入.start_point_code <> "" OPTION 输入.point_code1 <> ""
(point1.point_code like 输入.start_point_code or (point1.point_code like 输入.point_code1 or
point1.point_name like 输入.start_point_code) point1.point_name like 输入.point_code1)
ENDOPTION ENDOPTION
OPTION 输入.end_point_code <> "" OPTION 输入.end_point_code <> ""

View File

@@ -47,7 +47,7 @@ public class RegionioOutServiceImpl implements RegionioOutService {
String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code"); String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code");
String material_code = MapUtil.getStr(whereJson, "material_code"); String material_code = MapUtil.getStr(whereJson, "material_code");
String pcsn = MapUtil.getStr(whereJson, "pcsn"); String pcsn = MapUtil.getStr(whereJson, "pcsn");
String start_point_code = MapUtil.getStr(whereJson, "start_point_code"); String point_code1 = MapUtil.getStr(whereJson, "point_code1");
String end_point_code = MapUtil.getStr(whereJson, "end_point_code"); String end_point_code = MapUtil.getStr(whereJson, "end_point_code");
String start_region_code = MapUtil.getStr(whereJson, "start_region_code"); String start_region_code = MapUtil.getStr(whereJson, "start_region_code");
String end_region_code = MapUtil.getStr(whereJson, "end_region_code"); String end_region_code = MapUtil.getStr(whereJson, "end_region_code");
@@ -59,7 +59,7 @@ public class RegionioOutServiceImpl implements RegionioOutService {
if (ObjectUtil.isNotEmpty(vehicle_code)) map.put("vehicle_code", vehicle_code + "%"); if (ObjectUtil.isNotEmpty(vehicle_code)) map.put("vehicle_code", vehicle_code + "%");
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", material_code + "%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", material_code + "%");
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", pcsn + "%"); if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", pcsn + "%");
if (ObjectUtil.isNotEmpty(start_point_code)) map.put("start_point_code", start_point_code + "%"); if (ObjectUtil.isNotEmpty(point_code1)) map.put("point_code1", point_code1 + "%");
if (ObjectUtil.isNotEmpty(end_point_code)) map.put("end_point_code", end_point_code + "%"); if (ObjectUtil.isNotEmpty(end_point_code)) map.put("end_point_code", end_point_code + "%");
if (ObjectUtil.isNotEmpty(start_region_code)) map.put("start_region_code", start_region_code + "%"); if (ObjectUtil.isNotEmpty(start_region_code)) map.put("start_region_code", start_region_code + "%");
if (ObjectUtil.isNotEmpty(end_region_code)) map.put("end_region_code", end_region_code + "%"); if (ObjectUtil.isNotEmpty(end_region_code)) map.put("end_region_code", end_region_code + "%");
@@ -193,8 +193,8 @@ public class RegionioOutServiceImpl implements RegionioOutService {
// 准备参数 并调用入库处理类中的创建任务方法 // 准备参数 并调用入库处理类中的创建任务方法
JSONObject form = new JSONObject(); JSONObject form = new JSONObject();
form.put("vehicle_code", jsonIn.getString("vehicle_code")); form.put("vehicle_code", jsonIn.getString("vehicle_code"));
form.put("start_point_code", jsonIn.getString("start_point_code")); form.put("point_code1", jsonIn.getString("point_code1"));
form.put("next_point_code", jsonIn.getString("end_point_code")); form.put("point_code2", jsonIn.getString("end_point_code"));
form.put("material_id", jsonIn.getString("material_id")); form.put("material_id", jsonIn.getString("material_id"));
form.put("qty", jsonIn.getString("qty")); form.put("qty", jsonIn.getString("qty"));
form.put("cust_id", jsonIn.getString("cust_id")); form.put("cust_id", jsonIn.getString("cust_id"));

View File

@@ -20,7 +20,7 @@
输入.material_code TYPEAS s_string 输入.material_code TYPEAS s_string
输入.material_id TYPEAS s_string 输入.material_id TYPEAS s_string
输入.pcsn TYPEAS s_string 输入.pcsn TYPEAS s_string
输入.start_point_code TYPEAS s_string 输入.point_code1 TYPEAS s_string
输入.end_point_code TYPEAS s_string 输入.end_point_code TYPEAS s_string
输入.start_region_code TYPEAS s_string 输入.start_region_code TYPEAS s_string
输入.end_region_code TYPEAS s_string 输入.end_region_code TYPEAS s_string
@@ -67,7 +67,7 @@
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ios.qty_unit_id LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ios.qty_unit_id
LEFT JOIN SCH_BASE_Region region1 ON region1.region_id = ios.start_region_id LEFT JOIN SCH_BASE_Region region1 ON region1.region_id = ios.start_region_id
LEFT JOIN SCH_BASE_Region region2 ON region2.region_id = ios.end_region_id LEFT JOIN SCH_BASE_Region region2 ON region2.region_id = ios.end_region_id
LEFT JOIN sch_base_point point1 ON point1.point_code = ios.start_point_code LEFT JOIN sch_base_point point1 ON point1.point_code = ios.point_code1
LEFT JOIN sch_base_point point2 ON point2.point_code = ios.end_point_code LEFT JOIN sch_base_point point2 ON point2.point_code = ios.end_point_code
WHERE WHERE
ios.is_delete = '0' ios.is_delete = '0'
@@ -94,9 +94,9 @@
mater.material_name like 输入.material_code) mater.material_name like 输入.material_code)
ENDOPTION ENDOPTION
OPTION 输入.start_point_code <> "" OPTION 输入.point_code1 <> ""
(point1.point_code like 输入.start_point_code or (point1.point_code like 输入.point_code1 or
point1.point_name like 输入.start_point_code) point1.point_name like 输入.point_code1)
ENDOPTION ENDOPTION
OPTION 输入.end_point_code <> "" OPTION 输入.end_point_code <> ""

View File

@@ -8,12 +8,27 @@
<div class="head-container"> <div class="head-container">
<div v-if="crud.props.searchToggle"> <div v-if="crud.props.searchToggle">
<!-- 搜索 --> <!-- 搜索 -->
<el-input v-model="query.label" clearable size="mini" placeholder="输入字典标签查询" style="width: 200px;" class="filter-item" @keyup.enter.native="toQuery" /> <el-input
v-model="query.label"
clearable
size="mini"
placeholder="输入字典标签查询"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="toQuery"
/>
<rrOperation /> <rrOperation />
</div> </div>
</div> </div>
<!--表单组件--> <!--表单组件-->
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title" width="500px"> <el-dialog
append-to-body
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="字典标签" prop="label"> <el-form-item label="字典标签" prop="label">
<el-input v-model="form.label" style="width: 370px;" /> <el-input v-model="form.label" style="width: 370px;" />
@@ -22,7 +37,22 @@
<el-input v-model="form.value" style="width: 370px;" /> <el-input v-model="form.value" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="dictSort"> <el-form-item label="排序" prop="dictSort">
<el-input-number v-model.number="form.dictSort" :min="0" :max="999" controls-position="right" style="width: 370px;" /> <el-input-number
v-model.number="form.dictSort"
:min="0"
:max="999"
controls-position="right"
style="width: 370px;"
/>
</el-form-item>
<el-form-item label="参数1" prop="para1">
<el-input v-model="form.para1" style="width: 370px;" />
</el-form-item>
<el-form-item label="参数2" prop="para2">
<el-input v-model="form.para2" style="width: 370px;" />
</el-form-item>
<el-form-item label="参数3" prop="para3">
<el-input v-model="form.para3" style="width: 370px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -31,14 +61,30 @@
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row style="width: 100%;" @selection-change="crud.selectionChangeHandler"> <el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
highlight-current-row
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column label="所属字典" min-width="150" show-overflow-tooltip> <el-table-column label="所属字典" min-width="150" show-overflow-tooltip>
{{ query.dictName }} {{ query.dictName }}
</el-table-column> </el-table-column>
<el-table-column prop="label" label="字典标签" align="center" width="120" show-overflow-tooltip /> <el-table-column prop="label" label="字典标签" align="center" width="120" show-overflow-tooltip />
<el-table-column prop="value" label="字典值" align="center" width="60" /> <el-table-column prop="value" label="字典值" align="center" width="60" />
<el-table-column prop="dictSort" label="排序" align="center" width="65" /> <el-table-column prop="dictSort" label="排序" align="center" width="65" />
<el-table-column v-permission="['admin','dict:edit','dict:del']" label="操作" align="center" width="115px" fixed="right"> <el-table-column prop="para1" label="参数1" align="center" width="65" />
<el-table-column prop="para2" label="参数2" align="center" width="65" />
<el-table-column prop="para3" label="参数3" align="center" width="65" />
<el-table-column
v-permission="['admin','dict:edit','dict:del']"
label="操作"
align="center"
width="115px"
fixed="right"
>
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation
:data="scope.row" :data="scope.row"
@@ -55,18 +101,19 @@
<script> <script>
import crudDictDetail from '@/api/system/dictDetail' import crudDictDetail from '@/api/system/dictDetail'
import CRUD, { presenter, header, form } from '@crud/crud' import CRUD, { form, header, presenter } from '@crud/crud'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import udOperation from '@crud/UD.operation' import udOperation from '@crud/UD.operation'
const defaultForm = { id: null, label: null, value: null, dictSort: 999 } const defaultForm = { id: null, label: null, value: null, para1: null, para2: null, para3: null, dictSort: 999 }
export default { export default {
components: { pagination, rrOperation, udOperation }, components: { pagination, rrOperation, udOperation },
cruds() { cruds() {
return [ return [
CRUD({ title: '字典详情', url: 'api/dictDetail', query: { dictName: '' }, sort: ['dictSort,asc', 'id,desc'], CRUD({
title: '字典详情', url: 'api/dictDetail', query: { dictName: '' }, sort: ['dictSort,asc', 'id,desc'],
crudMethod: { ...crudDictDetail }, crudMethod: { ...crudDictDetail },
optShow: { optShow: {
add: true, add: true,
@@ -109,7 +156,7 @@ export default {
</script> </script>
<style rel="stylesheet/scss" lang="scss" scoped> <style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-input-number .el-input__inner { ::v-deep .el-input-number .el-input__inner {
text-align: left; text-align: left;
} }
</style> </style>

View File

@@ -33,13 +33,13 @@
<el-input v-model="form.region_name" style="width: 370px;" /> <el-input v-model="form.region_name" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="点位类型说明"> <el-form-item label="点位类型说明">
<el-input type="textarea" v-model="form.point_type_explain" style="width: 370px;" /> <el-input v-model="form.point_type_explain" type="textarea" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="点位状态说明"> <el-form-item label="点位状态说明">
<el-input type="textarea" v-model="form.point_status_explain" style="width: 370px;" /> <el-input v-model="form.point_status_explain" type="textarea" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
<el-input type="textarea" v-model="form.remark" style="width: 370px;" /> <el-input v-model="form.remark" type="textarea" style="width: 370px;" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -58,13 +58,13 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="region_id" label="区域标识" /> <el-table-column v-if="false" prop="region_id" label="区域标识" />
<el-table-column prop="region_code" label="区域编码" /> <el-table-column prop="region_code" label="区域编码" min-width="120" />
<el-table-column prop="region_name" label="区域名称" /> <el-table-column prop="region_name" label="区域名称" min-width="130" />
<el-table-column prop="point_type_explain" label="点位类型说明" min-width="120" show-overflow-tooltip/> <el-table-column prop="point_type_explain" label="点位类型说明" min-width="150" />
<el-table-column prop="point_status_explain" label="点位状态说明" min-width="120" show-overflow-tooltip/> <el-table-column prop="point_status_explain" label="点位状态说明" min-width="120" />
<el-table-column prop="remark" label="备注" /> <el-table-column prop="remark" label="备注" />
<el-table-column prop="create_name" label="创建人" /> <el-table-column prop="create_name" label="创建人" />
<el-table-column prop="create_time" label="创建时间" min-width="120" show-overflow-tooltip /> <el-table-column prop="create_time" label="创建时间" min-width="140" show-overflow-tooltip />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right"> <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation

View File

@@ -30,28 +30,19 @@
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="起始点位"> <el-form-item label="点位编码">
<el-input <el-input
v-model="query.start_point_code" v-model="query.point_code"
clearable clearable
style="width: 180px" style="width: 180px"
placeholder="起点" placeholder="起点"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="下一点位">
<el-input
v-model="query.next_point_code"
clearable
style="width: 180px"
placeholder="终点"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="任务类型"> <el-form-item label="任务类型">
<el-select <el-select
filterable
v-model="query.task_type" v-model="query.task_type"
filterable
style="width: 180px" style="width: 180px"
placeholder="任务类型" placeholder="任务类型"
class="filter-item" class="filter-item"
@@ -65,34 +56,6 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务明细">
<el-select
filterable
v-model="query.taskdtl_type"
style="width: 180px"
placeholder="任务类型"
class="filter-item"
clearable
@change="hand"
>
<el-option
v-for="item in dict.SCH_TASK_TYPE_DTL"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="完成方式"> <el-form-item label="完成方式">
<el-select <el-select
v-model="query.finished_type" v-model="query.finished_type"
@@ -112,6 +75,17 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="任务状态"> <el-form-item label="任务状态">
<el-select <el-select
@@ -150,24 +124,16 @@
<el-table-column v-if="false" prop="taskdtl_id" label="任务标识" /> <el-table-column v-if="false" prop="taskdtl_id" label="任务标识" />
<el-table-column prop="task_code" label="任务编码" /> <el-table-column prop="task_code" label="任务编码" />
<el-table-column v-if="false" prop="task_type" label="任务类型" /> <el-table-column v-if="false" prop="task_type" label="任务类型" />
<el-table-column prop="task_type_name" label="任务类型" /> <el-table-column prop="task_type_name" label="任务类型" />
<el-table-column v-if="false" prop="taskdtl_type" label="任务明细" />
<el-table-column prop="taskdtl_type_name" label="任务明细" />
<el-table-column v-if="false" prop="task_status" label="任务状态" /> <el-table-column v-if="false" prop="task_status" label="任务状态" />
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" /> <el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
<!--
<el-table-column v-if="false" prop="finished_type" label="完成方式" />
-->
<!-- <el-table-column prop="finished_type_name" label="完成方式" :formatter="formatFinishTypeName"/>-->
<el-table-column prop="start_area_name" label="起始区域" width="95" show-overflow-tooltip />
<el-table-column prop="start_point_code" label="起点编码" width="85" />
<el-table-column prop="start_point_name" label="起点名称" width="105" show-overflow-tooltip/>
<el-table-column prop="next_area_name" label="下一区域" width="95" show-overflow-tooltip />
<el-table-column prop="next_point_code" label="下一点编码" width="85" />
<el-table-column prop="next_point_name" label="下一点名称" width="105" show-overflow-tooltip/>
<el-table-column prop="vehicle_code" label="载具编码" /> <el-table-column prop="vehicle_code" label="载具编码" />
<el-table-column prop="point_code1" label="点位1" width="85" />
<el-table-column prop="point_code2" label="点位2" width="85" />
<!--<el-table-column prop="point_code3" label="点位3" width="85" />
<el-table-column prop="point_code4" label="点位4" width="85" />-->
<el-table-column prop="remark" label="备注" width="120" show-overflow-tooltip /> <el-table-column prop="remark" label="备注" width="120" show-overflow-tooltip />
<el-table-column prop="update_by" label="修改者" v-if="false"/> <el-table-column v-if="false" prop="update_by" label="修改者" />
<el-table-column prop="create_time" label="创建时间" width="135" /> <el-table-column prop="create_time" label="创建时间" width="135" />
<el-table-column prop="update_time" label="修改时间" width="135" /> <el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column <el-table-column
@@ -185,9 +151,9 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'d')">下发</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'d')">下发</el-dropdown-item>
<el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'a')">完成</el-dropdown-item> <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'a')">完成</el-dropdown-item>
<!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'b')">取消</el-dropdown-item>--> <!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'b')">取消</el-dropdown-item>-->
<!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'c')">拉回</el-dropdown-item>--> <!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'c')">拉回</el-dropdown-item>-->
<!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'e')">详情</el-dropdown-item>--> <!-- <el-dropdown-item :command="beforeHandleCommand(scope.$index, scope.row,'e')">详情</el-dropdown-item>-->
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</template> </template>
@@ -225,7 +191,7 @@ import pagination from '@crud/Pagination'
export default { export default {
name: 'Task', name: 'Task',
dicts: ['SCH_TASK_TYPE', 'SCH_TASK_TYPE_DTL'], dicts: [],
components: { components: {
pagination, crudOperation, rrOperation pagination, crudOperation, rrOperation
}, },
@@ -238,7 +204,7 @@ export default {
sort: 'taskdtl_id,desc', sort: 'taskdtl_id,desc',
crudMethod: { ...crudTask }, crudMethod: { ...crudTask },
query: { query: {
task_code:'',vehicle_code:'',start_point_code:'',next_point_code:'',task_type:'',taskdtl_type:'',finished_type:'',task_status:"" task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', taskdtl_type: '', finished_type: '', task_status: ''
}, },
optShow: { optShow: {
add: false, add: false,