APP:原材料入库

main
HUOJIN\92525 2024-06-06 10:39:47 +08:00
parent 24f1e6bfe5
commit eba23b064f
4 changed files with 21 additions and 29 deletions

View File

@ -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 {

View File

@ -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;

View File

@ -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

View File

@ -7,6 +7,11 @@ package com.youchain.utils;
**/ **/
public interface AreaNameDic { public interface AreaNameDic {
/**
*
*/
public static String DXJRKQ = "大小件入库区";
/** /**
* *
*/ */