package com.example.erp.controller.mm;
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import com.example.erp.common.Constants;
|
import com.example.erp.common.Result;
|
import com.example.erp.entity.mm.FinishedOperateLog;
|
import com.example.erp.entity.pp.FlowCard;
|
import com.example.erp.entity.sd.Order;
|
import com.example.erp.entity.sd.OrderDetail;
|
import com.example.erp.exception.ServiceException;
|
import com.example.erp.service.mm.FinishedGoodsInventoryService;
|
import com.example.erp.tools.DownExcel;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import com.example.erp.entity.mm.FinishedGoodsInventory;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.time.LocalDate;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@RequestMapping("/FinishedGoodsInventory")
|
@Api(value="成品库存controller",tags={"成品库存操作接口"})
|
public class FinishedGoodsInventoryController {
|
@Autowired
|
FinishedGoodsInventoryService finishedGoodsInventoryService;
|
|
/*成品库存查询*/
|
@ApiOperation("成品库存查询接口")
|
@SaCheckPermission("ProductStockList.search")
|
@PostMapping("/getSelect/{pageNum}/{pageSize}")
|
public Result defaultDateFinishedGoodsInventory(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody FinishedGoodsInventory finishedGoodsInventory){
|
return Result.seccess(finishedGoodsInventoryService.defaultDateFinishedGoodsInventory(pageNum,pageSize,finishedGoodsInventory));
|
}
|
|
/*查询可入库的成品数据*/
|
@ApiOperation("可入库的成品查询接口")
|
@SaCheckPermission("CreateProductStock.search")
|
@PostMapping("/getSelectWarehousing/{pageNum}/{pageSize}")
|
public Result getSelectWarehousing(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody FlowCard flowCard){
|
return Result.seccess(finishedGoodsInventoryService.getSelectWarehousing(pageNum,pageSize,flowCard));
|
}
|
|
/*成品入库*/
|
@ApiOperation("成品入库接口")
|
@SaCheckPermission("CreateProductStock.add")
|
@PostMapping("/addSelectWarehousing")
|
public Result addSelectWarehousing( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.addSelectWarehousing(object));
|
|
}
|
|
/*查询可发货的成品数据*/
|
@ApiOperation("可发货的成品查询接口")
|
@SaCheckPermission("FinishedProductOut.search")
|
@PostMapping("/getSelectDeliveryDetail/{pageNum}/{pageSize}")
|
public Result getSelectDeliveryDetail(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody OrderDetail orderDetail){
|
return Result.seccess(finishedGoodsInventoryService.getSelectDeliveryDetail(pageNum,pageSize,orderDetail));
|
}
|
|
/*成品发货*/
|
@ApiOperation("成品发货接口")
|
@SaCheckPermission("FinishedProductOut.add")
|
@PostMapping("/addDeliveryDetail")
|
public Result addDeliveryDetail( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.addDeliveryDetail(object));
|
}
|
|
/* 调拨查询*/
|
@ApiOperation("可调拨数据查询接口")
|
@SaCheckPermission("OrderAllocation.search")
|
@PostMapping("/getSelectAllocate/{pageNum}/{pageSize}")
|
public Result getSelectAllocate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody OrderDetail orderDetail){
|
return Result.seccess(finishedGoodsInventoryService.getSelectAllocate(pageNum,pageSize,orderDetail));
|
}
|
|
/*订单调拨*/
|
@ApiOperation("订单调拨接口")
|
@SaCheckPermission("OrderAllocation.add")
|
@PostMapping("/updateFinishedGoodsInventoryAllocate")
|
public Result updateFinishedGoodsInventoryAllocate( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.updateFinishedGoodsInventoryAllocate(object));
|
}
|
|
/*调拨记录查询*/
|
@ApiOperation("调拨记录查询接口")
|
@SaCheckPermission("TransferRecord.search")
|
@PostMapping("/getSelectAllocateFinishedOperateLog/{pageNum}/{pageSize}/{selectDate}")
|
public Result getSelectAllocateFinishedOperateLog(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody FinishedOperateLog finishedOperateLog){
|
return Result.seccess(finishedGoodsInventoryService.getSelectAllocateFinishedOperateLog(pageNum,pageSize,selectDate,finishedOperateLog));
|
}
|
|
/*订单领出*/
|
@ApiOperation("订单领出接口")
|
@SaCheckPermission("FinishedGoodsIssue.add")
|
@PostMapping("/updateFinishedGoodsInventoryTakeOut")
|
public Result updateFinishedGoodsInventoryTakeOut( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.updateFinishedGoodsInventoryTakeOut(object));
|
}
|
|
/*领出记录查询*/
|
@ApiOperation("领出记录查询接口")
|
@SaCheckPermission("TakeOutRecord.search")
|
@PostMapping("/getSelectOperateRecord/{pageNum}/{pageSize}/{selectDate}")
|
public Result getSelectOperateRecord(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody FinishedOperateLog finishedOperateLog){
|
return Result.seccess(finishedGoodsInventoryService.getSelectOperateRecord(pageNum,pageSize,selectDate,finishedOperateLog));
|
}
|
|
/*订单返工*/
|
@ApiOperation("订单返工查询接口")
|
@PostMapping("/updateFinishedGoodsInventoryRework")
|
public Result updateFinishedGoodsInventoryRework( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.updateFinishedGoodsInventoryRework(object));
|
}
|
|
|
|
/*订单审核*/
|
@ApiOperation("订单审核接口")
|
@SaCheckPermission("TakeOutRecord.review")
|
@PostMapping("/updateFinishedGoodsInventoryToExamine")
|
public Result updateFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"审核"));
|
}
|
/*订单反审*/
|
@ApiOperation("订单反审接口")
|
@SaCheckPermission("TakeOutRecord.review")
|
@PostMapping("/updateFinishedGoodsInventoryCounterExamination")
|
public Result updateFinishedGoodsInventoryCounterExamination( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"反审"));
|
}
|
|
/*订单作废*/
|
@ApiOperation("订单作废接口")
|
@SaCheckPermission("TakeOutRecord.update")
|
@PostMapping("/cancelFinishedGoodsInventoryToExamine")
|
public Result cancelFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.cancelFinishedGoodsInventoryToExamine(object));
|
}
|
|
/*出入库记录查询*/
|
@ApiOperation("出入库记录查询接口")
|
@SaCheckPermission("storageRecord.search")
|
@PostMapping("/getSelectStorageRecord/{pageNum}/{pageSize}/{selectDate}/{type}")
|
public Result getSelectStorageRecord(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate,@PathVariable String type, @RequestBody FinishedOperateLog finishedOperateLog){
|
return Result.seccess(finishedGoodsInventoryService.getSelectStorageRecord(pageNum,pageSize,selectDate,type,finishedOperateLog));
|
}
|
|
/*出入库返回*/
|
@ApiOperation("出入库返回接口")
|
@SaCheckPermission("storageRecord.update")
|
@PostMapping("/cancelFini shedGoodsInventoryStorage")
|
public Result cancelFinishedGoodsInventoryStorage( @RequestBody Map<String,Object> object){
|
return Result.seccess(finishedGoodsInventoryService.cancelFinishedGoodsInventoryStorage(object));
|
}
|
|
@ApiOperation("成品库存记录查询接口")
|
@SaCheckPermission("WarehouseReport.search")
|
@PostMapping("/getSelectFinishedOperateLogReport/{pageNum}/{pageSize}/{selectDate}")
|
public Result getSelectFinishedOperateLogReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody FinishedOperateLog finishedOperateLog){
|
return Result.seccess(finishedGoodsInventoryService.getSelectFinishedOperateLogReport(pageNum,pageSize,selectDate,finishedOperateLog));
|
}
|
|
@ApiOperation("成品报表导出")
|
@PostMapping("/exportFinishedOperateLogReport")
|
public void exportFinishedOperateLogReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
|
//参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
|
DownExcel.download(response, FinishedOperateLog.class, finishedGoodsInventoryService.exportFinishedOperateLogReport(dates),"orderReport");
|
}
|
}
|