feat(production): 添加工艺路线明细管理功能
| | |
| | | id bigint auto_increment primary key, |
| | | route_id bigint not null default 0 comment 'å·¥èºè·¯çº¿id', |
| | | product_model_id bigint not null default 0 comment '产åid', |
| | | process_id bigint not null default 0 comment 'å·¥åºid', |
| | | tenant_id bigint not null comment 'ç§æ·id', |
| | | create_time datetime null comment 'å½å
¥æ¶é´', |
| | | update_time datetime null comment 'æ´æ°æ¶é´', |
| | | sort bigint not null comment 'æåº' |
| | | update_time datetime null comment 'æ´æ°æ¶é´' |
| | | ); |
| | |
| | | import com.ruoyi.framework.aspectj.lang.enums.BusinessType; |
| | | import com.ruoyi.framework.web.controller.BaseController; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | |
| | | return productModelService.modelListPage(page, productDto); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢ææäº§ååå·") |
| | | @GetMapping("/pageModel") |
| | | public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) { |
| | | return productService.listPageProductModel(page, productModel); |
| | | } |
| | | |
| | | /** |
| | | * 导å
¥äº§å |
| | | */ |
| | |
| | | package com.ruoyi.basic.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.basic.pojo.ProductModel; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | |
| | | /** |
| | |
| | | */ |
| | | public interface ProductModelMapper extends BaseMapper<ProductModel> { |
| | | |
| | | IPage<ProductModel> listPageProductModel(Page<ProductModel> page, @Param("c") ProductModel productModel); |
| | | } |
| | |
| | | package com.ruoyi.basic.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.basic.dto.ProductDto; |
| | | import com.ruoyi.basic.dto.ProductTreeDto; |
| | | import com.ruoyi.basic.pojo.Product; |
| | | import com.ruoyi.basic.pojo.ProductModel; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | List<ProductTreeDto> selectProductList(ProductDto productDto); |
| | | |
| | | IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel); |
| | | } |
| | |
| | | package com.ruoyi.basic.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.basic.dto.ProductDto; |
| | | import com.ruoyi.basic.dto.ProductTreeDto; |
| | |
| | | return tree; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) { |
| | | return productModelMapper.listPageProductModel(page, productModel); |
| | | } |
| | | |
| | | |
| | | // éå½æå»ºåèç¹ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.dto.ProcessRouteItemDto; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import com.ruoyi.production.service.ProcessRouteItemService; |
| | | import io.swagger.annotations.Api; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @RestController |
| | | @RequestMapping("processRouteItem") |
| | | @Api(tags = "å·¥èºè·¯çº¿æç»") |
| | | public class ProcessRouteItemController { |
| | | @Autowired |
| | | private ProcessRouteItemService processRouteItemService; |
| | | |
| | | @GetMapping("list") |
| | | public R listProcessRouteItemDto(ProcessRouteItemDto processRouteItemDto) { |
| | | return R.ok(processRouteItemService.listProcessRouteItemDto(processRouteItemDto)); |
| | | } |
| | | |
| | | @PostMapping () |
| | | public R add(@RequestBody List<ProcessRouteItem> processRouteItem) { |
| | | return R.ok(processRouteItemService.saveBatch(processRouteItem)); |
| | | } |
| | | @PutMapping () |
| | | public R update(@RequestBody List<ProcessRouteItem> processRouteItem) { |
| | | processRouteItemService.remove(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRouteItem.get(0).getRouteId())); |
| | | return R.ok(processRouteItemService.saveBatch(processRouteItem)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.dto; |
| | | |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class ProcessRouteItemDto extends ProcessRouteItem { |
| | | |
| | | @ApiModelProperty(value = "å·¥åºåç§°") |
| | | private String processName; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºè·¯çº¿åç§°") |
| | | private String routeName; |
| | | |
| | | @ApiModelProperty(value = "产ååç§°") |
| | | private String speculativeTradingName; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.production.dto.ProcessRouteItemDto; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface ProcessRouteItemMapper extends BaseMapper<ProcessRouteItem> { |
| | | |
| | | |
| | | List<ProcessRouteItemDto> listProcessRouteItemDto(@Param("c") ProcessRouteItemDto processRouteItemDto); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | public class ProcessRouteItem { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "å·¥èºè·¯çº¿id") |
| | | private Long routeId; |
| | | |
| | | @ApiModelProperty(value = "å·¥åºid") |
| | | private Long processId; |
| | | |
| | | @ApiModelProperty(value ="产åid") |
| | | private Long productModelId; |
| | | |
| | | @ApiModelProperty(value = "ç§æ·ID") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | private LocalDateTime createTime; |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @TableField(fill = FieldFill.UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.dto.ProcessRouteItemDto; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface ProcessRouteItemService extends IService<ProcessRouteItem> { |
| | | List<ProcessRouteItemDto> listProcessRouteItemDto( ProcessRouteItemDto processRouteItemDto); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.production.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.production.dto.ProcessRouteItemDto; |
| | | import com.ruoyi.production.mapper.ProcessRouteItemMapper; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import com.ruoyi.production.service.ProcessRouteItemService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class ProcessRouteItemServiceImpl extends ServiceImpl<ProcessRouteItemMapper, ProcessRouteItem> implements ProcessRouteItemService { |
| | | |
| | | @Autowired |
| | | private ProcessRouteItemMapper processRouteItemMapper; |
| | | |
| | | @Override |
| | | public List<ProcessRouteItemDto> listProcessRouteItemDto(ProcessRouteItemDto processRouteItemDto) { |
| | | return processRouteItemMapper.listProcessRouteItemDto( processRouteItemDto); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.basic.mapper.ProductModelMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.ProductModel"> |
| | | <id column="id" property="id" /> |
| | | <result column="product_id" property="productId" /> |
| | | <result column="model" property="model" /> |
| | | <result column="unit" property="unit" /> |
| | | <result column="speculative_trading_name" property="speculativeTradingName" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | <result column="product_name" property="productName" /> |
| | | <result column="product_id" property="productId" /> |
| | | </resultMap> |
| | | <select id="listPageProductModel" resultType="com.ruoyi.basic.pojo.ProductModel"> |
| | | select pm.*,p.product_name |
| | | from product_model pm |
| | | left join product p on pm.product_id = p.id |
| | | <where> |
| | | <if test="c.model != null || c.model != ''"> |
| | | and pm.model = like concat('%',#{c.model},'%') |
| | | </if> |
| | | <if test="c.productName != null || c.productName != ''"> |
| | | and p.product_name = like concat('%',#{c.productName},'%') |
| | | </if> |
| | | <if test="c.speculativeTradingName != null || c.speculativeTradingName != ''"> |
| | | and pm.speculative_trading_name like concat('%',#{c.speculativeTradingName},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.production.mapper.ProcessRouteItemMapper"> |
| | | |
| | | <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProcessRouteItem"> |
| | | <id property="id" column="id"/> |
| | | <result property="routeId" column="route_id"/> |
| | | <result property="processId" column="process_id"/> |
| | | <result property="productModelId" column="product_model_id"/> |
| | | <result property="tenantId" column="tenant_id"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | </resultMap> |
| | | |
| | | <select id="listProcessRouteItemDto" resultType="com.ruoyi.production.dto.ProcessRouteItemDto"> |
| | | select pri.*, |
| | | pr.description , |
| | | pp.name as process_name, |
| | | pm.speculative_trading_name |
| | | from |
| | | process_route_item pri |
| | | left join product_model pm on pri.product_model_id = pm.id |
| | | left join product_process pp on pp.id = pri.process_id |
| | | left join process_route pr on pr.id = pri.route_id |
| | | where |
| | | pri.route_id = #{c.routeId} |
| | | |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | <mapper namespace="com.ruoyi.production.mapper.ProcessRouteMapper"> |
| | | |
| | | |
| | | <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProcessRoute"> |
| | | <id property="id" column="id"/> |
| | | <result property="productModelId" column="product_model_id"/> |
| | | <result property="description" column="description"/> |
| | | <result property="tenantId" column="tenant_id"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | </resultMap> |
| | | |
| | | <select id="pageProcessRouteDto" resultType="com.ruoyi.production.dto.ProcessRouteDto"> |
| | | select ps.*, pm.speculative_trading_name |
| | | from process_route ps |
| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.production.mapper.ProductStructureMapper"> |
| | | |
| | | <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductStructure"> |
| | | <id property="id" column="id"/> |
| | | <result property="productModelId" column="product_model_id"/> |
| | | <result property="processId" column="process_id"/> |
| | | <result property="unitQuantity" column="unit_quantity"/> |
| | | <result property="demandedQuantity" column="demanded_quantity"/> |
| | | <result property="unit" column="unit"/> |
| | | <result property="diskQuantity" column="disk_quantity"/> |
| | | <result property="tenantId" column="tenant_id"/> |
| | | </resultMap> |
| | | |
| | | |
| | | |
| | | <select id="listByproductModelId" resultType="com.ruoyi.production.dto.ProductStructureDto"> |
| | | select ps.*, |