diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java index 5fc60c9..6ae22cf 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java @@ -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; diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/Stock.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/Stock.java index dc1afbd..bb8ae47 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/Stock.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/Stock.java @@ -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`") diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java index 7a4b39e..9b1cd6f 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java @@ -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(); diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/StockController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/StockController.java index affb40f..d30cf5d 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/StockController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/StockController.java @@ -110,8 +110,7 @@ public class StockController { for (Map 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 record) { + private Stock createStock(String stockType, Dept dept, Map 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; } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockDto.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockDto.java index 0c70022..f80fa22 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockDto.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockDto.java @@ -53,8 +53,8 @@ public class StockDto implements Serializable { /** 容器名称 */ private String name; - /** 类型名称 */ - private StockTypeSmallDto stockType; + /** 容器类型 */ + private String stockType; /** 容器使用重量 */ diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockQueryCriteria.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockQueryCriteria.java index 245e122..e019369 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockQueryCriteria.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/StockQueryCriteria.java @@ -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) @@ -54,4 +50,4 @@ public class StockQueryCriteria{ @Query(joinName = "point>area>", propName="name",type = Query.Type.EQUAL) private String areaName; -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BigBomServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BigBomServiceImpl.java index 29fd632..6bf8e0e 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BigBomServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BigBomServiceImpl.java @@ -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)); } @@ -108,4 +109,4 @@ public class BigBomServiceImpl implements BigBomService { } FileUtil.downloadExcel(list, response); } -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java index 8efe5eb..a721756 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/StockServiceImpl.java @@ -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()); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java index 0df416d..57c9920 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java @@ -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 queryAsnDetail(AsnDetailQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(asnDetailService.queryAll(criteria,pageable),HttpStatus.OK); + public ResponseEntity 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 createAsnDetail(@Validated @RequestBody AsnDetail asnDetail){ + public ResponseEntity 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 storeMO(@Validated @RequestBody AsnDetail asnDetail){ - return addDetailMo(asnDetail,asnDetail.getPo(),asnDetail.getStock().getCode()); + public ResponseEntity 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 updateAsnDetail(@Validated @RequestBody AsnDetail resources){ + public ResponseEntity 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 updateContainer(@Validated @RequestBody AsnDetail resources,@RequestParam("stockId") Long stockId){ + public ResponseEntity 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 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 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 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 importMo( @RequestParam("file") MultipartFile multipartFile) { + public ResponseEntity 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> 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 addDetailMo( AsnDetail asnDetail,String MO,String stockCode){ - log.error("join.....addDetailMo:"+MO+"=====:"+stockCode); + public ResponseEntity 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 scanMO(@RequestBody IScanPut s){ - ApiResult r=analysisMO(s); + public ResponseEntity 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 scanStockCode(@RequestBody IRkStockCode s){ - ApiResult r=retrievalStockCode(s); + public ResponseEntity 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 map=new HashMap<>(); - map.put("stockId",st.getId()); + + Map 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 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 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 putawaySrcPoint(@RequestBody IRkInv rk){ - String srcPointCode=rk.getSrcPointCode(); - Point srcPoint=pointService.findByCode(srcPointCode,null,null,null,null); + public ResponseEntity 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 putawayConfirmApp(@RequestBody IRkInv rk){ - ApiResult r=putawayConfirm(rk); + public ResponseEntity 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 map=new HashMap<>(); + Map 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 storeAsnDetail(@RequestBody IRkConfirm cf) { - ApiResult r=createAsnDetail(cf); + public ResponseEntity 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 map=new HashMap<>(); - map.put("taskCode",taskCode); + JSONObject obj = new JSONObject(); + Map 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); } }