懒羊羊
2023-12-09 83806ebc3b5436e6d2f53e965101bacd3520bdfd
工艺流程
已修改1个文件
已添加16个文件
2209 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/controller/BsTechnologyRouteInfoController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/domain/BsTechnologyRouteInfo.java 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/mapper/BsTechnologyRouteInfoMapper.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/service/IBsTechnologyRouteInfoService.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/service/impl/BsTechnologyRouteInfoServiceImpl.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/controller/BsTechnologyRouteChildInfoController.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/domain/BsTechnologyRouteChildInfo.java 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/mapper/BsTechnologyRouteChildInfoMapper.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/service/IBsTechnologyRouteChildInfoService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/service/impl/BsTechnologyRouteChildInfoServiceImpl.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/bs/technologyRoute/BsTechnologyRouteInfoMapper.xml 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/resources/mapper/bs/technologyRouteChild/BsTechnologyRouteChildInfoMapper.xml 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/api/main/bs/technologyRoute/technologyRoute.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/api/main/bs/technologyRouteChild/technologyRouteChild.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/router/index.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/bs/technologyRoute/index.vue 360 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/bs/technologyRouteChild/index.vue 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/controller/BsTechnologyRouteInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,105 @@
package com.jcdm.main.bs.technologyRoute.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.jcdm.main.bs.technologyRoute.domain.BsTechnologyRouteInfo;
import com.jcdm.main.bs.technologyRoute.service.IBsTechnologyRouteInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.core.controller.BaseController;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.common.core.page.TableDataInfo;
/**
 * å·¥è‰ºæµç¨‹Controller
 *
 * @author ruimin
 * @date 2023-12-09
 */
@RestController
@RequestMapping("/bs/technologyRoute")
public class BsTechnologyRouteInfoController extends BaseController
{
    @Autowired
    private IBsTechnologyRouteInfoService bsTechnologyRouteInfoService;
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:list')")
    @GetMapping("/list")
    public TableDataInfo list(BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        startPage();
        List<BsTechnologyRouteInfo> list = bsTechnologyRouteInfoService.selectBsTechnologyRouteInfoList(bsTechnologyRouteInfo);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºå·¥è‰ºæµç¨‹åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:export')")
    @Log(title = "工艺流程", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        List<BsTechnologyRouteInfo> list = bsTechnologyRouteInfoService.selectBsTechnologyRouteInfoList(bsTechnologyRouteInfo);
        ExcelUtil<BsTechnologyRouteInfo> util = new ExcelUtil<BsTechnologyRouteInfo>(BsTechnologyRouteInfo.class);
        util.exportExcel(response, list, "工艺流程数据");
    }
    /**
     * èŽ·å–工艺流程详细信息
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(bsTechnologyRouteInfoService.selectBsTechnologyRouteInfoById(id));
    }
    /**
     * æ–°å¢žå·¥è‰ºæµç¨‹
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:add')")
    @Log(title = "工艺流程", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        return toAjax(bsTechnologyRouteInfoService.insertBsTechnologyRouteInfo(bsTechnologyRouteInfo));
    }
    /**
     * ä¿®æ”¹å·¥è‰ºæµç¨‹
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:edit')")
    @Log(title = "工艺流程", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        return toAjax(bsTechnologyRouteInfoService.updateBsTechnologyRouteInfo(bsTechnologyRouteInfo));
    }
    /**
     * åˆ é™¤å·¥è‰ºæµç¨‹
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRoute:remove')")
    @Log(title = "工艺流程", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(bsTechnologyRouteInfoService.deleteBsTechnologyRouteInfoByIds(ids));
    }
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/domain/BsTechnologyRouteInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,218 @@
package com.jcdm.main.bs.technologyRoute.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
/**
 * å·¥è‰ºæµç¨‹å¯¹è±¡ bs_technology_route_info
 *
 * @author ruimin
 * @date 2023-12-09
 */
public class BsTechnologyRouteInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”®id */
    private Long id;
    /** å·¥è‰ºæµç¨‹ç¼–码 */
    @Excel(name = "工艺流程编码")
    private String routeCode;
    /** å·¥è‰ºæµç¨‹åç§° */
    @Excel(name = "工艺流程名称")
    private String routeName;
    /** äº§å“ç¼–码 */
    @Excel(name = "产品编码")
    private String productCode;
    /** äº§å“åç§° */
    @Excel(name = "产品名称")
    private String productName;
    /** ç‰ˆæœ¬ */
    @Excel(name = "版本")
    private String version;
    /** çŠ¶æ€(字典) */
    @Excel(name = "状态(字典)")
    private String status;
    /** æ•°æ®æ¥æº */
    @Excel(name = "数据来源")
    private String dataSource;
    /** åˆ›å»ºç”¨æˆ· */
    @Excel(name = "创建用户")
    private String createUser;
    /** æ›´æ”¹ç”¨æˆ· */
    @Excel(name = "更改用户")
    private String updateUser;
    /** é¢„留字段1 */
    private String spareField1;
    /** é¢„留字段2 */
    private String spareField2;
    /** é¢„留字段3 */
    private String spareField3;
    /** é¢„留字段4 */
    private String spareField4;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setRouteCode(String routeCode)
    {
        this.routeCode = routeCode;
    }
    public String getRouteCode()
    {
        return routeCode;
    }
    public void setRouteName(String routeName)
    {
        this.routeName = routeName;
    }
    public String getRouteName()
    {
        return routeName;
    }
    public void setProductCode(String productCode)
    {
        this.productCode = productCode;
    }
    public String getProductCode()
    {
        return productCode;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }
    public String getProductName()
    {
        return productName;
    }
    public void setVersion(String version)
    {
        this.version = version;
    }
    public String getVersion()
    {
        return version;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }
    public String getStatus()
    {
        return status;
    }
    public void setDataSource(String dataSource)
    {
        this.dataSource = dataSource;
    }
    public String getDataSource()
    {
        return dataSource;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }
    public String getCreateUser()
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser)
    {
        this.updateUser = updateUser;
    }
    public String getUpdateUser()
    {
        return updateUser;
    }
    public void setSpareField1(String spareField1)
    {
        this.spareField1 = spareField1;
    }
    public String getSpareField1()
    {
        return spareField1;
    }
    public void setSpareField2(String spareField2)
    {
        this.spareField2 = spareField2;
    }
    public String getSpareField2()
    {
        return spareField2;
    }
    public void setSpareField3(String spareField3)
    {
        this.spareField3 = spareField3;
    }
    public String getSpareField3()
    {
        return spareField3;
    }
    public void setSpareField4(String spareField4)
    {
        this.spareField4 = spareField4;
    }
    public String getSpareField4()
    {
        return spareField4;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("routeCode", getRouteCode())
            .append("routeName", getRouteName())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("dataSource", getDataSource())
            .append("remark", getRemark())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("spareField1", getSpareField1())
            .append("spareField2", getSpareField2())
            .append("spareField3", getSpareField3())
            .append("spareField4", getSpareField4())
            .toString();
    }
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/mapper/BsTechnologyRouteInfoMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.jcdm.main.bs.technologyRoute.mapper;
import com.jcdm.main.bs.technologyRoute.domain.BsTechnologyRouteInfo;
import java.util.List;
/**
 * å·¥è‰ºæµç¨‹Mapper接口
 *
 * @author ruimin
 * @date 2023-12-09
 */
public interface BsTechnologyRouteInfoMapper
{
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return å·¥è‰ºæµç¨‹
     */
    public BsTechnologyRouteInfo selectBsTechnologyRouteInfoById(Long id);
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return å·¥è‰ºæµç¨‹é›†åˆ
     */
    public List<BsTechnologyRouteInfo> selectBsTechnologyRouteInfoList(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * æ–°å¢žå·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    public int insertBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * ä¿®æ”¹å·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    public int updateBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * åˆ é™¤å·¥è‰ºæµç¨‹
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteInfoById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºæµç¨‹
     *
     * @param ids éœ€è¦åˆ é™¤çš„数据主键集合
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteInfoByIds(Long[] ids);
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/service/IBsTechnologyRouteInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.jcdm.main.bs.technologyRoute.service;
import com.jcdm.main.bs.technologyRoute.domain.BsTechnologyRouteInfo;
import java.util.List;
/**
 * å·¥è‰ºæµç¨‹Service接口
 *
 * @author ruimin
 * @date 2023-12-09
 */
public interface IBsTechnologyRouteInfoService
{
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return å·¥è‰ºæµç¨‹
     */
    public BsTechnologyRouteInfo selectBsTechnologyRouteInfoById(Long id);
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return å·¥è‰ºæµç¨‹é›†åˆ
     */
    public List<BsTechnologyRouteInfo> selectBsTechnologyRouteInfoList(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * æ–°å¢žå·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    public int insertBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * ä¿®æ”¹å·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    public int updateBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo);
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºæµç¨‹
     *
     * @param ids éœ€è¦åˆ é™¤çš„工艺流程主键集合
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteInfoByIds(Long[] ids);
    /**
     * åˆ é™¤å·¥è‰ºæµç¨‹ä¿¡æ¯
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteInfoById(Long id);
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRoute/service/impl/BsTechnologyRouteInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.jcdm.main.bs.technologyRoute.service.impl;
import java.util.List;
import com.jcdm.common.utils.DateUtils;
import com.jcdm.main.bs.technologyRoute.domain.BsTechnologyRouteInfo;
import com.jcdm.main.bs.technologyRoute.mapper.BsTechnologyRouteInfoMapper;
import com.jcdm.main.bs.technologyRoute.service.IBsTechnologyRouteInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * å·¥è‰ºæµç¨‹Service业务层处理
 *
 * @author ruimin
 * @date 2023-12-09
 */
@Service
public class BsTechnologyRouteInfoServiceImpl implements IBsTechnologyRouteInfoService
{
    @Autowired
    private BsTechnologyRouteInfoMapper bsTechnologyRouteInfoMapper;
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return å·¥è‰ºæµç¨‹
     */
    @Override
    public BsTechnologyRouteInfo selectBsTechnologyRouteInfoById(Long id)
    {
        return bsTechnologyRouteInfoMapper.selectBsTechnologyRouteInfoById(id);
    }
    /**
     * æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return å·¥è‰ºæµç¨‹
     */
    @Override
    public List<BsTechnologyRouteInfo> selectBsTechnologyRouteInfoList(BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        return bsTechnologyRouteInfoMapper.selectBsTechnologyRouteInfoList(bsTechnologyRouteInfo);
    }
    /**
     * æ–°å¢žå·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    @Override
    public int insertBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        bsTechnologyRouteInfo.setCreateTime(DateUtils.getNowDate());
        return bsTechnologyRouteInfoMapper.insertBsTechnologyRouteInfo(bsTechnologyRouteInfo);
    }
    /**
     * ä¿®æ”¹å·¥è‰ºæµç¨‹
     *
     * @param bsTechnologyRouteInfo å·¥è‰ºæµç¨‹
     * @return ç»“æžœ
     */
    @Override
    public int updateBsTechnologyRouteInfo(BsTechnologyRouteInfo bsTechnologyRouteInfo)
    {
        bsTechnologyRouteInfo.setUpdateTime(DateUtils.getNowDate());
        return bsTechnologyRouteInfoMapper.updateBsTechnologyRouteInfo(bsTechnologyRouteInfo);
    }
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºæµç¨‹
     *
     * @param ids éœ€è¦åˆ é™¤çš„工艺流程主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteBsTechnologyRouteInfoByIds(Long[] ids)
    {
        return bsTechnologyRouteInfoMapper.deleteBsTechnologyRouteInfoByIds(ids);
    }
    /**
     * åˆ é™¤å·¥è‰ºæµç¨‹ä¿¡æ¯
     *
     * @param id å·¥è‰ºæµç¨‹ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteBsTechnologyRouteInfoById(Long id)
    {
        return bsTechnologyRouteInfoMapper.deleteBsTechnologyRouteInfoById(id);
    }
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/controller/BsTechnologyRouteChildInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
package com.jcdm.main.bs.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.core.controller.BaseController;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.main.bs.domain.BsTechnologyRouteChildInfo;
import com.jcdm.main.bs.service.IBsTechnologyRouteChildInfoService;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.common.core.page.TableDataInfo;
/**
 * å·¥è‰ºè·¯çº¿å­ä¿¡æ¯Controller
 *
 * @author ruimin
 * @date 2023-12-09
 */
@RestController
@RequestMapping("/bs/technologyRouteChild")
public class BsTechnologyRouteChildInfoController extends BaseController
{
    @Autowired
    private IBsTechnologyRouteChildInfoService bsTechnologyRouteChildInfoService;
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:list')")
    @GetMapping("/list")
    public TableDataInfo list(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        startPage();
        List<BsTechnologyRouteChildInfo> list = bsTechnologyRouteChildInfoService.selectBsTechnologyRouteChildInfoList(bsTechnologyRouteChildInfo);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºå·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:export')")
    @Log(title = "工艺路线子信息", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        List<BsTechnologyRouteChildInfo> list = bsTechnologyRouteChildInfoService.selectBsTechnologyRouteChildInfoList(bsTechnologyRouteChildInfo);
        ExcelUtil<BsTechnologyRouteChildInfo> util = new ExcelUtil<BsTechnologyRouteChildInfo>(BsTechnologyRouteChildInfo.class);
        util.exportExcel(response, list, "工艺路线子信息数据");
    }
    /**
     * èŽ·å–工艺路线子信息详细信息
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(bsTechnologyRouteChildInfoService.selectBsTechnologyRouteChildInfoById(id));
    }
    /**
     * æ–°å¢žå·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:add')")
    @Log(title = "工艺路线子信息", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        return toAjax(bsTechnologyRouteChildInfoService.insertBsTechnologyRouteChildInfo(bsTechnologyRouteChildInfo));
    }
    /**
     * ä¿®æ”¹å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:edit')")
    @Log(title = "工艺路线子信息", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        return toAjax(bsTechnologyRouteChildInfoService.updateBsTechnologyRouteChildInfo(bsTechnologyRouteChildInfo));
    }
    /**
     * åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('bs:technologyRouteChild:remove')")
    @Log(title = "工艺路线子信息", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(bsTechnologyRouteChildInfoService.deleteBsTechnologyRouteChildInfoByIds(ids));
    }
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/domain/BsTechnologyRouteChildInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,246 @@
package com.jcdm.main.bs.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jcdm.common.annotation.Excel;
import com.jcdm.common.core.domain.BaseEntity;
/**
 * å·¥è‰ºè·¯çº¿å­ä¿¡æ¯å¯¹è±¡ bs_technology_route_child_info
 *
 * @author ruimin
 * @date 2023-12-09
 */
public class BsTechnologyRouteChildInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”®id */
    private Long id;
    /** å·¥åºç¼–码 */
    @Excel(name = "工序编码")
    private String processesCode;
    /** å·¥åºåç§° */
    @Excel(name = "工序名称")
    private String processesName;
    /** åŠ å·¥é¡ºåº */
    @Excel(name = "加工顺序")
    private String stepNo;
    /** ä¸‹ä¸€é“工序 */
    @Excel(name = "下一道工序")
    private String nextProcess;
    /** ä¸Žä¸‹ä¸€é“工序关系 */
    @Excel(name = "与下一道工序关系")
    private String nextProcessBond;
    /** æ˜¯å¦å…³é”®å·¥åº */
    @Excel(name = "是否关键工序")
    private String keyProcessesFlag;
    /** å‡†å¤‡æ—¶é—´ */
    @Excel(name = "准备时间")
    private String preparationTime;
    /** ç­‰å¾…时间 */
    @Excel(name = "等待时间")
    private String waitTime;
    /** åˆ›å»ºç”¨æˆ· */
    @Excel(name = "创建用户")
    private String createUser;
    /** æ›´æ”¹ç”¨æˆ· */
    @Excel(name = "更改用户")
    private String updateUser;
    /** å·¥è‰ºæµç¨‹ç¼–码 */
    @Excel(name = "工艺流程编码")
    private String routeCode;
    /** é¢„留字段1 */
    private String spareField1;
    /** é¢„留字段2 */
    private String spareField2;
    /** é¢„留字段3 */
    private String spareField3;
    /** é¢„留字段4 */
    private String spareField4;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setProcessesCode(String processesCode)
    {
        this.processesCode = processesCode;
    }
    public String getProcessesCode()
    {
        return processesCode;
    }
    public void setProcessesName(String processesName)
    {
        this.processesName = processesName;
    }
    public String getProcessesName()
    {
        return processesName;
    }
    public void setStepNo(String stepNo)
    {
        this.stepNo = stepNo;
    }
    public String getStepNo()
    {
        return stepNo;
    }
    public void setNextProcess(String nextProcess)
    {
        this.nextProcess = nextProcess;
    }
    public String getNextProcess()
    {
        return nextProcess;
    }
    public void setNextProcessBond(String nextProcessBond)
    {
        this.nextProcessBond = nextProcessBond;
    }
    public String getNextProcessBond()
    {
        return nextProcessBond;
    }
    public void setKeyProcessesFlag(String keyProcessesFlag)
    {
        this.keyProcessesFlag = keyProcessesFlag;
    }
    public String getKeyProcessesFlag()
    {
        return keyProcessesFlag;
    }
    public void setPreparationTime(String preparationTime)
    {
        this.preparationTime = preparationTime;
    }
    public String getPreparationTime()
    {
        return preparationTime;
    }
    public void setWaitTime(String waitTime)
    {
        this.waitTime = waitTime;
    }
    public String getWaitTime()
    {
        return waitTime;
    }
    public void setCreateUser(String createUser)
    {
        this.createUser = createUser;
    }
    public String getCreateUser()
    {
        return createUser;
    }
    public void setUpdateUser(String updateUser)
    {
        this.updateUser = updateUser;
    }
    public String getUpdateUser()
    {
        return updateUser;
    }
    public void setRouteCode(String routeCode)
    {
        this.routeCode = routeCode;
    }
    public String getRouteCode()
    {
        return routeCode;
    }
    public void setSpareField1(String spareField1)
    {
        this.spareField1 = spareField1;
    }
    public String getSpareField1()
    {
        return spareField1;
    }
    public void setSpareField2(String spareField2)
    {
        this.spareField2 = spareField2;
    }
    public String getSpareField2()
    {
        return spareField2;
    }
    public void setSpareField3(String spareField3)
    {
        this.spareField3 = spareField3;
    }
    public String getSpareField3()
    {
        return spareField3;
    }
    public void setSpareField4(String spareField4)
    {
        this.spareField4 = spareField4;
    }
    public String getSpareField4()
    {
        return spareField4;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("processesCode", getProcessesCode())
            .append("processesName", getProcessesName())
            .append("stepNo", getStepNo())
            .append("nextProcess", getNextProcess())
            .append("nextProcessBond", getNextProcessBond())
            .append("keyProcessesFlag", getKeyProcessesFlag())
            .append("preparationTime", getPreparationTime())
            .append("waitTime", getWaitTime())
            .append("createUser", getCreateUser())
            .append("createTime", getCreateTime())
            .append("updateUser", getUpdateUser())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("routeCode", getRouteCode())
            .append("spareField1", getSpareField1())
            .append("spareField2", getSpareField2())
            .append("spareField3", getSpareField3())
            .append("spareField4", getSpareField4())
            .toString();
    }
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/mapper/BsTechnologyRouteChildInfoMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.jcdm.main.bs.mapper;
import java.util.List;
import com.jcdm.main.bs.domain.BsTechnologyRouteChildInfo;
/**
 * å·¥è‰ºè·¯çº¿å­ä¿¡æ¯Mapper接口
 *
 * @author ruimin
 * @date 2023-12-09
 */
public interface BsTechnologyRouteChildInfoMapper
{
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    public BsTechnologyRouteChildInfo selectBsTechnologyRouteChildInfoById(Long id);
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯é›†åˆ
     */
    public List<BsTechnologyRouteChildInfo> selectBsTechnologyRouteChildInfoList(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * æ–°å¢žå·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    public int insertBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * ä¿®æ”¹å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    public int updateBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteChildInfoById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param ids éœ€è¦åˆ é™¤çš„数据主键集合
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteChildInfoByIds(Long[] ids);
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/service/IBsTechnologyRouteChildInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.jcdm.main.bs.service;
import java.util.List;
import com.jcdm.main.bs.domain.BsTechnologyRouteChildInfo;
/**
 * å·¥è‰ºè·¯çº¿å­ä¿¡æ¯Service接口
 *
 * @author ruimin
 * @date 2023-12-09
 */
public interface IBsTechnologyRouteChildInfoService
{
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    public BsTechnologyRouteChildInfo selectBsTechnologyRouteChildInfoById(Long id);
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯é›†åˆ
     */
    public List<BsTechnologyRouteChildInfo> selectBsTechnologyRouteChildInfoList(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * æ–°å¢žå·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    public int insertBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * ä¿®æ”¹å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    public int updateBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo);
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param ids éœ€è¦åˆ é™¤çš„工艺路线子信息主键集合
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteChildInfoByIds(Long[] ids);
    /**
     * åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteBsTechnologyRouteChildInfoById(Long id);
}
jcdm-main/src/main/java/com/jcdm/main/bs/technologyRouteChild/service/impl/BsTechnologyRouteChildInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
package com.jcdm.main.bs.service.impl;
import java.util.List;
import com.jcdm.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jcdm.main.bs.mapper.BsTechnologyRouteChildInfoMapper;
import com.jcdm.main.bs.domain.BsTechnologyRouteChildInfo;
import com.jcdm.main.bs.service.IBsTechnologyRouteChildInfoService;
/**
 * å·¥è‰ºè·¯çº¿å­ä¿¡æ¯Service业务层处理
 *
 * @author ruimin
 * @date 2023-12-09
 */
@Service
public class BsTechnologyRouteChildInfoServiceImpl implements IBsTechnologyRouteChildInfoService
{
    @Autowired
    private BsTechnologyRouteChildInfoMapper bsTechnologyRouteChildInfoMapper;
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    @Override
    public BsTechnologyRouteChildInfo selectBsTechnologyRouteChildInfoById(Long id)
    {
        return bsTechnologyRouteChildInfoMapper.selectBsTechnologyRouteChildInfoById(id);
    }
    /**
     * æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     */
    @Override
    public List<BsTechnologyRouteChildInfo> selectBsTechnologyRouteChildInfoList(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        return bsTechnologyRouteChildInfoMapper.selectBsTechnologyRouteChildInfoList(bsTechnologyRouteChildInfo);
    }
    /**
     * æ–°å¢žå·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    @Override
    public int insertBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        bsTechnologyRouteChildInfo.setCreateTime(DateUtils.getNowDate());
        return bsTechnologyRouteChildInfoMapper.insertBsTechnologyRouteChildInfo(bsTechnologyRouteChildInfo);
    }
    /**
     * ä¿®æ”¹å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param bsTechnologyRouteChildInfo å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     * @return ç»“æžœ
     */
    @Override
    public int updateBsTechnologyRouteChildInfo(BsTechnologyRouteChildInfo bsTechnologyRouteChildInfo)
    {
        bsTechnologyRouteChildInfo.setUpdateTime(DateUtils.getNowDate());
        return bsTechnologyRouteChildInfoMapper.updateBsTechnologyRouteChildInfo(bsTechnologyRouteChildInfo);
    }
    /**
     * æ‰¹é‡åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
     *
     * @param ids éœ€è¦åˆ é™¤çš„工艺路线子信息主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteBsTechnologyRouteChildInfoByIds(Long[] ids)
    {
        return bsTechnologyRouteChildInfoMapper.deleteBsTechnologyRouteChildInfoByIds(ids);
    }
    /**
     * åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¿¡æ¯
     *
     * @param id å·¥è‰ºè·¯çº¿å­ä¿¡æ¯ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteBsTechnologyRouteChildInfoById(Long id)
    {
        return bsTechnologyRouteChildInfoMapper.deleteBsTechnologyRouteChildInfoById(id);
    }
}
jcdm-main/src/main/resources/mapper/bs/technologyRoute/BsTechnologyRouteInfoMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?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.jcdm.main.bs.technologyRoute.mapper.BsTechnologyRouteInfoMapper">
    <resultMap type="BsTechnologyRouteInfo" id="BsTechnologyRouteInfoResult">
        <result property="id"    column="id"    />
        <result property="routeCode"    column="route_code"    />
        <result property="routeName"    column="route_name"    />
        <result property="productCode"    column="product_code"    />
        <result property="productName"    column="product_name"    />
        <result property="version"    column="version"    />
        <result property="status"    column="status"    />
        <result property="dataSource"    column="data_source"    />
        <result property="remark"    column="remark"    />
        <result property="createUser"    column="create_user"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateUser"    column="update_user"    />
        <result property="updateTime"    column="update_time"    />
        <result property="spareField1"    column="spare_field_1"    />
        <result property="spareField2"    column="spare_field_2"    />
        <result property="spareField3"    column="spare_field_3"    />
        <result property="spareField4"    column="spare_field_4"    />
    </resultMap>
    <sql id="selectBsTechnologyRouteInfoVo">
        select id, route_code, route_name, product_code, product_name, version, status, data_source, remark, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from bs_technology_route_info
    </sql>
    <select id="selectBsTechnologyRouteInfoList" parameterType="BsTechnologyRouteInfo" resultMap="BsTechnologyRouteInfoResult">
        <include refid="selectBsTechnologyRouteInfoVo"/>
        <where>
            <if test="routeCode != null  and routeCode != ''"> and route_code like concat('%', #{routeCode}, '%')</if>
            <if test="routeName != null  and routeName != ''"> and route_name like concat('%', #{routeName}, '%')</if>
            <if test="productCode != null  and productCode != ''"> and product_code like concat('%', #{productCode}, '%')</if>
            <if test="productName != null  and productName != ''"> and product_name like concat('%', #{productName}, '%')</if>
            <if test="status != null  and status != ''"> and status = #{status}</if>
            <if test="dataSource != null  and dataSource != ''"> and data_source like concat('%', #{dataSource}, '%')</if>
        </where>
    </select>
    <select id="selectBsTechnologyRouteInfoById" parameterType="Long" resultMap="BsTechnologyRouteInfoResult">
        <include refid="selectBsTechnologyRouteInfoVo"/>
        where id = #{id}
    </select>
    <insert id="insertBsTechnologyRouteInfo" parameterType="BsTechnologyRouteInfo">
        insert into bs_technology_route_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="routeCode != null and routeCode != ''">route_code,</if>
            <if test="routeName != null">route_name,</if>
            <if test="productCode != null and productCode != ''">product_code,</if>
            <if test="productName != null">product_name,</if>
            <if test="version != null">version,</if>
            <if test="status != null">status,</if>
            <if test="dataSource != null">data_source,</if>
            <if test="remark != null">remark,</if>
            <if test="createUser != null">create_user,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateUser != null">update_user,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="spareField1 != null">spare_field_1,</if>
            <if test="spareField2 != null">spare_field_2,</if>
            <if test="spareField3 != null">spare_field_3,</if>
            <if test="spareField4 != null">spare_field_4,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="routeCode != null and routeCode != ''">#{routeCode},</if>
            <if test="routeName != null">#{routeName},</if>
            <if test="productCode != null and productCode != ''">#{productCode},</if>
            <if test="productName != null">#{productName},</if>
            <if test="version != null">#{version},</if>
            <if test="status != null">#{status},</if>
            <if test="dataSource != null">#{dataSource},</if>
            <if test="remark != null">#{remark},</if>
            <if test="createUser != null">#{createUser},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateUser != null">#{updateUser},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="spareField1 != null">#{spareField1},</if>
            <if test="spareField2 != null">#{spareField2},</if>
            <if test="spareField3 != null">#{spareField3},</if>
            <if test="spareField4 != null">#{spareField4},</if>
         </trim>
    </insert>
    <update id="updateBsTechnologyRouteInfo" parameterType="BsTechnologyRouteInfo">
        update bs_technology_route_info
        <trim prefix="SET" suffixOverrides=",">
            <if test="routeCode != null and routeCode != ''">route_code = #{routeCode},</if>
            <if test="routeName != null">route_name = #{routeName},</if>
            <if test="productCode != null and productCode != ''">product_code = #{productCode},</if>
            <if test="productName != null">product_name = #{productName},</if>
            <if test="version != null">version = #{version},</if>
            <if test="status != null">status = #{status},</if>
            <if test="dataSource != null">data_source = #{dataSource},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="createUser != null">create_user = #{createUser},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateUser != null">update_user = #{updateUser},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
            <if test="spareField3 != null">spare_field_3 = #{spareField3},</if>
            <if test="spareField4 != null">spare_field_4 = #{spareField4},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteBsTechnologyRouteInfoById" parameterType="Long">
        delete from bs_technology_route_info where id = #{id}
    </delete>
    <delete id="deleteBsTechnologyRouteInfoByIds" parameterType="String">
        delete from bs_technology_route_info where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
jcdm-main/src/main/resources/mapper/bs/technologyRouteChild/BsTechnologyRouteChildInfoMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
<?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.jcdm.main.bs.mapper.BsTechnologyRouteChildInfoMapper">
    <resultMap type="BsTechnologyRouteChildInfo" id="BsTechnologyRouteChildInfoResult">
        <result property="id"    column="id"    />
        <result property="processesCode"    column="processes_code"    />
        <result property="processesName"    column="processes_name"    />
        <result property="stepNo"    column="step_no"    />
        <result property="nextProcess"    column="next_process"    />
        <result property="nextProcessBond"    column="next_process_bond"    />
        <result property="keyProcessesFlag"    column="key_processes_flag"    />
        <result property="preparationTime"    column="preparation_time"    />
        <result property="waitTime"    column="wait_time"    />
        <result property="createUser"    column="create_user"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateUser"    column="update_user"    />
        <result property="updateTime"    column="update_time"    />
        <result property="remark"    column="remark"    />
        <result property="routeCode"    column="route_code"    />
        <result property="spareField1"    column="spare_field_1"    />
        <result property="spareField2"    column="spare_field_2"    />
        <result property="spareField3"    column="spare_field_3"    />
        <result property="spareField4"    column="spare_field_4"    />
    </resultMap>
    <sql id="selectBsTechnologyRouteChildInfoVo">
        select id, processes_code, processes_name, step_no, next_process, next_process_bond, key_processes_flag, preparation_time, wait_time, create_user, create_time, update_user, update_time, remark, route_code, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from bs_technology_route_child_info
    </sql>
    <select id="selectBsTechnologyRouteChildInfoList" parameterType="BsTechnologyRouteChildInfo" resultMap="BsTechnologyRouteChildInfoResult">
        <include refid="selectBsTechnologyRouteChildInfoVo"/>
        <where>
            <if test="processesCode != null  and processesCode != ''"> and processes_code like concat('%', #{processesCode}, '%')</if>
            <if test="processesName != null  and processesName != ''"> and processes_name like concat('%', #{processesName}, '%')</if>
            <if test="keyProcessesFlag != null  and keyProcessesFlag != ''"> and key_processes_flag = #{keyProcessesFlag}</if>
            <if test="routeCode != null  and routeCode != ''"> and route_code = #{routeCode}</if>
        </where>
    </select>
    <select id="selectBsTechnologyRouteChildInfoById" parameterType="Long" resultMap="BsTechnologyRouteChildInfoResult">
        <include refid="selectBsTechnologyRouteChildInfoVo"/>
        where id = #{id}
    </select>
    <insert id="insertBsTechnologyRouteChildInfo" parameterType="BsTechnologyRouteChildInfo">
        insert into bs_technology_route_child_info
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="processesCode != null and processesCode != ''">processes_code,</if>
            <if test="processesName != null">processes_name,</if>
            <if test="stepNo != null">step_no,</if>
            <if test="nextProcess != null">next_process,</if>
            <if test="nextProcessBond != null">next_process_bond,</if>
            <if test="keyProcessesFlag != null">key_processes_flag,</if>
            <if test="preparationTime != null">preparation_time,</if>
            <if test="waitTime != null">wait_time,</if>
            <if test="createUser != null">create_user,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateUser != null">update_user,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="remark != null">remark,</if>
            <if test="routeCode != null">route_code,</if>
            <if test="spareField1 != null">spare_field_1,</if>
            <if test="spareField2 != null">spare_field_2,</if>
            <if test="spareField3 != null">spare_field_3,</if>
            <if test="spareField4 != null">spare_field_4,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="processesCode != null and processesCode != ''">#{processesCode},</if>
            <if test="processesName != null">#{processesName},</if>
            <if test="stepNo != null">#{stepNo},</if>
            <if test="nextProcess != null">#{nextProcess},</if>
            <if test="nextProcessBond != null">#{nextProcessBond},</if>
            <if test="keyProcessesFlag != null">#{keyProcessesFlag},</if>
            <if test="preparationTime != null">#{preparationTime},</if>
            <if test="waitTime != null">#{waitTime},</if>
            <if test="createUser != null">#{createUser},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateUser != null">#{updateUser},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="remark != null">#{remark},</if>
            <if test="routeCode != null">#{routeCode},</if>
            <if test="spareField1 != null">#{spareField1},</if>
            <if test="spareField2 != null">#{spareField2},</if>
            <if test="spareField3 != null">#{spareField3},</if>
            <if test="spareField4 != null">#{spareField4},</if>
         </trim>
    </insert>
    <update id="updateBsTechnologyRouteChildInfo" parameterType="BsTechnologyRouteChildInfo">
        update bs_technology_route_child_info
        <trim prefix="SET" suffixOverrides=",">
            <if test="processesCode != null and processesCode != ''">processes_code = #{processesCode},</if>
            <if test="processesName != null">processes_name = #{processesName},</if>
            <if test="stepNo != null">step_no = #{stepNo},</if>
            <if test="nextProcess != null">next_process = #{nextProcess},</if>
            <if test="nextProcessBond != null">next_process_bond = #{nextProcessBond},</if>
            <if test="keyProcessesFlag != null">key_processes_flag = #{keyProcessesFlag},</if>
            <if test="preparationTime != null">preparation_time = #{preparationTime},</if>
            <if test="waitTime != null">wait_time = #{waitTime},</if>
            <if test="createUser != null">create_user = #{createUser},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateUser != null">update_user = #{updateUser},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="routeCode != null">route_code = #{routeCode},</if>
            <if test="spareField1 != null">spare_field_1 = #{spareField1},</if>
            <if test="spareField2 != null">spare_field_2 = #{spareField2},</if>
            <if test="spareField3 != null">spare_field_3 = #{spareField3},</if>
            <if test="spareField4 != null">spare_field_4 = #{spareField4},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteBsTechnologyRouteChildInfoById" parameterType="Long">
        delete from bs_technology_route_child_info where id = #{id}
    </delete>
    <delete id="deleteBsTechnologyRouteChildInfoByIds" parameterType="String">
        delete from bs_technology_route_child_info where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
jcdm-ui/src/api/main/bs/technologyRoute/technologyRoute.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表
export function listTechnologyRoute(query) {
  return request({
    url: '/bs/technologyRoute/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢å·¥è‰ºæµç¨‹è¯¦ç»†
export function getTechnologyRoute(id) {
  return request({
    url: '/bs/technologyRoute/' + id,
    method: 'get'
  })
}
// æ–°å¢žå·¥è‰ºæµç¨‹
export function addTechnologyRoute(data) {
  return request({
    url: '/bs/technologyRoute',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹å·¥è‰ºæµç¨‹
export function updateTechnologyRoute(data) {
  return request({
    url: '/bs/technologyRoute',
    method: 'put',
    data: data
  })
}
// åˆ é™¤å·¥è‰ºæµç¨‹
export function delTechnologyRoute(id) {
  return request({
    url: '/bs/technologyRoute/' + id,
    method: 'delete'
  })
}
jcdm-ui/src/api/main/bs/technologyRouteChild/technologyRouteChild.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表
export function listTechnologyRouteChild(query) {
  return request({
    url: '/bs/technologyRouteChild/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯è¯¦ç»†
export function getTechnologyRouteChild(id) {
  return request({
    url: '/bs/technologyRouteChild/' + id,
    method: 'get'
  })
}
// æ–°å¢žå·¥è‰ºè·¯çº¿å­ä¿¡æ¯
export function addTechnologyRouteChild(data) {
  return request({
    url: '/bs/technologyRouteChild',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
export function updateTechnologyRouteChild(data) {
  return request({
    url: '/bs/technologyRouteChild',
    method: 'put',
    data: data
  })
}
// åˆ é™¤å·¥è‰ºè·¯çº¿å­ä¿¡æ¯
export function delTechnologyRouteChild(id) {
  return request({
    url: '/bs/technologyRouteChild/' + id,
    method: 'delete'
  })
}
jcdm-ui/src/router/index.js
@@ -135,6 +135,20 @@
    ]
  },
  {
    path: '/main/route-data',
    component: Layout,
    hidden: true,
    permissions: ['bs:technologyRouteChild:list'],
    children: [
      {
        path: 'index',
        component: () => import('@/views/main/bs/technologyRouteChild/index'),
        name: 'Data',
        meta: { title: '工艺流程详情', activeMenu: '/main/bs/technologyRouteChild' }
      }
    ]
  },
  {
    path: '/monitor/job-log',
    component: Layout,
    hidden: true,
jcdm-ui/src/views/main/bs/technologyRoute/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,360 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="工艺流程编码" prop="routeCode">
        <el-input
          v-model="queryParams.routeCode"
          placeholder="请输入工艺流程编码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工艺流程名称" prop="routeName">
        <el-input
          v-model="queryParams.routeName"
          placeholder="请输入工艺流程名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="产品编码" prop="productCode">
        <el-input
          v-model="queryParams.productCode"
          placeholder="请输入产品编码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="产品名称" prop="productName">
        <el-input
          v-model="queryParams.productName"
          placeholder="请输入产品名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
<!--      <el-form-item label="状态(字典)" prop="status">-->
<!--        <el-select v-model="queryParams.status" placeholder="请选择状态(字典)" clearable>-->
<!--          <el-option-->
<!--            v-for="dict in dict.type.${dictType}"-->
<!--            :key="dict.value"-->
<!--            :label="dict.label"-->
<!--            :value="dict.value"-->
<!--          />-->
<!--        </el-select>-->
<!--      </el-form-item>-->
      <el-form-item label="数据来源" prop="dataSource">
        <el-input
          v-model="queryParams.dataSource"
          placeholder="请输入数据来源"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['bs:technologyRoute:add']"
        >新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['bs:technologyRoute:edit']"
        >修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['bs:technologyRoute:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['bs:technologyRoute:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-table border v-loading="loading" :data="technologyRouteList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="id" align="center" prop="id" />
      <el-table-column :show-overflow-tooltip='true' label="工艺流程编码" align="center">
        <template slot-scope="scope">
          <router-link :to="{path: '/main/route-data/index/', query: {routeCode: scope.row.routeCode} }" class="link-type">
            <span>{{ scope.row.routeCode }}</span>
          </router-link>
        </template>
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="工艺流程名称" align="center" prop="routeName">
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="产品编码" align="center" prop="productCode">
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="产品名称" align="center" prop="productName">
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="版本" align="center" prop="version">
      </el-table-column>
      <el-table-column label="状态(字典)" align="center" prop="status">
      </el-table-column>
      <el-table-column label="数据来源" align="center" prop="dataSource">
      </el-table-column>
      <el-table-column label="备注" align="center" prop="remark">
      </el-table-column>
      <el-table-column label="创建用户" align="center" prop="createUser">
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="创建时间" align="center" prop="createTime" width="180">
      </el-table-column>
      <el-table-column label="更改用户" align="center" prop="updateUser">
      </el-table-column>
      <el-table-column :show-overflow-tooltip='true' label="更改时间" align="center" prop="updateTime" width="180">
      </el-table-column>
      <el-table-column label="操作" width="130" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['bs:technologyRoute:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['bs:technologyRoute:remove']"
          >删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–修改工艺流程对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="工艺流程编码" prop="routeCode">
          <el-input v-model="form.routeCode" placeholder="请输入工艺流程编码" />
        </el-form-item>
        <el-form-item label="工艺流程名称" prop="routeName">
          <el-input v-model="form.routeName" placeholder="请输入工艺流程名称" />
        </el-form-item>
        <el-form-item label="产品编码" prop="productCode">
          <el-input v-model="form.productCode" placeholder="请输入产品编码" />
        </el-form-item>
        <el-form-item label="产品名称" prop="productName">
          <el-input v-model="form.productName" placeholder="请输入产品名称" />
        </el-form-item>
        <el-form-item label="版本" prop="version">
          <el-input v-model="form.version" placeholder="请输入版本" />
        </el-form-item>
        <el-form-item label="备注" prop="remark">
          <el-input v-model="form.remark" placeholder="请输入备注" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { listTechnologyRoute, getTechnologyRoute, delTechnologyRoute, addTechnologyRoute, updateTechnologyRoute } from "@/api/main/bs/technologyRoute/technologyRoute";
export default {
  name: "TechnologyRoute",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•ä¸ªç¦ç”¨
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // å·¥è‰ºæµç¨‹è¡¨æ ¼æ•°æ®
      technologyRouteList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        routeCode: null,
        routeName: null,
        productCode: null,
        productName: null,
        status: null,
        dataSource: null,
      },
      // è¡¨å•å‚æ•°
      form: {},
      // è¡¨å•æ ¡éªŒ
      rules: {
        id: [
          { required: true, message: "主键id不能为空", trigger: "blur" }
        ],
        routeCode: [
          { required: true, message: "工艺流程编码不能为空", trigger: "blur" }
        ],
        productCode: [
          { required: true, message: "产品编码不能为空", trigger: "blur" }
        ],
      }
    };
  },
  created() {
    this.getList();
  },
  methods: {
    /** æŸ¥è¯¢å·¥è‰ºæµç¨‹åˆ—表 */
    getList() {
      this.loading = true;
      listTechnologyRoute(this.queryParams).then(response => {
        this.technologyRouteList = response.rows;
        console.log(this.technologyRouteList)
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•é‡ç½®
    reset() {
      this.form = {
        id: null,
        routeCode: null,
        routeName: null,
        productCode: null,
        productName: null,
        version: null,
        status: null,
        dataSource: null,
        remark: null,
        createUser: null,
        createTime: null,
        updateUser: null,
        updateTime: null,
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null
      };
      this.resetForm("form");
    },
    /** æœç´¢æŒ‰é’®æ“ä½œ */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** é‡ç½®æŒ‰é’®æ“ä½œ */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // å¤šé€‰æ¡†é€‰ä¸­æ•°æ®
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加工艺流程";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getTechnologyRoute(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改工艺流程";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateTechnologyRoute(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addTechnologyRoute(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除工艺流程编号为"' + ids + '"的数据项?').then(function() {
        return delTechnologyRoute(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('main/technologyRoute/export', {
        ...this.queryParams
      }, `technologyRoute_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>
jcdm-ui/src/views/main/bs/technologyRouteChild/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,384 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="工序编码" prop="processesCode">
        <el-input
          v-model="queryParams.processesCode"
          placeholder="请输入工序编码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工序名称" prop="processesName">
        <el-input
          v-model="queryParams.processesName"
          placeholder="请输入工序名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label-width="120" label="是否关键工序" prop="keyProcessesFlag">
        <el-input
          v-model="queryParams.keyProcessesFlag"
          placeholder="请输入是否关键工序"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['bs:technologyRouteChild:add']"
        >新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['bs:technologyRouteChild:edit']"
        >修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['bs:technologyRouteChild:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['bs:technologyRouteChild:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-close"
          size="mini"
          @click="handleClose"
        >关闭</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    <el-descriptions class="margin-top" :column="4" :size="size" border>
      <el-descriptions-item :span="1">
        <template slot="label">
          <i class="el-icon-user"></i>
          å·¥è‰ºæµç¨‹ç¼–码
        </template>
        xxxxxxxxxx
      </el-descriptions-item>
      <el-descriptions-item :span="1">
        <template slot="label">
          <i class="el-icon-mobile-phone"></i>
          å·¥è‰ºæµç¨‹åç§°
        </template>
        xxxxxxxxxx
      </el-descriptions-item>
      <el-descriptions-item :span="1">
        <template slot="label">
          <i class="el-icon-location-outline"></i>
          äº§å“ç¼–码
        </template>
        xxxxxxxxxx
      </el-descriptions-item>
      <el-descriptions-item :span="1">
        <template slot="label">
          <i class="el-icon-tickets"></i>
          äº§å“åç§°
        </template>
        xxxxxxxxxx
      </el-descriptions-item>
    </el-descriptions>
    <el-table v-loading="loading" :data="technologyRouteChildList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="主键id" align="center" prop="id" />
      <el-table-column label="工序编码" align="center" prop="processesCode">
      </el-table-column>
      <el-table-column label="工序名称" align="center" prop="processesName">
      </el-table-column>
      <el-table-column label="加工顺序" align="center" prop="stepNo">
      </el-table-column>
      <el-table-column label="下一道工序" align="center" prop="nextProcess">
      </el-table-column>
      <el-table-column label="与下一道工序关系" align="center" prop="nextProcessBond">
      </el-table-column>
      <el-table-column label="是否关键工序" align="center" prop="keyProcessesFlag">
      </el-table-column>
      <el-table-column label="准备时间" align="center" prop="preparationTime">
      </el-table-column>
      <el-table-column label="等待时间" align="center" prop="waitTime">
      </el-table-column>
      <el-table-column label="创建用户" align="center" prop="createUser">
      </el-table-column>
      <el-table-column label="创建时间" align="center" prop="createTime">
      </el-table-column>
      <el-table-column label="更改用户" align="center" prop="updateUser">
      </el-table-column>
      <el-table-column label="更改时间" align="center" prop="updateTime">
      </el-table-column>
      <el-table-column label="备注" align="center" prop="remark">
      </el-table-column>
      <el-table-column label="工艺流程编码" align="center" prop="routeCode">
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['bs:technologyRouteChild:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['bs:technologyRouteChild:remove']"
          >删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–修改工艺路线子信息对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="工序编码" prop="processesCode">
          <el-input v-model="form.processesCode" placeholder="请输入工序编码" />
        </el-form-item>
        <el-form-item label="工序名称" prop="processesName">
          <el-input v-model="form.processesName" placeholder="请输入工序名称" />
        </el-form-item>
        <el-form-item label="加工顺序" prop="stepNo">
          <el-input v-model="form.stepNo" placeholder="请输入加工顺序" />
        </el-form-item>
        <el-form-item label="下一道工序" prop="nextProcess">
          <el-input v-model="form.nextProcess" placeholder="请输入下一道工序" />
        </el-form-item>
        <el-form-item label="与下一道工序关系" prop="nextProcessBond">
          <el-input v-model="form.nextProcessBond" placeholder="请输入与下一道工序关系" />
        </el-form-item>
        <el-form-item label="是否关键工序" prop="keyProcessesFlag">
          <el-input v-model="form.keyProcessesFlag" placeholder="请输入是否关键工序" />
        </el-form-item>
        <el-form-item label="准备时间" prop="preparationTime">
          <el-input v-model="form.preparationTime" placeholder="请输入准备时间" />
        </el-form-item>
        <el-form-item label="等待时间" prop="waitTime">
          <el-input v-model="form.waitTime" placeholder="请输入等待时间" />
        </el-form-item>
        <el-form-item label="备注" prop="remark">
          <el-input v-model="form.remark" placeholder="请输入备注" />
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { listTechnologyRouteChild, getTechnologyRouteChild, delTechnologyRouteChild, addTechnologyRouteChild, updateTechnologyRouteChild } from "@/api/main/bs/technologyRouteChild/technologyRouteChild";
export default {
  name: "TechnologyRouteChild",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•ä¸ªç¦ç”¨
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // å·¥è‰ºè·¯çº¿å­ä¿¡æ¯è¡¨æ ¼æ•°æ®
      technologyRouteChildList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        processesCode: null,
        processesName: null,
        keyProcessesFlag: null,
        routeCode: undefined,
      },
      // è¡¨å•å‚æ•°
      form: {},
      // è¡¨å•æ ¡éªŒ
      rules: {
        id: [
          { required: true, message: "主键id不能为空", trigger: "blur" }
        ],
        processesCode: [
          { required: true, message: "工序编码不能为空", trigger: "blur" }
        ],
      }
    };
  },
  created() {
    console.log(this.$route.query)
    this.queryParams.routeCode = this.$route.query.routeCode
    this.getList();
  },
  methods: {
    /** è¿”回按钮操作 */
    handleClose() {
      const obj = { path: "/main/technologyRoute" };
      this.$tab.closeOpenPage(obj);
    },
    /** æŸ¥è¯¢å·¥è‰ºè·¯çº¿å­ä¿¡æ¯åˆ—表 */
    getList() {
      this.loading = true;
      listTechnologyRouteChild(this.queryParams).then(response => {
        this.technologyRouteChildList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•é‡ç½®
    reset() {
      this.form = {
        id: null,
        processesCode: null,
        processesName: null,
        stepNo: null,
        nextProcess: null,
        nextProcessBond: null,
        keyProcessesFlag: null,
        preparationTime: null,
        waitTime: null,
        createUser: null,
        createTime: null,
        updateUser: null,
        updateTime: null,
        remark: null,
        routeCode: null,
        spareField1: null,
        spareField2: null,
        spareField3: null,
        spareField4: null
      };
      this.resetForm("form");
    },
    /** æœç´¢æŒ‰é’®æ“ä½œ */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** é‡ç½®æŒ‰é’®æ“ä½œ */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // å¤šé€‰æ¡†é€‰ä¸­æ•°æ®
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加工艺路线子信息";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getTechnologyRouteChild(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改工艺路线子信息";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateTechnologyRouteChild(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addTechnologyRouteChild(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除工艺路线子信息编号为"' + ids + '"的数据项?').then(function() {
        return delTechnologyRouteChild(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('bs/technologyRouteChild/export', {
        ...this.queryParams
      }, `technologyRouteChild_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>