增加容器类型字典、物料类型字典、物料高度字典、物料翻包字典

main
HUOJIN\92525 2024-06-05 14:55:52 +08:00
parent 988991afae
commit 0e8c52fc4a
9 changed files with 205 additions and 220 deletions

View File

@ -143,11 +143,6 @@ public class Item extends BaseEntity implements Serializable {
@ApiModelProperty(value = "来源序号")
private Long sourceId;
@OneToOne
@JoinColumn(name = "stock_type")
@ApiModelProperty(value = "料箱类型")
private StockType stockType;
@Column(name = "`extend_d1`")
@ApiModelProperty(value = "默认容器装载数")
private Double extendD1=1d;

View File

@ -77,10 +77,9 @@ public class Stock extends BaseEntity implements Serializable {
private String name;
@OneToOne
@JoinColumn(name = "type_id")
@Column(name = "`stock_type`")
@ApiModelProperty(value = "容器类型")
private StockType stockType;
private String stockType;
@Column(name = "`use_weight`")

View File

@ -135,8 +135,6 @@ public class ItemController {
item.setCode(code);
item.setName("" + readAll.get(i).get("物料名称"));
//容器类型
String stocktype_Str = "" + readAll.get(i).get("容器类型");
item.setStockType(map_stock.get(stocktype_Str));
String unit=readAll.get(i).get("单位")+"";
item.setUnit(map_dic.get(unit).getValue());
String packNumber=readAll.get(i).get("默认容器装载数").toString().trim();

View File

@ -110,8 +110,7 @@ public class StockController {
for (Map<String, Object> record : readAll) {
String stockCode = record.get("代码").toString().trim();
String stockTypeCode = record.get("类型").toString().trim();
StockType stockType = redisObjectUtils.getObjectFromCache(stockTypeCode, () -> stockTypeService.findByCode(stockTypeCode), stockTypeCode + " 系统无此容器类型!");
String stockType = record.get("类型").toString().trim();
//判断是否已存在容器
if (existingStock.containsKey(stockCode)) {
@ -147,7 +146,7 @@ public class StockController {
}
private Stock createStock(StockType stockType, Dept dept, Map<String, Object> record) {
private Stock createStock(String stockType, Dept dept, Map<String, Object> record) {
Stock stock = new Stock();
stock.setCode(record.get("代码").toString().trim());
stock.setName(record.get("代码").toString().trim());
@ -158,7 +157,7 @@ public class StockController {
return stock;
}
private Stock updateStock(Stock stock, StockType stockType) {
private Stock updateStock(Stock stock, String stockType) {
stock.setStockType(stockType);
return stock;
}

View File

@ -53,8 +53,8 @@ public class StockDto implements Serializable {
/** 容器名称 */
private String name;
/** 类型名称 */
private StockTypeSmallDto stockType;
/** 容器类型 */
private String stockType;
/** 容器使用重量 */

View File

@ -41,12 +41,8 @@ public class StockQueryCriteria{
private String status;
/** 容器类型代码 */
@Query(joinName = "stockType", propName="code",type = Query.Type.EQUAL)
private String stockTypeCode;
/** 容器类型名称 */
@Query(joinName = "stockType", propName="name",type = Query.Type.EQUAL)
private String stockTypeName;
@Query(type = Query.Type.INNER_LIKE)
private String stockType;
/** 点位code */
@Query(joinName = "point", propName="code",type = Query.Type.EQUAL)

View File

@ -72,6 +72,7 @@ public class BigBomServiceImpl implements BigBomService {
@Override
@Transactional(rollbackFor = Exception.class)
public BigBomDto create(BigBom resources) {
return bigBomMapper.toDto(bigBomRepository.save(resources));
}

View File

@ -130,7 +130,7 @@ public class StockServiceImpl implements StockService {
map.put("地标ID", stock.getPoint().getName());
map.put("子容器数量", stock.getSubCount());
map.put("容器名称", stock.getName());
map.put("类型名称", stock.getStockType().getName());
map.put("容器类型", stock.getStockType());
map.put("容器使用重量", stock.getUseWeight());
map.put("容器使用体积", stock.getUseSize());
map.put("容器重量占用率", stock.getUsageWeight());

View File

@ -1,18 +1,18 @@
/*
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
* Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.youchain.businessdata.rest;
import cn.hutool.core.bean.BeanUtil;
@ -61,16 +61,17 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
/**
* @website https://eladmin.vip
* @author hjl
* @date 2023-08-14
**/
* @author hjl
* @website https://eladmin.vip
* @date 2023-08-14
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "asn_detail管理")
@ -107,8 +108,8 @@ public class AsnDetailController {
@GetMapping
@ApiOperation("查询asn_detail")
public ResponseEntity<Object> queryAsnDetail(AsnDetailQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(asnDetailService.queryAll(criteria,pageable),HttpStatus.OK);
public ResponseEntity<Object> queryAsnDetail(AsnDetailQueryCriteria criteria, Pageable pageable) {
return new ResponseEntity<>(asnDetailService.queryAll(criteria, pageable), HttpStatus.OK);
}
@PostMapping
@ -116,23 +117,24 @@ public class AsnDetailController {
@ApiOperation("新增asn_detail")
@PreAuthorize("@el.check('asnDetail:add')")
@Transient
public ResponseEntity<Object> createAsnDetail(@Validated @RequestBody AsnDetail asnDetail){
public ResponseEntity<Object> createAsnDetail(@Validated @RequestBody AsnDetail asnDetail) {
asnDetail.setStatus(BizStatus.OPEN);
asnDetail.setDept(UserUtils.getDept());
asnDetail.setPo(TimeNumberUtils.getRKCode());
asnDetailService.create(asnDetail);
Stock stock=asnDetail.getStock();
Stock stock = asnDetail.getStock();
stock.setStatus(BaseStatus.USED);
stockService.update(stock);
return new ResponseEntity<>(HttpStatus.OK);
}
@Log("采集MO票")
@ApiOperation("新增createMoInfo")
@PostMapping(value = "/createMoInfo")
@PreAuthorize("@el.check('asnDetail:createMoInfo')")
@Transient
public ResponseEntity<Object> storeMO(@Validated @RequestBody AsnDetail asnDetail){
return addDetailMo(asnDetail,asnDetail.getPo(),asnDetail.getStock().getCode());
public ResponseEntity<Object> storeMO(@Validated @RequestBody AsnDetail asnDetail) {
return addDetailMo(asnDetail, asnDetail.getPo(), asnDetail.getStock().getCode());
}
@ -140,7 +142,7 @@ public class AsnDetailController {
@Log("修改asn_detail")
@ApiOperation("修改asn_detail")
@PreAuthorize("@el.check('asnDetail:edit')")
public ResponseEntity<Object> updateAsnDetail(@Validated @RequestBody AsnDetail resources){
public ResponseEntity<Object> updateAsnDetail(@Validated @RequestBody AsnDetail resources) {
asnDetailService.update(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@ -149,7 +151,7 @@ public class AsnDetailController {
@Log("修改容器")
@ApiOperation("修改容器")
@PreAuthorize("@el.check('asnDetail:edit')")
public ResponseEntity<Object> updateContainer(@Validated @RequestBody AsnDetail resources,@RequestParam("stockId") Long stockId){
public ResponseEntity<Object> updateContainer(@Validated @RequestBody AsnDetail resources, @RequestParam("stockId") Long stockId) {
Stock stockData = stockRepository.getById(stockId);
Stock stock = resources.getStock();
stockData.setStatus("FREE");
@ -176,25 +178,25 @@ public class AsnDetailController {
@PreAuthorize("@el.check('asnDetail:checkAsn')")
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<Object> checkAsn(@RequestBody Long[] ids) {
for(Long id:ids) {
AsnDetail d =asnDetailService.toEntity(asnDetailService.findById(id));
String areaCode=null;
String goodType=d.getItem().getGoodType();
if(goodType!=null&&goodType.equals(BizStatus.ZC)){
areaCode="ZCMCK";
for (Long id : ids) {
AsnDetail d = asnDetailService.toEntity(asnDetailService.findById(id));
String areaCode = null;
String goodType = d.getItem().getGoodType();
if (goodType != null && goodType.equals(BizStatus.ZC)) {
areaCode = "ZCMCK";
}
List<Point> points=pointService.getPoint(BaseStatus.STORAGE,areaCode);
Point dstPoint =null;
if(points.size()>0){
dstPoint=points.get(0);
}else{
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),"找不到空闲点位");
List<Point> points = pointService.getPoint(BaseStatus.STORAGE, areaCode);
Point dstPoint = null;
if (points.size() > 0) {
dstPoint = points.get(0);
} else {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), "找不到空闲点位");
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
ApiResult r1= putawayInv(d,d.getPoint(),dstPoint);
if(r1.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r1.getMessage());
ApiResult r1 = putawayInv(d, d.getPoint(), dstPoint);
if (r1.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r1.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
@ -202,52 +204,52 @@ public class AsnDetailController {
return new ResponseEntity<>(HttpStatus.OK);
}
public ApiResult putawayInv(@RequestBody AsnDetail d,Point srcPoint,Point dstPoint) {
if(d.getOrderQty()-d.getReceivedQty()>0) {
ItemKey ik=itemKeyService.getItemKey(d.getItem(),d.getPropC1(),d.getPropC3());
Task t = new Task();
t.setAsnDetail(d);
t.setSrcStock(d.getStock());
t.setSrcStockCode(d.getStock().getCode());
t.setDstStock(d.getStock());
t.setDstStockCode(d.getStock().getCode());
t.setTaskStatus(BizStatus.OPEN);
t.setItem(d.getItem());
t.setPlanQty(d.getOrderQty());
t.setItemKey(ik);
if(srcPoint!=null) {
t.setSrcPoint(srcPoint);
t.setSrcPointCode(srcPoint.getCode());
}
t.setDstPoint(dstPoint);
t.setDstPointCode(dstPoint.getCode());
taskService.create(t);
d.setReceivedQty(d.getOrderQty());
d.setStatus(BizStatus.RECEIVED);
asnDetailService.update(d);
dstPoint.setStatus(BaseStatus.USED);
pointService.update(dstPoint);
double srcQty=0d;
Inventory inv=invService.getInventory(ik,dstPoint,d.getStock(),d.getDept(),BizStatus.RECEIVING_UP);
t.setInvId(inv.getId());
taskService.update(t);
srcQty=inv.getQuantity();
inv.addQty(inv,d.getOrderQty());
invService.update(inv);
invLogService.storeInventoryLog(BizStatus.RECEIVING_UP,BizStatus.ADD,null,ik,srcPoint,dstPoint,d.getStock(),d.getStock(),srcQty,d.getOrderQty(),
BizStatus.ASN,d.getId(),inv.getId(),d.getRemark());
}else{
return ApiResult.result(400,d.getItem().getCode()+"已收货","obj");
public ApiResult putawayInv(@RequestBody AsnDetail d, Point srcPoint, Point dstPoint) {
if (d.getOrderQty() - d.getReceivedQty() > 0) {
ItemKey ik = itemKeyService.getItemKey(d.getItem(), d.getPropC1(), d.getPropC3());
Task t = new Task();
t.setAsnDetail(d);
t.setSrcStock(d.getStock());
t.setSrcStockCode(d.getStock().getCode());
t.setDstStock(d.getStock());
t.setDstStockCode(d.getStock().getCode());
t.setTaskStatus(BizStatus.OPEN);
t.setItem(d.getItem());
t.setPlanQty(d.getOrderQty());
t.setItemKey(ik);
if (srcPoint != null) {
t.setSrcPoint(srcPoint);
t.setSrcPointCode(srcPoint.getCode());
}
t.setDstPoint(dstPoint);
t.setDstPointCode(dstPoint.getCode());
taskService.create(t);
d.setReceivedQty(d.getOrderQty());
d.setStatus(BizStatus.RECEIVED);
asnDetailService.update(d);
dstPoint.setStatus(BaseStatus.USED);
pointService.update(dstPoint);
double srcQty = 0d;
Inventory inv = invService.getInventory(ik, dstPoint, d.getStock(), d.getDept(), BizStatus.RECEIVING_UP);
t.setInvId(inv.getId());
taskService.update(t);
srcQty = inv.getQuantity();
inv.addQty(inv, d.getOrderQty());
invService.update(inv);
invLogService.storeInventoryLog(BizStatus.RECEIVING_UP, BizStatus.ADD, null, ik, srcPoint, dstPoint, d.getStock(), d.getStock(), srcQty, d.getOrderQty(),
BizStatus.ASN, d.getId(), inv.getId(), d.getRemark());
} else {
return ApiResult.result(400, d.getItem().getCode() + "已收货", "obj");
}
return ApiResult.result(200,null,"obj");
return ApiResult.result(200, null, "obj");
}
@PostMapping(value = "/import_mo")
@ApiOperation("导入MO")
@javax.transaction.Transactional
@PreAuthorize("@el.check('asnDetail:list')")
public ResponseEntity<Object> importMo( @RequestParam("file") MultipartFile multipartFile) {
public ResponseEntity<Object> importMo(@RequestParam("file") MultipartFile multipartFile) {
FileUtil.checkSize(properties.getMaxSize(), multipartFile.getSize());
String suffix = FileUtil.getExtensionName(multipartFile.getOriginalFilename());
String type = FileUtil.getFileType(suffix);
@ -255,44 +257,44 @@ public class AsnDetailController {
File file = FileUtil.upload(multipartFile, properties.getPath().getPath() + type + File.separator);
//MO票、容器代码
ExcelReader reader = ExcelUtil.getReader(file);
Dept dept=UserUtils.getDept();
int i=0;
int new_len=0;
try{
Dept dept = UserUtils.getDept();
int i = 0;
int new_len = 0;
try {
List<Map<String, Object>> readAll = reader.readAll();
for ( i = 0; i < readAll.size(); i++) {
log.error(i+"=====");
String mo=readAll.get(i).get("MO票").toString().trim();
String stockCode=readAll.get(i).get("容器代码").toString().trim();
for (i = 0; i < readAll.size(); i++) {
log.error(i + "=====");
String mo = readAll.get(i).get("MO票").toString().trim();
String stockCode = readAll.get(i).get("容器代码").toString().trim();
String[] str = mo.split("]");
int j=0;
IScanPut s=new IScanPut();
int j = 0;
IScanPut s = new IScanPut();
s.setScanCode(mo);
ApiResult r1=analysisMO(s);
if(r1.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r1.getMessage());
ApiResult r1 = analysisMO(s);
if (r1.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r1.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
RRkMo rmo=(RRkMo)r1.getData();
ApiResult r2=retrievalStockCode(new IRkStockCode(rmo.getItemId(),stockCode));
if(r2.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r2.getMessage());
RRkMo rmo = (RRkMo) r1.getData();
ApiResult r2 = retrievalStockCode(new IRkStockCode(rmo.getItemId(), stockCode));
if (r2.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r2.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
JSONObject obj=(JSONObject)r2.getData();
Long stockId=(Long)obj.get("stockId");
ApiResult r3=createAsnDetail(new IRkConfirm(mo,rmo.getItemId(),rmo.getItemCode(),stockId,stockCode,rmo.getQty(),rmo.getPch(),rmo.getCjbh()));
if(r3.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r3.getMessage());
JSONObject obj = (JSONObject) r2.getData();
Long stockId = (Long) obj.get("stockId");
ApiResult r3 = createAsnDetail(new IRkConfirm(mo, rmo.getItemId(), rmo.getItemCode(), stockId, stockCode, rmo.getQty(), rmo.getPch(), rmo.getCjbh()));
if (r3.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r3.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
new_len++;
}
}catch (Exception e){
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), "导入异常---第"+(i+1)+"行:"+e.toString());
} catch (Exception e) {
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), "导入异常---第" + (i + 1) + "行:" + e.toString());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
ApiError apiError = ApiError.errorJosn(HttpStatus.OK.value(), "导入成功:"+(i)+"行 新增("+new_len+")");
ApiError apiError = ApiError.errorJosn(HttpStatus.OK.value(), "导入成功:" + (i) + "行 新增(" + new_len + ")");
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
@ -303,28 +305,28 @@ public class AsnDetailController {
@PreAuthorize("@el.check('asnDetail:addDetailMo')")
@Transient
@AnonymousAccess
public ResponseEntity<Object> addDetailMo( AsnDetail asnDetail,String MO,String stockCode){
log.error("join.....addDetailMo:"+MO+"=====:"+stockCode);
public ResponseEntity<Object> addDetailMo(AsnDetail asnDetail, String MO, String stockCode) {
log.error("join.....addDetailMo:" + MO + "=====:" + stockCode);
//MO票解析规则 LB]A0008157]230729]12122000026352]20]230729283171]]
int j=0;
IScanPut s=new IScanPut();
int j = 0;
IScanPut s = new IScanPut();
s.setScanCode(MO);
ApiResult r1=analysisMO(s);
if(r1.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r1.getMessage());
ApiResult r1 = analysisMO(s);
if (r1.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r1.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
RRkMo rmo=(RRkMo)r1.getData();
ApiResult r2=retrievalStockCode(new IRkStockCode(rmo.getItemId(),stockCode));
if(r2.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r2.getMessage());
RRkMo rmo = (RRkMo) r1.getData();
ApiResult r2 = retrievalStockCode(new IRkStockCode(rmo.getItemId(), stockCode));
if (r2.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r2.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
JSONObject obj=(JSONObject)r2.getData();
Long stockId=(Long)obj.get("stockId");
ApiResult r3=createAsnDetail(new IRkConfirm(MO,rmo.getItemId(),rmo.getItemCode(),stockId,stockCode,rmo.getQty(),rmo.getPch(),rmo.getCjbh()));
if(r3.getStatus()==400){
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(),r3.getMessage());
JSONObject obj = (JSONObject) r2.getData();
Long stockId = (Long) obj.get("stockId");
ApiResult r3 = createAsnDetail(new IRkConfirm(MO, rmo.getItemId(), rmo.getItemCode(), stockId, stockCode, rmo.getQty(), rmo.getPch(), rmo.getCjbh()));
if (r3.getStatus() == 400) {
ApiError apiError = ApiError.errorJosn(BAD_REQUEST.value(), r3.getMessage());
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}
return new ResponseEntity<>(HttpStatus.OK);
@ -335,21 +337,21 @@ public class AsnDetailController {
@ApiOperation("扫描MO票接口")
@PreAuthorize("@el.check('asnDetail:scanMO')")
@AnonymousAccess
public ResponseEntity<Object> scanMO(@RequestBody IScanPut s){
ApiResult r=analysisMO(s);
public ResponseEntity<Object> scanMO(@RequestBody IScanPut s) {
ApiResult r = analysisMO(s);
return HttpUtils.handle(r);
}
public ApiResult analysisMO(IScanPut s){
public ApiResult analysisMO(IScanPut s) {
//MO票解析规则 LB]A0008157]230729]12122000026352]20]230729283171]]
String mo=s.getScanCode();
String mo = s.getScanCode();
String[] str = mo.split("]");
RRkMo rm=new RRkMo();
int j=0;
if (str.length <=5) {
rm.setMsg(mo+"格式不正确");
String msg=mo+"格式不正确";
return ApiResult.result(400,msg,rm);
RRkMo rm = new RRkMo();
int j = 0;
if (str.length <= 5) {
rm.setMsg(mo + "格式不正确");
String msg = mo + "格式不正确";
return ApiResult.result(400, msg, rm);
}
String itemCode = str[3];
Double qty = Double.parseDouble(str[4]);
@ -362,13 +364,13 @@ public class AsnDetailController {
rm.setItemCode(itemCode);
Item it = itemService.existItem(itemCode);
if (it == null) {
rm.setMsg(itemCode+"不存在");
String msg=itemCode+"不存在";
return ApiResult.result(400,msg,rm);
rm.setMsg(itemCode + "不存在");
String msg = itemCode + "不存在";
return ApiResult.result(400, msg, rm);
}
rm.setItemId(it.getId());
rm.setItemName(it.getName());
return ApiResult.result(200,null,rm);
return ApiResult.result(200, null, rm);
}
@ -377,27 +379,24 @@ public class AsnDetailController {
@ApiOperation("MO票采集扫描容器号")
@PreAuthorize("@el.check('asnDetail:scanStockCode')")
@AnonymousAccess
public ResponseEntity<Object> scanStockCode(@RequestBody IRkStockCode s){
ApiResult r=retrievalStockCode(s);
public ResponseEntity<Object> scanStockCode(@RequestBody IRkStockCode s) {
ApiResult r = retrievalStockCode(s);
return HttpUtils.handle(r);
}
public ApiResult retrievalStockCode(IRkStockCode s){
JSONObject obj=new JSONObject();
Long itemId=s.getItemId();
String stockCode=s.getStockCode();
Stock st = stockService.findByCode(stockCode,BaseStatus.FREE);
public ApiResult retrievalStockCode(IRkStockCode s) {
JSONObject obj = new JSONObject();
Long itemId = s.getItemId();
String stockCode = s.getStockCode();
Stock st = stockService.findByCode(stockCode, BaseStatus.FREE);
if (st == null) {
return ApiResult.result(400,stockCode+"不存在或已使用",obj);
return ApiResult.result(400, stockCode + "不存在或已使用", obj);
}
Item it=itemService.findByItemId(itemId);
if(!st.getStockType().getId().equals(it.getStockType().getId())){
return ApiResult.result(400,it.getCode()+"物料绑定容器类型不正确",obj);
}
Map<String,Object> map=new HashMap<>();
map.put("stockId",st.getId());
Map<String, Object> map = new HashMap<>();
map.put("stockId", st.getId());
obj.putAll(map);
return ApiResult.result(200,null,obj);
return ApiResult.result(200, null, obj);
}
@PostMapping("/putawayStock")
@ -405,15 +404,15 @@ public class AsnDetailController {
@ApiOperation("APP入库上架-容器号")
@PreAuthorize("@el.check('asnDetail:putawayStock')")
@AnonymousAccess
public ResponseEntity<Object> putawayStock(@RequestBody IRkInv rk){
String stockCode=rk.getStockCode();
AsnDetail ad=asnDetailService.findByStock(stockCode);
if(ad==null){
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), stockCode+"找不到收货记录");
public ResponseEntity<Object> putawayStock(@RequestBody IRkInv rk) {
String stockCode = rk.getStockCode();
AsnDetail ad = asnDetailService.findByStock(stockCode);
if (ad == null) {
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), stockCode + "找不到收货记录");
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}else{
} else {
rk.setAsnDetailId(ad.getId());
return new ResponseEntity<>(rk,HttpStatus.OK);
return new ResponseEntity<>(rk, HttpStatus.OK);
}
}
@ -422,15 +421,15 @@ public class AsnDetailController {
@ApiOperation("APP入库上架-起点")
@PreAuthorize("@el.check('asnDetail:putawaySrcPoint')")
@AnonymousAccess
public ResponseEntity<Object> putawaySrcPoint(@RequestBody IRkInv rk){
String srcPointCode=rk.getSrcPointCode();
Point srcPoint=pointService.findByCode(srcPointCode,null,null,null,null);
public ResponseEntity<Object> putawaySrcPoint(@RequestBody IRkInv rk) {
String srcPointCode = rk.getSrcPointCode();
Point srcPoint = pointService.findByCode(srcPointCode, null, null, null, null);
if (srcPoint == null) {
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), srcPointCode+"找不到起点");
ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), srcPointCode + "找不到起点");
return new ResponseEntity(apiError, HttpStatus.valueOf(apiError.getStatus()));
}else{
} else {
rk.setSrcPointId(srcPoint.getId());
return new ResponseEntity<>(rk,HttpStatus.OK);
return new ResponseEntity<>(rk, HttpStatus.OK);
}
}
@ -439,15 +438,14 @@ public class AsnDetailController {
@ApiOperation("APP入库上架")
@PreAuthorize("@el.check('asnDetail:putawayConfirmApp')")
@AnonymousAccess
public ResponseEntity<Object> putawayConfirmApp(@RequestBody IRkInv rk){
ApiResult r=putawayConfirm(rk);
public ResponseEntity<Object> putawayConfirmApp(@RequestBody IRkInv rk) {
ApiResult r = putawayConfirm(rk);
return HttpUtils.handle(r);
}
public ApiResult putawayConfirm(IRkInv rk){
JSONObject obj=new JSONObject();
public ApiResult putawayConfirm(IRkInv rk) {
JSONObject obj = new JSONObject();
//查找容器是否有未完成记录
// String stockCode=rk.getStockCode();
// AsnDetail ad=asnDetailService.findByStock(stockCode);
@ -456,25 +454,25 @@ public class AsnDetailController {
// }
//
// String srcPointCode=rk.getSrcPointCode();
String dstPointCode=rk.getDstPoinCode();
AsnDetail ad=asnDetailService.toEntity(asnDetailService.findById(rk.getAsnDetailId()));
Point srcPoint=pointService.findEntityById(rk.getSrcPointId());
String dstPointCode = rk.getDstPoinCode();
AsnDetail ad = asnDetailService.toEntity(asnDetailService.findById(rk.getAsnDetailId()));
Point srcPoint = pointService.findEntityById(rk.getSrcPointId());
// Point srcPoint=pointService.findByCode(srcPointCode,null,null);
// if (srcPoint == null) {
// return ApiResult.result(400,srcPointCode+"找不到起点",obj);
// }
Point dstPoint=pointService.findByCode(dstPointCode,BaseStatus.FREE,BaseStatus.STORAGE,"",null);
Point dstPoint = pointService.findByCode(dstPointCode, BaseStatus.FREE, BaseStatus.STORAGE, "", null);
if (dstPoint == null) {
return ApiResult.result(400,dstPoint+"找不到终点或状态不对",obj);
return ApiResult.result(400, dstPoint + "找不到终点或状态不对", obj);
}
ApiResult r1= putawayInv(ad,srcPoint,dstPoint);
if(r1.getStatus()==400){
ApiResult r1 = putawayInv(ad, srcPoint, dstPoint);
if (r1.getStatus() == 400) {
return r1;
}
Map<String,Object> map=new HashMap<>();
Map<String, Object> map = new HashMap<>();
obj.putAll(map);
return ApiResult.result(200,null,obj);
return ApiResult.result(200, null, obj);
}
@ -483,25 +481,24 @@ public class AsnDetailController {
@ApiOperation("MO票确认绑定")
@PreAuthorize("@el.check('asnDetail:storeAsnDetail')")
@AnonymousAccess
public ResponseEntity<Object> storeAsnDetail(@RequestBody IRkConfirm cf) {
ApiResult r=createAsnDetail(cf);
public ResponseEntity<Object> storeAsnDetail(@RequestBody IRkConfirm cf) {
ApiResult r = createAsnDetail(cf);
return HttpUtils.handle(r);
}
public ApiResult createAsnDetail(IRkConfirm cf) {
AsnDetail asnDetail=new AsnDetail();
int j=0;
String mo=cf.getMo();
String itemCode =cf.getItemCode();
public ApiResult createAsnDetail(IRkConfirm cf) {
AsnDetail asnDetail = new AsnDetail();
int j = 0;
String mo = cf.getMo();
String itemCode = cf.getItemCode();
Double qty = cf.getQty();
String pc = cf.getPch();
String cjbh = cf.getCjbh();
Long itemId=cf.getItemId();
Long stockId=cf.getStockId();
Item it=itemService.findByItemId(itemId);
Stock st=stockService.toEntity(stockService.findById(stockId));
if(!st.getStockType().getId().equals(it.getStockType().getId())){
return ApiResult.result(400,it.getCode()+"物料绑定容器类型不正确",null);
}
Long itemId = cf.getItemId();
Long stockId = cf.getStockId();
Item it = itemService.findByItemId(itemId);
Stock st = stockService.toEntity(stockService.findById(stockId));
asnDetail.setPropC1(pc);
asnDetail.setPropC2(cjbh);
asnDetail.setOrderQty(qty);
@ -514,7 +511,7 @@ public class AsnDetailController {
asnDetailService.create(asnDetail);
st.setStatus(BaseStatus.USED);
stockService.update(st);
return ApiResult.result(200,"绑定成功","");
return ApiResult.result(200, "绑定成功", "");
}
@PostMapping("/scanStock")
@ -529,11 +526,11 @@ public class AsnDetailController {
//调用收货方法
JSONObject obj=new JSONObject();
Map<String,Object> map=new HashMap<>();
map.put("taskCode",taskCode);
JSONObject obj = new JSONObject();
Map<String, Object> map = new HashMap<>();
map.put("taskCode", taskCode);
obj.putAll(map);
return new ResponseEntity<>(ApiResult.success("",obj), HttpStatus.OK);
return new ResponseEntity<>(ApiResult.success("", obj), HttpStatus.OK);
}
}