update:
currTask列表总览及操作方式修改
This commit is contained in:
		@@ -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,6 +221,9 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
 | 
			
		||||
    public R<String> updateCurrTaskStatus(CurrTaskParam param) {
 | 
			
		||||
        CurrTask currTask = currTaskServiceBiz.getById(param.getId());
 | 
			
		||||
        Integer status = param.getStatus();
 | 
			
		||||
        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()));
 | 
			
		||||
@@ -234,7 +253,8 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
 | 
			
		||||
                        currTask1.setStatus(2);
 | 
			
		||||
                        currTask1.setIsIn(2);
 | 
			
		||||
                        //99代表该条记录手动修改过
 | 
			
		||||
                    currTask1.setCreatorId(99);
 | 
			
		||||
                        currTask1.setUpdaterId(99);
 | 
			
		||||
                        currTask1.setUpdateTime(LocalDateTime.now());
 | 
			
		||||
                        currTaskServiceBiz.updateById(currTask1);
 | 
			
		||||
                    }else if (currTask.getId().equals(autoExeTask.getThTaskId())){
 | 
			
		||||
                        //该任务为自动任务第三条,修改自动任务第二条的状态
 | 
			
		||||
@@ -242,15 +262,17 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
 | 
			
		||||
                        currTask2.setStatus(2);
 | 
			
		||||
                        currTask2.setIsIn(2);
 | 
			
		||||
                        //99代表该条记录手动修改过
 | 
			
		||||
                    currTask2.setCreatorId(99);
 | 
			
		||||
                        currTask2.setUpdaterId(99);
 | 
			
		||||
                        currTask2.setUpdateTime(LocalDateTime.now());
 | 
			
		||||
                        currTaskServiceBiz.updateById(currTask2);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                currTask.setStatus(1);
 | 
			
		||||
            currTask.setCreatorId(99);
 | 
			
		||||
                currTask.setUpdaterId(99);
 | 
			
		||||
                currTask.setUpdateTime(LocalDateTime.now());
 | 
			
		||||
                currTask.setBeginTime(LocalDateTime.now());
 | 
			
		||||
                currTaskServiceBiz.updateById(currTask);
 | 
			
		||||
            return successful("修改任务状态为加工中成功");
 | 
			
		||||
                logger.info("修改任务"+currTask.getId()+"状态为加工中成功");
 | 
			
		||||
            }
 | 
			
		||||
            //修改为加工完成,查询缓存,并修改
 | 
			
		||||
            if (status==2){
 | 
			
		||||
@@ -267,13 +289,57 @@ public class CurrTaskServiceImpl extends BaseService implements CurrTaskService
 | 
			
		||||
                currTask.setCreatorId(99);
 | 
			
		||||
                currTask.setBeginTime(LocalDateTime.now());
 | 
			
		||||
                currTaskServiceBiz.updateById(currTask);
 | 
			
		||||
            return successful("修改任务状态为加工完成成功");
 | 
			
		||||
                logger.info("修改任务"+currTask.getId()+"状态为加工完成成功");
 | 
			
		||||
            }
 | 
			
		||||
            currTask.setStatus(status);
 | 
			
		||||
            currTask.setCreatorId(99);
 | 
			
		||||
            currTask.setBeginTime(LocalDateTime.now());
 | 
			
		||||
            currTaskServiceBiz.updateById(currTask);
 | 
			
		||||
        return successful("修改任务状态为未加工成功");
 | 
			
		||||
            logger.info("修改任务"+currTask.getId()+"状态为未加工成功");
 | 
			
		||||
        }
 | 
			
		||||
        //修改目标加工炉
 | 
			
		||||
        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){
 | 
			
		||||
                //修改缓存后目标加工炉
 | 
			
		||||
                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);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        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;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user