liyong
10 小时以前 c26e400f6e83774286243b7210686a96d7cdcde3
feat(production): 新增工艺/bom/工艺路线内容
已添加1个文件
已修改20个文件
已删除48个文件
2399 ■■■■■ 文件已修改
src/main/java/com/ruoyi/basic/controller/ProductController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/IProductService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProcessRouteController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductBomController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductOrderController.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductProcessController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductProcessRouteController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionProductOutputController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductOrderDto.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionProductOutputDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/ProductionReportDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductProcessRouteItemMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductProcessRouteMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductWorkOrderMapper.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductOrder.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductProcessRoute.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductProcessRouteItem.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProcessRouteService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductOrderService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductProcessRouteItemService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductProcessRouteService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductProcessService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductWorkOrderService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductionProductInputService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductionProductMainService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/ProductionProductOutputService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductOutputServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/basic/ProductModelMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProcessRouteItemMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductOrderMapper.xml 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductProcessRouteMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductWorkOrderMapper.xml 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductInputMapper.xml 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductMainMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductionProductOutputMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -12,6 +12,7 @@
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.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -102,4 +103,10 @@
    public AjaxResult importProduct(MultipartFile file) {
        return AjaxResult.success(productModelService.importProduct(file));
    }
    @ApiOperation("分页查询所有产品型号")
    @GetMapping("/pageModel")
    public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
        return productService.listPageProductModel(page, productModel);
    }
}
src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
@@ -1,7 +1,10 @@
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;
/**
@@ -11,5 +14,6 @@
 * @date 2025-05-19
 */
public interface ProductModelMapper extends BaseMapper<ProductModel> {
    IPage<ProductModel> listPageProductModel(Page<ProductModel> page, @Param("c") ProductModel productModel);
}
src/main/java/com/ruoyi/basic/service/IProductService.java
@@ -1,9 +1,12 @@
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;
@@ -15,4 +18,6 @@
    List<ProductTreeDto> selectProductList(ProductDto productDto);
    IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel);
}
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,6 +1,8 @@
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;
@@ -52,7 +54,10 @@
        return tree;
    }
    @Override
    public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
        return productModelMapper.listPageProductModel(page, productModel);
    }
    // é€’归构建子节点
    private List<ProductTreeDto> buildChildrenNodes(Long parentId) {
src/main/java/com/ruoyi/production/controller/ProcessRouteController.java
@@ -1,12 +1,9 @@
package com.ruoyi.production.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProcessRouteDto;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.service.ProcessRouteItemService;
import com.ruoyi.production.service.ProcessRouteService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -22,9 +19,6 @@
    @Autowired
    private ProcessRouteService processRouteService;
    @Autowired
    private ProcessRouteItemService processRouteItemService;
    @GetMapping("page")
    @ApiOperation("分页查询")
@@ -45,8 +39,6 @@
    @ApiOperation("删除工艺路线")
    @DeleteMapping("/{ids}")
    public R delete(@PathVariable("ids") Long[] ids) {
        //删除工艺路线详情
        processRouteItemService.remove(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getRouteId,Arrays.asList(ids)));
        return R.ok(processRouteService.removeBatchByIds(Arrays.asList(ids)));
        return R.ok(processRouteService.batchDelete(Arrays.asList(ids)));
    }
}
src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -37,6 +37,7 @@
    @Autowired
    private ProcessRouteService processRouteService;
    @GetMapping("/listPage")
    @Log(title = "BOM-分页查询", businessType = BusinessType.OTHER)
    @ApiOperation("BOM-分页查询")
@@ -63,10 +64,11 @@
    @DeleteMapping("/batchDelete")
    @Log(title = "删除", businessType = BusinessType.DELETE)
    public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
        List<ProcessRoute> list = processRouteService.list(Wrappers.<ProcessRoute>lambdaQuery().in(ProcessRoute::getBomId, ids));
        if (list.size()>0){
            return AjaxResult.error("该BOM已经存在对应的工艺路线,无法进行删除");
        }
//        List<ProcessRoute> list = processRouteService.list(Wrappers.<ProcessRoute>lambdaQuery().in(ProcessRoute::getBomId, ids));
//        List<ProductProcessRoute> list2 = productProcessRouteService.list(Wrappers.<ProductProcessRoute>lambdaQuery().in(ProductProcessRoute::getBomId, ids));
//        if (list.size()>0 || list2.size()>0){
//            return AjaxResult.error("该BOM已经存在对应的工艺路线,无法进行删除");
//        }
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
        }
src/main/java/com/ruoyi/production/controller/ProductOrderController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductProcessController.java
@@ -14,7 +14,6 @@
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -56,10 +55,7 @@
    @DeleteMapping("/batchDelete")
    @Log(title = "删除", businessType = BusinessType.DELETE)
    public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
        }
        return AjaxResult.success(productProcessService.removeBatchByIds(ids));
        return AjaxResult.success(productProcessService.batchDelete(ids));
    }
    @ApiOperation("查询所有工序")
src/main/java/com/ruoyi/production/controller/ProductProcessRouteController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductWorkOrderController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/ProductionProductOutputController.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/controller/SalesLedgerWorkController.java
@@ -7,12 +7,8 @@
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProcessSchedulingDto;
import com.ruoyi.production.dto.ProductionReportDto;
import com.ruoyi.production.dto.SalesLedgerSchedulingProcessDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
import com.ruoyi.production.pojo.SalesLedgerWork;
import com.ruoyi.production.service.SalesLedgerWorkService;
import com.ruoyi.production.service.impl.SalesLedgerWorkServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
@@ -5,7 +5,6 @@
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * @author :yys
@@ -30,7 +29,6 @@
    @ApiModelProperty(value = "排产数量")
    private BigDecimal schedulingNum;
    /**
     * å·¥æ—¶å®šé¢
     */
@@ -38,15 +36,47 @@
    private BigDecimal workHours;
    /**
     * äº§çº¿
     */
    @ApiModelProperty(value = "产线")
    private String productionLine;
    /**
     * å·¥åº
     */
    @ApiModelProperty(value = "工序")
    private String process;
    /**
     * æŽ’产日期
     */
    @ApiModelProperty(value = "排产日期")
    private String schedulingDate;
    /**
     * å¤‡æ³¨
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * æŸè€—
     */
    @ApiModelProperty(value = "损耗")
    private String loss;
    /**
     * å£å‘³åˆ†ç±»
     */
    @ApiModelProperty(value = "口味分类")
    private String type;
    /**
     * é¢†ç”¨
     */
    @ApiModelProperty(value = "领用")
    private String receive;
}
src/main/java/com/ruoyi/production/dto/ProductOrderDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductProcessRouteItemDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
@@ -38,4 +38,19 @@
    @ApiModelProperty(value = "排产日期")
    private String schedulingDate;
    /**
     * ç”Ÿäº§ç‚’机
     */
    private String speculativeTradingName;
    /**
     * äº§çº¿
     */
    @ApiModelProperty(value = "产线")
    private String productionLine;
    /**
     * è§„格型号
     */
    private String specificationModel;
}
src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductionProductOutputDto.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/dto/ProductionReportDto.java
@@ -38,4 +38,16 @@
    @ApiModelProperty(value = "生产日期")
    private String schedulingDate;
    /**
     * å…¥åº“单价
     */
    @ApiModelProperty(value = "入库单价")
    private BigDecimal unitPrice;
    /**
     * å…¥åº“总价
     */
    @ApiModelProperty(value = "入库总价")
    private BigDecimal totalPrice;
}
src/main/java/com/ruoyi/production/dto/SalesLedgerProductionAccountingDto.java
@@ -1,5 +1,7 @@
package com.ruoyi.production.dto;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -12,6 +14,7 @@
 */
@Data
@ApiModel
@ExcelIgnoreUnannotated
public class SalesLedgerProductionAccountingDto extends SalesLedgerProductDto{
    /**
@@ -24,6 +27,7 @@
     * æŽ’产人名称
     */
    @ApiModelProperty(value = "生产人名称")
    @Excel(name = "生产人")
    private String schedulingUserName;
@@ -31,29 +35,34 @@
     * å·¥èµ„
     */
    @ApiModelProperty(value = "工资")
    @Excel(name = "工资")
    private BigDecimal wages;
    /**
     * ç”Ÿäº§æ•°é‡
     */
    @ApiModelProperty(value = "生产数量")
    @Excel(name = "生产数量")
    private BigDecimal finishedNum;
    /**
     * å·¥æ—¶å®šé¢
     */
    @ApiModelProperty(value = "工时定额")
    @Excel(name = "工时定额")
    private BigDecimal workHours;
    /**
     * å·¥åº
     */
    @ApiModelProperty(value = "工序")
    @Excel(name = "工序")
    private String process;
    /**
     * æŽ’产日期
     */
    @ApiModelProperty(value = "排产日期")
    @Excel(name = "生产日期")
    private String schedulingDate;
    @ApiModelProperty(value = "开始时间")
src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductProcessRouteItemMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductProcessRouteMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
@@ -13,5 +13,5 @@
    List<ProductStructureDto> listBybomId(@Param("bomId") Long bomId);
    List<ProductStructureDto> listByproductModelId(@Param("productModelId") Long productModelId);
    List<ProductStructureDto> listBybomAndProcess(@Param("bomId") Long bomId, @Param("processId") Long processId);
}
src/main/java/com/ruoyi/production/mapper/ProductWorkOrderMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductOrder.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductProcessRoute.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductProcessRouteItem.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProcessRouteService.java
@@ -6,9 +6,13 @@
import com.ruoyi.production.dto.ProcessRouteDto;
import com.ruoyi.production.pojo.ProcessRoute;
import java.util.List;
public interface ProcessRouteService extends IService<ProcessRoute> {
    IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto);
    Integer saveProcessRoute(ProcessRoute processRoute);
    int batchDelete(List<Long> ids);
}
src/main/java/com/ruoyi/production/service/ProductOrderService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductProcessRouteItemService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductProcessRouteService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductProcessService.java
@@ -8,6 +8,8 @@
import com.ruoyi.production.pojo.ProductProcess;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * @author :yys
 * @date : 2025/7/21 14:39
@@ -18,4 +20,6 @@
    AjaxResult add(ProductProcessDto productProcessDto);
    AjaxResult importData(MultipartFile file);
    String batchDelete(List<Integer> ids);
}
src/main/java/com/ruoyi/production/service/ProductWorkOrderService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductionProductInputService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/ProductionProductOutputService.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/SalesLedgerWorkService.java
@@ -3,7 +3,6 @@
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.AjaxResult;
import com.ruoyi.production.dto.ProductionReportDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
import com.ruoyi.production.pojo.SalesLedgerWork;
src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -1,11 +1,14 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.production.dto.ProcessRouteDto;
import com.ruoyi.production.mapper.ProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProcessRouteMapper;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.service.ProcessRouteService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -14,6 +17,7 @@
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Service
@AllArgsConstructor
@@ -22,6 +26,11 @@
    @Autowired
    private ProcessRouteMapper processRouteMapper;
    @Autowired
    private ProcessRouteItemMapper processRouteItemMapper;
    @Override
    public IPage<ProcessRouteDto> pageProcessRouteDto(Page<ProcessRouteDto> page, ProcessRouteDto processRouteDto) {
@@ -39,4 +48,16 @@
        processRoute.setProcessRouteCode(newProductCode);
        return processRouteMapper.updateById(processRoute);
    }
    @Override
    public int batchDelete(List<Long> ids) {
//        //先判断是否已经引用了
//        List<ProductOrder> productOrders = productOrderMapper.selectList(Wrappers.<ProductOrder>lambdaQuery().in(ProductOrder::getRouteId, ids));
//        if (productOrders.size()>0){
//            throw new RuntimeException("该工艺路线生产已引用,不能删除");
//        }
        //删除工艺路线详情
        processRouteItemMapper.delete(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getRouteId, ids));
        return processRouteMapper.deleteBatchIds(ids);
    }
}
src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteItemServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductProcessRouteServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductProcessDto;
import com.ruoyi.production.mapper.ProcessRouteItemMapper;
import com.ruoyi.production.mapper.ProductProcessMapper;
import com.ruoyi.production.pojo.ProcessRouteItem;
import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.production.service.ProductProcessService;
import org.springframework.beans.BeanUtils;
@@ -22,6 +25,10 @@
public class ProductProcessServiceImpl extends ServiceImpl<ProductProcessMapper, ProductProcess> implements ProductProcessService {
    @Autowired
    private ProductProcessMapper productProcessMapper;
    @Autowired
    private ProcessRouteItemMapper processRouteItemMapper;
//    @Autowired
//    private ProductProcessRouteItemMapper productProcessRouteItemMapper;
    @Override
    public IPage<ProductProcessDto> listPage(Page page, ProductProcessDto productProcessDto) {
@@ -33,7 +40,7 @@
        ProductProcess productProcess = new ProductProcess();
        BeanUtils.copyProperties(productProcessDto,productProcess);
        boolean save = productProcessMapper.insert(productProcess) > 0;
        if (save && ObjectUtils.isNotNull(productProcessDto.getNo())) {
        if (save && ObjectUtils.isNull(productProcessDto.getNo())) {
            // æ ¹æ®id生成no字段:GX + 8位数字(不足8位前面补0)
            String no = "GX" + String.format("%08d", productProcess.getId());
            productProcess.setNo(no);
@@ -41,7 +48,7 @@
            productProcessMapper.updateById(productProcess);
            return AjaxResult.success();
        }
        return AjaxResult.error();
        return AjaxResult.success();
    }
    @Override
@@ -59,4 +66,16 @@
            return AjaxResult.error("导入失败");
        }
    }
    @Override
    public String batchDelete(List<Integer> ids) {
        //查询是否生产中已经引用了这些工序
        List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(Wrappers.<ProcessRouteItem>lambdaQuery().in(ProcessRouteItem::getProcessId, ids));
//        List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().in(ProductProcessRouteItem::getProcessId, ids));
//        if (!CollectionUtils.isEmpty(processRouteItems) || !CollectionUtils.isEmpty(productProcessRouteItems)){
//            throw new RuntimeException("该工序已经被使用,无法删除");
//        }
        productProcessMapper.deleteBatchIds(ids);
        return null;
    }
}
src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/ProductionProductOutputServiceImpl.java
ÎļþÒÑɾ³ý
src/main/java/com/ruoyi/production/service/impl/SalesLedgerWorkServiceImpl.java
@@ -4,14 +4,12 @@
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.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductionReportDto;
import com.ruoyi.production.dto.SalesLedgerWorkDto;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
import com.ruoyi.production.mapper.SalesLedgerWorkMapper;
import com.ruoyi.production.pojo.SalesLedgerProductionAccounting;
import com.ruoyi.production.pojo.SalesLedgerWork;
import com.ruoyi.production.service.SalesLedgerProductionAccountingService;
import com.ruoyi.production.service.SalesLedgerWorkService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
src/main/resources/mapper/basic/ProductModelMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
<?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="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 and c.model != ''">
                and pm.model  like  concat('%',#{c.model},'%')
            </if>
            <if test="c.productName != null and c.productName != ''">
                and p.product_name  like  concat('%',#{c.productName},'%')
            </if>
        </where>
        order by  pm.id
    </select>
    <select id="selectLatestRecord" resultType="com.ruoyi.basic.pojo.ProductModel">
            SELECT * FROM product_model
            ORDER BY create_time DESC, id DESC
            LIMIT 1
    </select>
</mapper>
src/main/resources/mapper/production/ProcessRouteItemMapper.xml
@@ -17,7 +17,6 @@
        select pri.*,
               pr.description ,
               pp.name as process_name,
               pm.speculative_trading_name,
               pm.product_id,
               pm.model,
               p.product_name,
src/main/resources/mapper/production/ProductOrderMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductProcessRouteItemMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductProcessRouteMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductWorkOrderMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductionProductInputMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductionProductMainMapper.xml
ÎļþÒÑɾ³ý
src/main/resources/mapper/production/ProductionProductOutputMapper.xml
ÎļþÒÑɾ³ý