失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)

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

时间:2019-03-27 01:58:12

相关推荐

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

场景

SpringBoot+Swagger2实现可视化API文档流程:

/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规范开发接口流程(以废料包材入库与出库为例)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。