场景
项目中引入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
@Override
public Json IWmsWastePackageRecoveryInWareHouseRecord(String trayCode) {
Json json = new Json();
try{
WmsWastePackageRecoveryRecord wmsWastePackageRecoveryRecord = new WmsWastePackageRecoveryRecord();
wmsWastePackageRecoveryRecord.setTrayNumber(trayCode);
//通过托盘号根据收货单查询物料
QueryWrapperreceiveOrerDeatilsWrapper = new QueryWrapper ();
receiveOrerDeatilsWrapper.eq("salver_code",trayCode)
.eq("deleted_flag",0);
ListreceiveOrderDetailList = receiveOrderDetailsMapper.selectList(receiveOrerDeatilsWrapper);
if(receiveOrderDetailList!=null){
String materialNumber = receiveOrderDetailList.get(0).getMaterielNumber();
for (int i =0;i+1if(receiveOrderDetailList.get(i).getGmtCreat().getTime() materialNumber=receiveOrderDetailList.get(i+1).getMaterielNumber();
}
//根据物料编号查询物料基本信息
QueryWrappermaterialInfoWrapper = new QueryWrapper ();
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
@Override
public Json IWmsWastePackageRecoveryOutWareHouseRecord(Integer wastePackageFlag) {
Json json = new Json();
try{
//包装出库
if(wastePackageFlag==1){
QueryWrapperwastePackageRecoveryOutWrapper = new QueryWrapper ();
wastePackageRecoveryOutWrapper.isNull("package_out_time")
.eq("deleted_flag",0);
ListwmsWastePackageRecoveryRecordList = wmsWastePackageRecoveryRecordMapper.selectList(wastePackageRecoveryOutWrapper);
for (WmsWastePackageRecoveryRecord wmsWastePackageRecoveryRecord:wmsWastePackageRecoveryRecordList
) {
wmsWastePackageRecoveryRecord.setPackageOutTime(new Date());
wmsWastePackageRecoveryRecordService.updateById(wmsWastePackageRecoveryRecord);
}
}
//包装出库
if(wastePackageFlag==2){
QueryWrapperwastePackageRecoveryOutWrapper = new QueryWrapper ();
wastePackageRecoveryOutWrapper.isNull("tray_out_time")
.eq("deleted_flag",0);
ListwmsWastePackageRecoveryRecordList = 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;
}
效果
废料入库测试结果
废料出库测试结果
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net