fix: 部分改动

This commit is contained in:
2025-08-05 10:47:14 +08:00
parent 838cfecc09
commit a1a820d522
15 changed files with 149 additions and 29 deletions

View File

@@ -76,6 +76,11 @@ public class SchBasePointController {
public ResponseEntity<Object> getPointList(@RequestBody(required = false) SchBasePoint region) { public ResponseEntity<Object> getPointList(@RequestBody(required = false) SchBasePoint region) {
return new ResponseEntity<>(schBasePointService.getPointList(region), HttpStatus.OK); return new ResponseEntity<>(schBasePointService.getPointList(region), HttpStatus.OK);
} }
@PostMapping("/getPointsByCode")
@Log("获取区域下拉框")
public ResponseEntity<Object> getPointsByCode(@RequestBody(required = false) String region) {
return new ResponseEntity<>(schBasePointService.getPointsByCode(region), HttpStatus.OK);
}
@PostMapping("/getPointList2") @PostMapping("/getPointList2")
@Log("获取区域下拉框") @Log("获取区域下拉框")
public ResponseEntity<Object> getPointList2(@RequestBody(required = false) SchBasePoint region) { public ResponseEntity<Object> getPointList2(@RequestBody(required = false) SchBasePoint region) {

View File

@@ -133,4 +133,6 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus); List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus);
List<SchBasePoint> getPointList2(SchBasePoint region); List<SchBasePoint> getPointList2(SchBasePoint region);
List<SchBasePoint> getPointsByCode(String regions);
} }

View File

@@ -54,5 +54,5 @@ public interface ISchBaseTaskconfigService extends IService<SchBaseTaskconfig> {
List<SchBaseTaskconfig> getTaskConfigList(); List<SchBaseTaskconfig> getTaskConfigList();
SchBaseTaskconfig getTaskByConfigCode(String code);
} }

View File

@@ -185,10 +185,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
return this.list(); return this.list();
} }
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>() return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, region.getRegion_code()) .eq(SchBasePoint::getRegion_code, region.getRegion_code()));
//点位类型,根据传入的值是否为空增加判断
.eq(StringUtils.isNotBlank(region.getPoint_type()), SchBasePoint::getPoint_type, region.getPoint_type())
.eq(SchBasePoint::getIs_has_workder, true));
} }
@Override @Override
@@ -332,4 +329,14 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
.eq(SchBasePoint::getIs_has_workder, true)); .eq(SchBasePoint::getIs_has_workder, true));
} }
@Override
public List<SchBasePoint> getPointsByCode(String regions) {
if (ObjectUtil.isEmpty(regions)) {
return this.list();
}
List<String> collect = Arrays.stream(regions.split(",")).collect(Collectors.toList());
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.in(SchBasePoint::getRegion_code, collect));
}
} }

View File

@@ -138,4 +138,10 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
return this.list(); return this.list();
} }
@Override
public SchBaseTaskconfig getTaskByConfigCode(String code) {
return getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, code));
}
} }

View File

@@ -2,6 +2,7 @@ package org.nl.wms.sch_manage.service.util;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Map; import java.util.Map;
/** /**
@@ -124,4 +125,10 @@ public class AcsTaskDto {
* 扩展属性 * 扩展属性
*/ */
Map<String, String> params; Map<String, String> params;
private String task_group_id;
private BigDecimal task_group_seq;
} }

View File

@@ -3,15 +3,22 @@ package org.nl.wms.sch_manage.service.util.tasks.jb;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.IdUtil; import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService;
import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -26,8 +33,22 @@ import javax.annotation.Resource;
public class JbBackAgvTask extends AbstractTask { public class JbBackAgvTask extends AbstractTask {
@Resource @Resource
private ISchBaseTaskService taskService; private ISchBaseTaskService taskService;
@Resource
private ISchBaseTaskconfigService taskconfigService;
@Resource
private IInBillService inBillService;
@Resource
private IOStorInvDisMapper ioStorInvDisMapper;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
// 获取任务配置的优先级
String priority= "1";
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(json.getString("task_type"));
if (ObjectUtil.isNotEmpty(json.getString("Priority"))) {
priority = json.getString("Priority");
} else if (ObjectUtil.isNotEmpty(taskconfig)){
priority = taskconfig.getPriority();
}
SchBaseTask task = new SchBaseTask(); SchBaseTask task = new SchBaseTask();
task.setTask_id(IdUtil.getStringId()); task.setTask_id(IdUtil.getStringId());
task.setTask_code(json.getString("TaskCode")); task.setTask_code(json.getString("TaskCode"));
@@ -41,7 +62,7 @@ public class JbBackAgvTask extends AbstractTask {
task.setVehicle_code2(json.getString("vehicle_code2")); task.setVehicle_code2(json.getString("vehicle_code2"));
task.setGroup_id(json.getString("group_id")); task.setGroup_id(json.getString("group_id"));
task.setRequest_param(json.toString()); task.setRequest_param(json.toString());
task.setPriority(json.getString("Priority")); task.setPriority(priority);
task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_id(SecurityUtils.getCurrentUserId());
task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setCreate_time(DateUtil.now()); task.setCreate_time(DateUtil.now());
@@ -51,7 +72,23 @@ public class JbBackAgvTask extends AbstractTask {
@Override @Override
public AcsTaskDto sendAcsParam(String taskId) { public AcsTaskDto sendAcsParam(String taskId) {
return null; SchBaseTask taskDao = taskService.getById(taskId);
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code());
// 组织下发给acs的数据
AcsTaskDto acsTaskDto = new AcsTaskDto();
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
acsTaskDto.setTask_code(taskDao.getTask_code());
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setStart_device_code2(taskDao.getPoint_code3());
acsTaskDto.setNext_device_code2(taskDao.getPoint_code4());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setAgv_system_type(taskconfig.getAcs_task_type());
acsTaskDto.setTask_type(taskconfig.getTask_type());
acsTaskDto.setTask_group_id(taskDao.getTask_group_id());
acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq());
return acsTaskDto;
} }
@Override @Override
@@ -87,10 +124,6 @@ public class JbBackAgvTask extends AbstractTask {
this.finishTask(taskObj); this.finishTask(taskObj);
} }
private void finishTask(SchBaseTask taskObj) {
}
@Override @Override
public void cancel(String task_code) { public void cancel(String task_code) {
SchBaseTask taskObj = taskService.getByCode(task_code); SchBaseTask taskObj = taskService.getByCode(task_code);
@@ -103,8 +136,29 @@ public class JbBackAgvTask extends AbstractTask {
this.cancelTask(taskObj); this.cancelTask(taskObj);
} }
private void cancelTask(SchBaseTask taskObj) { private void finishTask(SchBaseTask taskObj) {
// 任务完成
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
inBillService.taskFinish(taskObj);
}
private void cancelTask(SchBaseTask taskObj) {
// 取消任务
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
.set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode())
.set(SchBaseTask::getRemark, "已取消")
.eq(SchBaseTask::getTask_id, taskObj.getTask_id())
);
//分配表清除任务
ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class)
.set(IOStorInvDis::getTask_id,null)
.set(IOStorInvDis::getPoint_code,null)
.set(IOStorInvDis::getIs_issued,0)
.set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("未生成"))
.eq(IOStorInvDis::getTask_id,taskObj.getTask_id())
);
} }
@Override @Override

View File

@@ -80,7 +80,19 @@ public class JbDownAgvTask extends AbstractTask {
@Override @Override
public AcsTaskDto sendAcsParam(String taskId) { public AcsTaskDto sendAcsParam(String taskId) {
return null; SchBaseTask taskDao = taskService.getById(taskId);
// 组织下发给acs的数据
AcsTaskDto acsTaskDto = new AcsTaskDto();
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
acsTaskDto.setTask_code(taskDao.getTask_code());
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setStart_device_code2(taskDao.getPoint_code3());
acsTaskDto.setNext_device_code2(taskDao.getPoint_code4());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setTask_type("1");
return acsTaskDto;
} }
@Override @Override

View File

@@ -14,8 +14,10 @@ import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.enums.TaskStatus;
import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBasePointService;
import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.ISchBaseTaskconfigService;
import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBasePoint;
import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.warehouse_manage.enums.IOSEnum; import org.nl.wms.warehouse_manage.enums.IOSEnum;
@@ -50,6 +52,8 @@ public class JbUpAgvTask extends AbstractTask {
private IMdPbGroupplateService groupplateService; private IMdPbGroupplateService groupplateService;
@Resource @Resource
private IStructattrService structattrService; private IStructattrService structattrService;
@Resource
private ISchBaseTaskconfigService taskconfigService;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
@@ -76,7 +80,23 @@ public class JbUpAgvTask extends AbstractTask {
@Override @Override
public AcsTaskDto sendAcsParam(String taskId) { public AcsTaskDto sendAcsParam(String taskId) {
return null; SchBaseTask taskDao = taskService.getById(taskId);
SchBaseTaskconfig taskconfig = taskconfigService.getTaskByConfigCode(taskDao.getConfig_code());
// 组织下发给acs的数据
AcsTaskDto acsTaskDto = new AcsTaskDto();
acsTaskDto.setExt_task_uuid(taskDao.getTask_id());
acsTaskDto.setTask_code(taskDao.getTask_code());
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
acsTaskDto.setStart_device_code2(taskDao.getPoint_code3());
acsTaskDto.setNext_device_code2(taskDao.getPoint_code4());
acsTaskDto.setPriority(taskDao.getPriority());
acsTaskDto.setAgv_system_type(taskconfig.getAcs_task_type());
acsTaskDto.setTask_type(taskconfig.getTask_type());
acsTaskDto.setTask_group_id(taskDao.getTask_group_id());
acsTaskDto.setTask_group_seq(taskDao.getTask_group_seq());
return acsTaskDto;
} }
@Override @Override

View File

@@ -21,12 +21,12 @@ public class SysParamConstant {
* ACS系统IP * ACS系统IP
*/ */
public final static String ACS_URL = "acs_url"; public final static String ACS_URL = "acs_url";
public final static String MES_URL = "mes_url";
/** /**
* ERP系统IP * ERP系统IP
*/ */
public final static String ERP_URL = "erp_url"; public final static String ERP_URL = "erp_url";
public final static String MES_URL = "mes_url";
} }

View File

@@ -769,6 +769,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
task.put("point_code2", emptyPoint.getPoint_code()); task.put("point_code2", emptyPoint.getPoint_code());
task.put("point_code3", fullPoint.getPoint_code()); task.put("point_code3", fullPoint.getPoint_code());
task.put("point_code4", structCode); task.put("point_code4", structCode);
task.put("vehicle_code", fullPoint.getVehicle_code());
task.put("vehicle_code2", emptyPoint.getStoragevehicle_code());
jbBackAgvTask.create(task); jbBackAgvTask.create(task);
} else if (StatusEnum.IOBILL_TYPE_IN.code("来料入库").equals(invObj.getBill_type())) { } else if (StatusEnum.IOBILL_TYPE_IN.code("来料入库").equals(invObj.getBill_type())) {
// 获取组盘信息 // 获取组盘信息

View File

@@ -980,6 +980,9 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) { if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) {
throw new BadRequestException("解包机输送线点位不存在或者存在任务!"); throw new BadRequestException("解包机输送线点位不存在或者存在任务!");
} }
if (!"1".equals(inPoint.getPoint_status())) {
throw new BadRequestException("原料进对接位状态不为空位,请检查确认!");
}
JSONObject task_form = new JSONObject(); JSONObject task_form = new JSONObject();
task_form.put("task_type", "JbUpAgvTask"); task_form.put("task_type", "JbUpAgvTask");
task_form.put("order_id", whereJson.getString("order_id")); task_form.put("order_id", whereJson.getString("order_id"));

View File

@@ -39,6 +39,13 @@ export function getPointList(data) {
data data
}) })
} }
export function getPointsByCode(data) {
return request({
url: 'api/schBasePoint/getPointsByCode',
method: 'post',
data
})
}
export function getPointList2(data) { export function getPointList2(data) {
return request({ return request({
url: 'api/schBasePoint/getPointList2', url: 'api/schBasePoint/getPointList2',
@@ -55,4 +62,4 @@ export function changeLock(data) {
}) })
} }
export default { add, edit, del, changeUsed, getPointList, getPointList2, changeLock } export default { add, edit, del, changeUsed, getPointList, getPointsByCode, getPointList2, changeLock }

View File

@@ -259,13 +259,9 @@ export default {
this.sects = res.content this.sects = res.content
}) })
const area_type = 'YLXCQ' const area_type = 'RKQ,YLXCQ'
crudPoint.getPointsByCode(area_type).then(res => {
// 点位类型,因为卸货区的点位类型(出库区、入库区)会变动,因需要增加点位类型字段进行判断 this.pointList = res
// 1-入库区2-出库区
const region_type = '1'
crudPoint.getPointList({ 'region_code': area_type, 'region_type': region_type }).then(res => {
this.pointlist = res
}) })
}, },
toDelete(data) { toDelete(data) {

View File

@@ -161,6 +161,7 @@
<el-select <el-select
v-model="form2.point_code" v-model="form2.point_code"
clearable clearable
filterable
placeholder="请选择" placeholder="请选择"
class="filter-item" class="filter-item"
style="width: 150px;" style="width: 150px;"
@@ -323,12 +324,10 @@ export default {
crudSectattr.getSect({ 'stor_id': this.storId }).then(res => { crudSectattr.getSect({ 'stor_id': this.storId }).then(res => {
this.sects = res.content this.sects = res.content
}) })
const area_type = 'YLXCQ'
// 点位类型,因为卸货区的点位类型(出库区、入库区)会变动,因需要增加点位类型字段进行判断 const area_type = 'CKQ,YLXCQ'
// 1-入库区2-出库区 crudPoint.getPointsByCode(area_type).then(res => {
const region_type = '2' this.pointList = res
crudPoint.getPointList({ 'region_code': area_type, 'region_type': region_type }).then(res => {
this.pointlist = res
}) })
}, },
close() { close() {