zss
昨天 645fe0426017b280aa107b9363d37dc85470601b
Merge branch 'jtwy' into dev_New
已修改9个文件
84 ■■■■ 文件已修改
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -54,7 +54,7 @@
    @Excel(name = "客户名称")
    private String customerName;
    private String salesLedgerProductId;
    private Long salesLedgerProductId;
    /**
     * 出入库数量
@@ -120,6 +120,11 @@
     */
    @Excel(name = "产品大类")
    private String productCategory;
     /**
     * 产品id
     */
    @Excel(name = "产品id")
    private Long productId;
    /**
     * 规格型号
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java
@@ -131,6 +131,11 @@
     */
    @Excel(name = "产品大类")
    private String productCategory;
     /**
     * 产品id
     */
    @Excel(name = "产品id")
    private Long productId;
    /**
     * 规格型号
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -185,7 +185,7 @@
            for (ProductStructureDto productStructureDto : productStructureDtos) {
                ProductionProductInput productionProductInput = new ProductionProductInput();
                productionProductInput.setProductModelId(productStructureDto.getProductModelId());
                productionProductInput.setQuantity(productStructureDto.getUnitQuantity());
                productionProductInput.setQuantity(productStructureDto.getUnitQuantity().multiply(dto.getQuantity()));
                productionProductInput.setProductMainId(productionProductMain.getId());
                productionProductInputMapper.insert(productionProductInput);
            }
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -144,6 +144,7 @@
     * 报工id
     */
    private Long productMainId;
    //不合格现象
    private String defectivePhenomena;
}
src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -2,7 +2,12 @@
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
import com.ruoyi.procurementrecord.dto.ProcurementPageDtoCopy;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ISalesLedgerProductService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -33,7 +38,8 @@
{
    @Autowired
    private ISalesLedgerProductService salesLedgerProductService;
    @Autowired
    private ProcurementRecordService procurementRecordService;
    /**
     * 查询产品信息列表
     */
@@ -41,6 +47,17 @@
    public AjaxResult list(SalesLedgerProduct salesLedgerProduct)
    {
        List<SalesLedgerProduct> list = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
        list.forEach(item -> {
            ProcurementPageDto procurementDto = new ProcurementPageDto();
            procurementDto.setSalesLedgerProductId(item.getId());
            procurementDto.setProductCategory(item.getProductCategory());
            IPage<ProcurementPageDtoCopy> result = procurementRecordService.listPageCopyByProduction(new Page<>(1,-1), procurementDto);
            ProcurementPageDtoCopy procurementDtoCopy = result.getRecords().get(0);
            if(item.getQuantity().compareTo(procurementDtoCopy.getInboundNum0())>=0){
                item.setApproveStatus(1);
                salesLedgerProductService.addOrUpdateSalesLedgerProduct(item);
            }
        });
        return AjaxResult.success(list);
    }
src/main/java/com/ruoyi/sales/controller/ShipmentApprovalController.java
@@ -6,6 +6,10 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.dto.ProcurementAddDto;
import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
import com.ruoyi.procurementrecord.service.ProcurementRecordOutService;
import com.ruoyi.sales.mapper.ShipmentApprovalMapper;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
@@ -21,6 +25,8 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@RestController
@@ -35,6 +41,8 @@
    @Autowired
    private ISalesLedgerProductService salesLedgerProductService;
    @Autowired
    private ProcurementRecordOutService procurementRecordOutService;
    @GetMapping("/listPage")
    @ApiOperation("发货审批列表")
@@ -58,6 +66,18 @@
            SalesLedgerProduct salesLedgerProduct = salesLedgerProductService.getById(shipmentApproval.getSalesLedgerProductId());
            salesLedgerProduct.setApproveStatus(req.getApproveStatus());
            salesLedgerProductService.updateById(salesLedgerProduct);
            if(req.getApproveStatus()==3){
                //发货审批通过,生产该订单出库记录
                ProcurementRecordOutAdd procurementRecordOutAdd = new ProcurementRecordOutAdd();
                procurementRecordOutAdd.setSalesLedgerProductId(Math.toIntExact(salesLedgerProduct.getId()));
                procurementRecordOutAdd.setType(2);
                procurementRecordOutAdd.setUserId(Math.toIntExact(getUserId()));
                procurementRecordOutAdd.setQuantity(String.valueOf(salesLedgerProduct.getQuantity()));
                //获取当前时间
                LocalDateTime now = LocalDateTime.now();
                procurementRecordOutAdd.setTime(now.toString());
                procurementRecordOutService.stockout(procurementRecordOutAdd);
            }
        }
        return update ? AjaxResult.success() : AjaxResult.error();
    }
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -200,13 +200,13 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date shippingDate;
    @TableField(exist = false)
    @ApiModelProperty(value = "生产状态")
    private String productionStatus = "未开始";
//    @TableField(exist = false)
//    @ApiModelProperty(value = "生产状态")
//    private String productionStatus = "未开始";
    /**
     * 发货审批状态
     */
//    @TableField(exist = false)
    @ApiModelProperty(value = "审批状态")
    @ApiModelProperty(value = "审批状态:0未生产,1已生产,2待审核(审核中),3审核完成,4审核失败")
    private Integer approveStatus;
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -24,6 +24,7 @@
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
import com.ruoyi.quality.mapper.QualityInspectMapper;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.sales.dto.MonthlyAmountDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.mapper.*;
@@ -431,6 +432,16 @@
                    if (!CollectionUtils.isEmpty(productMainIds)) {
                        productionProductOutputMapper.deleteByProductMainIds(productMainIds);
                        productionProductInputMapper.deleteByProductMainIds(productMainIds);
                        List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
                                new LambdaQueryWrapper<QualityInspect>()
                                        .in(QualityInspect::getProductMainId, productMainIds)
                        );
                        qualityInspects.forEach(qualityInspect -> {
                            //inspectState=1 已提交 不能删除
                            if(qualityInspect.getInspectState() == 1){
                                throw new RuntimeException("已提交的检验单不能删除");
                            }
                        });
                        qualityInspectMapper.deleteByProductMainIds(productMainIds);
                    }
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -255,7 +255,8 @@
        t1.create_time,
        t1.update_time,
        t1.create_by,
        t2.warn_num
        t2.warn_num,
        t2.product_id
        from  procurement_record_storage t1
        left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id and t2.type = 1
        left join sales_ledger t3 on t3.id = t2.sales_ledger_id
@@ -297,7 +298,8 @@
        t1.create_time,
        t1.update_time,
        t1.create_by,
        t2.warn_num
        t2.warn_num,
        t2.product_id
        from  procurement_record_storage t1
        left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id and t2.type = 1
        left join sales_ledger t3 on t3.id = t2.sales_ledger_id
@@ -312,6 +314,9 @@
            <if test="req.timeStr != null and req.timeStr != ''">
                and t1.create_time like  concat('%',#{req.timeStr},'%')
            </if>
            <if test="req.salesLedgerProductId != null and req.salesLedgerProductId != ''">
                and t1.sales_ledger_product_id = #{req.salesLedgerProductId}
            </if>
            <if test="req.reportDate != null">
                and t1.create_time >= #{req.reportDate} and t1.create_time &lt; DATE_ADD(#{req.reportDate}, INTERVAL 1 DAY)
            </if>