package com.example.erp.mapper.mm; import com.example.erp.dto.mm.FinishedOperateLogDTO; import com.example.erp.entity.mm.*; import com.example.erp.entity.pp.OptimizeUse; import com.example.erp.entity.sd.Delivery; import com.example.erp.entity.sd.DeliveryDetail; import com.example.erp.entity.sd.OrderDetail; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.data.repository.CrudRepository; import java.time.LocalDate; import java.util.List; import java.util.Map; @Mapper public interface MaterialInventoryMapper extends CrudRepository { List> getSelectMaterialInventoryDate(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("materialInventory") MaterialInventory materialInventory); Map getSelectMaterialInventoryDatePageTotal(Integer offset, Integer pageSize,String startDate, String endDate, MaterialInventory materialInventory); List> getSelectMaterialInventoryEngineeringDate(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("materialInventory") MaterialInventory materialInventory); Map getSelectMaterialInventoryEngineeringDatePageTotal(Integer offset, Integer pageSize,String startDate, String endDate, MaterialInventory materialInventory); List> getSelectMaterialInventory(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("materialInventory") MaterialInventory materialInventory, @Param("ids") List ids); Map getSelectMaterialInventoryPageTotal(Integer offset, Integer pageSize, MaterialInventory materialInventory, @Param("ids") List ids); List> getSelectMaterialInventoryEngineering(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("optimizeUse") OptimizeUse optimizeUse, @Param("ids") List ids); Map getSelectMaterialInventoryEngineeringPageTotal(Integer offset, Integer pageSize, OptimizeUse optimizeUse, @Param("ids") List ids); Boolean insertMaterialStore(@Param("type") String type, @Param("json") String json); Boolean deleteMaterialInventory(@Param("ids") List ids); Boolean updateMaterialStore(@Param("type") String type, @Param("json") String json, @Param("id") Long id); Boolean deleteMaterialOutbound(@Param("materialOutboundId") String materialOutboundId); Boolean deleteMaterialLog(@Param("materialOutboundId") String materialOutboundId); Integer getMaximum(@Param("type") String type); Integer getMaximums(@Param("type") String type); Integer getMaterialOutboundCount(@Param("materialOutboundId") String materialOutboundId); Integer getReturningWarehouseCount(@Param("returningId") String returningId); Integer getMaterialInventoryCount(@Param("materialCode") Long materialCode,@Param("dateOfManufacture") LocalDate dateOfManufacture); Integer getMaterialInventoryCountNull(@Param("materialCode") Long materialCode); List getMaterialInventoryCountId(@Param("materialCode") Long materialCode,@Param("dateOfManufacture") LocalDate dateOfManufacture); List getMaterialInventoryCountNullId(@Param("materialCode") Long materialCode); List getIsNotMaterialOutboundDetail( @Param("materialOutboundId") String materialOutboundId); List getIsNotReturningWarehouseDetail(@Param("returningId") String returningId); Boolean insertMaterialOutbound(@Param("materialOutbound") MaterialOutbound materialOutbound, @Param("number") String number); Boolean updateMaterialOutbound(@Param("materialOutbound") MaterialOutbound materialOutbound, @Param("number") String number); Boolean insertReturningWarehouse(@Param("returningWarehouse") ReturningWarehouse returningWarehouse, @Param("number") String number); Integer getMaterialOutboundDetailMaximum(@Param("materialOutboundId") String materialOutboundId); Integer getReturningWarehouseDetailMaximum(@Param("returningId") String returningId); Boolean insertMaterialOutboundDetail(@Param("materialOutboundDetail") MaterialOutboundDetail materialOutboundDetail, @Param("number") String number, @Param("materialOutboundNumber") Integer materialOutboundNumber); Boolean insertReturningWarehouseDetail(@Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail, @Param("number") String number, @Param("returningWarehouseNumber") Integer returningWarehouseNumber); Boolean updateReturningWarehouseDetail(@Param("number") String number, @Param("returningWarehouseNumber") Integer returningWarehouseNumber, @Param("materialInventoryId") Long materialInventoryId); Boolean updateMaterialInventoryAvailableOptOut(@Param("useId") Integer useId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableOptInt(@Param("useId") Integer useId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableOut(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableInt(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryInventoryOut(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryInventoryInt(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableInventoryOut(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableInventoryOutMes(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean updateMaterialInventoryAvailableInventoryInt(@Param("inventoryId") Long inventoryId, @Param("quantity") Integer quantity); Boolean deleteMaterialOutboundDetail(@Param("materialOutboundId") String materialOutboundId); Boolean deleteReturningWarehouseDetail(@Param("returningId") String returningId); Boolean deleteReturningWarehouse(@Param("returningId") String returningId); List getSelectMaterialOutboundDate(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("materialOutbound") MaterialOutbound materialOutbound); Map getSelectMaterialOutboundDatePageTotal(Integer offset, Integer pageSize,String startDate, String endDate,MaterialOutbound materialOutbound); List getSelectReturningWarehouseDate(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("returningWarehouse") ReturningWarehouse returningWarehouse); Map getSelectReturningWarehouseDatePageTotal(Integer offset, Integer pageSize,String startDate, String endDate,ReturningWarehouse returningWarehouse); MaterialOutbound getSelectMaterialOutbound(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("materialOutboundDetail") MaterialOutboundDetail materialOutboundDetail); List SelectMaterialOutboundDetail(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("materialOutboundDetail") MaterialOutboundDetail materialOutboundDetail); List> getSelectMaterialOutboundDetail(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("materialOutboundDetail") MaterialOutboundDetail materialOutboundDetail); List> getSelectMaterialOutboundEngineering(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("materialOutboundDetail") MaterialOutboundDetail materialOutboundDetail); Map getSelectMaterialOutboundDetailPageTotal(Integer offset, Integer pageSize,MaterialOutboundDetail materialOutboundDetail); ReturningWarehouse getSelectReturningWarehouse(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail); List> getSelectReturningWarehouseDetail(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail); Map getSelectReturningWarehouseDetailPageTotal(Integer offset, Integer pageSize,ReturningWarehouseDetail returningWarehouseDetail); Boolean updateMaterialOutboundToExamine(@Param("materialOutboundId") String materialOutboundId,@Param("reviewedState") int reviewedState,@Param("reviewed") String reviewed); Boolean updateMaterialOutboundCounterExamination(@Param("materialOutboundId") String materialOutboundId,@Param("reviewedState") int reviewedState,@Param("reviewed") String reviewed); Boolean updateReturningWarehouseToExamine(@Param("returningId") String returningId,@Param("reviewedState") int reviewedState,@Param("reviewed") String reviewed); Boolean updateReturningWarehouseCounterExamination(@Param("returningId") String returningId,@Param("reviewedState") int reviewedState,@Param("reviewed") String reviewed); Boolean updateMaterialInventory(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("materialInventory") MaterialInventory materialInventory); Boolean updateMaterialInventoryNull(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("materialInventory") MaterialInventory materialInventory); Boolean insertMaterialInventory(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("materialInventory") MaterialInventory materialInventory); Boolean updateMaterialInventoryReturning(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail); Boolean updateMaterialInventoryReturningNull(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail); Boolean insertMaterialInventoryReturning(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea, @Param("totalArea") Double totalArea, @Param("returningWarehouseDetail") ReturningWarehouseDetail returningWarehouseDetail); Boolean updateMaterialInventoryArea(@Param("materialCode") Long materialCode,@Param("singlePieceArea") Double singlePieceArea); List getSelectSurplusMaterialsDate(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("surplusMaterials") SurplusMaterials surplusMaterials); Map getSelectSurplusMaterialsDatePageTotal(Integer offset, Integer pageSize,String startDate, String endDate,SurplusMaterials surplusMaterials); SurplusMaterials selectSurplusMaterialsCount( @Param("surplusMaterials") SurplusMaterials surplusMaterials); Boolean insertSurplusMaterials( @Param("surplusMaterials") SurplusMaterials surplusMaterials); Boolean insertSurplusMaterialsLog(@Param("surplusMaterials") SurplusMaterials surplusMaterials,String creator, String type); Boolean updateSurplusMaterialsOutQuantity( @Param("surplusMaterials") SurplusMaterials surplusMaterials); Boolean updateSurplusMaterialsIntQuantity( @Param("surplusMaterials") SurplusMaterials surplusMaterials); Map getPrintCreateOutbound(String materialOutboundId); List> getPrintCreateOutboundDetail(String materialOutboundId); MaterialInventory getMaterialInventoryById(@Param("id") Long id); List getMaterialLogReport(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("materialLog") MaterialLog materialLog,String type); Map getMaterialLogReportTotal(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize,String startDate, String endDate, @Param("materialLog") MaterialLog materialLog,String type); List exportMaterialLogReport(List dates, String type); List getSelectMaterialOutboundProjectNo(@Param("projectNo") String projectNo); OptimizeUse getSelectOptimizeUses(@Param("projectNo") String projectNo,@Param("width") Double width,@Param("height") Double height); List getSelectMaterialOutboundOptimizeUses(@Param("materialOutboundId") String materialOutboundId,@Param("useId") Integer useId); Boolean updateMaterialOutboundOptimizeUses(@Param("useId") Integer useId,@Param("quantity") Integer quantity); Boolean insertMaterialOutboundDetailOptimizeUses(@Param("materialOutboundId") String materialOutboundId,@Param("number") Integer number, @Param("inventoryId") Long inventoryId,@Param("materialCode") Long materialCode,@Param("inventoryArea") String inventory_area, @Param("useId") Integer useId,@Param("outboundQuantity") Integer outboundQuantity, @Param("singlePieceArea") Double singlePieceArea,@Param("dateOfManufacture") LocalDate dateOfManufacture); Boolean insertMaterialOutboundOptimizeUses(@Param("materialOutboundId") String materialOutboundId,@Param("projectNo") String projectNo, @Param("name") String name); Boolean updateOptimizeUsesMes(@Param("useId") Integer useId,@Param("quantity") Integer quantity); }