fix: 分切业务区域校验
This commit is contained in:
@@ -56,9 +56,10 @@ public interface IBstIvtCutpointivtService extends IService<BstIvtCutpointivt> {
|
|||||||
* 获取同尺寸的气涨轴
|
* 获取同尺寸的气涨轴
|
||||||
* @param type 点位类型:1套轴对接位,2分切缓存位,3分切对接位
|
* @param type 点位类型:1套轴对接位,2分切缓存位,3分切对接位
|
||||||
* @param size 气涨轴尺寸
|
* @param size 气涨轴尺寸
|
||||||
|
* @param area 区域
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size);
|
List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size, String area);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据桁架对应的点位编码获取点位实体
|
* 根据桁架对应的点位编码获取点位实体
|
||||||
|
|||||||
@@ -13,5 +13,5 @@ public interface BstIvtCutpointivtMapper extends BaseMapper<BstIvtCutpointivt> {
|
|||||||
|
|
||||||
List<BstIvtCutpointivt> getAreaNotTaskPointByStatus(String type, String pointStatus, String sort);
|
List<BstIvtCutpointivt> getAreaNotTaskPointByStatus(String type, String pointStatus, String sort);
|
||||||
|
|
||||||
List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size);
|
List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size, String area);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,11 +26,18 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="getPointByTypeAndShaftSize"
|
<select id="getPointByTypeAndShaftSize"
|
||||||
resultType="org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt">
|
resultType="org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt">
|
||||||
SELECT
|
SELECT bc.*
|
||||||
bc.*
|
FROM `bst_ivt_cutpointivt` bc
|
||||||
FROM
|
LEFT JOIN pdm_bi_slittingproductionplan pp ON pp.qzzno = bc.qzz_no1
|
||||||
`bst_ivt_cutpointivt` bc
|
OR pp.qzzno = bc.qzz_no2
|
||||||
LEFT JOIN pdm_bi_slittingproductionplan pp ON pp.qzzno = bc.qzz_no1 OR pp.qzzno = bc.qzz_no2
|
WHERE bc.point_type = #{type}
|
||||||
WHERE bc.point_type = #{type} AND pp.qzz_size = #{size} AND bc.is_used = '1' AND bc.point_status = '3'
|
AND pp.qzz_size = #{size}
|
||||||
|
AND LEFT(p.resource_name, 2) = #{area}
|
||||||
|
AND bc.is_used = '1'
|
||||||
|
AND bc.point_status = '3'
|
||||||
|
AND 0 = (SELECT COUNT(*)
|
||||||
|
FROM sch_base_task t
|
||||||
|
WHERE t.task_status <![CDATA[ < ]]> '07'
|
||||||
|
AND (t.point_code1 = bc.truss_point_code1 OR t.point_code1 = bc.truss_point_code2))
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -94,8 +94,8 @@ public class BstIvtCutpointivtServiceImpl extends ServiceImpl<BstIvtCutpointivtM
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size) {
|
public List<BstIvtCutpointivt> getPointByTypeAndShaftSize(String type, String size, String area) {
|
||||||
return bstIvtCutpointivtMapper.getPointByTypeAndShaftSize(type, size);
|
return bstIvtCutpointivtMapper.getPointByTypeAndShaftSize(type, size, area);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -87,11 +87,6 @@ public class BstIvtShafttubeivtServiceImpl extends ServiceImpl<BstIvtShafttubeiv
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BstIvtShafttubeivt> getAllShaftPointsByConditions(String type, String location, String have) {
|
public List<BstIvtShafttubeivt> getAllShaftPointsByConditions(String type, String location, String have) {
|
||||||
LambdaQueryWrapper<BstIvtShafttubeivt> lam = new QueryWrapper<BstIvtShafttubeivt>().lambda();
|
|
||||||
lam.eq(BstIvtShafttubeivt::getIs_used, "1")
|
|
||||||
.eq(BstIvtShafttubeivt::getPoint_type, type)
|
|
||||||
.eq(BstIvtShafttubeivt::getPoint_location, location)
|
|
||||||
.eq(BstIvtShafttubeivt::getHave_qzz, have);
|
|
||||||
return bstIvtShafttubeivtMapper.getAllShaftPointsByConditions(type, location, have);
|
return bstIvtShafttubeivtMapper.getAllShaftPointsByConditions(type, location, have);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,5 +47,5 @@ public interface IPdmBiSlittingproductionplanService extends IService<PdmBiSlitt
|
|||||||
* 获取可用的分切计划
|
* 获取可用的分切计划
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
List<SlitterPlanDistinctDto> getAllCutPlan();
|
List<SlitterPlanDistinctDto> getAllCutPlan(String specification);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ import java.util.List;
|
|||||||
**/
|
**/
|
||||||
public interface PdmBiSlittingproductionplanMapper extends BaseMapper<PdmBiSlittingproductionplan> {
|
public interface PdmBiSlittingproductionplanMapper extends BaseMapper<PdmBiSlittingproductionplan> {
|
||||||
|
|
||||||
List<SlitterPlanDistinctDto> getAllCutPlan();
|
List<SlitterPlanDistinctDto> getAllCutPlan(String specification);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
AND p.is_paper_ok = '1'
|
AND p.is_paper_ok = '1'
|
||||||
AND p.is_delete = '0'
|
AND p.is_delete = '0'
|
||||||
AND p.manufacture_date = '2024-01-05'
|
AND p.manufacture_date = '2024-01-05'
|
||||||
AND LEFT ( p.resource_name, 2 ) IN ( 'B2' )
|
AND LEFT ( p.resource_name, 2 ) = #{specification}
|
||||||
AND p.up_or_down IS NOT NULL
|
AND p.up_or_down IS NOT NULL
|
||||||
AND p.left_or_right IS NOT NULL
|
AND p.left_or_right IS NOT NULL
|
||||||
GROUP BY
|
GROUP BY
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SlitterPlanDistinctDto> getAllCutPlan() {
|
public List<SlitterPlanDistinctDto> getAllCutPlan(String specification) {
|
||||||
return pdmBiSlittingproductionplanMapper.getAllCutPlan();
|
return pdmBiSlittingproductionplanMapper.getAllCutPlan(specification);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
package org.nl.b_lms.sch.task.dao.mapper;
|
package org.nl.b_lms.sch.task.dao.mapper;
|
||||||
|
|
||||||
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@code @Description:} 任务表(SchBaseTask)数据持久层
|
* {@code @Description:} 任务表(SchBaseTask)数据持久层
|
||||||
* {@code @Author:} gbx
|
* {@code @Author:} gbx
|
||||||
@@ -12,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
|
public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
|
||||||
|
|
||||||
|
|
||||||
|
List<SchBaseTask> checkHaveTask(BstIvtCutpointivt p);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,4 +3,16 @@
|
|||||||
<mapper namespace="org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper">
|
<mapper namespace="org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="checkHaveTask" resultType="org.nl.b_lms.sch.task.dao.SchBaseTask">
|
||||||
|
SELECT *
|
||||||
|
FROM sch_base_task
|
||||||
|
WHERE task_code <![CDATA[ < ]]> '07'
|
||||||
|
AND ( point_code1 = #{point_code}
|
||||||
|
OR point_code2 = #{point_code}
|
||||||
|
OR point_code1 = #{truss_point_code1}
|
||||||
|
OR point_code2 = #{truss_point_code1}
|
||||||
|
OR point_code1 = #{truss_point_code2}
|
||||||
|
OR point_code2 = #{truss_point_code2}
|
||||||
|
)
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.nl.b_lms.sch.task.service;
|
package org.nl.b_lms.sch.task.service;
|
||||||
|
|
||||||
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
@@ -58,6 +59,13 @@ public interface IschBaseTaskService extends IService<SchBaseTask> {
|
|||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
List<SchBaseTask> getIssueTasks(String thisClass);
|
List<SchBaseTask> getIssueTasks(String thisClass);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测点位是否存在任务
|
||||||
|
* @param p
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SchBaseTask> checkHaveTask(BstIvtCutpointivt p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper;
|
import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper;
|
||||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||||
@@ -102,6 +103,11 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
return schBaseTaskMapper.selectList(lam);
|
return schBaseTaskMapper.selectList(lam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchBaseTask> checkHaveTask(BstIvtCutpointivt p) {
|
||||||
|
return schBaseTaskMapper.checkHaveTask(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取实体基础信息
|
* 获取实体基础信息
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ public class SendAirShaftAgvTask extends AbstractAcsTask {
|
|||||||
task.setPoint_code2(form.getString("point_code2"));
|
task.setPoint_code2(form.getString("point_code2"));
|
||||||
task.setVehicle_code(form.getString("vehicle_code1"));
|
task.setVehicle_code(form.getString("vehicle_code1"));
|
||||||
task.setVehicle_code2(form.getString("vehicle_code2"));
|
task.setVehicle_code2(form.getString("vehicle_code2"));
|
||||||
task.setAcs_task_type("6");
|
task.setAcs_task_type("3");
|
||||||
task.setIs_delete("0");
|
task.setIs_delete("0");
|
||||||
task.setRequest_param(form.toJSONString());
|
task.setRequest_param(form.toJSONString());
|
||||||
task.setTask_type(form.getString("task_type"));
|
task.setTask_type(form.getString("task_type"));
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class SlitterDownAgvTask extends AbstractAcsTask {
|
|||||||
task.setPoint_code2(form.getString("point_code2"));
|
task.setPoint_code2(form.getString("point_code2"));
|
||||||
task.setVehicle_code(form.getString("vehicle_code1"));
|
task.setVehicle_code(form.getString("vehicle_code1"));
|
||||||
task.setVehicle_code2(form.getString("vehicle_code2"));
|
task.setVehicle_code2(form.getString("vehicle_code2"));
|
||||||
task.setAcs_task_type("6");
|
task.setAcs_task_type("3");
|
||||||
task.setIs_delete("0");
|
task.setIs_delete("0");
|
||||||
task.setRequest_param(form.toJSONString());
|
task.setRequest_param(form.toJSONString());
|
||||||
task.setTask_type(form.getString("task_type"));
|
task.setTask_type(form.getString("task_type"));
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
|
|||||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||||
String agv_system_type = "2";
|
String agv_system_type = "2";
|
||||||
for (SchBaseTask task : taskList) {
|
for (SchBaseTask task : taskList) {
|
||||||
|
String requestParam = task.getRequest_param();
|
||||||
|
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
|
||||||
AcsTaskDto dto = AcsTaskDto.builder()
|
AcsTaskDto dto = AcsTaskDto.builder()
|
||||||
.ext_task_id(task.getTask_id())
|
.ext_task_id(task.getTask_id())
|
||||||
.task_code(task.getTask_code())
|
.task_code(task.getTask_code())
|
||||||
@@ -69,6 +71,8 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
|
|||||||
.start_device_code2(task.getPoint_code3())
|
.start_device_code2(task.getPoint_code3())
|
||||||
.next_device_code2(task.getPoint_code4())
|
.next_device_code2(task.getPoint_code4())
|
||||||
.vehicle_code(task.getVehicle_code())
|
.vehicle_code(task.getVehicle_code())
|
||||||
|
.truss_type(requestParamObj.getString("truss_type"))
|
||||||
|
.empty_site(requestParamObj.getString("empty_site"))
|
||||||
.agv_system_type(agv_system_type)
|
.agv_system_type(agv_system_type)
|
||||||
.priority(task.getPriority())
|
.priority(task.getPriority())
|
||||||
.remark(task.getRemark())
|
.remark(task.getRemark())
|
||||||
|
|||||||
@@ -68,10 +68,12 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
|||||||
.next_device_code(task.getPoint_code2())
|
.next_device_code(task.getPoint_code2())
|
||||||
.start_device_code2(task.getPoint_code3())
|
.start_device_code2(task.getPoint_code3())
|
||||||
.next_device_code2(task.getPoint_code4())
|
.next_device_code2(task.getPoint_code4())
|
||||||
.vehicle_code(task.getVehicle_code())
|
.vehicle_code(ObjectUtil.isNotEmpty(task.getVehicle_code())
|
||||||
|
? task.getVehicle_code() : task.getVehicle_code2())
|
||||||
.agv_system_type(agv_system_type)
|
.agv_system_type(agv_system_type)
|
||||||
.priority(task.getPriority())
|
.priority(task.getPriority())
|
||||||
.remark(task.getRemark())
|
.remark(task.getRemark())
|
||||||
|
.params2(task.getRequest_param())
|
||||||
.product_area(task.getProduct_area())
|
.product_area(task.getProduct_area())
|
||||||
.build();
|
.build();
|
||||||
resultList.add(dto);
|
resultList.add(dto);
|
||||||
@@ -165,6 +167,7 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
|
|||||||
task.setPoint_code1(form.getString("point_code1"));
|
task.setPoint_code1(form.getString("point_code1"));
|
||||||
task.setPoint_code2(form.getString("point_code2"));
|
task.setPoint_code2(form.getString("point_code2"));
|
||||||
task.setVehicle_code(form.getString("vehicle_code1"));
|
task.setVehicle_code(form.getString("vehicle_code1"));
|
||||||
|
task.setVehicle_code2(form.getString("vehicle_code2"));
|
||||||
task.setAcs_task_type("6");
|
task.setAcs_task_type("6");
|
||||||
task.setIs_delete("0");
|
task.setIs_delete("0");
|
||||||
task.setRequest_param(form.toJSONString());
|
task.setRequest_param(form.toJSONString());
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ public class UpShaftTrussTask extends AbstractAcsTask {
|
|||||||
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
|
||||||
String agv_system_type = "2";
|
String agv_system_type = "2";
|
||||||
for (SchBaseTask task : taskList) {
|
for (SchBaseTask task : taskList) {
|
||||||
|
String requestParam = task.getRequest_param();
|
||||||
|
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
|
||||||
AcsTaskDto dto = AcsTaskDto.builder()
|
AcsTaskDto dto = AcsTaskDto.builder()
|
||||||
.ext_task_id(task.getTask_id())
|
.ext_task_id(task.getTask_id())
|
||||||
.task_code(task.getTask_code())
|
.task_code(task.getTask_code())
|
||||||
@@ -71,6 +73,8 @@ public class UpShaftTrussTask extends AbstractAcsTask {
|
|||||||
.next_device_code2(task.getPoint_code4())
|
.next_device_code2(task.getPoint_code4())
|
||||||
.vehicle_code(task.getVehicle_code())
|
.vehicle_code(task.getVehicle_code())
|
||||||
.agv_system_type(agv_system_type)
|
.agv_system_type(agv_system_type)
|
||||||
|
.truss_type(requestParamObj.getString("truss_type"))
|
||||||
|
.empty_site(requestParamObj.getString("empty_site"))
|
||||||
.priority(task.getPriority())
|
.priority(task.getPriority())
|
||||||
.remark(task.getRemark())
|
.remark(task.getRemark())
|
||||||
.product_area(task.getProduct_area())
|
.product_area(task.getProduct_area())
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
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.toolkit.Wrappers;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
@@ -15,6 +16,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu
|
|||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.TrussCallAirShaftTask;
|
import org.nl.b_lms.sch.tasks.slitter.TrussCallAirShaftTask;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.common.utils.TaskUtils;
|
import org.nl.common.utils.TaskUtils;
|
||||||
@@ -22,9 +24,12 @@ import org.nl.modules.common.exception.BadRequestException;
|
|||||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.transaction.annotation.Isolation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: lyd
|
* @Author: lyd
|
||||||
@@ -49,14 +54,28 @@ public class AutoCallAirShaftTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wmsToAcsService;
|
private WmsToAcsService wmsToAcsService;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_UNCOMMITTED)
|
||||||
public void run() {
|
public void run() {
|
||||||
// 1、获取空的插拔轴位(无任务)
|
// 1、获取空的插拔轴位(无任务) todo:(目前都是上区域,下区域未考虑)
|
||||||
List<BstIvtShafttubeivt> emptyPoints = bstIvtShafttubeivtService.getAllShaftPointsByConditions("2","0","0");
|
List<BstIvtShafttubeivt> emptyPoints = bstIvtShafttubeivtService.getAllShaftPointsByConditions("2","0","0");
|
||||||
emptyPoints.forEach(empty -> {
|
emptyPoints.forEach(empty -> {
|
||||||
// 2、获取分切计划数据,todo:暂时不考虑区域
|
// 标箔:1,锂电:2
|
||||||
// todo: 未考虑区域
|
String specification = empty.getQzz_generation();
|
||||||
List<SlitterPlanDistinctDto> plans = slittingproductionplanService.getAllCutPlan();
|
if ("1".equals(specification)) {
|
||||||
|
if ("0".equals(empty.getPoint_location())) {
|
||||||
|
specification = "B2";
|
||||||
|
} else {
|
||||||
|
specification = "B4";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ("0".equals(empty.getPoint_location())) {
|
||||||
|
specification = "B1";
|
||||||
|
} else {
|
||||||
|
specification = "B3";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 2、获取分切计划数据,hint: 根据标箔锂电区分区域
|
||||||
|
List<SlitterPlanDistinctDto> plans = slittingproductionplanService.getAllCutPlan(specification);
|
||||||
if (plans.size() == 0) {
|
if (plans.size() == 0) {
|
||||||
// 如果不需要套轴,就只做拔轴
|
// 如果不需要套轴,就只做拔轴
|
||||||
makePullShaft(empty);
|
makePullShaft(empty);
|
||||||
@@ -77,12 +96,13 @@ public class AutoCallAirShaftTask {
|
|||||||
.eq(PdmBiSlittingproductionplan::getResource_name, planDto.getResource_name())
|
.eq(PdmBiSlittingproductionplan::getResource_name, planDto.getResource_name())
|
||||||
.eq(PdmBiSlittingproductionplan::getParent_container_name, planDto.getParent_container_name())
|
.eq(PdmBiSlittingproductionplan::getParent_container_name, planDto.getParent_container_name())
|
||||||
.eq(PdmBiSlittingproductionplan::getUp_or_down, planDto.getUp_or_down())
|
.eq(PdmBiSlittingproductionplan::getUp_or_down, planDto.getUp_or_down())
|
||||||
|
.eq(PdmBiSlittingproductionplan::getIs_delete, "0")
|
||||||
.eq(PdmBiSlittingproductionplan::getIs_paper_ok, "1"));
|
.eq(PdmBiSlittingproductionplan::getIs_paper_ok, "1"));
|
||||||
// 获取其中一条
|
// 获取其中一条
|
||||||
PdmBiSlittingproductionplan needPlan = needPlans.get(0);
|
PdmBiSlittingproductionplan needPlan = needPlans.get(0);
|
||||||
String qzzSize = needPlan.getQzz_size();
|
String qzzSize = needPlan.getQzz_size();
|
||||||
// 从套轴对接位获取相同气涨轴大小
|
// 从套轴对接位获取相同气涨轴大小
|
||||||
List<BstIvtCutpointivt> qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize);
|
List<BstIvtCutpointivt> qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize, specification);
|
||||||
if (qzzPoint.size() == 0) {
|
if (qzzPoint.size() == 0) {
|
||||||
// 调用ACS滚条气涨轴下来
|
// 调用ACS滚条气涨轴下来
|
||||||
toAcsOutShaft(qzzSize);
|
toAcsOutShaft(qzzSize);
|
||||||
@@ -90,8 +110,8 @@ public class AutoCallAirShaftTask {
|
|||||||
saveCutPlanMessage(empty, needPlans, qzzSize);
|
saveCutPlanMessage(empty, needPlans, qzzSize);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 查找一条没任务的点位 todo: 优先获取只有一根轴的点位
|
// 查找一条没任务的点位
|
||||||
BstIvtCutpointivt startPoint = qzzPoint.stream().filter(point -> checkHaveTask(point)).findFirst().orElse(null);
|
BstIvtCutpointivt startPoint = qzzPoint.get(0);
|
||||||
if (ObjectUtil.isEmpty(startPoint)) {
|
if (ObjectUtil.isEmpty(startPoint)) {
|
||||||
// 如果不存在,则发起信号滚气涨轴
|
// 如果不存在,则发起信号滚气涨轴
|
||||||
// 调用ACS滚条气涨轴下来
|
// 调用ACS滚条气涨轴下来
|
||||||
@@ -112,7 +132,7 @@ public class AutoCallAirShaftTask {
|
|||||||
param.put("needPlan", planDto);
|
param.put("needPlan", planDto);
|
||||||
param.put("is_bushing", "1");
|
param.put("is_bushing", "1");
|
||||||
param.put("task_type", "6");
|
param.put("task_type", "6");
|
||||||
param.put("product_area", "Test");
|
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
param.put("qzz_size", needPlan.getQzz_size());
|
param.put("qzz_size", needPlan.getQzz_size());
|
||||||
// 设置子卷号
|
// 设置子卷号
|
||||||
for (PdmBiSlittingproductionplan plan : needPlans) {
|
for (PdmBiSlittingproductionplan plan : needPlans) {
|
||||||
@@ -133,6 +153,7 @@ public class AutoCallAirShaftTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void toAcsOutShaft(String qzzSize) {
|
private void toAcsOutShaft(String qzzSize) {
|
||||||
|
// todo: 访问acs判断是否有无气涨轴
|
||||||
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize);
|
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize);
|
||||||
if (shafttubeivts.size() == 0) {
|
if (shafttubeivts.size() == 0) {
|
||||||
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
|
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
|
||||||
@@ -143,7 +164,7 @@ public class AutoCallAirShaftTask {
|
|||||||
acsQzz.put("device_code", shafttubeivt.getPoint_code());
|
acsQzz.put("device_code", shafttubeivt.getPoint_code());
|
||||||
acsQzz.put("code", "to_command");
|
acsQzz.put("code", "to_command");
|
||||||
acsQzz.put("value", "1");
|
acsQzz.put("value", "1");
|
||||||
acsQzz.put("product_area", "Test");
|
acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
acsParam.add(acsQzz);
|
acsParam.add(acsQzz);
|
||||||
wmsToAcsService.action(acsParam);
|
wmsToAcsService.action(acsParam);
|
||||||
}
|
}
|
||||||
@@ -202,19 +223,20 @@ public class AutoCallAirShaftTask {
|
|||||||
param.put("qzz_no", ObjectUtil.isNotEmpty(cutpointivt.getQzz_no1())
|
param.put("qzz_no", ObjectUtil.isNotEmpty(cutpointivt.getQzz_no1())
|
||||||
? cutpointivt.getQzz_no1() : cutpointivt.getQzz_no2());
|
? cutpointivt.getQzz_no1() : cutpointivt.getQzz_no2());
|
||||||
param.put("task_type", "6");
|
param.put("task_type", "6");
|
||||||
param.put("product_area", "Test");
|
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
param.put("is_bushing", "0");
|
param.put("is_bushing", "0");
|
||||||
trussCallAirShaftTask.createTask(param);
|
trussCallAirShaftTask.createTask(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean checkHaveTask(BstIvtCutpointivt p) {
|
public boolean checkHaveTask(BstIvtCutpointivt p) {
|
||||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
List<String> pointCodes = Stream.of(p.getPoint_code(), p.getTruss_point_code1(), p.getTruss_point_code1()).collect(Collectors.toList());
|
||||||
.eq(SchBaseTask::getTask_code, "07").and(la -> la.eq(SchBaseTask::getPoint_code1, p.getPoint_code()).or()
|
LambdaQueryWrapper<SchBaseTask> lam = Wrappers.lambdaQuery();
|
||||||
.eq(SchBaseTask::getPoint_code2, p.getPoint_code()).or()
|
lam.lt(SchBaseTask::getTask_code, "07");
|
||||||
.eq(SchBaseTask::getPoint_code1, p.getTruss_point_code1()).or()
|
lam.and(la -> la
|
||||||
.eq(SchBaseTask::getPoint_code2, p.getTruss_point_code1()).or()
|
.in(SchBaseTask::getPoint_code1, pointCodes).or()
|
||||||
.eq(SchBaseTask::getPoint_code1, p.getTruss_point_code2()).or()
|
.in(SchBaseTask::getPoint_code2, pointCodes));
|
||||||
.eq(SchBaseTask::getPoint_code2, p.getTruss_point_code2())));
|
List<SchBaseTask> list = taskService.list(lam);
|
||||||
return list.size() == 0;
|
return list.size() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu
|
|||||||
import org.nl.b_lms.sch.point.dao.StIvtCutpointivt;
|
import org.nl.b_lms.sch.point.dao.StIvtCutpointivt;
|
||||||
import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService;
|
import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.SendAirShaftAgvTask;
|
import org.nl.b_lms.sch.tasks.slitter.SendAirShaftAgvTask;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -48,12 +49,14 @@ public class AutoSendAirShaftAgvTask {
|
|||||||
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
||||||
// 最多4条分切计划
|
// 最多4条分切计划
|
||||||
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
.in(PdmBiSlittingproductionplan::getQzzno, collect));
|
.in(PdmBiSlittingproductionplan::getQzzno, collect)
|
||||||
|
.eq(PdmBiSlittingproductionplan::getIs_delete, "0"));
|
||||||
if (plans.size() == 0) {
|
if (plans.size() == 0) {
|
||||||
throw new BadRequestException("分切计划不存在");
|
throw new BadRequestException("分切计划不存在");
|
||||||
}
|
}
|
||||||
// 获取任意一条
|
// 获取任意一条
|
||||||
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
||||||
|
String area = demoPlan.getResource_name().substring(0, 2);
|
||||||
StIvtCutpointivt deviceCut = cutpointivtService.getOne(new LambdaQueryWrapper<StIvtCutpointivt>()
|
StIvtCutpointivt deviceCut = cutpointivtService.getOne(new LambdaQueryWrapper<StIvtCutpointivt>()
|
||||||
.eq(StIvtCutpointivt::getExt_code, demoPlan.getResource_name()));
|
.eq(StIvtCutpointivt::getExt_code, demoPlan.getResource_name()));
|
||||||
// 校验是否为一组
|
// 校验是否为一组
|
||||||
@@ -83,8 +86,8 @@ public class AutoSendAirShaftAgvTask {
|
|||||||
param.put("point_code2", endPoint.getPoint_code());
|
param.put("point_code2", endPoint.getPoint_code());
|
||||||
param.put("vehicle_code1", cutPoint.getQzz_no1());
|
param.put("vehicle_code1", cutPoint.getQzz_no1());
|
||||||
param.put("vehicle_code2", cutPoint.getQzz_no2());
|
param.put("vehicle_code2", cutPoint.getQzz_no2());
|
||||||
param.put("task_type", "6");
|
param.put("task_type", "3");
|
||||||
param.put("product_area", "Test");
|
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
sendAirShaftAgvTask.createTask(param);
|
sendAirShaftAgvTask.createTask(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
|||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.SlitterDownAgvTask;
|
import org.nl.b_lms.sch.tasks.slitter.SlitterDownAgvTask;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
import org.redisson.api.RLock;
|
import org.redisson.api.RLock;
|
||||||
@@ -96,8 +97,8 @@ public class AutoSlitterDownAgvTask {
|
|||||||
param.put("point_code2", endPoint.getPoint_code());
|
param.put("point_code2", endPoint.getPoint_code());
|
||||||
param.put("vehicle_code1", cut.getQzz_no1());
|
param.put("vehicle_code1", cut.getQzz_no1());
|
||||||
param.put("vehicle_code2", cut.getQzz_no2());
|
param.put("vehicle_code2", cut.getQzz_no2());
|
||||||
param.put("task_type", "1");
|
param.put("task_type", "3");
|
||||||
param.put("product_area", "Test");
|
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
slitterDownAgvTask.createTask(param);
|
slitterDownAgvTask.createTask(param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
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 lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
|
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||||
@@ -13,6 +12,7 @@ import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService;
|
|||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.UpShaftTrussTask;
|
import org.nl.b_lms.sch.tasks.slitter.UpShaftTrussTask;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -29,9 +29,6 @@ import java.util.stream.Stream;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class AutoUpShaftTrussTask {
|
public class AutoUpShaftTrussTask {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IBstIvtCutpointivtService bcutpointivtService;
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IstIvtCutpointivtService cutpointivtService;
|
private IstIvtCutpointivtService cutpointivtService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -106,7 +103,8 @@ public class AutoUpShaftTrussTask {
|
|||||||
}
|
}
|
||||||
param.put("truss_type", "1");
|
param.put("truss_type", "1");
|
||||||
param.put("empty_site", "0");
|
param.put("empty_site", "0");
|
||||||
param.put("product_area", "Test");
|
param.put("task_type", "6");
|
||||||
|
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
upShaftTrussTask.createTask(param);
|
upShaftTrussTask.createTask(param);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package org.nl.b_lms.sch.tasks.slitter.constant;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 魔法值->常量类
|
||||||
|
* @author lyd
|
||||||
|
* @date 2024-02-26
|
||||||
|
**/
|
||||||
|
public interface SlitterConstant {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务区域:暂定Test
|
||||||
|
*/
|
||||||
|
String SLITTER_TASK_AREA = "Test";
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -34,9 +34,13 @@ public class SlitterController {
|
|||||||
@Log("1111")
|
@Log("1111")
|
||||||
public ResponseEntity<Object> create(@RequestBody JSONObject entity){
|
public ResponseEntity<Object> create(@RequestBody JSONObject entity){
|
||||||
if ("1".equals(entity.getString("type"))) {
|
if ("1".equals(entity.getString("type"))) {
|
||||||
return new ResponseEntity<>(slitterService.acsRequestShaftPluckTube(entity), HttpStatus.CREATED);
|
return new ResponseEntity<>(slitterService.acsRequestShaftLoadTube(entity), HttpStatus.OK);
|
||||||
|
} else if ("2".equals(entity.getString("type"))) {
|
||||||
|
return new ResponseEntity<>(slitterService.acsFinishLoadShaft(entity), HttpStatus.OK);
|
||||||
|
} else if ("3".equals(entity.getString("type"))) {
|
||||||
|
return new ResponseEntity<>(slitterService.acsFinishShaftPluckTube(entity), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
return new ResponseEntity<>(slitterService.acsRequestShaftPluckTube(entity), HttpStatus.CREATED);
|
return new ResponseEntity<>(slitterService.acsRequestShaftLoadTube(entity), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
@PostMapping("/test2")
|
@PostMapping("/test2")
|
||||||
@Log("1111")
|
@Log("1111")
|
||||||
@@ -46,7 +50,7 @@ public class SlitterController {
|
|||||||
@PostMapping("/test3")
|
@PostMapping("/test3")
|
||||||
@Log("1111")
|
@Log("1111")
|
||||||
public ResponseEntity<Object> create3(@RequestBody JSONObject entity){
|
public ResponseEntity<Object> create3(@RequestBody JSONObject entity){
|
||||||
List<String> collect = Stream.of("B2382401020202A1").collect(Collectors.toList());
|
List<String> collect = Stream.of("B2572312312002B1").collect(Collectors.toList());
|
||||||
entity.put("container", collect);
|
entity.put("container", collect);
|
||||||
return new ResponseEntity<>(slitterService.mesSlittingMachineSendMaterial(entity), HttpStatus.CREATED);
|
return new ResponseEntity<>(slitterService.mesSlittingMachineSendMaterial(entity), HttpStatus.CREATED);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public interface SlitterService {
|
|||||||
* @param param
|
* @param param
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
JSONObject acsRequestShaftPluckTube(JSONObject param);
|
JSONObject acsRequestShaftLoadTube(JSONObject param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* acs申请拔轴完毕
|
* acs申请拔轴完毕
|
||||||
@@ -21,6 +21,12 @@ public interface SlitterService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
JSONObject acsFinishShaftPluckTube(JSONObject param);
|
JSONObject acsFinishShaftPluckTube(JSONObject param);
|
||||||
|
/**
|
||||||
|
* acs申请拔轴
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
JSONObject acsRequestShaftPluckTube(JSONObject param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ACS申请套轴完毕
|
* ACS申请套轴完毕
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ 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.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService;
|
||||||
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.IBstIvtShafttubeivtService;
|
import org.nl.b_lms.bst.ivt.shafttubeivt.service.IBstIvtShafttubeivtService;
|
||||||
@@ -21,16 +22,20 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
|||||||
import org.nl.b_lms.sch.tasks.slitter.SendCopperFoilSubRollTrussTask;
|
import org.nl.b_lms.sch.tasks.slitter.SendCopperFoilSubRollTrussTask;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.SlitterDownTrussTask;
|
import org.nl.b_lms.sch.tasks.slitter.SlitterDownTrussTask;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.TrussSendAirShaftTask;
|
import org.nl.b_lms.sch.tasks.slitter.TrussSendAirShaftTask;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||||
import org.nl.common.utils.TaskUtils;
|
import org.nl.common.utils.TaskUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@@ -60,9 +65,11 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
private SlitterDownTrussTask slitterDownTrussTask;
|
private SlitterDownTrussTask slitterDownTrussTask;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SendCopperFoilSubRollTrussTask sendCopperFoilSubRollTrussTask;
|
private SendCopperFoilSubRollTrussTask sendCopperFoilSubRollTrussTask;
|
||||||
|
@Autowired
|
||||||
|
private RedissonClient redissonClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject acsRequestShaftPluckTube(JSONObject param) {
|
public JSONObject acsRequestShaftLoadTube(JSONObject param) {
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
JSONObject con = new JSONObject();
|
JSONObject con = new JSONObject();
|
||||||
String deviceCode = param.getString("device_code");
|
String deviceCode = param.getString("device_code");
|
||||||
@@ -80,13 +87,17 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
public JSONObject acsFinishShaftPluckTube(JSONObject param) {
|
public JSONObject acsFinishShaftPluckTube(JSONObject param) {
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
String deviceCode = param.getString("device_code");
|
String deviceCode = param.getString("device_code");
|
||||||
String subVolume = param.getString("sub_volume");
|
// 气涨轴编码
|
||||||
String taskId = param.getString("task_id");
|
String taskId = param.getString("task_id");
|
||||||
// 获取上一个桁架任务
|
// 获取上一个桁架任务
|
||||||
SchBaseTask previousTask = taskService.getById(taskId);
|
SchBaseTask previousTask = taskService.getById(taskId);
|
||||||
|
String requestParam = previousTask.getRequest_param();
|
||||||
|
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
|
||||||
|
List<String> collect = Stream.of(requestParamObj.getString("left"), requestParamObj.getString("right"))
|
||||||
|
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
||||||
// hint: 使用子卷号
|
// hint: 使用子卷号
|
||||||
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
.eq(PdmBiSlittingproductionplan::getContainer_name, subVolume)
|
.eq(PdmBiSlittingproductionplan::getContainer_name, collect)
|
||||||
.eq(PdmBiSlittingproductionplan::getStatus, "09"));
|
.eq(PdmBiSlittingproductionplan::getStatus, "09"));
|
||||||
PdmBiSlittingproductionplan plan;
|
PdmBiSlittingproductionplan plan;
|
||||||
if ("1".equals(deviceCode.substring(deviceCode.length() - 1))) {
|
if ("1".equals(deviceCode.substring(deviceCode.length() - 1))) {
|
||||||
@@ -103,75 +114,130 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
taskParam.put("point_code2", "B_CZW01");
|
taskParam.put("point_code2", "B_CZW01");
|
||||||
taskParam.put("material_code", plan.getContainer_name());
|
taskParam.put("material_code", plan.getContainer_name());
|
||||||
taskParam.put("task_type", "6");
|
taskParam.put("task_type", "6");
|
||||||
taskParam.put("product_area", "Test");
|
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
sendCopperFoilSubRollTrussTask.createTask(taskParam);
|
sendCopperFoilSubRollTrussTask.createTask(taskParam);
|
||||||
res.put("code", HttpStatus.HTTP_OK);
|
res.put("code", HttpStatus.HTTP_OK);
|
||||||
res.put("message", "任务请求成功!");
|
res.put("message", "任务请求成功!");
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject acsRequestShaftPluckTube(JSONObject param) {
|
||||||
|
// 参数:设备号,type,插拔轴位,task_id
|
||||||
|
JSONObject res = new JSONObject();
|
||||||
|
String deviceCode = param.getString("device_code");
|
||||||
|
String taskId = param.getString("task_id");
|
||||||
|
if (ObjectUtil.isEmpty(taskId)) {
|
||||||
|
throw new BadRequestException("任务id不能为空!");
|
||||||
|
}
|
||||||
|
SchBaseTask previousTask = taskService.getById(taskId);
|
||||||
|
// 反馈 纸管尺寸
|
||||||
|
String requestParam = previousTask.getRequest_param();
|
||||||
|
JSONObject requestParamObj = JSONObject.parseObject(requestParam);
|
||||||
|
List<String> collect = Stream.of(requestParamObj.getString("left"), requestParamObj.getString("right"))
|
||||||
|
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
||||||
|
// hint: 使用子卷号
|
||||||
|
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
|
.eq(PdmBiSlittingproductionplan::getContainer_name, collect)
|
||||||
|
.eq(PdmBiSlittingproductionplan::getStatus, "09"));
|
||||||
|
if (plans.size() == 0) {
|
||||||
|
throw new BadRequestException("查询不到对应的子卷信息!");
|
||||||
|
}
|
||||||
|
PdmBiSlittingproductionplan plan = plans.get(0);
|
||||||
|
|
||||||
|
String s = String.valueOf("1".equals(plan.getPaper_tube_or_FRP())
|
||||||
|
? plan.getPaper_tube_model()
|
||||||
|
: plan.getFRP_model().split("\\|")[2].charAt(0));
|
||||||
|
JSONObject r = new JSONObject();
|
||||||
|
res.put("code", HttpStatus.HTTP_OK);
|
||||||
|
res.put("data", r);
|
||||||
|
r.put("size", s);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public JSONObject acsFinishLoadShaft(JSONObject param) {
|
public JSONObject acsFinishLoadShaft(JSONObject param) {
|
||||||
JSONObject res = new JSONObject();
|
JSONObject res = new JSONObject();
|
||||||
String deviceCode = param.getString("device_code");
|
String deviceCode = param.getString("device_code");
|
||||||
// 判断是否有未完成的任务
|
RLock lock = redissonClient.getLock(deviceCode);
|
||||||
BstIvtShafttubeivt startPoint = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
.eq(BstIvtShafttubeivt::getPoint_code, deviceCode));
|
try {
|
||||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
if (tryLock) {
|
||||||
.eq(SchBaseTask::getPoint_code1, startPoint.getPoint_code())
|
String taskCode = param.getString("task_code");
|
||||||
.lt(SchBaseTask::getTask_status, "07"));
|
// todo: 纸管
|
||||||
if (list.size() > 0) {
|
String weight1 = param.getString("weight1");
|
||||||
throw new BadRequestException("点位[" + deviceCode + "]存在未完成得任务!");
|
String material1 = param.getString("material1");
|
||||||
}
|
String weight2 = param.getString("weight2");
|
||||||
// 获取分切计划
|
String material2 = param.getString("material2");
|
||||||
List<String> collect = Stream.of(startPoint.getContainer_name1(), startPoint.getContainer_name2())
|
// 判断是否有未完成的任务
|
||||||
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
.eq(SchBaseTask::getPoint_code1, deviceCode)
|
||||||
.in(PdmBiSlittingproductionplan::getContainer_name, collect));
|
.lt(SchBaseTask::getTask_status, "07"));
|
||||||
if (plans.size() == 0) {
|
if (list.size() > 0) {
|
||||||
throw new BadRequestException("找不到对应的分切计划!");
|
throw new BadRequestException("点位[" + deviceCode + "]存在未完成得任务!");
|
||||||
}
|
}
|
||||||
// 当前套轴的分切计划
|
BstIvtShafttubeivt startPoint = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||||
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
.eq(BstIvtShafttubeivt::getPoint_code, deviceCode));
|
||||||
// 查找是否有同组的气胀轴位置
|
// 获取分切计划
|
||||||
BstIvtCutpointivt cutPoint = slitterMapper.getSameGroupPoint(demoPlan);
|
List<String> collect = Stream.of(startPoint.getContainer_name1(), startPoint.getContainer_name2())
|
||||||
if (ObjectUtil.isEmpty(cutPoint)) {
|
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
|
||||||
// 也有可能在路上, 获取任务的终点
|
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||||
String endPoint = slitterMapper.getSameGroupTaskPoint(demoPlan);
|
.in(PdmBiSlittingproductionplan::getContainer_name, collect)
|
||||||
if (ObjectUtil.isNotEmpty(endPoint)) {
|
.eq(PdmBiSlittingproductionplan::getIs_delete, "0"));
|
||||||
cutPoint = bcutpointivtService.getOne(new LambdaQueryWrapper<BstIvtCutpointivt>()
|
if (plans.size() == 0) {
|
||||||
.eq(BstIvtCutpointivt::getTruss_point_code1, endPoint).or()
|
throw new BadRequestException("找不到对应的分切计划!");
|
||||||
.eq(BstIvtCutpointivt::getTruss_point_code2, endPoint));
|
}
|
||||||
|
// 当前套轴的分切计划
|
||||||
|
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
||||||
|
String area = demoPlan.getResource_name().substring(0, 2);
|
||||||
|
// 查找是否有同组的气胀轴位置
|
||||||
|
BstIvtCutpointivt cutPoint = slitterMapper.getSameGroupPoint(demoPlan);
|
||||||
|
if (ObjectUtil.isEmpty(cutPoint)) {
|
||||||
|
// 也有可能在路上, 获取任务的终点
|
||||||
|
String endPoint = slitterMapper.getSameGroupTaskPoint(demoPlan);
|
||||||
|
if (ObjectUtil.isNotEmpty(endPoint)) {
|
||||||
|
cutPoint = bcutpointivtService.getOne(new LambdaQueryWrapper<BstIvtCutpointivt>()
|
||||||
|
.eq(BstIvtCutpointivt::getTruss_point_code1, endPoint).or()
|
||||||
|
.eq(BstIvtCutpointivt::getTruss_point_code2, endPoint));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(cutPoint)) {
|
||||||
|
// 获取一个空位 todo: 枷锁
|
||||||
|
List<BstIvtCutpointivt> emptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1", "1", "1");
|
||||||
|
if (emptyNotTaskPoint.size() == 0) {
|
||||||
|
throw new BadRequestException("找不到可用套轴对接位!");
|
||||||
|
}
|
||||||
|
cutPoint = emptyNotTaskPoint.get(0);
|
||||||
|
}
|
||||||
|
// 分切计划设置套轴完成
|
||||||
|
String qzzNo = IdUtil.getSnowflake(1,1).nextIdStr();
|
||||||
|
plans.forEach(plan -> {
|
||||||
|
plan.setIs_child_tz_ok("1");
|
||||||
|
plan.setQzzno(qzzNo);
|
||||||
|
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
||||||
|
});
|
||||||
|
slittingproductionplanService.updateBatchById(plans);
|
||||||
|
// 创建任务
|
||||||
|
JSONObject taskParam = new JSONObject();
|
||||||
|
taskParam.put("point_code1", startPoint.getPoint_code());
|
||||||
|
taskParam.put("point_code2", "1".equals(demoPlan.getUp_or_down())
|
||||||
|
? cutPoint.getTruss_point_code1() : cutPoint.getTruss_point_code2());
|
||||||
|
taskParam.put("vehicle_code1", "1".equals(demoPlan.getUp_or_down()) ? qzzNo : "");
|
||||||
|
taskParam.put("vehicle_code2", "2".equals(demoPlan.getUp_or_down()) ? qzzNo : "");
|
||||||
|
taskParam.put("task_type", "6");
|
||||||
|
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
|
trussSendAirShaftTask.createTask(taskParam);
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("系统繁忙,稍后在试");
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isEmpty(cutPoint)) {
|
res.put("code", HttpStatus.HTTP_OK);
|
||||||
// 获取一个空位
|
|
||||||
List<BstIvtCutpointivt> emptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1", "1", "1");
|
|
||||||
if (emptyNotTaskPoint.size() == 0) {
|
|
||||||
throw new BadRequestException("找不到可用套轴对接位!");
|
|
||||||
}
|
|
||||||
cutPoint = emptyNotTaskPoint.get(0);
|
|
||||||
}
|
|
||||||
// 分切计划设置套轴完成
|
|
||||||
String qzzNo = IdUtil.getSnowflake(1,1).nextIdStr();
|
|
||||||
plans.forEach(plan -> {
|
|
||||||
plan.setIs_child_tz_ok("1");
|
|
||||||
plan.setQzzno(qzzNo);
|
|
||||||
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
|
||||||
});
|
|
||||||
slittingproductionplanService.updateBatchById(plans);
|
|
||||||
// 创建任务
|
|
||||||
JSONObject taskParam = new JSONObject();
|
|
||||||
taskParam.put("point_code1", startPoint.getPoint_code());
|
|
||||||
taskParam.put("point_code2", "1".equals(demoPlan.getUp_or_down())
|
|
||||||
? cutPoint.getTruss_point_code1() : cutPoint.getTruss_point_code2());
|
|
||||||
taskParam.put("vehicle_code1", "1".equals(demoPlan.getUp_or_down()) ? qzzNo : "");
|
|
||||||
taskParam.put("vehicle_code2", "2".equals(demoPlan.getUp_or_down()) ? qzzNo : "");
|
|
||||||
taskParam.put("task_type", "6");
|
|
||||||
taskParam.put("product_area", "Test");
|
|
||||||
trussSendAirShaftTask.createTask(taskParam);
|
|
||||||
res.put("status", HttpStatus.HTTP_OK);
|
|
||||||
res.put("message", "请求成功");
|
res.put("message", "请求成功");
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@@ -239,7 +305,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
taskParam.put("truss_type", "1");
|
taskParam.put("truss_type", "1");
|
||||||
taskParam.put("empty_site", "0");
|
taskParam.put("empty_site", "0");
|
||||||
}
|
}
|
||||||
taskParam.put("product_area", "Test");
|
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
// 分切计划修改状态 05 -> 06
|
// 分切计划修改状态 05 -> 06
|
||||||
currentPlans.forEach(plan -> {
|
currentPlans.forEach(plan -> {
|
||||||
plan.setStatus("06");
|
plan.setStatus("06");
|
||||||
@@ -260,7 +326,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
PdmBiSlittingproductionplan nextDownPlan = nextPlans.stream().filter(p -> "2".equals(p.getUp_or_down())).findFirst().orElse(null);
|
PdmBiSlittingproductionplan nextDownPlan = nextPlans.stream().filter(p -> "2".equals(p.getUp_or_down())).findFirst().orElse(null);
|
||||||
// 找到该分切计划的点位
|
// 找到该分切计划的点位
|
||||||
LambdaQueryWrapper<BstIvtCutpointivt> newCutLam = new QueryWrapper<BstIvtCutpointivt>().lambda();
|
LambdaQueryWrapper<BstIvtCutpointivt> newCutLam = new QueryWrapper<BstIvtCutpointivt>().lambda();
|
||||||
newCutLam.eq(BstIvtCutpointivt::getPoint_type, "3").eq(BstIvtCutpointivt::getPoint_status, "1")
|
newCutLam.eq(BstIvtCutpointivt::getPoint_type, "3").eq(BstIvtCutpointivt::getPoint_status, "2")
|
||||||
.eq(BstIvtCutpointivt::getIs_used, "1");
|
.eq(BstIvtCutpointivt::getIs_used, "1");
|
||||||
if (nextUpPlan != null) {
|
if (nextUpPlan != null) {
|
||||||
newCutLam.eq(BstIvtCutpointivt::getQzz_no1, nextUpPlan.getQzzno());
|
newCutLam.eq(BstIvtCutpointivt::getQzz_no1, nextUpPlan.getQzzno());
|
||||||
@@ -318,6 +384,7 @@ public class SlitterServiceImpl implements SlitterService {
|
|||||||
throw new BadRequestException("错误表达式");
|
throw new BadRequestException("错误表达式");
|
||||||
}
|
}
|
||||||
// 创建任务
|
// 创建任务
|
||||||
|
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||||
slitterDownTrussTask.createTask(taskParam);
|
slitterDownTrussTask.createTask(taskParam);
|
||||||
// 下来的分切计划修改状态:05 -> 06
|
// 下来的分切计划修改状态:05 -> 06
|
||||||
currentPlans.forEach(plan -> {
|
currentPlans.forEach(plan -> {
|
||||||
|
|||||||
@@ -93,21 +93,21 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="queryPdaAuthority" resultType="com.alibaba.fastjson.JSONObject">
|
<select id="queryPdaAuthority" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
SELECT
|
SELECT
|
||||||
max( sys_user.user_id )as accountId,
|
max( sys_user.user_id ) AS accountId,
|
||||||
max( sys_user.username ) as username,
|
max( sys_user.username ) AS username,
|
||||||
max( sys_roles_menus.menu_id ) as menu_id,
|
max( sys_roles_menus.menu_id ) AS menu_id,
|
||||||
max( sys_menu.component ) as component,
|
max( sys_menu.component ) AS component,
|
||||||
max( sys_menu.path ) as path,
|
max( sys_menu.path ) AS path,
|
||||||
max( sys_menu.`name` ) as name
|
max( sys_menu.component_name ) AS component_name
|
||||||
FROM
|
FROM
|
||||||
sys_user AS sys_user
|
sys_user sys_user
|
||||||
LEFT JOIN sys_users_roles AS sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
|
LEFT JOIN sys_users_roles sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
|
||||||
LEFT JOIN sys_role AS sys_role ON sys_role.role_id = sys_users_roles.role_id
|
LEFT JOIN sys_role sys_role ON sys_role.role_id = sys_users_roles.role_id
|
||||||
LEFT JOIN sys_roles_menus AS sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
|
LEFT JOIN sys_roles_menus sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
|
||||||
LEFT JOIN sys_menu AS sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
|
LEFT JOIN sys_menu sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
|
||||||
WHERE
|
WHERE
|
||||||
sys_menu.path LIKE 'RF%'
|
sys_menu.component_name LIKE 'RF%'
|
||||||
and sys_menu.is_pc='0'
|
and sys_menu.is_pc = '0'
|
||||||
AND sys_menu.hidden = 0
|
AND sys_menu.hidden = 0
|
||||||
<if test="accountId != null">
|
<if test="accountId != null">
|
||||||
AND sys_user.user_id = #{accountId}
|
AND sys_user.user_id = #{accountId}
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
sys_menu.title,
|
sys_menu.title,
|
||||||
sys_menu.component,
|
sys_menu.component,
|
||||||
sys_menu.path,
|
sys_menu.path,
|
||||||
sys_menu.NAME,
|
sys_menu.component_name,
|
||||||
sys_menu.menu_sort
|
sys_menu.menu_sort
|
||||||
ORDER BY sys_menu.menu_sort
|
ORDER BY sys_menu.menu_sort
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -463,7 +463,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> queryAuthority(Map<String, String> param) {
|
public Map<String, Object> queryAuthority(Map<String, String> param) {
|
||||||
String accountId = SecurityUtils.getCurrentUserId();
|
String accountId = "1";
|
||||||
JSONObject returnjo = new JSONObject();
|
JSONObject returnjo = new JSONObject();
|
||||||
if (StrUtil.isEmpty(accountId)) {
|
if (StrUtil.isEmpty(accountId)) {
|
||||||
returnjo.put("code", "0");
|
returnjo.put("code", "0");
|
||||||
@@ -480,7 +480,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
|||||||
for (int i = 0; i < SecondResults.size(); i++) {
|
for (int i = 0; i < SecondResults.size(); i++) {
|
||||||
JSONObject row = SecondResults.getJSONObject(i);
|
JSONObject row = SecondResults.getJSONObject(i);
|
||||||
String menu_id = row.getString("menu_id");
|
String menu_id = row.getString("menu_id");
|
||||||
JSONArray ThirdResults = baseMapper.queryPdaAuthority(accountId, "1", menu_id);
|
JSONArray ThirdResults = baseMapper.queryPdaAuthority(accountId, "2", menu_id);
|
||||||
row.put("sonTree", ThirdResults);
|
row.put("sonTree", ThirdResults);
|
||||||
roleTree.add(row);
|
roleTree.add(row);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public class AcsTaskDto {
|
|||||||
* 扩展参数
|
* 扩展参数
|
||||||
*/
|
*/
|
||||||
private String params;
|
private String params;
|
||||||
|
private String params2;
|
||||||
/**
|
/**
|
||||||
* 温度
|
* 温度
|
||||||
*/
|
*/
|
||||||
@@ -109,7 +110,11 @@ public class AcsTaskDto {
|
|||||||
* 任务扩展字段
|
* 任务扩展字段
|
||||||
*/
|
*/
|
||||||
private String interaction_json;
|
private String interaction_json;
|
||||||
|
/**
|
||||||
|
* 空点位
|
||||||
|
*/
|
||||||
|
private String empty_site;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import java.util.Map;
|
|||||||
**/
|
**/
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
||||||
@RequestMapping("/api/task")
|
@RequestMapping("/api/task")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TaskController {
|
public class TaskController {
|
||||||
@@ -31,15 +30,12 @@ public class TaskController {
|
|||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
@Log("查询任务")
|
@Log("查询任务")
|
||||||
|
|
||||||
//@SaCheckPermission("task:list")
|
|
||||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||||
return new ResponseEntity<>(taskService.queryAll(whereJson, page), HttpStatus.OK);
|
return new ResponseEntity<>(taskService.queryAll(whereJson, page), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/taskStatus")
|
@GetMapping("/taskStatus")
|
||||||
@Log("获取任务状态列表")
|
@Log("获取任务状态列表")
|
||||||
|
|
||||||
public ResponseEntity<Object> getTaskStatus() {
|
public ResponseEntity<Object> getTaskStatus() {
|
||||||
TaskStatusEnum[] values = TaskStatusEnum.values();
|
TaskStatusEnum[] values = TaskStatusEnum.values();
|
||||||
JSONArray arr = new JSONArray();
|
JSONArray arr = new JSONArray();
|
||||||
@@ -59,7 +55,6 @@ public class TaskController {
|
|||||||
|
|
||||||
@GetMapping("/finishType")
|
@GetMapping("/finishType")
|
||||||
@Log("获取任务类型列表")
|
@Log("获取任务类型列表")
|
||||||
|
|
||||||
public ResponseEntity<Object> getFinishType() {
|
public ResponseEntity<Object> getFinishType() {
|
||||||
FinishTypeEnum[] values = FinishTypeEnum.values();
|
FinishTypeEnum[] values = FinishTypeEnum.values();
|
||||||
JSONArray arr = new JSONArray();
|
JSONArray arr = new JSONArray();
|
||||||
@@ -74,8 +69,6 @@ public class TaskController {
|
|||||||
|
|
||||||
@PutMapping("/operation")
|
@PutMapping("/operation")
|
||||||
@Log("任务操作")
|
@Log("任务操作")
|
||||||
|
|
||||||
//@SaCheckPermission("task:edit")
|
|
||||||
public ResponseEntity<Object> update(@RequestBody Map<String, Object> map) {
|
public ResponseEntity<Object> update(@RequestBody Map<String, Object> map) {
|
||||||
taskService.operation(map);
|
taskService.operation(map);
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class TaskServiceImpl implements TaskService {
|
|||||||
UserAreaServiceImpl userAreaService = new UserAreaServiceImpl();
|
UserAreaServiceImpl userAreaService = new UserAreaServiceImpl();
|
||||||
String in_area_id = userAreaService.getInArea();
|
String in_area_id = userAreaService.getInArea();
|
||||||
if (ObjectUtil.isNotEmpty(in_area_id)) {
|
if (ObjectUtil.isNotEmpty(in_area_id)) {
|
||||||
map.put("in_area_id", in_area_id);
|
// map.put("in_area_id", in_area_id);
|
||||||
}
|
}
|
||||||
JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
|
JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
|
||||||
JSONArray content = json.getJSONArray("content");
|
JSONArray content = json.getJSONArray("content");
|
||||||
|
|||||||
Reference in New Issue
Block a user