Merge remote-tracking branch 'origin/b_lms' into master_merge
This commit is contained in:
@@ -23,7 +23,9 @@ public interface BstIvtShafttubeivtMapper extends BaseMapper<BstIvtShafttubeivt>
|
||||
* @param location 位置(上下)
|
||||
* @return /
|
||||
*/
|
||||
List<BstIvtShafttubeivt> getNotTaskShaftCache(String qzzSize, String specification, String location);
|
||||
List<BstIvtShafttubeivt> getNotTaskShaftCache(@Param("qzzSize") String qzzSize,
|
||||
@Param("specification") String specification,
|
||||
@Param("location") String location);
|
||||
|
||||
/**
|
||||
* 获取空气胀轴的气胀轴暂存位
|
||||
|
||||
@@ -29,7 +29,9 @@
|
||||
WHERE b.have_qzz = '1'
|
||||
AND b.point_type = '6'
|
||||
AND b.qzz_size = #{qzzSize}
|
||||
AND b.qzz_generation = #{specification}
|
||||
<if test="qzzSize != 6">
|
||||
AND b.qzz_generation = #{specification}
|
||||
</if>
|
||||
AND b.point_location = #{location}
|
||||
AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status <![CDATA[ < ]]> '07' AND t.point_code1 = b.point_code)
|
||||
ORDER BY b.sort_seq DESC
|
||||
|
||||
@@ -81,7 +81,7 @@ public class SlitterPdaController {
|
||||
}
|
||||
|
||||
@PostMapping("/toCleanCutCacheInventory")
|
||||
@Log("清理分切缓存到内包间")
|
||||
@Log("清理分切缓存")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> toCleanCutCacheInventory(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.toCleanCutCacheInventory(param), HttpStatus.OK);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.b_lms.pdm.bi.slittingproductionplan.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
@@ -77,4 +78,10 @@ public interface IPdmBiSlittingproductionplanService extends IService<PdmBiSlitt
|
||||
* @return /
|
||||
*/
|
||||
PdmBiSlittingproductionplan getByContainerName(String containerName);
|
||||
|
||||
/**
|
||||
* 设置气胀轴方向
|
||||
* @param whereJson /
|
||||
*/
|
||||
void setDirection(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@ package org.nl.b_lms.pdm.bi.slittingproductionplan.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -12,8 +15,10 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproducti
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -21,6 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
@@ -111,5 +117,29 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
|
||||
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDirection(JSONObject whereJson) {
|
||||
JSONArray data = whereJson.getJSONArray("data");
|
||||
String upOrDown = whereJson.getString("up_or_down");
|
||||
String leftOrRight = whereJson.getString("left_or_right");
|
||||
List<String> workorderId = SlitterTaskUtil.getAllStringByName(data, "workorder_id");
|
||||
if (ObjectUtil.isNotEmpty(upOrDown)) {
|
||||
// 设置上下轴
|
||||
PdmBiSlittingproductionplan demo = new PdmBiSlittingproductionplan();
|
||||
demo.setUp_or_down(upOrDown);
|
||||
TaskUtils.updateOptMessageBySlitterPlan(demo);
|
||||
this.saveOrUpdate(demo, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||
.in(PdmBiSlittingproductionplan::getWorkorder_id, workorderId));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(leftOrRight)) {
|
||||
// 设置上下轴
|
||||
PdmBiSlittingproductionplan demo = new PdmBiSlittingproductionplan();
|
||||
demo.setLeft_or_right(leftOrRight);
|
||||
TaskUtils.updateOptMessageBySlitterPlan(demo);
|
||||
this.saveOrUpdate(demo, new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
|
||||
.in(PdmBiSlittingproductionplan::getWorkorder_id, workorderId));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
WHERE b.point_status = '3'
|
||||
AND b.ivt_status = '3'
|
||||
AND a.sale_order_name = #{sale_order_name}
|
||||
ORDER BY box_group DESC
|
||||
ORDER BY box_group
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
@@ -295,8 +295,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
Set<String> containerNameList = packagerelationList.stream()
|
||||
.map(PdmBiSubpackagerelation::getContainer_name)
|
||||
.collect(Collectors.toSet());
|
||||
BigDecimal totalWeight;
|
||||
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().in(PdmBiSlittingproductionplan::getContainer_name, containerNameList));
|
||||
if (CollectionUtils.isEmpty(planList)) {
|
||||
throw new BadRequestException("该箱号不存在分切计划");
|
||||
}
|
||||
BigDecimal totalWeight;
|
||||
totalWeight = planList.stream()
|
||||
.map(PdmBiSlittingproductionplan::getWeight)
|
||||
.filter(Objects::nonNull)
|
||||
|
||||
@@ -1,21 +1,25 @@
|
||||
package org.nl.b_lms.sch.point.controller;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.pdm.ivt.service.dto.DeliveryPointIvtDto;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
@@ -35,6 +39,19 @@ public class BstIvtPackageinfoivtController {
|
||||
private IbstIvtPackageinfoivtService bstIvtPackageinfoivtService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param whereJson 查询条件
|
||||
* @param page 分页参数
|
||||
*/
|
||||
@GetMapping
|
||||
@Log("查询点位库存")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(TableDataInfo.build(bstIvtPackageinfoivtService.queryAll(whereJson, page)), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 一楼装箱区点位二次分配
|
||||
*
|
||||
@@ -53,10 +70,7 @@ public class BstIvtPackageinfoivtController {
|
||||
return new ResponseEntity<>(bstIvtPackageinfoivtService.secondaryAllocationPoint(taskCode, actionType), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* agv二次分配类型(1、普通任务 2、取货二次分配 3、防货二次分配 4、取放货二次分配)
|
||||
*/
|
||||
private String agv_action_type;
|
||||
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
@@ -65,12 +79,28 @@ public class BstIvtPackageinfoivtController {
|
||||
* @return 新增结果
|
||||
*/
|
||||
@PostMapping
|
||||
@Log("修改点位库存")
|
||||
public ResponseEntity<Object> create(@RequestBody BstIvtPackageinfoivt params) {
|
||||
bstIvtPackageinfoivtService.create(params);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
* @param params 实体对象
|
||||
* @return 修改结果
|
||||
*/
|
||||
@PutMapping
|
||||
@Log("修改点位库存")
|
||||
//@SaCheckPermission("@el.check('deliverypointivt:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody BstIvtPackageinfoivt params) {
|
||||
bstIvtPackageinfoivtService.update(params);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
*
|
||||
|
||||
@@ -75,6 +75,15 @@ public interface IbstIvtPackageinfoivtService extends IService<BstIvtPackageinfo
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param params 实体对象
|
||||
*/
|
||||
void update(BstIvtPackageinfoivt params);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 手持子卷质检
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
JSONObject update(JSONObject whereJson);
|
||||
|
||||
@@ -1,34 +1,35 @@
|
||||
package org.nl.b_lms.sch.point.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -38,8 +39,6 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static java.util.Collections.emptyList;
|
||||
|
||||
|
||||
/**
|
||||
* {@code @Description:} 装箱区点位库存表(BstIvtPackageInfoIvt)服务实现层
|
||||
@@ -69,8 +68,24 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
*/
|
||||
@Override
|
||||
public IPage<BstIvtPackageinfoivt> queryAll(Map whereJson, PageQuery page) {
|
||||
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), new QueryWrapper<BstIvtPackageinfoivt>()
|
||||
.lambda());
|
||||
LambdaQueryWrapper<BstIvtPackageinfoivt> queryWrapper = new QueryWrapper<BstIvtPackageinfoivt>().lambda();
|
||||
String isUsed = MapUtil.getStr(whereJson, "is_used");
|
||||
String pointCode = MapUtil.getStr(whereJson, "point_code");
|
||||
String packageInfoArea = MapUtil.getStr(whereJson, "packageinfo_area");
|
||||
String ivtStatus = MapUtil.getStr(whereJson, "ivt_status");
|
||||
if (StringUtils.isNotEmpty(isUsed)) {
|
||||
queryWrapper.eq(BstIvtPackageinfoivt::getIs_used, isUsed);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(pointCode)) {
|
||||
queryWrapper.like(BstIvtPackageinfoivt::getPoint_code, pointCode);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(packageInfoArea)) {
|
||||
queryWrapper.eq(BstIvtPackageinfoivt::getPoint_status, packageInfoArea);
|
||||
}
|
||||
if (StringUtils.isNotEmpty(ivtStatus)) {
|
||||
queryWrapper.eq(BstIvtPackageinfoivt::getIvt_status, ivtStatus);
|
||||
}
|
||||
return bstIvtPackageinfoivtMapper.selectPage(new Page<>(page.getPage() + 1, page.getSize()), queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -82,6 +97,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
if (CollectionUtils.isEmpty(pointIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
if (pointCode == null) {
|
||||
return packageinfoivtList;
|
||||
}
|
||||
List<SchBaseTask> taskList;
|
||||
Set<String> pointSets;
|
||||
if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) {
|
||||
@@ -90,9 +108,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, null);
|
||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货分配"))) {
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, null, pointIds);
|
||||
} else if(pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))){
|
||||
} else if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务取货分配"))) {
|
||||
taskList = bstIvtPackageinfoivtMapper.getTaskList(pointIds, pointIds, pointIds, pointIds);
|
||||
}else{
|
||||
} else {
|
||||
return packageinfoivtList;
|
||||
}
|
||||
// 过滤未完成任务的任务
|
||||
@@ -222,7 +240,6 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "操作成功!");
|
||||
result.put("data", pointCode);
|
||||
log.info("一楼装箱区点位二次分配接口请求返回结果:---------------------------------------------" + result);
|
||||
} else {
|
||||
log.info("一楼装箱区点位二次分配接口异常,正在分配中!");
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
@@ -233,6 +250,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
log.info("一楼装箱区点位二次分配接口请求返回结果:---------------------------------------------" + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -247,6 +265,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
//执行中的任务
|
||||
SchBaseTask baseTask = taskService.getOne(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_code, taskCode)
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_SEND.code("否"))
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()));
|
||||
if (baseTask == null) {
|
||||
throw new BadRequestException("该任务未执行或不存在!");
|
||||
@@ -277,9 +296,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
)));
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
if (taskList.get(0).getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) {
|
||||
newPoint.setPoint_code(taskList.get(0).getPoint_code3());
|
||||
if (!checkIvtSBlock(taskList.get(0).getPoint_code3())) {
|
||||
newPoint.setPoint_code(taskList.get(0).getPoint_code3());
|
||||
}
|
||||
} else {
|
||||
newPoint.setPoint_code(taskList.get(0).getPoint_code1());
|
||||
if (!checkIvtSBlock(taskList.get(0).getPoint_code1())) {
|
||||
newPoint.setPoint_code(taskList.get(0).getPoint_code1());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//newPoint = getBstIvtPackageinfoivt(actionType, taskPointType, baseTask);
|
||||
@@ -307,6 +330,18 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 实时判断点位外层是否有空载具
|
||||
*/
|
||||
|
||||
private boolean checkIvtSBlock(String pointCode) {
|
||||
List<BstIvtPackageinfoivt> kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, null, PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
||||
BigDecimal sortSeq = kzjIvtList.stream().filter(r -> r.getPoint_code().equals(pointCode)).collect(Collectors.toList()).get(0).getSort_seq();
|
||||
return kzjIvtList.stream()
|
||||
.anyMatch(r -> r.getSort_seq().compareTo(sortSeq) < 0 &&
|
||||
r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
|
||||
}
|
||||
|
||||
private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) {
|
||||
BstIvtPackageinfoivt newPoint;
|
||||
//1取货任务2放货任务
|
||||
@@ -350,6 +385,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具")));
|
||||
}
|
||||
if (hasEmptyVehicle) {
|
||||
//有阻挡,无可以放货空位
|
||||
return newPoint;
|
||||
}
|
||||
return emptyList.get();
|
||||
@@ -479,12 +515,27 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
*/
|
||||
@Override
|
||||
public void create(BstIvtPackageinfoivt entity) {
|
||||
bstIvtPackageinfoivtMapper.insert(getBasicInfo(entity, true));
|
||||
bstIvtPackageinfoivtMapper.insert(getBasicInfo(entity, null, true));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param params 实体对象
|
||||
*/
|
||||
@Override
|
||||
public void update(BstIvtPackageinfoivt params) {
|
||||
BstIvtPackageinfoivt dto = bstIvtPackageinfoivtMapper.selectById(params.getIvt_id());
|
||||
if (dto == null) {
|
||||
throw new BadRequestException("不存在该数据!");
|
||||
}
|
||||
bstIvtPackageinfoivtMapper.updateById(getBasicInfo(params, dto, false));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 手持子卷质检
|
||||
*/
|
||||
@Override
|
||||
public JSONObject update(JSONObject whereJson) {
|
||||
@@ -502,7 +553,10 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
return result;
|
||||
}
|
||||
dto.setIvt_status(whereJson.getString("ivt_status"));
|
||||
bstIvtPackageinfoivtMapper.updateById(getBasicInfo(dto, false));
|
||||
dto.setUpdate_optid(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||
dto.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
dto.setUpdate_time(DateUtil.now());
|
||||
bstIvtPackageinfoivtMapper.updateById(dto);
|
||||
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||
result.put("message", "检验成功!");
|
||||
return result;
|
||||
@@ -527,16 +581,18 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
* @param entity 对象实体
|
||||
* @param isCreate 是否创建
|
||||
*/
|
||||
private BstIvtPackageinfoivt getBasicInfo(BstIvtPackageinfoivt entity, boolean isCreate) {
|
||||
private BstIvtPackageinfoivt getBasicInfo(BstIvtPackageinfoivt entity, BstIvtPackageinfoivt dto, boolean isCreate) {
|
||||
if (isCreate) {
|
||||
entity.setCreate_id(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||
entity.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
entity.setCreate_time(DateUtil.now());
|
||||
} else {
|
||||
BeanUtils.copyProperties(entity, dto);
|
||||
}
|
||||
entity.setUpdate_optid(Long.valueOf(SecurityUtils.getCurrentUserId()));
|
||||
entity.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
entity.setUpdate_time(DateUtil.now());
|
||||
return entity;
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ public class TwoInBoxTask extends AbstractAcsTask {
|
||||
jsonVeExt.put("update_time", DateUtil.now());
|
||||
veExtTab.insert(jsonVeExt);
|
||||
}else {
|
||||
ext_jo.put("pcsn", jsonTask.getString("vehicle_code2"));
|
||||
ext_jo.put("pcsn", jsonTask.getString("vehicle_code"));
|
||||
ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId());
|
||||
ext_jo.put("update_time", DateUtil.now());
|
||||
veExtTab.update(ext_jo);
|
||||
|
||||
@@ -106,10 +106,20 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
interaction_json.put("weight", dao.get(0).getBox_width());
|
||||
interaction_json.put("height", dao.get(0).getBox_high());
|
||||
// 捆扎模版
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) {
|
||||
throw new BadRequestException("捆扎模版不能为空!");
|
||||
}
|
||||
interaction_json.put("template", boxTypeDao.getLash_num());
|
||||
// 第二次捆扎次数
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getLash_num_tow())) {
|
||||
throw new BadRequestException("第二次捆扎数不能为空!");
|
||||
}
|
||||
|
||||
interaction_json.put("bindingTimes", boxTypeDao.getLash_num_tow());
|
||||
// 是否二次捆扎
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_two())) {
|
||||
throw new BadRequestException("是否第二次捆扎不能为空!");
|
||||
}
|
||||
interaction_json.put("isBinding", boxTypeDao.getNeed_lash_two());
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
|
||||
@@ -49,7 +49,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask {
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.route_plan_code(getRoutePlanCode(json.getString("point_code2")))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
.dtl_type(String.valueOf(dtl_type))
|
||||
@@ -163,6 +163,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask {
|
||||
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
json.put("task_group_id", form.getLongValue("task_group_id"));
|
||||
json.put("point_code1", form.getString("start_device_code"));
|
||||
|
||||
@@ -64,7 +64,7 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
@@ -176,6 +176,7 @@ public class TwoOutBoxTask extends AbstractAcsTask {
|
||||
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("vehicle_type", form.getString("vehicle_type"));
|
||||
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
json.put("task_group_id", form.getLongValue("task_group_id"));
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -49,7 +50,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
||||
@@ -70,6 +71,8 @@ public class TwoOutExceptionalTask extends AbstractAcsTask {
|
||||
WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis");
|
||||
// 点位表
|
||||
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
|
||||
// 载具扩展属性表
|
||||
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
JSONObject jsonTask = taskTab.query("task_id = '" + taskObj.getString("task_id") + "'").uniqueResult(0);
|
||||
|
||||
@@ -97,11 +100,19 @@ public class TwoOutExceptionalTask extends AbstractAcsTask {
|
||||
|
||||
JSONObject jsonPoint = pointTab.query("region_id = '" + RegionTypeEnum.TWO_OUT01.getId() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0);
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonTask.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonTask.getString("vehicle_code"));
|
||||
}
|
||||
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010711");
|
||||
jsonTaskParam.put("point_code1", jsonTask.getString("point_code2"));
|
||||
jsonTaskParam.put("point_code2", jsonPoint.getString("point_code"));
|
||||
jsonTaskParam.put("vehicle_code", jsonTask.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("task_group_id", jsonDis.getString("task_id"));
|
||||
jsonTaskParam.put("is_auto_issue", IOSEnum.IS_SEND.code("否"));
|
||||
jsonTaskParam.put("table_fk", jsonTask.getString("table_fk"));
|
||||
@@ -171,6 +182,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask {
|
||||
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
|
||||
json.put("point_code1", form.getString("start_device_code"));
|
||||
json.put("point_code2", form.getString("next_device_code"));
|
||||
|
||||
@@ -54,7 +54,7 @@ public class TwoOutHeapTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.priority(json.getString("priority"))
|
||||
.class_type(json.getString("task_type"))
|
||||
|
||||
@@ -101,7 +101,7 @@ public class TwoOutTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.vehicle_code(json.getString("vehicle_code2"))
|
||||
.interaction_json(json.getJSONObject("request_param"))
|
||||
.route_plan_code(getRoutePlanCode(json.getString("point_code1")))
|
||||
.priority(json.getString("priority"))
|
||||
|
||||
@@ -84,6 +84,9 @@ public class TwoSendOutTask extends AbstractAcsTask {
|
||||
if (ObjectUtil.isEmpty(boxTypeDao)) {
|
||||
throw new BadRequestException("木箱类型信息不存在!木箱料号为:"+boxDao.getMaterial_code());
|
||||
}
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getExpend_width())) {
|
||||
throw new BadRequestException("货叉放货宽度不能为空!");
|
||||
}
|
||||
param.put("expandWidthLength",boxTypeDao.getExpend_width());
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
|
||||
@@ -6,13 +6,11 @@ import cn.hutool.core.util.BooleanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -22,6 +20,7 @@ import org.nl.b_lms.sch.tasks.first_floor_area.auto.TaskQueueManager;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -91,12 +90,14 @@ public class DjqTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态,二次分配,取货完成就改起点库存
|
||||
@@ -106,24 +107,21 @@ public class DjqTask extends AbstractAcsTask {
|
||||
//清除首次分配目标点位
|
||||
schBaseTask.setPoint_code3("");
|
||||
//4.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
//确定起点未下发
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||
.eq(SchBaseTask::getPoint_code1, "NBJ1002")
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
SchBaseTask task = taskList.get(0);
|
||||
task.setPoint_code2(schBaseTask.getPoint_code1());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
task.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
task.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(task);
|
||||
//任务下发
|
||||
mzhcwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
}
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定起点未下发
|
||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||
// .eq(SchBaseTask::getPoint_code1, "NBJ1002")
|
||||
// .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
|
||||
// .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
// );
|
||||
// if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
// SchBaseTask task = taskList.get(0);
|
||||
// task.setPoint_code2(schBaseTask.getPoint_code1());
|
||||
// task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
// taskService.update(task);
|
||||
// //任务下发
|
||||
// mzhcwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
// }
|
||||
//5搬运装箱区
|
||||
//sendDjqToZxq(schBaseTask);
|
||||
}
|
||||
@@ -134,10 +132,9 @@ public class DjqTask extends AbstractAcsTask {
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -225,11 +222,10 @@ public class DjqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("满轴缓存位 -> 待检区取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -92,11 +89,13 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -106,23 +105,20 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
//确定终点未下发
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
|
||||
.eq(SchBaseTask::getPoint_code2, "NBJ1002")
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
SchBaseTask task = taskList.get(0);
|
||||
task.setPoint_code1(schBaseTask.getPoint_code2());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
task.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
task.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(task);
|
||||
//任务下发
|
||||
ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
}
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定终点未下发
|
||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
|
||||
// .eq(SchBaseTask::getPoint_code2, "NBJ1002")
|
||||
// .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
// );
|
||||
// if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
// SchBaseTask task = taskList.get(0);
|
||||
// task.setPoint_code1(schBaseTask.getPoint_code2());
|
||||
// task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
// taskService.update(task);
|
||||
// //任务下发
|
||||
// ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
// }
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
@@ -130,12 +126,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -207,11 +201,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("待检区->空载具缓存位取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,12 +6,10 @@ import cn.hutool.core.util.BooleanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -20,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -88,11 +87,13 @@ public class GzqTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -100,24 +101,21 @@ public class GzqTask extends AbstractAcsTask {
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
//确定起点未下发
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||
.eq(SchBaseTask::getPoint_code1, "NBJ1002")
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
|
||||
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
SchBaseTask task = taskList.get(0);
|
||||
task.setPoint_code2(schBaseTask.getPoint_code1());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
task.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
task.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(task);
|
||||
//任务下发
|
||||
mzhcwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
}
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定起点未下发
|
||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||
// .eq(SchBaseTask::getPoint_code1, "NBJ1002")
|
||||
// .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
|
||||
// .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
// );
|
||||
// if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
// SchBaseTask task = taskList.get(0);
|
||||
// task.setPoint_code2(schBaseTask.getPoint_code1());
|
||||
// task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
// taskService.update(task);
|
||||
// //任务下发
|
||||
// mzhcwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
// }
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
@@ -125,12 +123,10 @@ public class GzqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -201,11 +197,10 @@ public class GzqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("满轴缓存位 -> 管制区取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -91,12 +88,14 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -106,23 +105,20 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务
|
||||
List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
//确定终点未下发
|
||||
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
|
||||
.eq(SchBaseTask::getPoint_code2, "NBJ1002")
|
||||
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
SchBaseTask task = taskList.get(0);
|
||||
task.setPoint_code1(schBaseTask.getPoint_code2());
|
||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
task.setUpdate_time(DateUtil.now());
|
||||
task.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
task.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(task);
|
||||
//任务下发
|
||||
ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
}
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定终点未下发
|
||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
|
||||
// .eq(SchBaseTask::getPoint_code2, "NBJ1002")
|
||||
// .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
// );
|
||||
// if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
// SchBaseTask task = taskList.get(0);
|
||||
// task.setPoint_code1(schBaseTask.getPoint_code2());
|
||||
// task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||
// taskService.update(task);
|
||||
// //任务下发
|
||||
// ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString());
|
||||
// }
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
@@ -130,12 +126,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -207,11 +201,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("管制区->空载具缓存位取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.ContainerLevelEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -109,13 +110,15 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
// 执行中
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
// 完成
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.更新库存记录
|
||||
@@ -135,15 +138,13 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||
toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code());
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具
|
||||
//判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具
|
||||
if (CollectionUtils.isNotEmpty(kzjPointList)) {
|
||||
//直接创建搬运空载具任务
|
||||
toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code());
|
||||
//终点为输送线点位
|
||||
toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||
ssxDjwTask.createTask(toSsxTask);
|
||||
} else {
|
||||
//sendVehicle(schBaseTask);
|
||||
}
|
||||
} else {
|
||||
//四个点任务,改变pointCode3点位状态
|
||||
@@ -156,12 +157,11 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
// 更新任务表删除字段
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -357,11 +357,10 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("输送线点位 -> 满轴缓存位取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -82,11 +83,13 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -100,12 +103,10 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -177,11 +178,10 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区->待检区送空载具取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -81,12 +82,14 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -100,12 +103,10 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -177,11 +178,10 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区->管制区送空载具取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -85,11 +86,13 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -117,14 +120,10 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -194,11 +193,10 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("空载具缓存位 -> 输送线取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -103,11 +104,13 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper<PdmBiSlittingproductionplan>()
|
||||
.eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code()));
|
||||
if (containerInfo == null) {
|
||||
@@ -149,13 +152,10 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!");
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
@@ -228,12 +228,10 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区 -> 装箱对接位取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!");
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
@@ -33,7 +34,6 @@ import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.nl.wms.util.TaskUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -114,19 +114,21 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
// PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper<PdmBiSlittingproductionplan>()
|
||||
// .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code()));
|
||||
// if (containerInfo == null) {
|
||||
// throw new BadRequestException("该子卷信息不存在!");
|
||||
// } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
||||
// throw new BadRequestException("子卷号不能为空!");
|
||||
// }
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
// PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper<PdmBiSlittingproductionplan>()
|
||||
// .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code()));
|
||||
// if (containerInfo == null) {
|
||||
// throw new BadRequestException("该子卷信息不存在!");
|
||||
// } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
||||
// throw new BadRequestException("子卷号不能为空!");
|
||||
// }
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
@@ -142,12 +144,10 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
taskService.update(schBaseTask);
|
||||
|
||||
}
|
||||
@@ -300,11 +300,10 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("待检区 -> 装箱区取消接口任务号为空!");
|
||||
}
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setUpdate_time(DateUtil.now());
|
||||
schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId());
|
||||
schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName());
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.nl.b_lms.sch.tasks.first_floor_area.auto;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -10,7 +9,6 @@ import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
@@ -22,9 +20,7 @@ import org.springframework.stereotype.Component;
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@Slf4j
|
||||
|
||||
@@ -301,30 +301,37 @@ public class AutoCallAirShaftTask {
|
||||
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
|
||||
}
|
||||
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
|
||||
// todo: 访问acs判断有无气涨轴
|
||||
JSONArray acsParam = new JSONArray();
|
||||
JSONObject acsQzz = new JSONObject();
|
||||
acsQzz.put("device_code", shafttubeivt.getPoint_code());
|
||||
acsQzz.put("code", "to_command");
|
||||
acsQzz.put("value", "1");
|
||||
acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
acsParam.add(acsQzz);
|
||||
wmsToAcsService.action(acsParam);
|
||||
// 访问acs判断有无气涨轴
|
||||
JSONArray array = new JSONArray();
|
||||
JSONObject device = new JSONObject();
|
||||
device.put("device_code", shafttubeivt.getPoint_code());
|
||||
array.add(device);
|
||||
JSONObject pointStatus = wmsToAcsService.getPointStatus(array);
|
||||
if (pointStatus.getInteger("qty") == 0) {
|
||||
// 没有货
|
||||
toCreatShaftCacheTask(qzzSize, location, empty);
|
||||
} else {
|
||||
JSONArray acsParam = new JSONArray();
|
||||
JSONObject acsQzz = new JSONObject();
|
||||
acsQzz.put("device_code", shafttubeivt.getPoint_code());
|
||||
acsQzz.put("code", "to_command");
|
||||
acsQzz.put("value", "1");
|
||||
acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
acsParam.add(acsQzz);
|
||||
wmsToAcsService.action(acsParam);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* todo: 预留
|
||||
* 创建气涨轴缓存的桁架任务
|
||||
*
|
||||
* @param qzzSize 气涨轴尺寸
|
||||
* @param specification 标箔、锂电(1,2)
|
||||
* @param location 位置:上半部分还是下半部分
|
||||
* @param empty 套拔轴点位
|
||||
*/
|
||||
@Deprecated
|
||||
private void toCreatShaftCacheTask(String qzzSize, String specification, String location, BstIvtShafttubeivt empty) {
|
||||
private void toCreatShaftCacheTask(String qzzSize, String location, BstIvtShafttubeivt empty) {
|
||||
// 获取气涨轴缓存没有任务的点位
|
||||
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getNotTaskShaftCache(qzzSize, specification, location);
|
||||
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getNotTaskShaftCache(qzzSize, empty.getQzz_generation(), location);
|
||||
if (shafttubeivts.size() == 0) {
|
||||
throw new BadRequestException("未找到气涨轴规格「" + qzzSize + "」的暂存位");
|
||||
}
|
||||
|
||||
@@ -44,6 +44,13 @@ public interface SlitterService {
|
||||
*/
|
||||
JSONObject acsSendShaftToCache(JSONObject param);
|
||||
|
||||
/**
|
||||
* ACS申请从气涨轴暂存位呼叫气胀轴
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
JSONObject acsCallShaftFromCache(JSONObject param);
|
||||
|
||||
/**
|
||||
* 分切机下料
|
||||
* @param param
|
||||
@@ -142,7 +149,7 @@ public interface SlitterService {
|
||||
JSONArray getCutCacheAgvPoints();
|
||||
|
||||
/**
|
||||
* 清理分切缓存到内包间
|
||||
* 清理分切缓
|
||||
* @param param /
|
||||
* @return /
|
||||
*/
|
||||
|
||||
@@ -26,6 +26,8 @@ import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
|
||||
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.subpackagerelation.dao.PdmBiSubpackagerelation;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
|
||||
import org.nl.b_lms.sch.point.dao.StIvtCutpointivt;
|
||||
import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
@@ -111,6 +113,8 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
private ISysParamService paramService;
|
||||
@Autowired
|
||||
private SendNBJExceptionPointTask sendNBJExceptionPointTask;
|
||||
@Autowired
|
||||
private IpdmBiSubpackagerelationService subpackagerelationService;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -395,6 +399,40 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject acsCallShaftFromCache(JSONObject param) {
|
||||
log.info("ACS申请从气涨轴暂存位呼叫气胀轴的输入参数为:{}", param);
|
||||
JSONObject res = new JSONObject();
|
||||
String deviceCode = param.getString("device_code");
|
||||
String qzzSize = param.getString("size");
|
||||
// 判断是否有未完成的任务
|
||||
List<SchBaseTask> list = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getPoint_code1, deviceCode)
|
||||
.lt(SchBaseTask::getTask_status, "07"));
|
||||
if (list.size() > 0) {
|
||||
throw new BadRequestException("点位[" + deviceCode + "]存在未完成得任务!");
|
||||
}
|
||||
BstIvtShafttubeivt startPoint = shafttubeivtService.getByPointCode(deviceCode, false);
|
||||
// 获取气涨轴缓存没有任务的点位
|
||||
List<BstIvtShafttubeivt> shafttubeivts = shafttubeivtService.getNotTaskShaftCache(qzzSize,
|
||||
startPoint.getQzz_generation(), startPoint.getPoint_location());
|
||||
if (shafttubeivts.size() == 0) {
|
||||
throw new BadRequestException("未找到气涨轴规格「" + qzzSize + "」的暂存位");
|
||||
}
|
||||
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("point_code1", shafttubeivt.getPoint_code());
|
||||
taskParam.put("point_code2", startPoint.getPoint_code());
|
||||
taskParam.put("is_bushing", SlitterConstant.SLITTER_YES);
|
||||
taskParam.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴位<>气胀轴缓存位"));
|
||||
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
taskParam.put("qzz_size", qzzSize);
|
||||
trussCallShaftCacheTask.createTask(taskParam);
|
||||
res.put("status", HttpStatus.HTTP_OK);
|
||||
res.put("message", "请求成功");
|
||||
return res;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
@@ -691,6 +729,7 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
if (ObjectUtil.isEmpty(plan.getLevel())) {
|
||||
throw new BadRequestException("子卷[" + plan.getContainer_name() + "]对应的级别不能为空");
|
||||
}
|
||||
plan.setLevel("4");
|
||||
String point_type = "5".equals(plan.getLevel()) ? "5" : "4";
|
||||
// 查找终点 确认是废箔还是成品: 根据分切计划的子卷等级来区分,5为报废
|
||||
BstIvtShafttubeivt one = shafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||
@@ -999,10 +1038,16 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
}
|
||||
try {
|
||||
if (openLock) {
|
||||
BstIvtCutpointivt agvCode = bcutpointivtService.getPintByAgvCode(pointCode, false);
|
||||
agvCode.setQzz_no1("");
|
||||
agvCode.setQzz_no2("");
|
||||
agvCode.setPoint_status("1");
|
||||
BstIvtCutpointivt agvCode = bcutpointivtService.getPintByTrussCode(pointCode, false);
|
||||
if (agvCode.getTruss_point_code1().equals(pointCode)) {
|
||||
agvCode.setQzz_no1("");
|
||||
}
|
||||
if (agvCode.getTruss_point_code2().equals(pointCode)) {
|
||||
agvCode.setQzz_no2("");
|
||||
}
|
||||
if (ObjectUtil.isEmpty(agvCode.getQzz_no1()) && ObjectUtil.isEmpty(agvCode.getQzz_no2())) {
|
||||
agvCode.setPoint_status("1");
|
||||
}
|
||||
TaskUtils.updateOptMessageByBCutPoint(agvCode);
|
||||
bcutpointivtService.updateById(agvCode);
|
||||
} else {
|
||||
@@ -1036,12 +1081,19 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
TaskUtils.updateOptMessageBySlitterPlan(outPlan);
|
||||
List<PdmBiSlittingproductionplan> collect = Stream.of(outPlan, inPlan).collect(Collectors.toList());
|
||||
slittingproductionplanService.updateBatchById(collect);
|
||||
// 删除子卷包装关系
|
||||
subpackagerelationService.remove(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
|
||||
.eq(PdmBiSubpackagerelation::getContainer_name, insideContainerName));
|
||||
if (SlitterConstant.SLITTER_YES.equals(carrierStatus)) {
|
||||
List<String> cons = Stream.of(outPlan.getQzzno()).collect(Collectors.toList());
|
||||
// 调接口创建任务
|
||||
JSONObject taskParam = new JSONObject();
|
||||
taskParam.put("container", cons);
|
||||
mesSlittingMachineSendMaterial(taskParam);
|
||||
try {
|
||||
mesSlittingMachineSendMaterial(taskParam);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,14 @@ package org.nl.b_lms.sch.tasks.slitter.util;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -243,4 +245,19 @@ public class SlitterTaskUtil {
|
||||
param.put("to_qty", String.join(",", qtysStr));
|
||||
param.put("device_code", material_specs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 传入JSONArray返回筛选字符串
|
||||
* @param array /
|
||||
* @param name /
|
||||
* @return /
|
||||
*/
|
||||
public static List<String> getAllStringByName(JSONArray array, String name) {
|
||||
List<String> res = new ArrayList<>();
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject jsonObject = array.getJSONObject(i);
|
||||
res.add(jsonObject.getString(name));
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1102,6 +1102,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
|
||||
// 任务表
|
||||
WQLObject taskService = WQLObject.getWQLObject("sch_base_task");
|
||||
// 载具扩展属性表
|
||||
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
@@ -1187,12 +1189,20 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
moveParam.put("material_id", disDao.getMaterial_id());
|
||||
JSONObject jsonMove = inBussManageService.getOneStruct(moveParam);
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonLow.getString("storagevehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonLow.getString("storagevehicle_code"));
|
||||
}
|
||||
|
||||
// 生成任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010709");
|
||||
jsonTaskParam.put("start_device_code", jsonLow.getString("struct_code"));
|
||||
jsonTaskParam.put("next_device_code", jsonMove.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", jsonLow.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("table_fk", iostorinv_id);
|
||||
|
||||
TwoOutExceptionalTask taskBean = new TwoOutExceptionalTask();
|
||||
@@ -1293,7 +1303,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
}
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonExt = extTab.query("storagevehicle_code = '" + json.getString("storagevehicle_code") + "'").uniqueResult(0);
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code"));
|
||||
}
|
||||
|
||||
// 生成任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
@@ -1301,10 +1315,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl<StIvtIostorinvOutM
|
||||
jsonTaskParam.put("point_code1", start_device_code);
|
||||
jsonTaskParam.put("point_code2", end_device_code);
|
||||
jsonTaskParam.put("vehicle_code", json.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("containerType", json.getString("storagevehicle_type"));
|
||||
if (ObjectUtil.isNotEmpty(jsonExt)) {
|
||||
jsonTaskParam.put("vehicle_code2", jsonExt.getString("storagevehicle_code"));
|
||||
}
|
||||
jsonTaskParam.put("task_group_id", task_group_id);
|
||||
jsonTaskParam.put("is_auto_issue", is_auto_issue);
|
||||
JSONObject request_param = new JSONObject();
|
||||
|
||||
@@ -501,6 +501,8 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
@Override
|
||||
@Transactional
|
||||
public String setPoint(Map whereJson) {
|
||||
// 载具扩展属性表
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
// 分配明细集合
|
||||
ArrayList<HashMap> list = (ArrayList<HashMap>) whereJson.get("tableMater");
|
||||
@@ -520,13 +522,20 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
||||
// 主表实体类
|
||||
StIvtIostorinv mstDao = this.getById(jsonDis.getString("iostorinv_id"));
|
||||
|
||||
// 查询木箱对应的绑定关系
|
||||
JSONObject jsonVeExt = veExtTab.query("pcsn = '" + whereJson.get("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+whereJson.get("vehicle_code"));
|
||||
}
|
||||
|
||||
// 创建任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010703");
|
||||
jsonTaskParam.put("start_device_code", pointDto.getPoint_code());
|
||||
jsonTaskParam.put("next_device_code", jsonDis.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", whereJson.get("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", whereJson.get("vehicle_code2"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("inv_type", mstDao.getBill_type());
|
||||
jsonTaskParam.put("inv_id", mstDao.getIostorinv_id());
|
||||
jsonTaskParam.put("inv_code", mstDao.getBill_code());
|
||||
|
||||
@@ -203,6 +203,9 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
|
||||
@Override
|
||||
public void createHeapTask(JSONObject whereJson) {
|
||||
// 载具扩展属性表
|
||||
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
// 比较两行架点位的任务个数
|
||||
List<JSONObject> executeArr = WQLObject.getWQLObject("SCH_BASE_Task")
|
||||
.query("handle_class = '" + TwoOutHeapTask.class.getName() + "' and task_status IN ('05','06') and is_delete = '0' " )
|
||||
@@ -223,6 +226,13 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
next_device_code = IOSEnum.OUT_HANGER.code("行架位2");
|
||||
}
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + whereJson.getString("vehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+whereJson.getString("vehicle_code"));
|
||||
}
|
||||
|
||||
// 创建任务并下发
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010720");
|
||||
@@ -231,6 +241,7 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
jsonTaskParam.put("task_group_id", whereJson.getString("task_group_id"));
|
||||
jsonTaskParam.put("point_code2", next_device_code);
|
||||
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("request_param", whereJson);
|
||||
|
||||
TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class);
|
||||
@@ -264,18 +275,27 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
result.put("height", boxDao.getBox_high());
|
||||
result.put("case", boxDao.getMaterial_code());
|
||||
// 是否捆扎
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_one())) {
|
||||
throw new BadRequestException("第一次是否捆扎不能为空!");
|
||||
}
|
||||
result.put("isBinding", boxTypeDao.getNeed_lash_one());
|
||||
// TODO 是否贴标
|
||||
result.put("isLabeling", IOSEnum.IS_SEND.code("否"));
|
||||
// TODO 贴标模版
|
||||
result.put("labelingTemplate", boxDao.getLash_num());
|
||||
// 捆扎模板
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) {
|
||||
throw new BadRequestException("捆扎模版不能为空!");
|
||||
}
|
||||
result.put("bindingTemplate", boxTypeDao.getLash_num());
|
||||
// TODO 打印机
|
||||
result.put("printDevice", "1");
|
||||
// TODO 贴标数量
|
||||
result.put("printQty", "1");
|
||||
// 第一次捆扎次数
|
||||
if (ObjectUtil.isEmpty(boxTypeDao.getLash_num_one())) {
|
||||
throw new BadRequestException("第一次捆扎数量不能为空!");
|
||||
}
|
||||
result.put("bundleTimes", boxTypeDao.getLash_num_one());
|
||||
|
||||
return result;
|
||||
|
||||
@@ -71,6 +71,9 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point");
|
||||
// 仓位表
|
||||
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
|
||||
// 载具扩展属性表
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期"));
|
||||
whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId());
|
||||
|
||||
@@ -92,13 +95,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
throw new BadRequestException("没有符合规格的木箱!");
|
||||
}
|
||||
|
||||
// 查询木箱对应的托盘号
|
||||
JSONObject jsonVeExt = veExtTab.query("pcsn = '" + jsonAttr.getString("storagevehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonAttr.getString("storagevehicle_code"));
|
||||
}
|
||||
|
||||
// 生成任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010704");
|
||||
jsonTaskParam.put("start_device_code", jsonAttr.getString("struct_code"));
|
||||
jsonTaskParam.put("next_device_code", whereJson.getString("device_code"));
|
||||
jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code"));
|
||||
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("task_group_id", jsonAttr.getString("task_group_id"));
|
||||
JSONObject request_param = new JSONObject();
|
||||
request_param.put("containerType", jsonAttr.getString("storagevehicle_type"));
|
||||
@@ -534,6 +544,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
*/
|
||||
private String createBoxMove(JSONObject jsonObject) {
|
||||
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
|
||||
// 载具扩展属性表
|
||||
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
// 找一个空的仓位
|
||||
JSONObject paramIn = new JSONObject();
|
||||
@@ -557,12 +569,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService {
|
||||
jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("移入锁"));
|
||||
attrTab.update(jsonAttr);
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonObject.getString("storagevehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+jsonObject.getString("storagevehicle_code"));
|
||||
}
|
||||
|
||||
// 生成任务
|
||||
JSONObject jsonTaskParam = new JSONObject();
|
||||
jsonTaskParam.put("task_type", "010505");
|
||||
jsonTaskParam.put("task_type", "010709");
|
||||
jsonTaskParam.put("start_device_code", jsonObject.getString("struct_code"));
|
||||
jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code"));
|
||||
jsonTaskParam.put("vehicle_code", jsonObject.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
jsonTaskParam.put("task_group_id", IdUtil.getLongId());
|
||||
|
||||
TwoMoveBoxTask taskBan = new TwoMoveBoxTask();
|
||||
|
||||
@@ -341,6 +341,8 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
|
||||
//物料表
|
||||
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase");
|
||||
// 载具扩展属性表
|
||||
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
|
||||
// 获取子卷包装集合
|
||||
String vehilcle_in = list.stream()
|
||||
@@ -445,10 +447,18 @@ public class OutBussManageServiceImpl implements OutBussManageService {
|
||||
jsonMoveDtl.put("turnin_struct_code", jsonMove.getString("struct_code"));
|
||||
jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name"));
|
||||
|
||||
// 查询木箱对应的载具
|
||||
JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonVeExt)) {
|
||||
throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code"));
|
||||
}
|
||||
|
||||
// 生成任务
|
||||
JSONObject param2 = new JSONObject();
|
||||
param2.put("task_type", "010709");
|
||||
param2.put("vehicle_code", json.getString("storagevehicle_code"));
|
||||
param2.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code"));
|
||||
param2.put("point_code1", json.getString("struct_code"));
|
||||
param2.put("point_code2", jsonMove.getString("struct_code"));
|
||||
|
||||
|
||||
@@ -46,6 +46,13 @@ public interface InBoxManageService {
|
||||
*/
|
||||
JSONObject taskExceptional(JSONObject jsonObject);
|
||||
|
||||
/**
|
||||
* 成品退货入库
|
||||
* @param whereJson ; {
|
||||
* box_no: 木箱号
|
||||
* vehicle_code: 载具号
|
||||
* }
|
||||
*/
|
||||
void returnIn(JSONObject whereJson);
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public interface OutBoxManageService {
|
||||
* box_width: 宽
|
||||
* box_high: 高
|
||||
* num: 子卷数
|
||||
* @return String:木箱号
|
||||
* }
|
||||
*/
|
||||
String outBox(JSONObject whereJson);
|
||||
|
||||
@@ -63,7 +63,7 @@ public enum PackageInfoIvtEnum {
|
||||
POINT_LOCATION(MapOf.of("上", "0", "下", "1")),
|
||||
|
||||
//库存状态
|
||||
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
||||
IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));
|
||||
|
||||
|
||||
private Map<String, String> code;
|
||||
|
||||
@@ -47,8 +47,6 @@ public class TaskUtils {
|
||||
|
||||
/**
|
||||
* 根据任务维护分切点位库存
|
||||
* @param taskObj 任务
|
||||
* @param endPointObj 点位
|
||||
* @param status 状态
|
||||
*/
|
||||
public static void pointMaintenanceInventory(SchBaseTask task, BstIvtCutpointivt target, String status) {
|
||||
|
||||
@@ -495,7 +495,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||
roleTree.add(row);
|
||||
}
|
||||
res.put("sonTree", roleTree);
|
||||
result.put("rf_menu" + i, res);
|
||||
result.put("rf_menu" + ("188".equals(res.getString("menu_id"))?1:0), res);
|
||||
}
|
||||
|
||||
returnjo.put("code", "1");
|
||||
|
||||
@@ -1796,7 +1796,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
// 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
// 这个情况是有agv任务在搬去待检区或管制区的路上,还没有更新任务状态;需要查询是否有这种任务,等这个任务更新完后,
|
||||
// 再补发之前创建的输送线到满轴缓存位任务;
|
||||
log.info("二楼到一楼,成品子卷到达一楼输送线,sendProductToFirstFloor--------------------------:" + whereJson.toString());
|
||||
log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor被调用--------------------------:" + whereJson.toString());
|
||||
if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) {
|
||||
throw new BadRequestException("接口sendProductToFirstFloor,目标站点或子卷号参数为空!");
|
||||
}
|
||||
@@ -1859,15 +1859,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
result.put("message", "满轴缓存位暂无空位!");
|
||||
}
|
||||
} else {
|
||||
log.info("二楼到一楼,成品子卷到达一楼输送线,异常,任务正在创建中");
|
||||
log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。");
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "任务正在创建中!");
|
||||
result.put("message", "二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor调用成功--------------------------:" + result.toString());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@ public class DeliveryPointIvtController {
|
||||
|
||||
@PutMapping
|
||||
@Log("修改分切输送线")
|
||||
|
||||
//@SaCheckPermission("@el.check('deliverypointivt:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody DeliveryPointIvtDto dto) {
|
||||
deliverypointivtService.update(dto);
|
||||
|
||||
@@ -4,6 +4,7 @@ package org.nl.wms.pdm.rest;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.pdm.service.SlittingproductionplanService;
|
||||
import org.nl.wms.pdm.service.dto.SlittingproductionplanDto;
|
||||
@@ -28,6 +29,8 @@ public class SlittingproductionplanController {
|
||||
|
||||
private final SlittingproductionplanService slittingproductionplanService;
|
||||
|
||||
private final IPdmBiSlittingproductionplanService biSlittingproductionplanService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询分切计划")
|
||||
|
||||
@@ -102,4 +105,10 @@ public class SlittingproductionplanController {
|
||||
slittingproductionplanService.compelFinish(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
@Log("修改子卷放置方向")
|
||||
@PostMapping("/setDirection")
|
||||
public ResponseEntity<Object> setDirection(@RequestBody JSONObject whereJson) {
|
||||
biSlittingproductionplanService.setDirection(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +134,7 @@ public class TaskServiceImpl implements TaskService {
|
||||
taskObj.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
taskObj.put("update_optname", SecurityUtils.getCurrentUsername());
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("remark", "任务被强制完成,不执行任何逻辑!");
|
||||
taskObj.put("remark", "任务被用户:" + SecurityUtils.getCurrentUsername() + "在:" + DateUtil.now() + "强制完成。");
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj);
|
||||
} else {
|
||||
// 任务处理类
|
||||
|
||||
@@ -60,6 +60,12 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
|
||||
.dtl_type(String.valueOf(dtl_type))
|
||||
.remark(json.getString("remark"))
|
||||
.build();
|
||||
|
||||
// 如果是二期转库任务则下发托盘
|
||||
if (json.getString("task_type").equals("010709")) {
|
||||
dto.setVehicle_code(json.getString("vehicle_code2"));
|
||||
}
|
||||
|
||||
resultList.add(dto);
|
||||
json.put("task_status", TaskStatusEnum.ISSUE.getCode());
|
||||
WQLObject.getWQLObject("SCH_BASE_Task").update(json);
|
||||
@@ -130,6 +136,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
|
||||
|
||||
json.put("task_type", form.getString("task_type"));
|
||||
json.put("vehicle_code", form.getString("vehicle_code"));
|
||||
json.put("vehicle_code2", form.getString("vehicle_code2"));
|
||||
json.put("task_name", form.getString("task_name"));
|
||||
json.put("point_code1", form.getString("point_code1"));
|
||||
json.put("point_code2", form.getString("point_code2"));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
server:
|
||||
port: 8010
|
||||
port: 9999
|
||||
#配置数据源
|
||||
spring:
|
||||
datasource:
|
||||
@@ -7,10 +7,10 @@ spring:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lzhl_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xc}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
# password: ${DB_PWD:NLABC&hl123}
|
||||
password: ${DB_PWD:root}
|
||||
password: ${DB_PWD:12356}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
|
||||
@@ -9,6 +9,8 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt;
|
||||
import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.mapper.BstIvtShafttubeivtMapper;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
@@ -19,6 +21,7 @@ import org.nl.common.enums.ContainerLevelEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -29,8 +32,8 @@ import java.util.stream.Stream;
|
||||
|
||||
@Slf4j
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@SpringBootTest
|
||||
@DisplayName("event test")
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
public class EventTest {
|
||||
|
||||
@Resource
|
||||
@@ -57,6 +60,14 @@ public class EventTest {
|
||||
|
||||
@Resource
|
||||
private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper;
|
||||
@Autowired
|
||||
private BstIvtShafttubeivtMapper bstIvtShafttubeivtMapper;
|
||||
|
||||
@Test
|
||||
public void sl() {
|
||||
List<BstIvtShafttubeivt> notTaskShaftCache = bstIvtShafttubeivtMapper.getNotTaskShaftCache("3", "4", "0");
|
||||
System.out.println(notTaskShaftCache);
|
||||
}
|
||||
|
||||
/**
|
||||
* 装箱区->空载具缓存位补空
|
||||
|
||||
Reference in New Issue
Block a user