guoyujie
2 天以前 c4b9a339caff12e95f61c3d5dc950aafcc8c566c
north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialInventoryController.java
@@ -4,87 +4,84 @@
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.*;
import com.example.erp.entity.pp.OptimizeUse;
import com.example.erp.exception.ServiceException;
import com.example.erp.service.mm.MaterialInventoryService;
import com.example.erp.service.mm.MaterialStoreService;
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 javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/MaterialInventory")
@RequestMapping("/materialInventory")
@Api(value="物料库存controller",tags={"物料库存操作接口"})
public class MaterialInventoryController {
    @Autowired
    MaterialInventoryService materialInventoryService;
    @ApiOperation("物料出库新增接口")
    @SaCheckPermission("CreateOutbound.add")
    @SaCheckPermission("createOutbound.add")
    @PostMapping("/saveMaterialOutbound")
    public Result saveMaterialOutbound( @RequestBody Map<String,Object>  object){
        if(materialInventoryService.saveMaterialOutbound(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"保存失败");
        }
        return Result.seccess(materialInventoryService.saveMaterialOutbound(object));
    }
    @ApiOperation("物料新增接口")
    @SaCheckPermission("SelectIngredientsStock.add")
    @SaCheckPermission("selectIngredientsStock.add")
    @PostMapping("/saveMaterialInventory")
    public Result saveMaterialInventory( @RequestBody Map<String,Object>  object){
        if(materialInventoryService.saveMaterialInventory(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"保存失败");
        }
        return Result.seccess(materialInventoryService.saveMaterialInventory(object));
    }
    @ApiOperation("物料库存加时间查询接口")
    @SaCheckPermission("SelectIngredientsStock.search")
    @SaCheckPermission("selectIngredientsStock.search")
    @PostMapping("/getSelectMaterialInventoryDate/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectMaterialInventoryDate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> selectDate, @RequestBody MaterialInventory materialInventory){
        return Result.seccess(materialInventoryService.getSelectMaterialInventoryDate(pageNum,pageSize,selectDate,materialInventory));
    }
    @ApiOperation("物料库存工程加时间查询接口")
    @SaCheckPermission("SelectIngredientsStock.search")
    @SaCheckPermission("selectIngredientsStock.search")
    @PostMapping("/getSelectMaterialInventoryEngineeringDate/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectMaterialInventoryEngineeringDate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> selectDate, @RequestBody MaterialInventory materialInventory){
        return Result.seccess(materialInventoryService.getSelectMaterialInventoryEngineeringDate(pageNum,pageSize,selectDate,materialInventory));
    }
    @ApiOperation("物料库存查询接口")
    @SaCheckPermission("CreateOutbound.search")
    @SaCheckPermission("createOutbound.search")
    @PostMapping("/getSelectMaterialInventory/{pageNum}/{pageSize}")
    public Result getSelectMaterialInventory(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody MaterialInventory materialInventory){
        return Result.seccess(materialInventoryService.getSelectMaterialInventory(pageNum,pageSize,materialInventory));
    }
    @ApiOperation("物料库存工程查询接口")
    @SaCheckPermission("SelectIngredientsStock.search")
    @SaCheckPermission("selectIngredientsStock.search")
    @PostMapping("/getSelectMaterialInventoryEngineering/{pageNum}/{pageSize}")
    public Result getSelectMaterialInventoryEngineering(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody OptimizeUse optimizeUse){
        return Result.seccess(materialInventoryService.getSelectMaterialInventoryEngineering(pageNum,pageSize,optimizeUse));
    }
    @ApiOperation("材料出库加时间查询接口")
    @SaCheckPermission("MaterialOutbound.search")
    @SaCheckPermission("materialOutbound.search")
    @PostMapping("/getSelectMaterialOutboundDate/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectMaterialOutboundDate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> selectDate, @RequestBody MaterialOutbound materialOutbound){
        return Result.seccess(materialInventoryService.getSelectMaterialOutboundDate(pageNum,pageSize,selectDate, materialOutbound));
    }
    @ApiOperation("材料出库查询接口")
    @SaCheckPermission("CreateOutbound.search")
    @SaCheckPermission("createOutbound.search")
    @PostMapping("/getSelectMaterialOutbound/{pageNum}/{pageSize}")
    public Result getSelectMaterialOutbound(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody MaterialOutboundDetail materialOutboundDetail){
        return Result.seccess(materialInventoryService.getSelectMaterialOutbound(pageNum,pageSize,materialOutboundDetail));
@@ -92,35 +89,42 @@
    @ApiOperation("材料出库审核接口")
    @SaCheckPermission("CreateOutbound.review")
    @SaCheckPermission("createOutbound.review")
    @PostMapping("/updateMaterialOutboundToExamine")
    public Result updateMaterialOutboundToExamine( @RequestBody Map<String,Object> object){
        return Result.seccess(materialInventoryService.updateMaterialOutboundToExamine(object));
    }
    @ApiOperation("材料出库删除接口")
    @SaCheckPermission("MaterialOutbound.delete")
    @SaCheckPermission("materialOutbound.delete")
    @PostMapping("/deleteMaterialOutbound")
    public Result deleteMaterialOutbound( @RequestBody Map<String,Object>  object){
        return Result.seccess(materialInventoryService.deleteMaterialOutbound(object));
    }
    @ApiOperation("物料返库新增接口")
    @SaCheckPermission("ReturnToStorageCreate.add")
    @SaCheckPermission("returnToStorageCreate.add")
    @PostMapping("/saveReturningWarehouse")
    public Result saveReturningWarehouse( @RequestBody Map<String,Object>  object){
        return Result.seccess(materialInventoryService.saveReturningWarehouse(object));
    }
    @ApiOperation("物料返库新增查询接口")
    @SaCheckPermission("ReturnToStorageCreate.search")
    @SaCheckPermission("returnToStorageCreate.search")
    @PostMapping("/getSelectReturningWarehouse/{pageNum}/{pageSize}")
    public Result getSelectReturningWarehouse(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody ReturningWarehouseDetail returningWarehouseDetail){
        return Result.seccess(materialInventoryService.getSelectReturningWarehouse(pageNum,pageSize,returningWarehouseDetail));
    }
    @ApiOperation("物料返库删除接口")
    @SaCheckPermission("returnToStorageCreate.delete")
    @PostMapping("/deleteReturnToStorage")
    public Result deleteReturnToStorage( @RequestBody Map<String,Object>  object){
        return Result.seccess(materialInventoryService.deleteReturnToStorage(object));
    }
    @ApiOperation("物料返库审核接口")
    @SaCheckPermission("ReturnToStorageCreate.review")
    @SaCheckPermission("returnToStorageCreate.review")
    @PostMapping("/updateReturningWarehouseToExamine")
    public Result updateReturningWarehouseToExamine( @RequestBody Map<String,Object> object){
        return Result.seccess(materialInventoryService.updateReturningWarehouseToExamine(object));
@@ -128,7 +132,7 @@
    @ApiOperation("物料返库查询接口")
    @SaCheckPermission("ReturnToStorage.search")
    @SaCheckPermission("returnToStorage.search")
    @PostMapping("/getSelectReturningWarehouseDate/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectReturningWarehouseDate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> selectDate, @RequestBody ReturningWarehouse returningWarehouse){
        return Result.seccess(materialInventoryService.getSelectReturningWarehouseDate(pageNum,pageSize,selectDate, returningWarehouse));
@@ -136,20 +140,66 @@
    @ApiOperation("余料库存查询接口")
    @SaCheckPermission("SelectIngredientsStock.search")
    @SaCheckPermission("selectIngredientsStock.search")
    @PostMapping("/getSelectSurplusMaterialsDate/{pageNum}/{pageSize}/{selectDate}")
    public Result getSelectSurplusMaterialsDate(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> selectDate, @RequestBody SurplusMaterials surplusMaterials){
        return Result.seccess(materialInventoryService.getSelectSurplusMaterialsDate(pageNum,pageSize,selectDate,surplusMaterials));
    }
    @ApiOperation("余料新增接口")
    @SaCheckPermission("SelectIngredientsStock.search")
    @SaCheckPermission("selectIngredientsStock.search")
    @PostMapping("/addSelectSurplusMaterialsDate")
    public Result addSelectSurplusMaterialsDate( @RequestBody Map<String,Object> object){
        return Result.seccess(materialInventoryService.addSelectSurplusMaterialsDate(object));
    }
    @ApiOperation("物料出库打印接口")
    @SaCheckPermission("selectIngredientsStock.search")
    @GetMapping ("/printCreateOutbound/{materialOutboundId}")
    public Result printCreateOutbound(@PathVariable String materialOutboundId)  {
        return   Result.seccess(materialInventoryService.printCreateOutbound(materialOutboundId));
    }
    @ApiOperation("物料库存记录查询接口")
    @SaCheckPermission("warehouseReport.search")
    @PostMapping("/getMaterialLogReport/{type}/{pageNum}/{pageSize}/{selectDate}")
    public Result getMaterialLogReport(@PathVariable String type,@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody MaterialLog materialLog){
        return Result.seccess(materialInventoryService.getMaterialLogReport(type,pageNum,pageSize,selectDate,materialLog));
    }
    @ApiOperation("物料库存删除")
    @SaCheckPermission("createOutbound.search")
    @PostMapping("/deleteMaterialInventory")
    public Result deleteMaterialInventory(@RequestBody Map<String,Object> object){
        return Result.seccess(materialInventoryService.deleteMaterialInventory(object));
    }
    @ApiOperation("物料报表导出")
    @PostMapping("/exportMaterialLogReport/{type}")
    public void exportMaterialLogReport(@PathVariable String type, HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
        //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
        DownExcel.download(response, MaterialLog.class, materialInventoryService.exportMaterialLogReport(dates,type),"orderReport");
    }
    @ApiOperation("mes切割报工")
    @PostMapping  ("/mesMaterialOutbound")
    public Result mesMaterialOutbound(@RequestBody Map<String,Object> reportingWork)  {
        return  Result.seccess(materialInventoryService.mesMaterialOutbound(reportingWork));
    }
    @ApiOperation("物料新增返回接口")
    @PostMapping("/cancelMaterialAdditionRecord")
    public Result cancelMaterialAdditionRecord( @RequestBody Map<String,Object>  object){
        return Result.seccess(materialInventoryService.cancelMaterialAdditionRecord(object));
    }
    @ApiOperation("优化物料库存记录查询接口")
    @SaCheckPermission("warehouseReport.search")
    @PostMapping("/getOptimizeOutboundReport/{type}/{pageNum}/{pageSize}/{selectDate}")
    public Result getOptimizeOutboundReport(@PathVariable String type,@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody MaterialLog materialLog){
        return Result.seccess(materialInventoryService.getOptimizeOutboundReport(type,pageNum,pageSize,selectDate,materialLog));
    }
}