update:
currTask列表总览及操作方式修改
This commit is contained in:
父節點
d107699d2c
當前提交
18590dafb9
@ -0,0 +1,38 @@
|
||||
package com.mt.wms.empty.controller;
|
||||
|
||||
import com.mt.wms.core.base.BaseController;
|
||||
import com.mt.wms.core.constants.CommonConstant;
|
||||
import com.mt.wms.core.params.IdParam;
|
||||
import com.mt.wms.core.vo.R;
|
||||
import com.mt.wms.empty.service.StockInfoService;
|
||||
import com.mt.wms.empty.vo.CurrTaskDetVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: LGH
|
||||
* @Date: 2022/9/9
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(CommonConstant.API_MODULE_BASE + "inStockInfo")
|
||||
@Slf4j
|
||||
@Api(value = "缓存库位相关接口", tags = "缓存库位相关接口", hidden = false)
|
||||
public class InStockInfoController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private StockInfoService stockInfoService;
|
||||
@PostMapping(value = "top")
|
||||
@ApiOperation(value = "置顶改缓存库位")
|
||||
private R<String> top(@Validated @RequestBody IdParam idParam) {
|
||||
return stockInfoService.top(idParam);
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.mt.wms.empty.params;
|
||||
|
||||
import com.mt.wms.core.base.BaseParam;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @Author: LGH
|
||||
* @Date: 2022/9/5
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "任务参数对象", description = "任务参数对象")
|
||||
public class CurrTaskParam extends BaseParam {
|
||||
@ApiModelProperty(value = "id", required = true)
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "状态", required = false)
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "加工炉", required = false)
|
||||
private Long kilnId;
|
||||
|
||||
}
|
@ -29,4 +29,8 @@ public interface StockInfoService {
|
||||
* @return xx列表
|
||||
*/
|
||||
R<List<StockInfoVo>> list();
|
||||
/**
|
||||
* 置顶缓存库位顺序
|
||||
*/
|
||||
R<String> top(IdParam idParam);
|
||||
}
|
||||
|
@ -177,6 +177,14 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
|
||||
nowStep=currTask.getLocationName();
|
||||
}
|
||||
allStep=allStep.concat("->").concat(currTask1.getTargetPosition());
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask1.getId()));
|
||||
if (inStockInfo!=null){
|
||||
List<InStockInfoVo> inStockInfoVoList=new ArrayList<>();
|
||||
InStockInfoVo inStockInfoVo=InStockInfoVo.builder().build();
|
||||
BeanUtils.copyProperties(inStockInfo,inStockInfoVo);
|
||||
inStockInfoVoList.add(inStockInfoVo);
|
||||
currTaskInfoVo.setInStockInfoVoList(inStockInfoVoList);
|
||||
}
|
||||
}
|
||||
//
|
||||
currTaskInfoVo.setAllStep(allStep);
|
||||
@ -190,6 +198,14 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
|
||||
currTaskInfoVo.setNowStep(currTask.getLocationName());
|
||||
}
|
||||
currTaskInfoVo.setAutoExeTaskId(currTask.getId());
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask.getId()));
|
||||
if (inStockInfo!=null){
|
||||
List<InStockInfoVo> inStockInfoVoList=new ArrayList<>();
|
||||
InStockInfoVo inStockInfoVo=InStockInfoVo.builder().build();
|
||||
BeanUtils.copyProperties(inStockInfo,inStockInfoVo);
|
||||
inStockInfoVoList.add(inStockInfoVo);
|
||||
currTaskInfoVo.setInStockInfoVoList(inStockInfoVoList);
|
||||
}
|
||||
}
|
||||
//currTaskDet
|
||||
List<CurrTaskDet> currTaskDetList = currTaskDetServiceBiz.list(new QueryWrapper<CurrTaskDet>().eq(CurrTaskDet.CURR_TASK_ID, currTask.getId()));
|
||||
@ -205,75 +221,125 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
|
||||
public R<String> updateCurrTaskStatus(CurrTaskParam param) {
|
||||
CurrTask currTask = currTaskServiceBiz.getById(param.getId());
|
||||
Integer status = param.getStatus();
|
||||
//修改为加工中,多步骤任务修改为加工中,查询缓存区,查询前置任务状态,并修改
|
||||
if (status==1){
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask.getId()));
|
||||
if (inStockInfo!=null){
|
||||
//更新库位状态为未占用
|
||||
Location location = locationServiceBiz.getById(inStockInfo.getLocationId());
|
||||
location.setStatus(0);
|
||||
locationServiceBiz.updateById(location);
|
||||
//删除库位缓存
|
||||
inStockInfoServiceBiz.removeById(inStockInfo);
|
||||
}
|
||||
if (currTask.getIsAuto()==1){
|
||||
AutoExeTask autoExeTask = autoExeTaskServiceBiz.getById(currTask.getAutoExeTaskId());
|
||||
if (currTask.getId().equals(autoExeTask.getFTaskId())){
|
||||
//该任务为自动任务第一条,是否有sheetNo,若无上报apms
|
||||
if (currTask.getSheetNo()==null){
|
||||
try {
|
||||
apmsCreateProcess(currTask);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
Long kilnId = param.getKilnId();
|
||||
//修改任务状态
|
||||
if(!status.equals(currTask.getStatus())){
|
||||
//修改为加工中,多步骤任务修改为加工中,查询缓存区,查询前置任务状态,并修改
|
||||
if (status==1){
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask.getId()));
|
||||
if (inStockInfo!=null){
|
||||
//更新库位状态为未占用
|
||||
Location location = locationServiceBiz.getById(inStockInfo.getLocationId());
|
||||
location.setStatus(0);
|
||||
locationServiceBiz.updateById(location);
|
||||
//删除库位缓存
|
||||
inStockInfoServiceBiz.removeById(inStockInfo);
|
||||
}
|
||||
if (currTask.getIsAuto()==1){
|
||||
AutoExeTask autoExeTask = autoExeTaskServiceBiz.getById(currTask.getAutoExeTaskId());
|
||||
if (currTask.getId().equals(autoExeTask.getFTaskId())){
|
||||
//该任务为自动任务第一条,是否有sheetNo,若无上报apms
|
||||
if (currTask.getSheetNo()==null){
|
||||
try {
|
||||
apmsCreateProcess(currTask);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (currTask.getId().equals(autoExeTask.getTTaskId())){
|
||||
//该任务为自动任务第二条,修改自动任务第一条的状态
|
||||
CurrTask currTask1 = currTaskServiceBiz.getById(autoExeTask.getFTaskId());
|
||||
currTask1.setStatus(2);
|
||||
currTask1.setIsIn(2);
|
||||
//99代表该条记录手动修改过
|
||||
currTask1.setUpdaterId(99);
|
||||
currTask1.setUpdateTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask1);
|
||||
}else if (currTask.getId().equals(autoExeTask.getThTaskId())){
|
||||
//该任务为自动任务第三条,修改自动任务第二条的状态
|
||||
CurrTask currTask2 = currTaskServiceBiz.getById(autoExeTask.getFTaskId());
|
||||
currTask2.setStatus(2);
|
||||
currTask2.setIsIn(2);
|
||||
//99代表该条记录手动修改过
|
||||
currTask2.setUpdaterId(99);
|
||||
currTask2.setUpdateTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask2);
|
||||
}
|
||||
}
|
||||
if (currTask.getId().equals(autoExeTask.getTTaskId())){
|
||||
//该任务为自动任务第二条,修改自动任务第一条的状态
|
||||
CurrTask currTask1 = currTaskServiceBiz.getById(autoExeTask.getFTaskId());
|
||||
currTask1.setStatus(2);
|
||||
currTask1.setIsIn(2);
|
||||
//99代表该条记录手动修改过
|
||||
currTask1.setCreatorId(99);
|
||||
currTaskServiceBiz.updateById(currTask1);
|
||||
}else if (currTask.getId().equals(autoExeTask.getThTaskId())){
|
||||
//该任务为自动任务第三条,修改自动任务第二条的状态
|
||||
CurrTask currTask2 = currTaskServiceBiz.getById(autoExeTask.getFTaskId());
|
||||
currTask2.setStatus(2);
|
||||
currTask2.setIsIn(2);
|
||||
//99代表该条记录手动修改过
|
||||
currTask2.setCreatorId(99);
|
||||
currTaskServiceBiz.updateById(currTask2);
|
||||
}
|
||||
currTask.setStatus(1);
|
||||
currTask.setUpdaterId(99);
|
||||
currTask.setUpdateTime(LocalDateTime.now());
|
||||
currTask.setBeginTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
logger.info("修改任务"+currTask.getId()+"状态为加工中成功");
|
||||
}
|
||||
currTask.setStatus(1);
|
||||
//修改为加工完成,查询缓存,并修改
|
||||
if (status==2){
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask.getId()));
|
||||
if (inStockInfo!=null){
|
||||
//更新库位状态为未占用
|
||||
Location location = locationServiceBiz.getById(inStockInfo.getLocationId());
|
||||
location.setStatus(0);
|
||||
locationServiceBiz.updateById(location);
|
||||
//删除库位缓存
|
||||
inStockInfoServiceBiz.removeById(inStockInfo);
|
||||
}
|
||||
currTask.setStatus(1);
|
||||
currTask.setCreatorId(99);
|
||||
currTask.setBeginTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
logger.info("修改任务"+currTask.getId()+"状态为加工完成成功");
|
||||
}
|
||||
currTask.setStatus(status);
|
||||
currTask.setCreatorId(99);
|
||||
currTask.setBeginTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
return successful("修改任务状态为加工中成功");
|
||||
logger.info("修改任务"+currTask.getId()+"状态为未加工成功");
|
||||
}
|
||||
//修改为加工完成,查询缓存,并修改
|
||||
if (status==2){
|
||||
//修改目标加工炉
|
||||
if (!kilnId.equals(currTask.getKilnId())){
|
||||
KilnInfo kiln = kilnInfoServiceBiz.getById(kilnId);
|
||||
//修改目标加工炉,修改终点
|
||||
currTask.setKilnId(kilnId);
|
||||
currTask.setTargetPosition(kiln.getCode());
|
||||
currTask.setUpdaterId(99);
|
||||
currTask.setUpdateTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getOne(new QueryWrapper<InStockInfo>().eq(InStockInfo.TASK_ID, currTask.getId()));
|
||||
//是否存在缓存
|
||||
if (inStockInfo!=null){
|
||||
//更新库位状态为未占用
|
||||
Location location = locationServiceBiz.getById(inStockInfo.getLocationId());
|
||||
location.setStatus(0);
|
||||
locationServiceBiz.updateById(location);
|
||||
//删除库位缓存
|
||||
inStockInfoServiceBiz.removeById(inStockInfo);
|
||||
//修改缓存后目标加工炉
|
||||
inStockInfo.setKilnId(kilnId);
|
||||
inStockInfo.setKilnName(kiln.getKilnName());
|
||||
inStockInfo.setUpdaterId(99);
|
||||
inStockInfo.setUpdateTime(LocalDateTime.now());
|
||||
inStockInfoServiceBiz.updateById(inStockInfo);
|
||||
}
|
||||
//任务为多步骤任务
|
||||
if (currTask.getIsAuto()==1){
|
||||
AutoExeTask autoExeTask = autoExeTaskServiceBiz.getById(currTask.getAutoExeTaskId());
|
||||
//任务为多步骤任务第一步
|
||||
if (currTask.getId().equals(autoExeTask.getFTaskId())){
|
||||
//修改多步骤第二步的起点
|
||||
CurrTask currTask2 = currTaskServiceBiz.getById(autoExeTask.getTTaskId());
|
||||
currTask2.setStartPosition(kiln.getCode());
|
||||
currTask2.setUpdateTime(LocalDateTime.now());
|
||||
currTask2.setUpdaterId(99);
|
||||
currTaskServiceBiz.updateById(currTask2);
|
||||
}else if (currTask.getId().equals(autoExeTask.getTTaskId())){
|
||||
//任务为多步骤任务第二步且有第三步,修改第三步起点
|
||||
if (autoExeTask.getProcessFlowType()==2){
|
||||
CurrTask currTask3 = currTaskServiceBiz.getById(autoExeTask.getThTaskId());
|
||||
currTask3.setStartPosition(kiln.getCode());
|
||||
currTask3.setUpdateTime(LocalDateTime.now());
|
||||
currTask3.setUpdaterId(99);
|
||||
currTaskServiceBiz.updateById(currTask3);
|
||||
}
|
||||
}
|
||||
}
|
||||
currTask.setStatus(1);
|
||||
currTask.setCreatorId(99);
|
||||
currTask.setBeginTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
return successful("修改任务状态为加工完成成功");
|
||||
}
|
||||
currTask.setStatus(status);
|
||||
currTask.setCreatorId(99);
|
||||
currTask.setBeginTime(LocalDateTime.now());
|
||||
currTaskServiceBiz.updateById(currTask);
|
||||
return successful("修改任务状态为未加工成功");
|
||||
return successful("操作成功!");
|
||||
}
|
||||
|
||||
|
||||
|
@ -2,10 +2,7 @@ package com.mt.wms.empty.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.mt.wms.core.base.BaseService;
|
||||
import com.mt.wms.core.dal.entity.CurrTaskDet;
|
||||
import com.mt.wms.core.dal.entity.InStockInfo;
|
||||
import com.mt.wms.core.dal.entity.Location;
|
||||
import com.mt.wms.core.dal.entity.OrderInfo;
|
||||
import com.mt.wms.core.dal.entity.*;
|
||||
import com.mt.wms.core.dal.service.CurrTaskDetServiceBiz;
|
||||
import com.mt.wms.core.dal.service.InStockInfoServiceBiz;
|
||||
import com.mt.wms.core.dal.service.LocationServiceBiz;
|
||||
@ -21,6 +18,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -76,4 +74,24 @@ public class StockInfoServiceImpl extends BaseService implements StockInfoServic
|
||||
}
|
||||
return successful(stockInfoVoList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<String> top(IdParam idParam) {
|
||||
InStockInfo inStockInfo = inStockInfoServiceBiz.getById(idParam.getId());
|
||||
Long kilnId = inStockInfo.getKilnId();
|
||||
List<InStockInfo> inStockInfoList = inStockInfoServiceBiz.list(new QueryWrapper<InStockInfo>()
|
||||
.eq(InStockInfo.KILN_ID, kilnId)
|
||||
.eq(InStockInfo.TYPE,1)
|
||||
.eq(InStockInfo.STATUS,2)
|
||||
.orderByAsc(InStockInfo.IN_TIME));
|
||||
|
||||
if (inStockInfoList.size()<2){
|
||||
return R.failed("当前加工炉等待队列只有一个任务,无需置顶");
|
||||
}
|
||||
LocalDateTime inTime=null;
|
||||
inTime = inStockInfoList.get(0).getInTime();
|
||||
inStockInfo.setInTime(inTime.minusHours(1));
|
||||
inStockInfoServiceBiz.updateById(inStockInfo);
|
||||
return R.ok("当前任务置顶成功","");
|
||||
}
|
||||
}
|
||||
|
@ -80,4 +80,10 @@ public class CurrTaskInfoVo extends BaseVo implements PageVo.ConvertVo{
|
||||
*/
|
||||
@ApiModelProperty("任务步骤详情")
|
||||
private List<CurrTaskVo> currTaskVoList;
|
||||
|
||||
/**
|
||||
* 缓存详情
|
||||
*/
|
||||
@ApiModelProperty("任务步骤详情")
|
||||
private List<InStockInfoVo> inStockInfoVoList;
|
||||
}
|
||||
|
@ -111,6 +111,11 @@ public class CurrTaskVo extends BaseVo implements PageVo.ConvertVo {
|
||||
*/
|
||||
@ApiModelProperty("目标工业炉id")
|
||||
private Long kilnId;
|
||||
/**
|
||||
* 目标工业炉id
|
||||
*/
|
||||
@ApiModelProperty("目标工业炉name")
|
||||
private String kilnName;
|
||||
|
||||
/**
|
||||
* 车辆id,关联车辆表:t_vehicle_info
|
||||
|
@ -0,0 +1,65 @@
|
||||
package com.mt.wms.empty.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.mt.wms.core.base.BaseVo;
|
||||
import com.mt.wms.core.vo.PageVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: LGH
|
||||
* @Date: 2022/9/9
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@Builder
|
||||
@ApiModel(value = "缓存信息视图对象", description = "用于查询缓存信息")
|
||||
public class InStockInfoVo extends BaseVo implements PageVo.ConvertVo{
|
||||
/**
|
||||
* 主键,自增
|
||||
*/
|
||||
@ApiModelProperty(value = "主键", example = "1")
|
||||
private Long id;
|
||||
/**
|
||||
* 库位id
|
||||
*/
|
||||
@ApiModelProperty(value = "库位id",example = "0")
|
||||
private Long locationId;
|
||||
/**
|
||||
* 库位名称
|
||||
*/
|
||||
@ApiModelProperty(value = "库位名称",example = "0")
|
||||
private String locationName;
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@ApiModelProperty(value = "任务id",example = "0")
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 进入缓存区的时间,插单任务按倒叙执行,正常任务按顺序执行
|
||||
*/
|
||||
@ApiModelProperty(value = "进入缓存区的时间",example = "0")
|
||||
private LocalDateTime inTime;
|
||||
|
||||
|
||||
/**
|
||||
* 工业炉id
|
||||
*/
|
||||
@ApiModelProperty(value = "工业炉id",example = "0")
|
||||
private Long kilnId;
|
||||
|
||||
/**
|
||||
* 工业炉名称
|
||||
*/
|
||||
@ApiModelProperty(value = "工业炉名称",example = "0")
|
||||
private String kilnName;
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user