sfd
2025-05-19 ef28d5ea1585661005aa921fe523f8cb6a5b57e2
增加产品
已修改1个文件
已添加6个文件
637 ■■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsMaterialProductGroupManagementController.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialProductGroupManagement.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialProductGroupManagementMapper.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsMaterialProductGroupManagementService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialProductGroupManagementMapper.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsGasPipelinePredictionController.java
@@ -45,7 +45,7 @@
     * æŸ¥è¯¢ç®¡è·¯æ‰‹å·¥æ°”体预测数据列表
     */
    @Operation(summary = "查询管路手工气体预测数据列表", description = "分页查询")
//    @RequiresPermissions("gasPipeline:prediction:list")
    @RequiresPermissions("gasPipeline:prediction:list")
    @GetMapping("/list")
    public TableDataInfo list(ApsGasPipelinePrediction apsGasPipelineMo)
    {
@@ -57,7 +57,7 @@
    @Operation(summary = "导入手工气体预测数据", description = "批量导入")
    @Log(title = "导入手工气体预测数据", businessType = BusinessType.IMPORT)
//    @RequiresPermissions("gasPipeline:mo:import")
    @RequiresPermissions("gasPipeline:mo:import")
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file) throws Exception {
@@ -117,7 +117,7 @@
     * åˆ é™¤ç®¡è·¯æ‰‹å·¥æ°”体预测数据
     */
    @Operation(summary = "删除管路手工气体预测数据", description = "批量删除")
//    @RequiresPermissions("gasPipeline:prediction:remove")
    @RequiresPermissions("gasPipeline:prediction:remove")
    @Log(title = "管路手工气体预测数据", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsMaterialProductGroupManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,119 @@
package com.aps.core.controller.mainPlan;
import com.aps.common.core.utils.poi.ExcelUtil;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.domain.AjaxResult;
import com.aps.common.core.web.page.TableDataInfo;
import com.aps.common.log.annotation.Log;
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import com.aps.core.service.IApsMaterialProductGroupManagementService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * ç‰©æ–™äº§å“ç»„数据管理Controller
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@Tag(name = "物料产品组数据管理", description = "物料产品组数据管理接口")
@RestController
@RequestMapping("/materialProductGroupManagement")
public class ApsMaterialProductGroupManagementController extends BaseController
{
    @Autowired
    private IApsMaterialProductGroupManagementService apsMaterialProductGroupManagementService;
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理列表
     */
    @Operation(summary = "查询物料产品组数据管理列表", description = "分页查询")
//    @RequiresPermissions("materialProductGroup:management:list")
    @GetMapping("/list")
    public TableDataInfo list(ApsMaterialProductGroupManagement apsGasPipelineMo)
    {
        startPage();
        List<ApsMaterialProductGroupManagement> list = apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementList(apsGasPipelineMo);
        return getDataTable(list);
    }
    @Operation(summary = "导入手工气体预测数据", description = "批量导入")
    @Log(title = "导入手工气体预测数据", businessType = BusinessType.IMPORT)
//    @RequiresPermissions("materialProductGroup:mo:import")
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file) throws Exception {
        int i = apsMaterialProductGroupManagementService.batchInsertApsMaterialProductGroupManagement(file);
        return  toAjax(i);
    }
    /**
     * å¯¼å‡ºç‰©æ–™äº§å“ç»„数据管理列表
     */
    @Operation(summary = "导出物料产品组数据管理列表", description = "导出")
//    @RequiresPermissions("materialProductGroup:management:export")
    @Log(title = "物料产品组数据管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        List<ApsMaterialProductGroupManagement> list = apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementList(apsMaterialProductGroupManagement);
        ExcelUtil<ApsMaterialProductGroupManagement> util = new ExcelUtil<ApsMaterialProductGroupManagement>(ApsMaterialProductGroupManagement.class);
        util.exportExcel(response, list, "物料产品组数据管理数据");
    }
    /**
     * èŽ·å–ç‰©æ–™äº§å“ç»„æ•°æ®ç®¡ç†è¯¦ç»†ä¿¡æ¯
     */
    @Operation(summary = "获取物料产品组数据管理详细信息", description = "根据id获取")
    @RequiresPermissions("materialProductGroup:management:query")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementById(id));
    }
    /**
     * æ–°å¢žç‰©æ–™äº§å“ç»„数据管理
     */
    @Operation(summary = "新增物料产品组数据管理", description = "单个新增")
//    @RequiresPermissions("materialProductGroup:management:add")
    @Log(title = "物料产品组数据管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        return toAjax(apsMaterialProductGroupManagementService.insertApsMaterialProductGroupManagement(apsMaterialProductGroupManagement));
    }
    /**
     * ä¿®æ”¹ç‰©æ–™äº§å“ç»„数据管理
     */
    @Operation(summary = "修改物料产品组数据管理", description = "单个修改")
//    @RequiresPermissions("materialProductGroup:management:edit")
    @Log(title = "物料产品组数据管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        return toAjax(apsMaterialProductGroupManagementService.updateApsMaterialProductGroupManagement(apsMaterialProductGroupManagement));
    }
    /**
     * åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理
     */
    @Operation(summary = "删除物料产品组数据管理", description = "批量删除")
//    @RequiresPermissions("materialProductGroup:management:remove")
    @Log(title = "物料产品组数据管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(apsMaterialProductGroupManagementService.deleteApsMaterialProductGroupManagementByIds(ids));
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsMaterialProductGroupManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.aps.core.domain;
import com.aps.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aps.common.core.annotation.Excel;
import org.springframework.data.annotation.Id;
/**
 * ç‰©æ–™äº§å“ç»„数据管理对象 aps_material_product_group_management
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@Schema(description = "物料产品组数据管理实体类")
@Data
public class ApsMaterialProductGroupManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    @Id
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    /** ID */
    @Schema(description = "ID")
    private Long id;
    /** é€‚用工厂  å‚考 aps_factory */
    @Excel(name = "适用工厂  å‚考 aps_factory")
    @Schema(description = "适用工厂  å‚考 aps_factory")
    private String factory;
    /** æ–™å· */
    @Excel(name = "料号")
    @Schema(description = "料号")
    private String materialCode;
    /** ä¸“业 å‚考    aps_domain */
    @Excel(name = "专业 å‚考    aps_domain")
    @Schema(description = "专业 å‚考    aps_domain")
    private String domain;
    /** æ˜¯å¦ä¸ºä¸»é˜¶ æ˜¯/否 */
    @Excel(name = "是否为主阶 æ˜¯/否")
    @Schema(description = "是否为主阶 æ˜¯/否")
    private String isMain;
    /** æ–™å·ç±»åˆ« åˆ¶é€ ä»¶/采购件 */
    @Excel(name = "料号类别 åˆ¶é€ ä»¶/采购件")
    @Schema(description = "料号类别 åˆ¶é€ ä»¶/采购件")
    private String materialType;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setFactory(String factory)
    {
        this.factory = factory;
    }
    public String getFactory()
    {
        return factory;
    }
    public void setMaterialCode(String materialCode)
    {
        this.materialCode = materialCode;
    }
    public String getMaterialCode()
    {
        return materialCode;
    }
    public void setDomain(String domain)
    {
        this.domain = domain;
    }
    public String getDomain()
    {
        return domain;
    }
    public void setIsMain(String isMain)
    {
        this.isMain = isMain;
    }
    public String getIsMain()
    {
        return isMain;
    }
    public void setMaterialType(String materialType)
    {
        this.materialType = materialType;
    }
    public String getMaterialType()
    {
        return materialType;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factory", getFactory())
            .append("materialCode", getMaterialCode())
            .append("domain", getDomain())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isMain", getIsMain())
            .append("materialType", getMaterialType())
            .toString();
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsMaterialProductGroupManagementMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.aps.core.mapper;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
 * ç‰©æ–™äº§å“ç»„数据管理Mapper接口
 *
 * @author ruoyi
 * @date 2025-05-19
 */
public interface ApsMaterialProductGroupManagementMapper extends BaseMapper<ApsMaterialProductGroupManagement>
{
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç‰©æ–™äº§å“ç»„数据管理
     */
    public ApsMaterialProductGroupManagement selectApsMaterialProductGroupManagementById(Long id);
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理列表
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç‰©æ–™äº§å“ç»„数据管理集合
     */
    public List<ApsMaterialProductGroupManagement> selectApsMaterialProductGroupManagementList(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * æ–°å¢žç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    public int insertApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * ä¿®æ”¹ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    public int updateApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç»“æžœ
     */
    public int deleteApsMaterialProductGroupManagementById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteApsMaterialProductGroupManagementByIds(Long[] ids);
    void deleteAll();
}
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsMaterialProductGroupManagementService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.aps.core.service;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * ç‰©æ–™äº§å“ç»„数据管理Service接口
 *
 * @author ruoyi
 * @date 2025-05-19
 */
public interface IApsMaterialProductGroupManagementService
{
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç‰©æ–™äº§å“ç»„数据管理
     */
    public ApsMaterialProductGroupManagement selectApsMaterialProductGroupManagementById(Long id);
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理列表
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç‰©æ–™äº§å“ç»„数据管理集合
     */
    public List<ApsMaterialProductGroupManagement> selectApsMaterialProductGroupManagementList(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * æ–°å¢žç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    public int insertApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * ä¿®æ”¹ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    public int updateApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement);
    /**
     * æ‰¹é‡åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„物料产品组数据管理主键集合
     * @return ç»“æžœ
     */
    public int deleteApsMaterialProductGroupManagementByIds(Long[] ids);
    /**
     * åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理信息
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç»“æžœ
     */
    public int deleteApsMaterialProductGroupManagementById(Long id);
    int batchInsertApsMaterialProductGroupManagement(MultipartFile file);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialProductGroupManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,156 @@
package com.aps.core.service.impl;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cn.hutool.core.util.IdUtil;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.domain.ApsGasPipelinePrediction;
import com.aps.core.domain.ApsMaterialProductGroupManagement;
import com.aps.core.mapper.ApsMaterialProductGroupManagementMapper;
import com.aps.core.service.IApsMaterialProductGroupManagementService;
import io.micrometer.common.util.StringUtils;
import lombok.SneakyThrows;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
/**
 * ç‰©æ–™äº§å“ç»„数据管理Service业务层处理
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@Service
public class ApsMaterialProductGroupManagementServiceImpl implements IApsMaterialProductGroupManagementService
{
    @Autowired
    private ApsMaterialProductGroupManagementMapper apsMaterialProductGroupManagementMapper;
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç‰©æ–™äº§å“ç»„数据管理
     */
    @Override
    public ApsMaterialProductGroupManagement selectApsMaterialProductGroupManagementById(Long id)
    {
        return apsMaterialProductGroupManagementMapper.selectApsMaterialProductGroupManagementById(id);
    }
    /**
     * æŸ¥è¯¢ç‰©æ–™äº§å“ç»„数据管理列表
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç‰©æ–™äº§å“ç»„数据管理
     */
    @Override
    public List<ApsMaterialProductGroupManagement> selectApsMaterialProductGroupManagementList(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        return apsMaterialProductGroupManagementMapper.selectApsMaterialProductGroupManagementList(apsMaterialProductGroupManagement);
    }
    /**
     * æ–°å¢žç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    @Override
    public int insertApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        apsMaterialProductGroupManagement.setCreateTime(DateUtils.getNowDate());
        return apsMaterialProductGroupManagementMapper.insertApsMaterialProductGroupManagement(apsMaterialProductGroupManagement);
    }
    /**
     * ä¿®æ”¹ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param apsMaterialProductGroupManagement ç‰©æ–™äº§å“ç»„数据管理
     * @return ç»“æžœ
     */
    @Override
    public int updateApsMaterialProductGroupManagement(ApsMaterialProductGroupManagement apsMaterialProductGroupManagement)
    {
        apsMaterialProductGroupManagement.setUpdateTime(DateUtils.getNowDate());
        return apsMaterialProductGroupManagementMapper.updateApsMaterialProductGroupManagement(apsMaterialProductGroupManagement);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理
     *
     * @param ids éœ€è¦åˆ é™¤çš„物料产品组数据管理主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteApsMaterialProductGroupManagementByIds(Long[] ids)
    {
        return apsMaterialProductGroupManagementMapper.deleteApsMaterialProductGroupManagementByIds(ids);
    }
    /**
     * åˆ é™¤ç‰©æ–™äº§å“ç»„数据管理信息
     *
     * @param id ç‰©æ–™äº§å“ç»„数据管理主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteApsMaterialProductGroupManagementById(Long id)
    {
        return apsMaterialProductGroupManagementMapper.deleteApsMaterialProductGroupManagementById(id);
    }
    @SneakyThrows
    @Override
    public int batchInsertApsMaterialProductGroupManagement(MultipartFile file) {
        Workbook workbook = WorkbookFactory.create(file.getInputStream());
        Sheet sheet = workbook.getSheetAt(0);
        int rows = sheet.getLastRowNum();
        if (rows > 0) {
            List<ApsMaterialProductGroupManagement> list = new ArrayList<>();
            /*数据列从1开始*/
            for (int i = 1; i <= rows; i++) {
                Row row = sheet.getRow(i);
                String materialCode = row.getCell(0).getStringCellValue();
                if (StringUtils.isEmpty(materialCode)){
                    continue;
                }
                String materialType = row.getCell(1).getStringCellValue();
                String domain = row.getCell(2).getStringCellValue();
                String isMain = row.getCell(3).getStringCellValue();
                String factory = row.getCell(4).getStringCellValue();
                if (StringUtils.isNotBlank(materialType) &&
                    StringUtils.isNotBlank(domain) &&
                    StringUtils.isNotBlank(isMain) &&
                    StringUtils.isNotBlank(factory)) {
                    ApsMaterialProductGroupManagement item = new ApsMaterialProductGroupManagement();
                    item.setId(IdUtil.getSnowflakeNextId());
                    item.setFactory(factory);
                    item.setDomain(domain);
                    item.setMaterialType(materialType);
                    item.setMaterialCode(materialCode);
                    item.setIsMain(isMain);
                    item.setCreateBy(SecurityUtils.getUsername());
                    item.setCreateTime(DateUtils.getNowDate());
                    list.add(item);
                }
            }
            if (!list.isEmpty()) {
                apsMaterialProductGroupManagementMapper.insert(list);
            }
            return list.size();
        }
        return 0;
    }
}
aps-modules/aps-core/src/main/resources/mapper/core/ApsMaterialProductGroupManagementMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.aps.core.mapper.ApsMaterialProductGroupManagementMapper">
    <resultMap type="com.aps.core.domain.ApsMaterialProductGroupManagement" id="ApsMaterialProductGroupManagementResult">
        <result property="id"    column="id"    />
        <result property="factory"    column="factory"    />
        <result property="materialCode"    column="material_code"    />
        <result property="domain"    column="domain"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="isMain"    column="is_main"    />
        <result property="materialType"    column="material_type"    />
    </resultMap>
    <sql id="selectApsMaterialProductGroupManagementVo">
        select id, factory, material_code, domain, create_by, create_time, update_by, update_time, is_main, material_type from aps_material_product_group_management
    </sql>
    <select id="selectApsMaterialProductGroupManagementList" parameterType="ApsMaterialProductGroupManagement" resultMap="ApsMaterialProductGroupManagementResult">
        <include refid="selectApsMaterialProductGroupManagementVo"/>
        <where>
            <if test="factory != null  and factory != ''"> and factory = #{factory}</if>
            <if test="materialCode != null  and materialCode != ''"> and material_code = #{materialCode}</if>
            <if test="domain != null  and domain != ''"> and domain = #{domain}</if>
            <if test="isMain != null  and isMain != ''"> and is_main = #{isMain}</if>
            <if test="materialType != null  and materialType != ''"> and material_type = #{materialType}</if>
        </where>
    </select>
    <select id="selectApsMaterialProductGroupManagementById" parameterType="Long" resultMap="ApsMaterialProductGroupManagementResult">
    </select>
    <insert id="insertApsMaterialProductGroupManagement" parameterType="ApsMaterialProductGroupManagement">
        insert into aps_material_product_group_management
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="factory != null">factory,</if>
            <if test="materialCode != null">material_code,</if>
            <if test="domain != null">domain,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="isMain != null">is_main,</if>
            <if test="materialType != null">material_type,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="factory != null">#{factory},</if>
            <if test="materialCode != null">#{materialCode},</if>
            <if test="domain != null">#{domain},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="isMain != null">#{isMain},</if>
            <if test="materialType != null">#{materialType},</if>
         </trim>
    </insert>
    <update id="updateApsMaterialProductGroupManagement" parameterType="ApsMaterialProductGroupManagement">
        update aps_material_product_group_management
        <trim prefix="SET" suffixOverrides=",">
            <if test="factory != null">factory = #{factory},</if>
            <if test="materialCode != null">material_code = #{materialCode},</if>
            <if test="domain != null">domain = #{domain},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="isMain != null">is_main = #{isMain},</if>
            <if test="materialType != null">material_type = #{materialType},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteApsMaterialProductGroupManagementById" parameterType="Long">
        delete from aps_material_product_group_management where id = #{id}
    </delete>
    <delete id="deleteApsMaterialProductGroupManagementByIds" parameterType="String">
        delete from aps_material_product_group_management where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <delete id="deleteAll" parameterType="String">
        delete from aps_material_product_group_management
    </delete>
</mapper>