修改
This commit is contained in:
@@ -9,6 +9,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
@@ -194,7 +195,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
|
||||
if (ObjectUtil.isEmpty(type)) throw new BadRequestException("ACS申请任务失败!任务类型不能为空");
|
||||
if (ObjectUtil.isEmpty(device_code)) throw new BadRequestException("ACS申请任务失败!点位不能为空");
|
||||
if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("ACS申请任务失败!载具不能为空");
|
||||
|
||||
/*
|
||||
* 根据type判断是什么业务类型:
|
||||
@@ -204,15 +204,33 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
* 4.出库口申请入发货区任务
|
||||
*/
|
||||
if (type.equals("1")) {
|
||||
if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("ACS申请任务失败!载具不能为空");
|
||||
//通过该木箱码查询对应的分配明细
|
||||
JSONArray dis_rows = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("work_status = '00' AND box_no = '" + vehicle_code + "'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isEmpty(dis_rows)) {
|
||||
throw new BadRequestException("未查询到木箱:" + vehicle_code + "相关入库分配明细记录!");
|
||||
}
|
||||
ArrayList<HashMap> dis_list = new ArrayList<>();
|
||||
for (int i = 0; i < dis_rows.size(); i++) {
|
||||
HashMap<String,String> dis_map = new HashMap<>();
|
||||
JSONObject dis_row = dis_rows.getJSONObject(i);
|
||||
dis_map.put("box_no",dis_row.getString("box_no"));
|
||||
dis_map.put("point_code",device_code);
|
||||
dis_map.put("sect_id",dis_row.getString("sect_id"));
|
||||
dis_map.put("sect_code",dis_row.getString("sect_code"));
|
||||
dis_map.put("sect_name",dis_row.getString("sect_name"));
|
||||
dis_map.put("struct_id",dis_row.getString("struct_id"));
|
||||
dis_map.put("struct_code",dis_row.getString("struct_code"));
|
||||
dis_map.put("struct_name",dis_row.getString("struct_name"));
|
||||
dis_map.put("iostorinv_id",dis_row.getString("iostorinv_id"));
|
||||
dis_list.add(dis_map);
|
||||
}
|
||||
Map map = new HashMap();
|
||||
ArrayList<String> list = (ArrayList<String>) JSONObject.parseArray(dis_rows.toJSONString(),String.class);
|
||||
map.put("tableMater", list);
|
||||
//查询主存区的sect
|
||||
JSONObject sect_jo = WQLObject.getWQLObject("st_ivt_sectattr").query("sect_type_attr = '00' AND is_used = '1'").uniqueResult(0);
|
||||
map.put("tableMater", dis_list);
|
||||
map.put("point_code", device_code);
|
||||
map.put("sect_id", sect_jo.getString("sect_id"));
|
||||
map.put("checked", true);
|
||||
map.put("auto_issue", "1");
|
||||
//自动分配货位并下发任务
|
||||
@@ -227,6 +245,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
b、没有,则优先找空的巷道;按空位置顺序分配;
|
||||
3、任务下发,判断巷道的任务类型,只能为空盘入库或者无任务类型;
|
||||
* */
|
||||
vehicle_code = CodeUtil.getNewCode("VEHICCLE_CODE_KTP");
|
||||
JSONObject empty_row = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("flag", "21").process().uniqueResult(0);
|
||||
|
||||
JSONObject struct_jo = new JSONObject();
|
||||
@@ -277,9 +296,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String placement_type = empty_row.getString("placement_type");
|
||||
|
||||
if (placement_type.equals("01") || placement_type.equals("03")) {
|
||||
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq").uniqueResult(0);
|
||||
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq").uniqueResult(0);
|
||||
} else {
|
||||
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') = '' order by out_order_seq desc").uniqueResult(0);
|
||||
struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("lock_type = '1' AND block_num = '" + block_num + "'AND placement_type = '" + placement_type + "' AND row_num = '" + row_num + "' AND is_delete = '0' AND is_used = '1' AND IFNULL(storagevehicle_code,'') <> '' order by out_order_seq desc").uniqueResult(0);
|
||||
}
|
||||
}
|
||||
if (ObjectUtil.isEmpty(struct_jo)) {
|
||||
@@ -290,7 +309,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
task_jo.put("point_code1", struct_jo.getString("struct_code"));
|
||||
task_jo.put("point_code2", device_code);
|
||||
task_jo.put("task_type", "010504");
|
||||
task_jo.put("vehicle_code", struct_jo.getString("vehicle_code"));
|
||||
task_jo.put("vehicle_code", struct_jo.getString("storagevehicle_code"));
|
||||
EmptyVehicleTask task = new EmptyVehicleTask();
|
||||
task.createTask(task_jo);
|
||||
|
||||
@@ -389,10 +408,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String box_length = sub_jo.getString("box_length");
|
||||
String box_width = sub_jo.getString("box_width");
|
||||
String box_high = sub_jo.getString("box_high");
|
||||
result.put("box_length", box_length);
|
||||
result.put("box_width", box_width);
|
||||
result.put("box_high", box_high);
|
||||
result.put("bundle_times", 2);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("box_length", box_length);
|
||||
data.put("box_width", box_width);
|
||||
data.put("box_high", box_high);
|
||||
data.put("bundle_times", 2);
|
||||
result.put("data",data);
|
||||
} else if (type.equals("3")) {
|
||||
//烘箱出箱任务
|
||||
String device_code = whereJson.getString("device_code");
|
||||
|
||||
@@ -160,7 +160,8 @@ public class ProductInstorServiceImpl implements ProductInstorService {
|
||||
//创建二楼去一楼的任务
|
||||
JSONObject form = new JSONObject();
|
||||
form.put("point_code1", point_code);
|
||||
form.put("point_code2", "TBJ01");
|
||||
form.put("point_code2", "NTB01");
|
||||
form.put("vehicle_code", box_no);
|
||||
form.put("task_type", "010507");
|
||||
cutConveyorTask.createTask(form);
|
||||
} else {
|
||||
|
||||
@@ -41,15 +41,27 @@ public class EmptyVehicleTask extends AbstractAcsTask {
|
||||
for (int i = 0; i < arr.size(); i++) {
|
||||
JSONObject json = arr.getJSONObject(i);
|
||||
|
||||
//判断该任务所在的块、排存在其他任务
|
||||
String point_code2 = json.getString("point_code2");
|
||||
JSONObject struct_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("struct_code = '"+point_code2+"'").uniqueResult(0);
|
||||
String row_num = struct_jo.getString("row_num");
|
||||
String block_num = struct_jo.getString("block_num");
|
||||
JSONObject task_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND lock_type in ('3','6')").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(task_jo)){
|
||||
continue;
|
||||
}
|
||||
JSONObject struct_jo = new JSONObject();
|
||||
/*//判断该任务所在的块、排存在其他任务
|
||||
if (json.getString("task_type").equals("010502")){
|
||||
String point_code2 = json.getString("point_code2");
|
||||
struct_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("struct_code = '"+point_code2+"'").uniqueResult(0);
|
||||
String row_num = struct_jo.getString("row_num");
|
||||
String block_num = struct_jo.getString("block_num");
|
||||
JSONObject task_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND lock_type in ('3','6')").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(task_jo)){
|
||||
continue;
|
||||
}
|
||||
}else {
|
||||
String point_code1 = json.getString("point_code1");
|
||||
struct_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("struct_code = '"+point_code1+"'").uniqueResult(0);
|
||||
String row_num = struct_jo.getString("row_num");
|
||||
String block_num = struct_jo.getString("block_num");
|
||||
JSONObject task_jo = WQLObject.getWQLObject("ST_IVT_StructAttr").query("block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND lock_type in ('3','6')").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(task_jo)){
|
||||
continue;
|
||||
}
|
||||
}*/
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length()-1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
@@ -77,34 +89,38 @@ public class EmptyVehicleTask extends AbstractAcsTask {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
JSONObject task_jo = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '"+taskObj.getString("task_id")+"'").uniqueResult(0);
|
||||
HashMap map = new HashMap();
|
||||
//1:执行中,2:完成 ,3:acs取消
|
||||
if (status.equals("1")) {
|
||||
map.put("task_status", "03");
|
||||
if (status.equals(TaskStatusEnum.EXECUTING.getCode())) {
|
||||
map.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (status.equals("2")) {
|
||||
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
|
||||
map.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
//解锁货位、点位。更新点位仓位状态
|
||||
if (taskObj.getString("task_type").equals("010502")){
|
||||
String vehicle_code = taskObj.getString("vehicle_code");
|
||||
if (task_jo.getString("task_type").equals("010502")){
|
||||
String vehicle_code = task_jo.getString("vehicle_code");
|
||||
map.put("lock_type", "1");
|
||||
map.put("point_status", "03");
|
||||
map.put("point_status", "3");
|
||||
map.put("vehicle_code", vehicle_code);
|
||||
point_table.update(map, "point_code = '" + taskObj.getString("point_code2") + "'");
|
||||
point_table.update(map, "point_code = '" + task_jo.getString("point_code2") + "'");
|
||||
HashMap<String, String> struct_map = new HashMap<>();
|
||||
struct_map.put("lock_type", "1");
|
||||
struct_map.put("storagevehicle_code", vehicle_code);
|
||||
struct_table.update(struct_map, "struct_code = '" + taskObj.getString("point_code2") + "'");
|
||||
struct_map.put("is_emptyvehicle", "1");
|
||||
struct_table.update(struct_map, "struct_code = '" + task_jo.getString("point_code2") + "'");
|
||||
}
|
||||
if (taskObj.getString("task_type").equals("010504")){
|
||||
if (task_jo.getString("task_type").equals("010504")){
|
||||
map.put("lock_type", "1");
|
||||
map.put("point_status", "01");
|
||||
map.put("point_status", "1");
|
||||
map.put("vehicle_code", "");
|
||||
point_table.update(map, "point_code = '" + taskObj.getString("point_code2") + "'");
|
||||
point_table.update(map, "point_code = '" + task_jo.getString("point_code1") + "'");
|
||||
HashMap<String, String> struct_map = new HashMap<>();
|
||||
struct_map.put("lock_type", "1");
|
||||
struct_map.put("storagevehicle_code", "");
|
||||
struct_table.update(struct_map, "struct_code = '" + taskObj.getString("point_code2") + "'");
|
||||
struct_map.put("is_emptyvehicle", "0");
|
||||
struct_table.update(struct_map, "struct_code = '" + task_jo.getString("point_code1") + "'");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -75,8 +75,8 @@ public class InTask extends AbstractAcsTask {
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
HashMap map = new HashMap();
|
||||
//1:执行中,2:完成 ,3:acs取消
|
||||
if (status.equals("1")) {
|
||||
//1:执行中,2:完成 ,0:acs取消
|
||||
if (status.equals(TaskStatusEnum.EXECUTING.getCode())) {
|
||||
map.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
//更新入库单分配任务状态
|
||||
HashMap dis_map = new HashMap();
|
||||
@@ -84,7 +84,7 @@ public class InTask extends AbstractAcsTask {
|
||||
dis_map.put("is_issued", "1");
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "task_id = '" + taskObj.getString("task_id") + "'");
|
||||
}
|
||||
if (status.equals("2")) {
|
||||
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
|
||||
map.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
//调用入库分配确认方法
|
||||
InbillServiceImpl inbillService = SpringContextHolder.getBean(InbillServiceImpl.class);
|
||||
@@ -92,6 +92,10 @@ public class InTask extends AbstractAcsTask {
|
||||
dis_form.put("task_id", taskObj.getString("task_id"));
|
||||
inbillService.confirmDis(dis_form);
|
||||
}
|
||||
if (StrUtil.equals(status, "0")) {
|
||||
// 更新删除字段
|
||||
map.put("is_delete","1");
|
||||
}
|
||||
map.put("update_optid", currentUserId);
|
||||
map.put("update_optname", nickName);
|
||||
map.put("update_time", now);
|
||||
|
||||
@@ -717,13 +717,13 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
||||
JSONObject from_start = new JSONObject();
|
||||
from_start.put("lock_type", "1");
|
||||
from_start.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
||||
from_start.put("is_free", "1");
|
||||
from_start.put("struct_id", jo.getString("turnout_struct_id"));
|
||||
storPublicService.updateStructAndPoint(from_start);
|
||||
//解锁终点点位、仓位,添加载具
|
||||
JSONObject from_end = new JSONObject();
|
||||
from_end.put("lock_type", "1");
|
||||
from_end.put("struct_id", jo.getString("turnin_struct_id"));
|
||||
from_start.put("is_free", "1");
|
||||
from_end.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
||||
storPublicService.updateStructAndPoint(from_end);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ export default {
|
||||
this.timmer = setTimeout(() => {
|
||||
sessionStorage.clear()
|
||||
this.logout()
|
||||
}, 1000 * 60 * 15) // 15分钟 https://blog.csdn.net/qq_42345108/article/details/103496456
|
||||
}, 1000 * 60 * 30) // 15分钟 https://blog.csdn.net/qq_42345108/article/details/103496456
|
||||
},
|
||||
logout() {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<el-form-item label="业务日期" prop="biz_date">
|
||||
<el-date-picker v-model="form.biz_date" type="date" placeholder="选择日期" style="width: 210px" value-format="yyyy-MM-dd" :disabled="crud.status.view > 0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="移入仓库" prop="out_stor_id" v-if="form.bill_type === '1004'">
|
||||
<el-form-item label="移入仓库" prop="out_stor_id" v-if="form.bill_type === '1004'" required="true">
|
||||
<label slot="label">移入仓库:</label>
|
||||
<el-select
|
||||
v-model="form.out_stor_id"
|
||||
|
||||
Reference in New Issue
Block a user