opt: 优化任务优先级,组盘管理的页面显示
This commit is contained in:
@@ -135,4 +135,11 @@ public class HandheldController {
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectPointByRegion")
|
||||
@Log("根据工序查询设备点位")
|
||||
public ResponseEntity<Object> selectPointByRegion(String regionCode) {
|
||||
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode),HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -107,4 +107,10 @@ public interface HandheldService {
|
||||
* @return
|
||||
*/
|
||||
boolean isLock();
|
||||
|
||||
/**
|
||||
* 根据工序获取所有设备点位
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> selectPointByRegion(String regionCode);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
@@ -394,29 +395,39 @@ public class HandheldServiceImpl implements HandheldService {
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
||||
public String pointLock(JSONObject param) {
|
||||
Assert.noNullElements(new Object[]{param.getString("region_code"), param.getString("status")}, "参数不能为空!");
|
||||
JSONArray region_code = param.getJSONArray("region_code");
|
||||
String region_code = param.getString("region_code");
|
||||
String status = param.getString("status");
|
||||
region_code.stream().forEach(region -> {
|
||||
String s = StrUtil.toString(region);
|
||||
SchBaseRegion schBaseRegion = iSchBaseRegionService.getOne(Wrappers.lambdaQuery(SchBaseRegion.class)
|
||||
.eq(SchBaseRegion::getRegion_code, s));
|
||||
if (ObjectUtil.isEmpty(schBaseRegion)) throw new BadRequestException("该区域不存在!");
|
||||
List<String> pointCodes = iSchBasePointService.getByRegionCode(s);
|
||||
if (StrUtil.equals(status, "0")) {
|
||||
iSchBasePointService.releasePoint(s);
|
||||
iSchBaseTaskService.updateTaskStatusByPointCode(pointCodes);
|
||||
} else if (StrUtil.equals(status, "1")) {
|
||||
boolean is_executing = iSchBaseTaskService.selectByPointCodeAndStatus(pointCodes);
|
||||
if (is_executing) {
|
||||
throw new BadRequestException("该区域有任务正在执行,请等待任务执行完成再锁定!");
|
||||
}
|
||||
iSchBaseTaskService.selectByPointCodeAndTaskStatus(pointCodes);
|
||||
iSchBasePointService.lockPoint(s);
|
||||
SchBaseRegion schBaseRegion = iSchBaseRegionService.getOne(Wrappers.lambdaQuery(SchBaseRegion.class)
|
||||
.eq(SchBaseRegion::getRegion_code, region_code));
|
||||
if (ObjectUtil.isEmpty(schBaseRegion)) throw new BadRequestException("该区域不存在!");
|
||||
List<String> pointCodes = iSchBasePointService.getByRegionCode(region_code);
|
||||
if (StrUtil.equals(status, "0")) {
|
||||
iSchBaseTaskService.updateTaskStatusByPointCode(pointCodes);
|
||||
if (param.getJSONArray("pointCodes").size() > 0) {
|
||||
param.getJSONArray("pointCodes").stream().forEach(pointCode -> {
|
||||
cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(pointCode);
|
||||
iSchBaseVehiclematerialgroupService.remove(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(SchBaseVehiclematerialgroup::getVehicle_code, jsonObject.get("vehicle_code")));
|
||||
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getPoint_code, jsonObject.get("point_code"))
|
||||
.set(SchBasePoint::getPoint_status, GoodsEnum.OUT_OF_STOCK.getValue())
|
||||
.set(SchBasePoint::getIs_lock, false)
|
||||
.set(SchBasePoint::getVehicle_code, null));
|
||||
});
|
||||
}
|
||||
});
|
||||
return "操作成功";
|
||||
iSchBasePointService.updatePointLock(region_code, false);
|
||||
} else if (StrUtil.equals(status, "1")) {
|
||||
boolean is_executing = iSchBaseTaskService.selectByPointCodeAndStatus(pointCodes);
|
||||
if (is_executing) {
|
||||
throw new BadRequestException("该区域有任务正在执行,请等待任务执行完成再锁定!");
|
||||
}
|
||||
iSchBaseTaskService.selectByPointCodeAndTaskStatus(pointCodes);
|
||||
iSchBasePointService.updatePointLock(region_code, true);
|
||||
}
|
||||
return "succeed";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -625,4 +636,11 @@ public class HandheldServiceImpl implements HandheldService {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<JSONObject> selectPointByRegion(String regionCode) {
|
||||
Assert.notNull(regionCode, "参数不能为空!");
|
||||
return iSchBasePointService.selectPointByRegion(regionCode);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ public class SortingServiceImpl implements SortingService {
|
||||
//TODO:呼叫两个空笼框
|
||||
if (SortingEnum.TASK_TYPE_ONE.getValue().equals(task_type) && SortingEnum.IS_EMPTY.getValue().equals(is_empty)) {
|
||||
taskParam.put("device_code", pointCode + "_01");
|
||||
taskParam.put("task_seq", "1");
|
||||
taskParam.put("task_seq", "2");
|
||||
taskParam.put("config_code", "SortingTwoCNTTask");
|
||||
taskParam.put("task_code", task_code + "A");
|
||||
connectorTask.apply(taskParam);
|
||||
@@ -141,7 +141,7 @@ public class SortingServiceImpl implements SortingService {
|
||||
.set("remark", task_code)
|
||||
.eq("point_code", pointCode + "_01"));
|
||||
taskParam.put("device_code", pointCode + "_02");
|
||||
taskParam.put("task_seq", "2");
|
||||
taskParam.put("task_seq", "1");
|
||||
taskParam.put("task_code", task_code + "B");
|
||||
connectorTask.apply(taskParam);
|
||||
iSchBasePointService.update(new UpdateWrapper<SchBasePoint>()
|
||||
@@ -164,7 +164,7 @@ public class SortingServiceImpl implements SortingService {
|
||||
}
|
||||
taskParam.put("config_code", "SortingSMTTask");
|
||||
taskParam.put("vehicle_code", vehicle_code);
|
||||
taskParam.put("task_seq", "2");
|
||||
taskParam.put("task_seq", "1");
|
||||
taskParam.put("device_code", pointCode + "_01");
|
||||
taskParam.put("task_code", task_code + "A");
|
||||
connectorTask.apply(taskParam);
|
||||
@@ -176,7 +176,7 @@ public class SortingServiceImpl implements SortingService {
|
||||
taskParam = new JSONObject(MapOf.of("task_code", task_code, "job_name", jobname, "device_code", pointCode, "requestNo"
|
||||
, "sorting_" + IdUtil.getStringId(), "ext_data", jsonObject, "vehicle_code", vehicle_code, "ext_data", jsonObject));
|
||||
taskParam.put("config_code", "SortingSMTTask");
|
||||
taskParam.put("task_seq", "1");
|
||||
taskParam.put("task_seq", "2");
|
||||
taskParam.put("vehicle_code", jsonObject.getString("vehicle_code2"));
|
||||
taskParam.put("device_code", pointCode + "_02");
|
||||
taskParam.put("task_code", task_code + "B");
|
||||
|
||||
@@ -72,4 +72,12 @@ public class SchBaseVehiclematerialgroupController {
|
||||
public ResponseEntity<Object> getGroup(@RequestBody JSONObject entity){
|
||||
return new ResponseEntity<>(schBaseVehiclematerialgroupService.getGroup(entity), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/selectByVehicleCode")
|
||||
@Log("根据载具号获取阻盘信息")
|
||||
@ApiOperation("根据载具号获取阻盘信息")
|
||||
public ResponseEntity<Object> selectByVehicleCode(@RequestBody JSONObject entity){
|
||||
return new ResponseEntity<>(schBaseVehiclematerialgroupService.selectByVehicleCode(entity), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,4 +80,11 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
||||
* @return
|
||||
*/
|
||||
List<Map> selectMaterialByVehicleCode(String vehicle_code);
|
||||
|
||||
/**
|
||||
* 根据载具号查找物料信息
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
List<SchBaseVehiclematerialgroup> selectByVehicleCode(JSONObject entity);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
@@ -162,6 +163,12 @@ public class SchBaseVehiclematerialgroup implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String material_name;
|
||||
@TableField(exist = false)
|
||||
private String theLocation;
|
||||
@TableField(exist = false)
|
||||
private boolean hasChildren;
|
||||
@TableField(exist = false)
|
||||
private List<SchBaseVehiclematerialgroup> children;
|
||||
@TableField(exist = false)
|
||||
private String material_code;
|
||||
@TableField(exist = false)
|
||||
private String material_spec;
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||
|
||||
@@ -12,9 +13,9 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
* @date 2023-05-16
|
||||
**/
|
||||
* @author lyd
|
||||
* @date 2023-05-16
|
||||
**/
|
||||
public interface SchBaseVehiclematerialgroupMapper extends BaseMapper<SchBaseVehiclematerialgroup> {
|
||||
|
||||
IPage<SchBaseVehiclematerialgroup> selectPageLeftJoin(IPage<SchBaseVehiclematerialgroup> pages, SchBaseVehiclematerialgroupQuery query);
|
||||
@@ -24,4 +25,6 @@ public interface SchBaseVehiclematerialgroupMapper extends BaseMapper<SchBaseVeh
|
||||
List<String> selectOrders(@Param("list") List<String> vehicleCodes);
|
||||
|
||||
List<Map> selectMaterialByVehicleCode(String vehicle_code);
|
||||
|
||||
IPage<SchBaseVehiclematerialgroup> selectAllByPage(IPage<SchBaseVehiclematerialgroup> page, @Param("query") SchBaseVehiclematerialgroupQuery query);
|
||||
}
|
||||
|
||||
@@ -71,5 +71,29 @@
|
||||
GROUP BY
|
||||
sbv.order_code
|
||||
</select>
|
||||
|
||||
<select id="selectAllByPage" resultType="org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup">
|
||||
WITH RankedVehicles AS (
|
||||
SELECT
|
||||
vg.*,
|
||||
ROW_NUMBER() OVER (PARTITION BY vg.vehicle_code ORDER BY vg.due_date) AS rn
|
||||
FROM
|
||||
sch_base_vehiclematerialgroup vg
|
||||
where 1=1
|
||||
<if test="query.vehicle_code != null">
|
||||
AND vg.vehicle_code = #{query.vehicle_code}
|
||||
</if>
|
||||
<if test="query.workshop_code != null">
|
||||
AND vg.workshop_code = #{query.workshop_code}
|
||||
</if>
|
||||
<if test="query.job_name != null">
|
||||
AND vg.job_name = #{query.job_name}
|
||||
</if>
|
||||
<if test="query.region_code != null">
|
||||
AND vg.region_code = #{query.region_code}
|
||||
</if>
|
||||
)
|
||||
SELECT *
|
||||
FROM RankedVehicles
|
||||
WHERE rn = 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.process_flow.service.ProcessFlowService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -49,19 +50,13 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
private IMdBaseMaterialService iMdBaseMaterialService;
|
||||
@Autowired
|
||||
private ProcessFlowService processFlowService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
|
||||
@Override
|
||||
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page) {
|
||||
IPage<SchBaseVehiclematerialgroup> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
IPage<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroupIPage = vehiclematerialgroupMapper.selectPage(pages, Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(StrUtil.isNotBlank(whereJson.getVehicle_code()), SchBaseVehiclematerialgroup::getVehicle_code, whereJson.getVehicle_code())
|
||||
.eq(StrUtil.isNotBlank(whereJson.getWorkshop_code()), SchBaseVehiclematerialgroup::getWorkshop_code, whereJson.getWorkshop_code())
|
||||
.eq(StrUtil.isNotBlank(whereJson.getJob_name()), SchBaseVehiclematerialgroup::getJob_name, whereJson.getJob_name())
|
||||
.eq(StrUtil.isNotBlank(whereJson.getRegion_code()), SchBaseVehiclematerialgroup::getRegion_code, whereJson.getRegion_code()));
|
||||
IPage<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroupIPage = vehiclematerialgroupMapper.selectAllByPage(pages, whereJson);
|
||||
schBaseVehiclematerialgroupIPage.getRecords().forEach(item -> {
|
||||
if (StrUtil.isNotBlank(item.getMaterial_id())) {
|
||||
MdBaseMaterial mdBaseMaterial = iMdBaseMaterialService.getOne(Wrappers.lambdaQuery(MdBaseMaterial.class)
|
||||
@@ -73,11 +68,23 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
}
|
||||
}
|
||||
if (StrUtil.isNotBlank(item.getRegion_code())) {
|
||||
// item.setRegion_name(pointService.list(Wrappers.lambdaQuery(SchBasePoint.class).eq(SchBasePoint::getRegion_code, item.getRegion_code())).get(0).getRegion_name());
|
||||
item.setRegion_name(item.getRegion_code());
|
||||
} else {
|
||||
item.setRegion_name("未知");
|
||||
}
|
||||
SchBasePoint one = pointService.getOne(Wrappers.lambdaQuery(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getVehicle_code, item.getVehicle_code()));
|
||||
if (ObjectUtil.isNotEmpty(one)) {
|
||||
item.setTheLocation(one.getPoint_name());
|
||||
}
|
||||
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(SchBaseVehiclematerialgroup::getVehicle_code, item.getVehicle_code())
|
||||
.ne(SchBaseVehiclematerialgroup::getGroup_id, item.getGroup_id()));
|
||||
if (CollUtil.isNotEmpty(schBaseVehiclematerialgroups)) {
|
||||
item.setHasChildren(true);
|
||||
item.setChildren(schBaseVehiclematerialgroups);
|
||||
}
|
||||
});
|
||||
// pages = vehiclematerialgroupMapper.selectPageLeftJoin(pages, whereJson);
|
||||
return schBaseVehiclematerialgroupIPage;
|
||||
}
|
||||
|
||||
@@ -158,7 +165,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
}
|
||||
});
|
||||
maps = maps.stream().sorted(Comparator.comparingLong(order -> {
|
||||
if(ObjectUtil.isNotEmpty(order.get("due_date"))){
|
||||
if (ObjectUtil.isNotEmpty(order.get("due_date"))) {
|
||||
return getTime(StrUtil.toString(order.get("due_date")));
|
||||
}
|
||||
return 0;
|
||||
@@ -166,7 +173,15 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
return maps;
|
||||
}
|
||||
|
||||
private Long getTime(String dateString){
|
||||
@Override
|
||||
public List<SchBaseVehiclematerialgroup> selectByVehicleCode(JSONObject entity) {
|
||||
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(SchBaseVehiclematerialgroup::getVehicle_code, entity.getString("vehicle_code"))
|
||||
.ne(SchBaseVehiclematerialgroup::getGroup_id, entity.getString("group_id")));
|
||||
return schBaseVehiclematerialgroups;
|
||||
}
|
||||
|
||||
private Long getTime(String dateString) {
|
||||
String pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
java.util.Date date = DateUtil.parse(dateString, pattern);
|
||||
long timestamp = date.getTime();
|
||||
|
||||
@@ -92,7 +92,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
*
|
||||
* @param region_code
|
||||
*/
|
||||
SchBasePoint selectByRegionCode(String region_code, String vehicleCode,String point_type);
|
||||
SchBasePoint selectByRegionCode(String region_code, String vehicleCode, String point_type);
|
||||
|
||||
/**
|
||||
* 根据工序查询区域空载具
|
||||
@@ -158,37 +158,35 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
* @param vehicle_type
|
||||
* @return
|
||||
*/
|
||||
SchBasePoint selectByGroundPoint(String region_code,String pointStatus, String vehicle_type, int seq);
|
||||
SchBasePoint selectByGroundPoint(String region_code, String pointStatus, String vehicle_type, int seq);
|
||||
|
||||
|
||||
/**
|
||||
* 呼叫空料笼
|
||||
*
|
||||
* @param region_code
|
||||
* @param vehicle_type
|
||||
* @return
|
||||
*/
|
||||
SchBasePoint selectByEmptyCage(String region_code,String vehicle_type,String pointStatus ,boolean isVehicle,SchBaseTask task);
|
||||
SchBasePoint selectByEmptyCage(String region_code, String vehicle_type, String pointStatus, boolean isVehicle, SchBaseTask task);
|
||||
|
||||
/**
|
||||
* 释放点位
|
||||
* 修改点位锁状态
|
||||
*
|
||||
* @param region_code
|
||||
*/
|
||||
void releasePoint(String region_code);
|
||||
|
||||
/**
|
||||
* 锁定点位
|
||||
* @param region_code
|
||||
*/
|
||||
void lockPoint(String region_code);
|
||||
void updatePointLock(String region_code, Boolean lock);
|
||||
|
||||
/**
|
||||
* 根据区域编码查找点位名称
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
List<String> getByRegionCode(String region_code);
|
||||
|
||||
/**
|
||||
* 查找地面区域的空点位
|
||||
*
|
||||
* @param targetRegionCode
|
||||
* @param value
|
||||
*/
|
||||
@@ -201,8 +199,17 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
|
||||
/**
|
||||
* 根据工序查询订单
|
||||
*
|
||||
* @param regionCode
|
||||
* @return
|
||||
*/
|
||||
List<OrderMater> selectOrder(String regionCode);
|
||||
|
||||
/**
|
||||
* 根据工序查找设备点位
|
||||
*
|
||||
* @param regionCode
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> selectPointByRegion(String regionCode);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.sch.point.service.dao.mapper;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.ext.fab.service.dto.OrderMater;
|
||||
@@ -29,4 +30,11 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
||||
List<String> selectByRegionCode(@Param("region_code") String region_code);
|
||||
|
||||
List<Map> selectJobDevice();
|
||||
|
||||
/**
|
||||
* 根据工序查询设备点位
|
||||
* @param regionCode
|
||||
* @return
|
||||
*/
|
||||
List<JSONObject> selectPointByRegion(String regionCode);
|
||||
}
|
||||
|
||||
@@ -13,48 +13,54 @@
|
||||
</where>
|
||||
</update>
|
||||
<select id="selectByIdLock" resultType="org.nl.wms.sch.point.service.dao.SchBasePoint">
|
||||
SELECT
|
||||
p.*
|
||||
FROM
|
||||
`sch_base_point` p
|
||||
SELECT p.*
|
||||
FROM `sch_base_point` p
|
||||
WHERE p.point_code = #{id}
|
||||
FOR UPDATE
|
||||
</select>
|
||||
<select id="getStructList" resultType="org.nl.wms.ext.fab.service.dto.OrderMater">
|
||||
SELECT
|
||||
sch_base_point.point_code,
|
||||
sch_base_point.vehicle_code,
|
||||
sch_base_vehiclematerialgroup.material_id,
|
||||
sch_base_vehiclematerialgroup.material_qty,
|
||||
sch_base_vehiclematerialgroup.region_code,
|
||||
sch_base_vehiclematerialgroup.order_code,
|
||||
sch_base_vehiclematerialgroup.due_date,
|
||||
sch_base_vehiclematerialgroup.has_work
|
||||
sch_base_point.point_code,
|
||||
sch_base_point.vehicle_code,
|
||||
sch_base_vehiclematerialgroup.material_id,
|
||||
sch_base_vehiclematerialgroup.material_qty,
|
||||
sch_base_vehiclematerialgroup.region_code,
|
||||
sch_base_vehiclematerialgroup.order_code,
|
||||
sch_base_vehiclematerialgroup.due_date,
|
||||
sch_base_vehiclematerialgroup.has_work
|
||||
FROM
|
||||
sch_base_point
|
||||
inner JOIN sch_base_vehiclematerialgroup ON sch_base_point.vehicle_code = sch_base_vehiclematerialgroup.vehicle_code
|
||||
sch_base_point
|
||||
inner JOIN sch_base_vehiclematerialgroup ON sch_base_point.vehicle_code =
|
||||
sch_base_vehiclematerialgroup.vehicle_code
|
||||
WHERE
|
||||
is_lock = FALSE
|
||||
AND sch_base_point.vehicle_code IS NOT NULL
|
||||
and sch_base_point.point_status = '2'
|
||||
is_lock = FALSE
|
||||
AND sch_base_point.vehicle_code IS NOT NULL
|
||||
and sch_base_point.point_status = '2'
|
||||
<if test="vehicle_type != null and vehicle_type != ''">
|
||||
and sch_base_point.can_vehicle_type = #{vehicle_type}
|
||||
</if>
|
||||
<if test="due_date != null and due_date != ''">
|
||||
and #{due_date} > sch_base_vehiclematerialgroup.due_date
|
||||
</if>
|
||||
AND sch_base_vehiclematerialgroup.region_code = #{region_code}
|
||||
AND sch_base_vehiclematerialgroup.region_code = #{region_code}
|
||||
|
||||
</select>
|
||||
<select id="selectByRegionCode" resultType="java.lang.String">
|
||||
select
|
||||
sbp.point_code
|
||||
from
|
||||
sch_base_point sbp
|
||||
where
|
||||
sbp.region_code = #{region_code}
|
||||
select sbp.point_code
|
||||
from sch_base_point sbp
|
||||
where sbp.region_code = #{region_code}
|
||||
</select>
|
||||
<select id="selectJobDevice" resultType="java.util.Map">
|
||||
select sbp.point_code,sbp.point_name from sch_base_point sbp where is_lock = true and region_code = 'GZQ' and region_points is not null
|
||||
select sbp.point_code, sbp.point_name
|
||||
from sch_base_point sbp
|
||||
where is_lock = true
|
||||
and region_code = 'GZQ'
|
||||
and region_points is not null
|
||||
</select>
|
||||
<select id="selectPointByRegion" resultType="com.alibaba.fastjson.JSONObject"
|
||||
parameterType="java.lang.String">
|
||||
select point_code, point_name
|
||||
from sch_base_point
|
||||
where region_code = #{regionCode}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -467,13 +467,10 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releasePoint(String region_code) {
|
||||
update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getRegion_code, region_code).set(SchBasePoint::getIs_lock, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lockPoint(String region_code) {
|
||||
update(Wrappers.lambdaUpdate(SchBasePoint.class).eq(SchBasePoint::getRegion_code, region_code).set(SchBasePoint::getIs_lock, true));
|
||||
public void updatePointLock(String region_code, Boolean lock) {
|
||||
update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||
.eq(SchBasePoint::getRegion_code, region_code)
|
||||
.set(SchBasePoint::getIs_lock, lock));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -519,6 +516,11 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
return collect;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<JSONObject> selectPointByRegion(String regionCode) {
|
||||
return pointMapper.selectPointByRegion(regionCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderMater> getStructList(String region_code, String vehicle_type) {
|
||||
//1.查询的结果一个托盘有多个800,PC需要怎么展示?
|
||||
@@ -543,7 +545,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
return collect;
|
||||
}
|
||||
|
||||
private Long getTime(String dateString){
|
||||
private Long getTime(String dateString) {
|
||||
String pattern = "yyyy-MM-dd HH:mm:ss";
|
||||
java.util.Date date = DateUtil.parse(dateString, pattern);
|
||||
long timestamp = date.getTime();
|
||||
|
||||
@@ -26,6 +26,8 @@ import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -67,7 +67,7 @@ public class CNTTask extends AbstractTask {
|
||||
// 找起点
|
||||
SchBasePoint schBasePoint = null;
|
||||
if (TaskType.CARRY_TASK.getValue().equals(task.getTask_type())) {
|
||||
schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.LAG_ROBOT_BEANDING_CELL.getRegion_code(), task.getVehicle_code(),"1");
|
||||
schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.LAG_ROBOT_BEANDING_CELL.getRegion_code(), task.getVehicle_code(), "1");
|
||||
}/* else if (TaskType.REASSIGN_TASK.getValue().equals(task.getTask_type())) {
|
||||
schBasePoint = schBasePointService.selectByReassign(RegionEnum.LAG_ROBOT_BEANDING_CELL.getRegion_code(), task.getVehicle_code());
|
||||
}*/
|
||||
@@ -85,6 +85,9 @@ public class CNTTask extends AbstractTask {
|
||||
task.setVehicle_type(schBasePoint.getCan_vehicle_type());
|
||||
task.setRemark("");
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
if (task.getPoint_code1().endsWith("2")) {
|
||||
task.setAcs_trace_id("4");
|
||||
}
|
||||
taskService.updateById(task);
|
||||
|
||||
schBasePoint.setIng_task_code(task.getTask_code());
|
||||
|
||||
@@ -72,9 +72,9 @@ public class SortingSMTTask extends AbstractTask {
|
||||
// 获取任务
|
||||
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||
// 配置信息
|
||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
|
||||
tasks = tasks.stream().sorted(Comparator.comparing(SchBaseTask::getAcs_trace_id)).collect(Collectors.toList());
|
||||
/*SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));*/
|
||||
tasks = tasks.stream().sorted(Comparator.comparing(SchBaseTask::getAcs_trace_id, Comparator.nullsLast(Comparator.naturalOrder())).reversed()).collect(Collectors.toList());
|
||||
for (SchBaseTask task : tasks) {
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
// 找起点
|
||||
|
||||
Reference in New Issue
Block a user