日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)

發布時間:2025/3/19 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

SpringBoot+Swagger2實現可視化API文檔流程:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/93616618

項目中引入swagger2.7參照上文。

業務需求

廢料入庫接口

上位機掃描托盤碼,傳遞給接口作為參數,后臺查詢托盤上的物料。

跟據收貨單查詢托盤上的物料,因為托盤回收后可以重復利用,所以在查詢托盤上所對應的物料時

需要對查詢結果List進行篩選。選擇距離當前時間最近的的一個實體類所對應的物料編號。

然后根據物料編號查詢出物料的基本信息,基本信息中有包裝是否可以回收和托盤是否回收這兩個屬性。

如果包裝可以回收則將包裝入廢料庫的時間賦值,如果托盤可以回收則將托盤入廢料庫的時間賦值。

賦值完成后將廢料回收記錄的實體類存入數據庫。

廢料出庫接口

廢料庫是有容量的,等廢料存滿了后要運走,此時還要調接口,記錄出廢料庫時間。

調用此接口時上位機傳遞運輸類型標識量,如果參數為1,則表示運輸包裝廢料所有沒有出廢料庫的,即包裝出庫時間為空的。如果參數為2,則表示運輸托盤廢料所有沒有托盤出庫時間的。

查詢之后將出庫時間依次賦值。

實現

數據庫設計

?

廢料入庫接口

Controller層代碼

?@Description("廢料包材回收入庫記錄")@RequestMapping(value="/wastePackageRecoveryInWareHouseRecord",method =RequestMethod.POST)@ResponseBody@ApiOperation(value="廢料包材回收入庫記錄", notes="上位機掃碼,點擊回收按鈕進行廢料包材回收入庫")@ApiImplicitParam(name = "trayCode", value = "托盤編碼", required = true, dataType = "String",paramType="query")public? Json IWmsWastePackageRecoveryInWareHouseRecord(String trayCode) {return this.wmsMasterCleanFinishService.IWmsWastePackageRecoveryInWareHouseRecord(trayCode);}

具體實現類代碼

@Transactional@Overridepublic Json IWmsWastePackageRecoveryInWareHouseRecord(String trayCode) {Json json = new Json();try{WmsWastePackageRecoveryRecord wmsWastePackageRecoveryRecord = new WmsWastePackageRecoveryRecord();wmsWastePackageRecoveryRecord.setTrayNumber(trayCode);//通過托盤號根據收貨單查詢物料QueryWrapper<WmsReceiveOrderDetails> receiveOrerDeatilsWrapper = new QueryWrapper<WmsReceiveOrderDetails>();receiveOrerDeatilsWrapper.eq("salver_code",trayCode).eq("deleted_flag",0);List<WmsReceiveOrderDetails> receiveOrderDetailList = receiveOrderDetailsMapper.selectList(receiveOrerDeatilsWrapper);if(receiveOrderDetailList!=null){String materialNumber = receiveOrderDetailList.get(0).getMaterielNumber();for (int i =0;i+1<receiveOrderDetailList.size();i++){if(receiveOrderDetailList.get(i).getGmtCreat().getTime() < receiveOrderDetailList.get(i+1).getGmtCreat().getTime());materialNumber=receiveOrderDetailList.get(i+1).getMaterielNumber();}//根據物料編號查詢物料基本信息QueryWrapper<BusMaterielInfo> materialInfoWrapper = new QueryWrapper<BusMaterielInfo>();materialInfoWrapper.eq("materiel_number",materialNumber).eq("deleted_flag",0);BusMaterielInfo busMaterielInfo = materielInfoMapper.selectOne(materialInfoWrapper);if(busMaterielInfo!=null){if(busMaterielInfo.getPackageRecoveryFlag()==true){wmsWastePackageRecoveryRecord.setPackageInTime(new Date());}else{if(busMaterielInfo.getTrayRecoveryFlag()==true){wmsWastePackageRecoveryRecord.setTrayInTime(new Date());}}//存數據庫wmsWastePackageRecoveryRecordMapper.insert(wmsWastePackageRecoveryRecord);json.success();json.setMsg("廢料包材入庫成功");}else{json.fail();json.setMsg("沒有找到該托盤所對應的的物料信息");}}else{json.fail();json.setMsg("沒有找到該托盤所對應的收貨單中的物料信息");}}catch (Exception e){json.fail();json.setMsg("廢料包材入庫出現異常");}return json;}

廢料出庫接口

Controller層代碼

?@Description("廢料包材回收出庫記錄")@RequestMapping(value="/wastePackageRecoveryOutWareHouseRecord",method =RequestMethod.POST)@ResponseBody@ApiOperation(value="廢料包材回收出庫記錄", notes="上位機掃碼,點擊回收按鈕進行廢料包材回收出庫")@ApiImplicitParam(name = "wastePackageFlag", value = "廢材包料入庫標識:1-回收包裝 2-回收托盤 ", required = true, dataType = "Integer",paramType="query")public? Json IWmsWastePackageRecoveryOutWareHouseRecord(Integer wastePackageFlag) {return this.wmsMasterCleanFinishService.IWmsWastePackageRecoveryOutWareHouseRecord(wastePackageFlag);}

具體實現類代碼

@Transactional@Overridepublic Json IWmsWastePackageRecoveryOutWareHouseRecord(Integer wastePackageFlag) {Json json = new Json();try{//包裝出庫if(wastePackageFlag==1){QueryWrapper<WmsWastePackageRecoveryRecord> wastePackageRecoveryOutWrapper = new QueryWrapper<WmsWastePackageRecoveryRecord>();wastePackageRecoveryOutWrapper.isNull("package_out_time").eq("deleted_flag",0);List<WmsWastePackageRecoveryRecord> wmsWastePackageRecoveryRecordList = wmsWastePackageRecoveryRecordMapper.selectList(wastePackageRecoveryOutWrapper);for (WmsWastePackageRecoveryRecord wmsWastePackageRecoveryRecord:wmsWastePackageRecoveryRecordList) {wmsWastePackageRecoveryRecord.setPackageOutTime(new Date());wmsWastePackageRecoveryRecordService.updateById(wmsWastePackageRecoveryRecord);}}//包裝出庫if(wastePackageFlag==2){QueryWrapper<WmsWastePackageRecoveryRecord> wastePackageRecoveryOutWrapper = new QueryWrapper<WmsWastePackageRecoveryRecord>();wastePackageRecoveryOutWrapper.isNull("tray_out_time").eq("deleted_flag",0);List<WmsWastePackageRecoveryRecord> wmsWastePackageRecoveryRecordList = wmsWastePackageRecoveryRecordMapper.selectList(wastePackageRecoveryOutWrapper);for (WmsWastePackageRecoveryRecord wmsWastePackageRecoveryRecord:wmsWastePackageRecoveryRecordList) {wmsWastePackageRecoveryRecord.setTrayOutTime(new Date());wmsWastePackageRecoveryRecordService.updateById(wmsWastePackageRecoveryRecord);}}json.success();json.setMsg("廢料包材出庫成功");}catch (Exception e){json.fail();json.setMsg("廢料包材出庫異常");}return json;}

效果

廢料入庫測試結果

?

廢料出庫測試結果

?

總結

以上是生活随笔為你收集整理的SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。