opt: 部分逻辑
This commit is contained in:
Binary file not shown.
@@ -44,6 +44,13 @@
|
|||||||
<version>3.0.13</version>
|
<version>3.0.13</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- <dependency>-->
|
||||||
|
<!-- <groupId>org.nl</groupId>-->
|
||||||
|
<!-- <artifactId>nl-verify-check-sdk</artifactId>-->
|
||||||
|
<!-- <version>1.0-SNAPSHOT</version>-->
|
||||||
|
<!-- <scope>system</scope>-->
|
||||||
|
<!-- <systemPath>${project.basedir}/lib/nl-verify-check-sdk-1.0-SNAPSHOT.jar</systemPath>-->
|
||||||
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|||||||
@@ -648,7 +648,7 @@ public class PdaJBServiceImpl implements PdaJBService {
|
|||||||
public PdaResponse jbGetLtInfo(JSONObject param) {
|
public PdaResponse jbGetLtInfo(JSONObject param) {
|
||||||
String vehicleCode = param.getString("vehicle_code");
|
String vehicleCode = param.getString("vehicle_code");
|
||||||
String struct_code = param.getString("struct_code");
|
String struct_code = param.getString("struct_code");
|
||||||
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "01");
|
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "02");
|
||||||
if (groups.size() > 1) {
|
if (groups.size() > 1) {
|
||||||
throw new BadRequestException("组盘信息错误!");
|
throw new BadRequestException("组盘信息错误!");
|
||||||
}
|
}
|
||||||
@@ -833,9 +833,7 @@ public class PdaJBServiceImpl implements PdaJBService {
|
|||||||
}
|
}
|
||||||
// 类型转换
|
// 类型转换
|
||||||
ArrayList<LinkedHashMap> tables = new ArrayList<>();
|
ArrayList<LinkedHashMap> tables = new ArrayList<>();
|
||||||
ioStorInvDis.forEach(item -> {
|
ioStorInvDis.forEach(item -> tables.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)));
|
||||||
tables.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class));
|
|
||||||
});
|
|
||||||
divObj.put("tableMater", tables);
|
divObj.put("tableMater", tables);
|
||||||
return divObj;
|
return divObj;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,8 @@
|
|||||||
mg.*,
|
mg.*,
|
||||||
ss.struct_code,
|
ss.struct_code,
|
||||||
mm.material_code,
|
mm.material_code,
|
||||||
mm.material_name
|
mm.material_name,
|
||||||
|
mm.material_spec
|
||||||
FROM
|
FROM
|
||||||
`md_pb_groupplate` mg
|
`md_pb_groupplate` mg
|
||||||
LEFT JOIN st_ivt_structattr ss ON ss.storagevehicle_code = mg.storagevehicle_code
|
LEFT JOIN st_ivt_structattr ss ON ss.storagevehicle_code = mg.storagevehicle_code
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
pointType, String pointCode, String vehicleIsNull, boolean isFourPoint);
|
pointType, String pointCode, String vehicleIsNull, boolean isFourPoint);
|
||||||
|
|
||||||
SchBasePoint getNotTaskByRegionAndType(String regionCode, String s);
|
SchBasePoint getNotTaskByRegionAndType(String regionCode, String s);
|
||||||
|
SchBasePoint getNotTaskByDeviceAndType(String regionCode, String s);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取可用的没任务的点位
|
* 获取可用的没任务的点位
|
||||||
|
|||||||
@@ -48,4 +48,6 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
|||||||
SchBasePoint getNotTaskByRegionAndType(String regionCode, String type);
|
SchBasePoint getNotTaskByRegionAndType(String regionCode, String type);
|
||||||
|
|
||||||
List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus);
|
List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus);
|
||||||
|
|
||||||
|
SchBasePoint getNotTaskByDeviceAndType(String device, String type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,21 +72,14 @@
|
|||||||
ORDER BY p.region_code, p.point_code, p.point_type
|
ORDER BY p.region_code, p.point_code, p.point_type
|
||||||
</select>
|
</select>
|
||||||
<select id="getNotTaskByRegionAndType" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
<select id="getNotTaskByRegionAndType" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
||||||
SELECT
|
SELECT *
|
||||||
*
|
FROM `sch_base_point` p
|
||||||
FROM
|
WHERE p.point_type = #{type}
|
||||||
`sch_base_point` p
|
|
||||||
WHERE
|
|
||||||
p.point_type = #{type}
|
|
||||||
AND p.region_code = #{regionCode}
|
AND p.region_code = #{regionCode}
|
||||||
AND p.is_used = true
|
AND p.is_used = true
|
||||||
AND 0 = (
|
AND 0 = (SELECT COUNT(*)
|
||||||
SELECT
|
FROM sch_base_task t
|
||||||
COUNT(*)
|
WHERE t.is_delete = '0'
|
||||||
FROM
|
|
||||||
sch_base_task t
|
|
||||||
WHERE
|
|
||||||
t.is_delete = '0'
|
|
||||||
AND t.task_status <![CDATA[ < ]]> '5'
|
AND t.task_status <![CDATA[ < ]]> '5'
|
||||||
AND (
|
AND (
|
||||||
t.point_code1 = p.point_code
|
t.point_code1 = p.point_code
|
||||||
@@ -119,4 +112,21 @@
|
|||||||
OR t.point_code4 = p.point_code
|
OR t.point_code4 = p.point_code
|
||||||
))
|
))
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getNotTaskByDeviceAndType" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
||||||
|
SELECT *
|
||||||
|
FROM `sch_base_point` p
|
||||||
|
WHERE p.point_type = #{type}
|
||||||
|
AND p.parent_point_code = #{device}
|
||||||
|
AND p.is_used = true
|
||||||
|
AND 0 = (SELECT COUNT(*)
|
||||||
|
FROM sch_base_task t
|
||||||
|
WHERE t.is_delete = '0'
|
||||||
|
AND t.task_status <![CDATA[ < ]]> '5'
|
||||||
|
AND (
|
||||||
|
t.point_code1 = p.point_code
|
||||||
|
AND t.point_code2 = p.point_code
|
||||||
|
AND t.point_code3 = p.point_code
|
||||||
|
AND t.point_code4 = p.point_code
|
||||||
|
))
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -320,6 +320,10 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
public SchBasePoint getNotTaskByRegionAndType(String regionCode, String type) {
|
public SchBasePoint getNotTaskByRegionAndType(String regionCode, String type) {
|
||||||
return this.baseMapper.getNotTaskByRegionAndType(regionCode, type);
|
return this.baseMapper.getNotTaskByRegionAndType(regionCode, type);
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public SchBasePoint getNotTaskByDeviceAndType(String device, String type) {
|
||||||
|
return this.baseMapper.getNotTaskByDeviceAndType(device, type);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus) {
|
public List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus) {
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public abstract class AbstractTask {
|
|||||||
(existing, replacement) -> existing
|
(existing, replacement) -> existing
|
||||||
))
|
))
|
||||||
.values());
|
.values());
|
||||||
if (distinctRunningTasks.size() < 2) {
|
if (distinctRunningTasks.size() >= 2) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 获取一组下发
|
// 获取一组下发
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ public class JbBackAgvTask extends AbstractTask {
|
|||||||
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(priority);
|
task.setPriority(priority);
|
||||||
|
task.setTask_group_id(json.getString("task_group_id"));
|
||||||
|
task.setTask_group_seq(json.getBigDecimal("task_group_seq"));
|
||||||
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());
|
||||||
|
|||||||
@@ -196,19 +196,20 @@ public class JbDownAgvTask extends AbstractTask {
|
|||||||
mhcPoint.setVehicle_type(null);
|
mhcPoint.setVehicle_type(null);
|
||||||
mhcPoint.setUpdate_time(DateUtil.now());
|
mhcPoint.setUpdate_time(DateUtil.now());
|
||||||
pointService.updateBatchById(Arrays.asList(khgPoint, mhcPoint));
|
pointService.updateBatchById(Arrays.asList(khgPoint, mhcPoint));
|
||||||
|
taskObj.setRemark("任务执行完毕");
|
||||||
// 3条任务完成
|
// 3条任务完成
|
||||||
SchBaseTask task = new SchBaseTask();
|
// SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_status(TaskStatus.FINISHED.getCode());
|
// task.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
TaskUtils.setUpdateByType(task, taskFinishedType);
|
// TaskUtils.setUpdateByType(task, taskFinishedType);
|
||||||
task.setRemark("任务执行完毕");
|
// task.setRemark("任务执行完毕");
|
||||||
task.setFinished_type(taskFinishedType.getCode());
|
// task.setFinished_type(taskFinishedType.getCode());
|
||||||
taskService.update(task, new LambdaQueryWrapper<SchBaseTask>()
|
// taskService.update(task, new LambdaQueryWrapper<SchBaseTask>()
|
||||||
.eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id()));
|
// .eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id()));
|
||||||
// 出库完成
|
// 出库完成
|
||||||
inBillService.taskFinish(taskObj);
|
inBillService.taskFinish(taskObj);
|
||||||
return;
|
// return;
|
||||||
}
|
}
|
||||||
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解包上料AGV任务
|
* 解包上料AGV任务
|
||||||
@@ -66,7 +67,7 @@ public class JbUpAgvTask extends AbstractTask {
|
|||||||
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"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||||
task.setConfig_code(json.getString("task_type"));
|
task.setConfig_code(json.getString("task_type"));
|
||||||
task.setPoint_code1(json.getString("point_code1"));
|
task.setPoint_code1(json.getString("point_code1"));
|
||||||
task.setPoint_code2(json.getString("point_code2"));
|
task.setPoint_code2(json.getString("point_code2"));
|
||||||
@@ -76,7 +77,9 @@ public class JbUpAgvTask 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(ObjectUtil.isNotEmpty(json.getString("Priority")) ? json.getString("Priority") : "1");
|
||||||
|
task.setTask_group_id(IdUtil.getStringId());
|
||||||
|
task.setTask_group_seq(BigDecimal.valueOf(1));
|
||||||
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());
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import cn.hutool.core.map.MapUtil;
|
|||||||
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;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
@@ -39,19 +38,19 @@ import org.nl.wms.sch_manage.service.util.tasks.jb.JbDownAgvTask;
|
|||||||
import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask;
|
import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
|
||||||
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
|
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
|
||||||
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
|
||||||
|
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||||
|
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||||
|
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
||||||
|
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
@@ -568,7 +567,6 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据库区策略获取仓位
|
* 根据库区策略获取仓位
|
||||||
* ioType 出入库类型
|
* ioType 出入库类型
|
||||||
@@ -684,9 +682,9 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
|||||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||||
// 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8)
|
// 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8)
|
||||||
// 获取工单对应的区域的出入点
|
// 获取工单对应的区域的出入点
|
||||||
SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2");
|
SchBasePoint intoPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "2");
|
||||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5");
|
SchBasePoint emptyPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "5");
|
||||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6");
|
SchBasePoint fullPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "6");
|
||||||
// 获取无盖子的对应的点位
|
// 获取无盖子的对应的点位
|
||||||
List<SchBasePoint> canUseCFGJs = pointService.getCanUseCFGJs(parentPoint, "1");
|
List<SchBasePoint> canUseCFGJs = pointService.getCanUseCFGJs(parentPoint, "1");
|
||||||
if (canUseCFGJs.size() == 0) {
|
if (canUseCFGJs.size() == 0) {
|
||||||
@@ -769,8 +767,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
|||||||
SchBasePoint rkPoint = pointService.getById(point_code);
|
SchBasePoint rkPoint = pointService.getById(point_code);
|
||||||
// 父点位
|
// 父点位
|
||||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "3");
|
SchBasePoint fullPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "3");
|
||||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "4");
|
SchBasePoint emptyPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "4");
|
||||||
JSONObject task = new JSONObject();
|
JSONObject task = new JSONObject();
|
||||||
task.put("task_type", "JbBackAgvTask");
|
task.put("task_type", "JbBackAgvTask");
|
||||||
task.put("group_id", groupPlate.getGroup_id());
|
task.put("group_id", groupPlate.getGroup_id());
|
||||||
@@ -780,6 +778,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("task_group_seq", whereJson.get("task_group_seq"));
|
||||||
|
task.put("task_group_id", whereJson.get("task_group_id"));
|
||||||
task.put("vehicle_code", fullPoint.getVehicle_code());
|
task.put("vehicle_code", fullPoint.getVehicle_code());
|
||||||
task.put("vehicle_code2", structattr.getStoragevehicle_code());
|
task.put("vehicle_code2", structattr.getStoragevehicle_code());
|
||||||
task_id = jbBackAgvTask.create(task);
|
task_id = jbBackAgvTask.create(task);
|
||||||
|
|||||||
@@ -975,8 +975,8 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
|||||||
// 解包需要单独操作
|
// 解包需要单独操作
|
||||||
SchBasePoint ckPoint = pointService.getById(point_code);
|
SchBasePoint ckPoint = pointService.getById(point_code);
|
||||||
SchBasePoint outPointP = pointService.getById(ckPoint.getParent_point_code());
|
SchBasePoint outPointP = pointService.getById(ckPoint.getParent_point_code());
|
||||||
SchBasePoint inPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "3");
|
SchBasePoint inPoint = pointService.getNotTaskByDeviceAndType(outPointP.getPoint_code(), "3");
|
||||||
SchBasePoint outPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "4");
|
SchBasePoint outPoint = pointService.getNotTaskByDeviceAndType(outPointP.getPoint_code(), "4");
|
||||||
if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) {
|
if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) {
|
||||||
throw new BadRequestException("解包机输送线点位不存在或者存在任务!");
|
throw new BadRequestException("解包机输送线点位不存在或者存在任务!");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,5 +123,7 @@ public class GroupPlate implements Serializable {
|
|||||||
private String material_code;
|
private String material_code;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String material_name;
|
private String material_name;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String material_spec;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCBbWQ38mZdmOX379myX/NFn/qFIeP3kbogDiWlGtc1JNt6eDSsOEShUNj3o8Jo5Qaepyo6j4stP4WpmCAUFsdyOodzU0R60P7gFOR1OIdKyyQ2OS9J1MdNXRRuksfD1WVG+azoB+huQo2D52bcXSjnu1UDRDrXN3XXZgh1L2V/aDg+Gi9QAIsMDHtN62zKsHs4tlClHt0KORSdAxN9RjPzUFNYXfxW3dNTM9zfltoM2bgeUfG61F5EMipkAEVjDb4+Pu2BsNUamjy85eKDWA8NxDU6uuDkxLNiLx5KipLxOR+EM4/cOqRwHdEj8matpGlqBSOfOxXd6Sh5XmVStBjtAgMBAAECggEAQCbcme6IVrRGqJI2MXfluQkGv56AxGFzBBh/CEs5iJnwP8/9K6/oNJ1CLdz5q8x5b4IkKEqmDZOCyQEiRVLVIQVpxfvr4YReEOvKIWAXjzcJh+boTYwuDWapjfUrFyJaxMdUsN3ak2xhgJPeJDP45oOwK6JSGALhYhas8oi/olptl3leZs/5Z3h9UE69u80XRdhjtGyfS3AOOtT6dVcfKw6H8tmoKmx43ZfPvoV+a7hcwHO587mI1epAhYGOn81e5QoNBegiCEv9KutuZtauJuGHKcsvNh/FK8QujRJ1TFxOsMtxsJWZfxQxUuvJ0PulCpGpmkuHFNGDmV3ukJO1AQKBgQC8eiTaWgq8eCrIOi5fYtXQUmzv2e5BOhMrRyUWoB30N7GmKcdNGT5HJVXztidcBj53cNd8T6t5yTwYFrdZ5Lll7ItPAub25CSnGQU2nmceHK+46PNlQfLZRrlyeUuGYJTHVZanV+6Pneqn+6XifTa969HzpejpiJuG8iYVmcztfQKBgQCvy5ha6tBS+sIrjXL8/lrxXMDm4xT3CnCLmBqInppLwfFOgcQFzYWL6SQSJ7k3uC+xFT++VgsRLz/pQrVLsQzkY6mUF8sI7F0kevy/jAFzl9cgFn9BXu1ATyWloQIAX/UdSbzSWxIH3BW3BNOWZ0x91HUqBDAFzyLBkIns8LZ0MQKBgQCyg9oN+kS69/JFjV3IuLsdQkSt9LNGknP/hLYrNOLKIkofwOhlLOigyEsdt0SWU8+sn3Np6afXhPNnOXTWLt4vHJlh77TE2ZehsQAQGH5Athj1waZvHMSgaO1S8HHJSAcCuh0kSRPKcV8FVkNrPv+vaQGFjXoKX3o3mXja8r53nQKBgQCElQVj1GKnoo1csYJ+wgqurCikObFvG8WD0oR4cz2lUzD956qCQd2thnj45FKxbk0xvffkQhp4rG0ELJZ07qPtgCi+Ey/CnBknUUZb5GiX2HWbsrvo/oHqlYasIwFSbQx9OUaaU6sGmHscHBzD+0ZaRCjVNnFNgEoTOEJ9m5HPkQKBgQC0Kd29rQMIm5wXhIyW+bVdwmEyB/Xuq6Ch7lVVfZ6WMSoDbQZdYH3Mxw+yzjYpcS8jf/7x7mYH9Z0ggXwX7CAcRqhpjtKU800KzwQ2Cnd7Jmgq56Mn/e70J4btH73EZB6sm7vmhIuBZZlvc3oYGeJN/t/9vLwomFqrlXVw318J2A==
|
||||||
@@ -22,6 +22,12 @@ export const constantRouterMap = [
|
|||||||
component: (resolve) => require(['@/views/features/401'], resolve),
|
component: (resolve) => require(['@/views/features/401'], resolve),
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/999',
|
||||||
|
meta: { title: '无授权码', noCache: true },
|
||||||
|
component: (resolve) => require(['@/views/features/licenseTip'], resolve),
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/redirect',
|
path: '/redirect',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ service.interceptors.request.use(
|
|||||||
}
|
}
|
||||||
config.headers['Content-Type'] = 'application/json'
|
config.headers['Content-Type'] = 'application/json'
|
||||||
config.headers['Accept-Language'] = window.localStorage.getItem('lang')
|
config.headers['Accept-Language'] = window.localStorage.getItem('lang')
|
||||||
|
config.headers['cdk'] = window.localStorage.getItem('cdk')
|
||||||
return config
|
return config
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
@@ -35,6 +36,7 @@ service.interceptors.response.use(
|
|||||||
return response.data
|
return response.data
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
|
console.log(error)
|
||||||
// 兼容blob下载出错json提示
|
// 兼容blob下载出错json提示
|
||||||
if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) {
|
if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) {
|
||||||
const reader = new FileReader()
|
const reader = new FileReader()
|
||||||
@@ -47,6 +49,7 @@ service.interceptors.response.use(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
console.log('Error response:', error.response)
|
||||||
let code = 0
|
let code = 0
|
||||||
try {
|
try {
|
||||||
code = error.response.status
|
code = error.response.status
|
||||||
@@ -68,6 +71,13 @@ service.interceptors.response.use(
|
|||||||
})
|
})
|
||||||
} else if (code === 403) {
|
} else if (code === 403) {
|
||||||
router.push({ path: '/401' })
|
router.push({ path: '/401' })
|
||||||
|
} else if (code === 402) {
|
||||||
|
console.log('License expired or not activated, redirecting to license page.')
|
||||||
|
router.push({ path: '/999',
|
||||||
|
query: {
|
||||||
|
message: error.response.data.message
|
||||||
|
}
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
const errorMsg = error.response.data.message
|
const errorMsg = error.response.data.message
|
||||||
if (errorMsg !== undefined) {
|
if (errorMsg !== undefined) {
|
||||||
|
|||||||
111
lms/nladmin-ui/src/views/features/licenseTip.vue
Normal file
111
lms/nladmin-ui/src/views/features/licenseTip.vue
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
<template>
|
||||||
|
<div class="activation-container">
|
||||||
|
<div class="activation-card">
|
||||||
|
<h1 class="title">请输入授权码激活</h1>
|
||||||
|
<p class="description">{{ tip ? tip + ',' : '' }}请输入您的授权码以激活功能。</p>
|
||||||
|
<input
|
||||||
|
v-model="activationCode"
|
||||||
|
type="text"
|
||||||
|
placeholder="请输入授权码"
|
||||||
|
class="input-field"
|
||||||
|
>
|
||||||
|
<button class="activate-button" @click="handleActivate">激活</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'LicenseTip',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activationCode: '',
|
||||||
|
tip: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.tip = this.$route.query.message
|
||||||
|
const savedCdk = localStorage.getItem('cdk')
|
||||||
|
if (savedCdk) {
|
||||||
|
this.activationCode = savedCdk
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleActivate() {
|
||||||
|
if (this.activationCode.trim() === '') {
|
||||||
|
alert('请输入授权码')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 暂时不对接API,这里模拟激活成功
|
||||||
|
console.log('授权码:', this.activationCode)
|
||||||
|
localStorage.setItem('cdk', this.activationCode.trim())
|
||||||
|
this.$router.push({ path: '/' })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.activation-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100vh;
|
||||||
|
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
||||||
|
font-family: 'Arial', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation-card {
|
||||||
|
background: white;
|
||||||
|
padding: 40px;
|
||||||
|
border-radius: 15px;
|
||||||
|
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
|
||||||
|
text-align: center;
|
||||||
|
width: 400px;
|
||||||
|
max-width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-field {
|
||||||
|
width: 100%;
|
||||||
|
padding: 12px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: border-color 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-field:focus {
|
||||||
|
border-color: #2575fc;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activate-button {
|
||||||
|
width: 100%;
|
||||||
|
padding: 12px;
|
||||||
|
background: #2575fc;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activate-button:hover {
|
||||||
|
background: #1a5bb8;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
<el-table-column prop="qty_unit_name" label="单位" width="160" />
|
<el-table-column prop="qty_unit_name" label="单位" width="160" />
|
||||||
<el-table-column prop="supp_name" label="供应商" width="160" />
|
<el-table-column prop="supp_name" label="供应商" width="160" />
|
||||||
<!-- <el-table-column prop="raw_material_code" label="泥料编码" width="160" />-->
|
<!-- <el-table-column prop="raw_material_code" label="泥料编码" width="160" />-->
|
||||||
<!-- <el-table-column prop="material_spec" label="物料规格" width="140" />-->
|
<el-table-column prop="material_spec" label="物料规格" width="140" />
|
||||||
<!-- <el-table-column prop="material_model" label="物料型号" width="140" />-->
|
<!-- <el-table-column prop="material_model" label="物料型号" width="140" />-->
|
||||||
<!-- <el-table-column prop="pack_method" label="包装方式" width="140" />-->
|
<!-- <el-table-column prop="pack_method" label="包装方式" width="140" />-->
|
||||||
<!-- <el-table-column prop="pack_palletspec" label="包装规则" width="140" />-->
|
<!-- <el-table-column prop="pack_palletspec" label="包装规则" width="140" />-->
|
||||||
|
|||||||
Reference in New Issue
Block a user