huangjiayang
2025-05-07 becb9bd23be9b8776eb51c0f81a0a41fb662dd1f
【ADD】钣金冗余工单报表接口
已修改6个文件
已添加1个文件
181 ■■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/export/ApsPlatePlanExport.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
@@ -8,17 +8,19 @@
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.common.security.utils.DictUtils;
import com.aps.core.domain.ApsGasPipingPlan;
import com.aps.core.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlatePlanTemp;
import com.aps.core.domain.export.ApsPlatePlanExport;
import com.aps.core.service.IApsPlatePlanService;
import com.aps.core.service.IApsPlatePlanTempService;
import com.aps.system.api.domain.SysDictData;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -178,4 +180,38 @@
        List<ApsPlatePlanTemp> list = apsPlatePlanTempService.selectApsPlatePlanTempList(apsPlatePlanTemp);
        return getDataTable(list);
    }
    /**
     * é’£é‡‘冗余工单报表
     * @param apsPlatePlan
     * @return
     */
    @RequiresPermissions("Aps:apsPlatePlan:redundantOrderList")
    @GetMapping("/redundantOrderList")
    public TableDataInfo redundantOrderList(ApsPlatePlan apsPlatePlan) {
        startPage();
        List<ApsPlatePlan> list = apsPlatePlanService.selectPlateRedundantOrderList(apsPlatePlan);
        return getDataTable(list);
    }
    /**
     * é’£é‡‘冗余工单报表导出
     * @param apsPlatePlan
     * @return
     */
    @RequiresPermissions("Aps:apsPlatePlan:redundantOrderListExport")
    @Log(title = "钣金冗余工单报表", businessType = BusinessType.EXPORT)
    @PostMapping("/redundantOrderListExport")
    public void redundantOrderListExport(HttpServletResponse response, ApsPlatePlan apsPlatePlan) {
        List<ApsPlatePlan> planList = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan);
        List<ApsPlatePlanExport> planListExport = new ArrayList<>();
        for (ApsPlatePlan plan : planList) {
            ApsPlatePlanExport planExport = new ApsPlatePlanExport();
            BeanUtils.copyProperties(plan, planExport);
            planListExport.add(planExport);
        }
        ExcelUtil<ApsPlatePlanExport> util = new ExcelUtil<ApsPlatePlanExport>(ApsPlatePlanExport.class);
        util.exportExcel(response, planListExport, "钣金冗余工单报表数据");
    }
}
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlan.java
@@ -178,9 +178,42 @@
    @Excel(name = "下一工序名称")
    private String nextOpName;
    /** å·¥å•创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "工单创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderCreateTime;
    /** ç”Ÿäº§åŸºåœ° */
    @Excel(name = "生产基地")
    private String productionBase;
    /** æœªåŒ¹é…çš„生产数量*/
    private BigDecimal unmatchedQuantity;
    public Date getOrderCreateTime() {
        return orderCreateTime;
    }
    public void setOrderCreateTime(Date orderCreateTime) {
        this.orderCreateTime = orderCreateTime;
    }
    public String getProductionBase() {
        return productionBase;
    }
    public void setProductionBase(String productionBase) {
        this.productionBase = productionBase;
    }
    public BigDecimal getUnmatchedQuantity() {
        return unmatchedQuantity;
    }
    public void setUnmatchedQuantity(BigDecimal unmatchedQuantity) {
        this.unmatchedQuantity = unmatchedQuantity;
    }
    public String getOpStatus() {
        return opStatus;
    }
aps-modules/aps-core/src/main/java/com/aps/core/domain/export/ApsPlatePlanExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.aps.core.domain.export;
import com.aps.common.core.annotation.Excel;
import com.aps.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * é’£é‡‘计划管理对象 aps_plate_plan
 *
 * @author ruoyi
 * @date 2025-04-08
 */
@Data
public class ApsPlatePlanExport extends BaseEntity
{
    /** å•据号 */
    @Excel(name = "工单号", sort = 1)
    private String documentNumber;
    /** å­ä»¶æ–™å· */
    @Excel(name = "子件料号", sort = 2)
    private String itemNumber;
    /** ç”Ÿäº§æ•°é‡ */
    @Excel(name = "生产数量", sort = 3)
    private BigDecimal productionQuantity;
    /** æœªåŒ¹é…çš„生产数量*/
    @Excel(name = "未匹配的生产数量", sort = 4)
    private BigDecimal unmatchedQuantity;
    /** é€‚用工厂 */
    @Excel(name = "适用工厂", sort = 5)
    private String plant;
    /** ç”Ÿäº§åŸºåœ° */
    @Excel(name = "生产基地", sort = 6)
    private String productionBase;
    /** è®¡åˆ’开工日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开工日", width = 30, dateFormat = "yyyy-MM-dd", sort = 7)
    private Date planStartDay;
    /** è®¡åˆ’完工日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划完工日", width = 30, dateFormat = "yyyy-MM-dd", sort = 8)
    private Date planEndDay;
    /** å·¥å•创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "工单创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 9)
    private Date orderCreateTime;
}
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlatePlanMapper.java
@@ -1,8 +1,9 @@
package com.aps.core.mapper;
import java.util.List;
import  com.aps.core.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlatePlan;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * é’£é‡‘计划管理Mapper接口
@@ -64,4 +65,11 @@
    public int insertPlatePlanFromTempByBatchNumber(String batchNumber);
    int removeAllPlatePlans();
    /**
     * é’£é‡‘冗余工单报表
     * @param apsPlatePlan
     * @return
     */
    public List<ApsPlatePlan> selectPlateRedundantOrderList(ApsPlatePlan apsPlatePlan);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
@@ -1,8 +1,9 @@
package com.aps.core.service;
import java.util.List;
import  com.aps.core.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlatePlan;
import com.aps.core.domain.ApsPlatePlanTemp;
import java.util.List;
/**
 * é’£é‡‘计划管理Service接口
@@ -71,4 +72,11 @@
     * @throws Exception
     */
    String importData(List<ApsPlatePlanTemp> tempList) throws Exception;
    /**
     * é’£é‡‘冗余工单报表
     * @param apsPlatePlan
     * @return
     */
    public List<ApsPlatePlan> selectPlateRedundantOrderList(ApsPlatePlan apsPlatePlan);
}
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
@@ -182,6 +182,13 @@
        }
    }
    /**
     * é’£é‡‘冗余工单报表
     * @param apsPlatePlan
     * @return
     */
    @Override
    public List<ApsPlatePlan> selectPlateRedundantOrderList(ApsPlatePlan apsPlatePlan) {
        return apsPlatePlanMapper.selectPlateRedundantOrderList(apsPlatePlan);
    }
}
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlatePlanMapper.xml
@@ -44,6 +44,8 @@
        <result property="opStatus"    column="op_status"    />
        <result property="nextOpName"    column="next_op_name"    />
        <result property="unmatchedQuantity"    column="unmatched_quantity"    />
        <result property="productionBase"    column="production_base"    />
        <result property="orderCreateTime"    column="order_create_time"    />
    </resultMap>
    <sql id="selectApsPlatePlanVo">
@@ -53,7 +55,7 @@
               work_center, department, plan_start_day, plan_end_day, standby_number, standby_name,
               standby_stock, next_process_deparment, is_suspended, is_outsourcing, account, advanced_materials,
               advanced_document_number, advanced_requirement_day, is_plan_complete, is_stock_complete,
               has_turnback, has_risk, std_op, op_status, next_op_name ,unmatched_quantity
               has_turnback, has_risk, std_op, op_status, next_op_name ,unmatched_quantity, production_base, order_create_time
        from aps_plate_plan
    </sql>
@@ -263,4 +265,15 @@
        update  aps_plate_plan  set del_flag='1' where del_flag ='0'
    </update>
    <select id="selectPlateRedundantOrderList" parameterType="ApsPlatePlan" resultMap="ApsPlatePlanResult">
        select document_number, item_number, production_quantity, unmatched_quantity, plant, production_base, plan_start_day, plan_end_day, order_create_time
        from aps_plate_plan where unmatched_quantity>0 and professional_affiliation!='0'
        <if test="documentNumber != null and documentNumber != ''">
            and document_number like '%' || #{documentNumber} || '%'
        </if>
        <if test="itemNumber != null and itemNumber != ''">
            and item_number like '%' || #{itemNumber} || '%'
        </if>
    </select>
</mapper>