廖井涛
7 分钟以前 f7a2fcdda7f1120498c5c5f75c5a99955fc54b43
north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java
@@ -5,11 +5,14 @@
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.example.erp.common.Constants;
import com.example.erp.common.Result;
import com.example.erp.dto.mm.FinishedOperateLogDTO;
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;
@@ -17,11 +20,14 @@
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")
@RequestMapping("/finishedGoodsInventory")
@Api(value="成品库存controller",tags={"成品库存操作接口"})
public class FinishedGoodsInventoryController {
    @Autowired
@@ -29,166 +35,115 @@
    /*成品库存查询*/
    @ApiOperation("成品库存查询接口")
    @SaCheckPermission("ProductStockList.search")
    @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));
        return Result.success(finishedGoodsInventoryService.defaultDateFinishedGoodsInventory(pageNum,pageSize,finishedGoodsInventory));
    }
    /*查询可入库的成品数据*/
    @ApiOperation("可入库的成品查询接口")
    @SaCheckPermission("CreateProductStock.search")
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectWarehousing(pageNum,pageSize,flowCard));
    }
    /*成品入库*/
    @ApiOperation("成品入库接口")
    @SaCheckPermission("CreateProductStock.add")
    @SaCheckPermission("createProductStock.add")
    @PostMapping("/addSelectWarehousing")
    public Result addSelectWarehousing( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.addSelectWarehousing(object)){
            return Result.seccess();
        }else {
           throw new ServiceException(Constants.Code_500,"入库失败");
        return Result.success(finishedGoodsInventoryService.addSelectWarehousing(object));
        }
    }
    /*查询可发货的成品数据*/
    @ApiOperation("可发货的成品查询接口")
    @SaCheckPermission("FinishedProductOut.search")
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectDeliveryDetail(pageNum,pageSize,orderDetail));
    }
    /*成品发货*/
    @ApiOperation("成品发货接口")
    @SaCheckPermission("FinishedProductOut.add")
    @SaCheckPermission("finishedProductOut.add")
    @PostMapping("/addDeliveryDetail")
    public Result addDeliveryDetail( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.addDeliveryDetail(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"出库失败");
        }
        return Result.success(finishedGoodsInventoryService.addDeliveryDetail(object));
    }
    /* 调拨查询*/
    @ApiOperation("可调拨数据查询接口")
    @SaCheckPermission("OrderAllocation.search")
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectAllocate(pageNum,pageSize,orderDetail));
    }
    /*订单调拨*/
    @ApiOperation("订单调拨接口")
    @SaCheckPermission("OrderAllocation.add")
    @SaCheckPermission("orderAllocation.add")
    @PostMapping("/updateFinishedGoodsInventoryAllocate")
    public Result updateFinishedGoodsInventoryAllocate( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.updateFinishedGoodsInventoryAllocate(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"调拨失败,请检查订单输入是否正确");
        }
        return Result.success(finishedGoodsInventoryService.updateFinishedGoodsInventoryAllocate(object));
    }
    /*调拨记录查询*/
    @ApiOperation("调拨记录查询接口")
    @SaCheckPermission("TransferRecord.search")
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectAllocateFinishedOperateLog(pageNum,pageSize,selectDate,finishedOperateLog));
    }
    /*订单领出*/
    @ApiOperation("订单领出接口")
    @SaCheckPermission("FinishedGoodsIssue.add")
    @SaCheckPermission("finishedGoodsIssue.add")
    @PostMapping("/updateFinishedGoodsInventoryTakeOut")
    public Result updateFinishedGoodsInventoryTakeOut( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.updateFinishedGoodsInventoryTakeOut(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"领出失败");
        }
        return Result.success(finishedGoodsInventoryService.updateFinishedGoodsInventoryTakeOut(object));
    }
    /*领出记录查询*/
    @ApiOperation("领出记录查询接口")
    @SaCheckPermission("TakeOutRecord.search")
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectOperateRecord(pageNum,pageSize,selectDate,finishedOperateLog));
    }
    /*订单返工*/
    @ApiOperation("订单返工查询接口")
    @PostMapping("/updateFinishedGoodsInventoryRework")
    public Result updateFinishedGoodsInventoryRework( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.updateFinishedGoodsInventoryRework(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"返工失败");
        }
        return Result.success(finishedGoodsInventoryService.updateFinishedGoodsInventoryRework(object));
    }
    /*订单审核*/
    @ApiOperation("订单审核接口")
    @SaCheckPermission("TakeOutRecord.review")
    @SaCheckPermission("takeOutRecord.review")
    @PostMapping("/updateFinishedGoodsInventoryToExamine")
    public Result updateFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"审核")){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"领出失败");
        }
        return Result.success(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"审核"));
    }
    /*订单反审*/
    @ApiOperation("订单反审接口")
    @SaCheckPermission("TakeOutRecord.review")
    @SaCheckPermission("takeOutRecord.review")
    @PostMapping("/updateFinishedGoodsInventoryCounterExamination")
    public Result updateFinishedGoodsInventoryCounterExamination( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"反审")){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"领出失败");
        }
        return Result.success(finishedGoodsInventoryService.updateFinishedGoodsInventoryToExamine(object,"反审"));
    }
    /*订单作废*/
    @ApiOperation("订单作废接口")
    @SaCheckPermission("TakeOutRecord.update")
    @SaCheckPermission("takeOutRecord.update")
    @PostMapping("/cancelFinishedGoodsInventoryToExamine")
    public Result cancelFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.cancelFinishedGoodsInventoryToExamine(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"领出失败");
        }
        return Result.success(finishedGoodsInventoryService.cancelFinishedGoodsInventoryToExamine(object));
    }
    /*出入库记录查询*/
@@ -196,7 +151,7 @@
    @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));
        return Result.success(finishedGoodsInventoryService.getSelectStorageRecord(pageNum,pageSize,selectDate,type,finishedOperateLog));
    }
    /*出入库返回*/
@@ -204,20 +159,69 @@
    @SaCheckPermission("storageRecord.update")
    @PostMapping("/cancelFinishedGoodsInventoryStorage")
    public Result cancelFinishedGoodsInventoryStorage( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.cancelFinishedGoodsInventoryStorage(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"返回失败");
        }
        return Result.success(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));
    @SaCheckPermission("warehouseReport.search")
    @PostMapping("/getSelectFinishedOperateLogReport/{type}/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectFinishedOperateLogReport(@PathVariable String type,@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody FinishedOperateLog finishedOperateLog){
        return Result.success(finishedGoodsInventoryService.getSelectFinishedOperateLogReport(type,pageNum,pageSize,selectDate,finishedOperateLog));
    }
    @ApiOperation("成品报表导出")
    @PostMapping("/exportFinishedOperateLogReport/{type}")
    public void exportFinishedOperateLogReport(@PathVariable String type,HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
        //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
        DownExcel.download(response, FinishedOperateLogDTO.class, finishedGoodsInventoryService.exportFinishedOperateLogReport(dates,type),"orderReport");
    }
    /*订单一键入库*/
    @ApiOperation("订单一键入库")
    @SaCheckPermission("createProductStock.add")
    @PostMapping("/oneClickStorage/{orderId}/{userName}")
    public Result oneClickStorage( @PathVariable String  orderId,@PathVariable String  userName){
        return Result.success(finishedGoodsInventoryService.oneClickStorage(orderId,userName));
    }
    /*装箱打印查询*/
    @ApiOperation("装箱打印查询接口")
    @SaCheckPermission("storageRecordPint.search")
    @PostMapping("/getSelectStorageRecordPint/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectStorageRecordPint(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody FinishedOperateLog finishedOperateLog){
        return Result.success(finishedGoodsInventoryService.getSelectStorageRecordPint(pageNum,pageSize,selectDate,finishedOperateLog));
    }
    /*装箱打印查询*/
    @ApiOperation("装箱打印内容查询接口")
    @SaCheckPermission("storageRecordPint.search")
    @PostMapping("/getSelectPrint")
    public Result getSelectPrint( @RequestBody Map<String, Object> object){
        return Result.success(finishedGoodsInventoryService.getSelectPrintSv(object));
    }
    /*装箱打印查询*/
    @ApiOperation("装箱打印内容查询接口")
    @SaCheckPermission("storageRecordPint.search")
    @PostMapping("/getSelectPrints")
    public Result getSelectPrints( @RequestBody Map<String, Object> object){
        return Result.success(finishedGoodsInventoryService.getSelectPrintSvs(object));
    }
    /*装箱打印查询*/
    @ApiOperation("库存装箱打印内容查询接口")
    @SaCheckPermission("createProductStock.search")
    @PostMapping("/getInventoryPrints")
    public Result getInventoryPrints( @RequestBody List<FinishedGoodsInventory> finishedGoodsInventories){
        return Result.success(finishedGoodsInventoryService.getInventoryPrints(finishedGoodsInventories));
    }
    @ApiOperation("成品装箱调架")
    @SaCheckPermission("createProductStock.add")
    @PostMapping("/changeRack/{user}")
    public Result changeRack( @RequestBody FinishedGoodsInventory  finishedGoodsInventory,@PathVariable String user){
        return Result.success(finishedGoodsInventoryService.changeRack(finishedGoodsInventory,user));
    }
}