APP:原材料入库
parent
24f1e6bfe5
commit
eba23b064f
|
|
@ -1,29 +1,12 @@
|
||||||
package com.youchain.appupdate.rest;
|
package com.youchain.appupdate.rest;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
|
||||||
import com.youchain.annotation.AnonymousAccess;
|
import com.youchain.annotation.AnonymousAccess;
|
||||||
import com.youchain.annotation.Log;
|
import com.youchain.annotation.Log;
|
||||||
import com.youchain.appupdate.inputJson.CallStock;
|
import com.youchain.appupdate.inputJson.CallStock;
|
||||||
import com.youchain.appupdate.inputJson.ContainerIn;
|
import com.youchain.appupdate.inputJson.ContainerIn;
|
||||||
import com.youchain.appupdate.inputJson.BindStock;
|
import com.youchain.appupdate.inputJson.BindStock;
|
||||||
import com.youchain.appupdate.inputJson.LineReturn;
|
|
||||||
import com.youchain.basicdata.domain.Item;
|
|
||||||
import com.youchain.basicdata.domain.Point;
|
|
||||||
import com.youchain.basicdata.domain.Stock;
|
|
||||||
import com.youchain.basicdata.repository.StockRepository;
|
|
||||||
import com.youchain.basicdata.service.BoxService;
|
|
||||||
import com.youchain.basicdata.service.ItemService;
|
|
||||||
import com.youchain.basicdata.service.PointService;
|
|
||||||
import com.youchain.basicdata.service.StockService;
|
import com.youchain.basicdata.service.StockService;
|
||||||
import com.youchain.businessdata.domain.*;
|
|
||||||
import com.youchain.businessdata.service.*;
|
|
||||||
import com.youchain.businessdata.service.impl.InventoryLogServiceImpl;
|
|
||||||
import com.youchain.exception.handler.ApiResult;
|
import com.youchain.exception.handler.ApiResult;
|
||||||
import com.youchain.modules.quartz.utils.TimeNumberUtils;
|
|
||||||
import com.youchain.modules.system.service.DictService;
|
|
||||||
import com.youchain.utils.*;
|
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
@ -33,9 +16,6 @@ import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||||
import static org.springframework.http.HttpStatus.OK;
|
import static org.springframework.http.HttpStatus.OK;
|
||||||
|
|
||||||
|
|
@ -44,7 +24,7 @@ import static org.springframework.http.HttpStatus.OK;
|
||||||
@Api(tags = "app管理")
|
@Api(tags = "app管理")
|
||||||
@RequestMapping("/api/app")
|
@RequestMapping("/api/app")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class XksAppController {
|
public class BydAppController {
|
||||||
|
|
||||||
private final StockService stockService;
|
private final StockService stockService;
|
||||||
|
|
||||||
|
|
@ -80,8 +60,8 @@ public class XksAppController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/bindStock")
|
@PostMapping("/bindStock")
|
||||||
@Log("满料入库")
|
@Log("原材料入库")
|
||||||
@ApiOperation("满料入库")
|
@ApiOperation("原材料入库")
|
||||||
@AnonymousAccess
|
@AnonymousAccess
|
||||||
public ResponseEntity<Object> bindStock(@RequestBody BindStock bindStock) {
|
public ResponseEntity<Object> bindStock(@RequestBody BindStock bindStock) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -77,7 +77,7 @@ public class Stock extends BaseEntity implements Serializable {
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "`stock_type`")
|
@Column(name = "`stock_type`", nullable = false)
|
||||||
@ApiModelProperty(value = "容器类型")
|
@ApiModelProperty(value = "容器类型")
|
||||||
private String stockType;
|
private String stockType;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ package com.youchain.basicdata.service.impl;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.youchain.basicdata.domain.Area;
|
||||||
import com.youchain.basicdata.domain.Item;
|
import com.youchain.basicdata.domain.Item;
|
||||||
import com.youchain.basicdata.domain.Point;
|
import com.youchain.basicdata.domain.Point;
|
||||||
import com.youchain.basicdata.domain.Stock;
|
import com.youchain.basicdata.domain.Stock;
|
||||||
|
|
@ -277,13 +278,19 @@ public class StockServiceImpl implements StockService {
|
||||||
Stock stock = validateStock(stockCode);//验证容器
|
Stock stock = validateStock(stockCode);//验证容器
|
||||||
validateStockStatus(stock);//验证容器状态
|
validateStockStatus(stock);//验证容器状态
|
||||||
Point srcPoint = validateSrcPoint(pointCode);//验证点位
|
Point srcPoint = validateSrcPoint(pointCode);//验证点位
|
||||||
//只允许成品入库
|
|
||||||
String srcPointAreaName = srcPoint.getArea().getName();
|
String srcPointAreaName = srcPoint.getArea().getName();
|
||||||
if (!isValidMCArea(srcPointAreaName)) {
|
if (!isValidMCArea(srcPointAreaName)) {
|
||||||
throw new RuntimeException(srcPoint.getCode() + "点位不能入库!");
|
throw new RuntimeException(srcPoint.getCode() + "为" + srcPointAreaName + "不能入库!");
|
||||||
}
|
}
|
||||||
//1F满车产线入1F存储区、2F满车产线入2F原材料B区
|
//容器类型:小件入库则入小件缓存区、大件入库则入大件缓存区
|
||||||
String areaName = null;
|
Map<String, String> stockTypeToAreaMap = new HashMap<>();
|
||||||
|
stockTypeToAreaMap.put("小件入库", "小件存储区");
|
||||||
|
stockTypeToAreaMap.put("大件入库", "大件存储区");
|
||||||
|
if (!stockTypeToAreaMap.containsKey(stock.getStockType())) {
|
||||||
|
throw new RuntimeException(stock.getStockType() + "容器类型错误!");
|
||||||
|
}
|
||||||
|
String areaName = stockTypeToAreaMap.get(stock.getStockType());
|
||||||
|
|
||||||
Point endPoint = validateEndPoint(areaName);//验证目标点位
|
Point endPoint = validateEndPoint(areaName);//验证目标点位
|
||||||
checkPointStatus(srcPoint);//验证源点位状态
|
checkPointStatus(srcPoint);//验证源点位状态
|
||||||
AgvTask agvTask = createAndSendAgvTask(BizStatus.ASN, stock, srcPoint, endPoint);//生成AGV任务
|
AgvTask agvTask = createAndSendAgvTask(BizStatus.ASN, stock, srcPoint, endPoint);//生成AGV任务
|
||||||
|
|
@ -294,7 +301,7 @@ public class StockServiceImpl implements StockService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isValidMCArea(String areaName) {
|
private boolean isValidMCArea(String areaName) {
|
||||||
return AreaNameDic.CPRKQ.equals(areaName);
|
return AreaNameDic.DXJRKQ.equals(areaName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,11 @@ package com.youchain.utils;
|
||||||
**/
|
**/
|
||||||
public interface AreaNameDic {
|
public interface AreaNameDic {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 大小件入库区
|
||||||
|
*/
|
||||||
|
public static String DXJRKQ = "大小件入库区";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 大件存储区
|
* 大件存储区
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue