基础数据导出

liweidong
maxiangong 4 days ago
parent a986a4c91b
commit d2c878cc26
  1. 25
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/PlanAssignSteerController.java
  2. 129
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerExcel.java
  3. 98
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/PlanAssignSteerImportExcel.java
  4. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/PlanAssignSteerMapper.xml
  5. 29
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/controller/QualityGradeController.java
  6. 62
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/excel/QualityGradeExcel.java
  7. 2
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/QualityGradeMapper.java
  8. 11
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/QualityGradeMapper.xml
  9. 2
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/IQualityGradeService.java
  10. 4
      blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/QualityGradeServiceImpl.java

@ -5,6 +5,7 @@ package org.springblade.desk.basic.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
@ -29,6 +30,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BAModuleConst; import org.springblade.desk.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.MaterialQuotaExcel; import org.springblade.desk.basic.excel.MaterialQuotaExcel;
import org.springblade.desk.basic.excel.PlanAssignSteerExcel; import org.springblade.desk.basic.excel.PlanAssignSteerExcel;
import org.springblade.desk.basic.excel.PlanAssignSteerImportExcel;
import org.springblade.desk.basic.pojo.entity.*; import org.springblade.desk.basic.pojo.entity.*;
import org.springblade.desk.basic.pojo.vo.PlanAssignSteerVO; import org.springblade.desk.basic.pojo.vo.PlanAssignSteerVO;
import org.springblade.desk.basic.service.ICraftAbilityService; import org.springblade.desk.basic.service.ICraftAbilityService;
@ -221,13 +223,22 @@ public class PlanAssignSteerController extends BladeController {
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> planAssignSteer, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> planAssignSteer,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<PlanAssignSteer> qw = Condition.getQueryWrapper(planAssignSteer, PlanAssignSteer.class); QueryWrapper<PlanAssignSteer> qw = Condition.getQueryWrapper(planAssignSteer, PlanAssignSteer.class);
//if (!AuthUtil.isAdministrator()) { qw.eq(planAssignSteer.containsKey("platingId"), PlanAssignSteer.COL_PLATING_ID, Func.toInt(planAssignSteer.get("platingId")));
// queryWrapper.lambda().eq(PlanAssignSteer::getTenantId, bladeUser.getTenantId()); qw.eq("is_deleted", 0);
//}
//queryWrapper.lambda().eq(PlanAssignSteerEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<PlanAssignSteerExcel> list = service.exportPlanAssignSteer(qw); List<PlanAssignSteerExcel> list = service.exportPlanAssignSteer(qw);
ExcelUtil.export(response, "[外协分派]数据" + DateUtil.time(), for(PlanAssignSteerExcel excel : list){
"[外协分派]数据表", list, PlanAssignSteerExcel.class); if(StringUtils.isEmpty(excel.getOemName()) && excel.getOemId() != null){
excel.setOemName(excel.getOemId().toString());
}
if(StringUtils.isEmpty(excel.getDsPartName()) && excel.getDsPart() != null){
excel.setDsPartName(excel.getDsPart().toString());
}
if(StringUtils.isEmpty(excel.getPlatingName()) && excel.getPlatingId() != null){
excel.setPlatingName(excel.getPlatingId().toString());
}
}
ExcelUtil.export(response, "外协分派" + DateUtil.time(),
"外协分派", list, PlanAssignSteerExcel.class);
} }
/** /**
@ -260,7 +271,7 @@ public class PlanAssignSteerController extends BladeController {
List<PlanAssignSteer> noticeList = new ArrayList<>(); List<PlanAssignSteer> noticeList = new ArrayList<>();
List<PlanAssignSteerExcel> list = ExcelUtil.read(file, PlanAssignSteerExcel.class); List<PlanAssignSteerImportExcel> list = ExcelUtil.read(file, PlanAssignSteerImportExcel.class);
list.forEach(noticeExcel -> { list.forEach(noticeExcel -> {
PlanAssignSteer notice = BeanUtil.copy(noticeExcel, PlanAssignSteer.class); PlanAssignSteer notice = BeanUtil.copy(noticeExcel, PlanAssignSteer.class);

@ -4,6 +4,7 @@
package org.springblade.desk.basic.excel; package org.springblade.desk.basic.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentRowHeight;
@ -13,7 +14,6 @@ import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
@ -28,71 +28,66 @@ import java.time.LocalDateTime;
@ContentRowHeight(18) @ContentRowHeight(18)
public class PlanAssignSteerExcel implements Serializable { public class PlanAssignSteerExcel implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 供应商
*/
@ColumnWidth(20)
@ExcelProperty("供应商")
private String oemName;
/**
* 工艺能力
*/
@ColumnWidth(20)
@ExcelProperty("工艺能力")
private String platingName;
/**
* 零件
*/
@ColumnWidth(20)
@ExcelProperty("零件")
private String dsPartName;
/**
* 分派比例(%)
*/
@ColumnWidth(20)
@ExcelProperty("分派比例(%)")
private BigDecimal assignScale;
/**
* 日分派量
*/
@ColumnWidth(20)
@ExcelProperty("日分派量")
private String assign;
/**
* 厂家周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("厂家周累计分派量")
private BigDecimal weekAssign;
/**
* 分类周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("分类周累计分派量")
private BigDecimal classifyAssign;
/**
* 比例偏差因子
*/
@ColumnWidth(20)
@ExcelProperty("比例偏差因子")
private BigDecimal factor;
@ExcelIgnore
private Long oemId;
@ExcelIgnore
private Long dsPart;
@ExcelIgnore
private Long platingId;
/**
* [供应商]id
*/
@ColumnWidth(20)
@ExcelProperty("供应商")
// private Long oemId;
private String oemName;
/**
* [工艺能力]id
*/
@ColumnWidth(20)
@ExcelProperty("工艺能力")
// private Long platingId;
private String platingName;
/**
* 零件;外键(dsPart)
*/
@ColumnWidth(20)
@ExcelProperty("零件")
// private Long dsPart;
private String dsPartName;
/**
* 分派比例
*/
@ColumnWidth(20)
@ExcelProperty("分派比例")
private BigDecimal assignScale;
/**
* 厂家周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("厂家周累计分派量")
private BigDecimal weekAssign;
/**
* 分类周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("分类周累计分派量")
private BigDecimal classifyAssign;
/**
* 比例偏差因子
*/
@ColumnWidth(20)
@ExcelProperty("比例偏差因子")
private BigDecimal factor;
/**
* 维护人
*/
@ColumnWidth(20)
@ExcelProperty("维护人")
// private Long maintainMan;
private String maintainManName;
/**
* 维护时间
*/
@ColumnWidth(20)
@ExcelProperty("维护时间-示例[1998-08-09 16:33:11]")
private LocalDateTime maintainTime;
/**
* 日分派量
*/
@ColumnWidth(20)
@ExcelProperty("日分派量")
private String assign;
} }

@ -0,0 +1,98 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* [外协分派] Excel实体类
*
* @author Tom Shuo
* @since 2026-01-05
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class PlanAssignSteerImportExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* [供应商]id
*/
@ColumnWidth(20)
@ExcelProperty("供应商")
// private Long oemId;
private String oemName;
/**
* [工艺能力]id
*/
@ColumnWidth(20)
@ExcelProperty("工艺能力")
// private Long platingId;
private String platingName;
/**
* 零件;外键(dsPart)
*/
@ColumnWidth(20)
@ExcelProperty("零件")
// private Long dsPart;
private String dsPartName;
/**
* 分派比例
*/
@ColumnWidth(20)
@ExcelProperty("分派比例")
private BigDecimal assignScale;
/**
* 厂家周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("厂家周累计分派量")
private BigDecimal weekAssign;
/**
* 分类周累计分派量
*/
@ColumnWidth(20)
@ExcelProperty("分类周累计分派量")
private BigDecimal classifyAssign;
/**
* 比例偏差因子
*/
@ColumnWidth(20)
@ExcelProperty("比例偏差因子")
private BigDecimal factor;
/**
* 维护人
*/
@ColumnWidth(20)
@ExcelProperty("维护人")
// private Long maintainMan;
private String maintainManName;
/**
* 维护时间
*/
@ColumnWidth(20)
@ExcelProperty("维护时间-示例[1998-08-09 16:33:11]")
private LocalDateTime maintainTime;
/**
* 日分派量
*/
@ColumnWidth(20)
@ExcelProperty("日分派量")
private String assign;
}

@ -17,11 +17,23 @@
</resultMap> </resultMap>
<select id="selectPlanAssignSteerPage" resultMap="planAssignSteerResultMap"> <select id="selectPlanAssignSteerPage" resultMap="planAssignSteerResultMap">
SELECT * FROM BA_PLAN_ASSIGN_STEER WHERE is_deleted = 0 SELECT * FROM BS_PLAN_ASSIGN_STEER WHERE is_deleted = 0
</select> </select>
<select id="exportPlanAssignSteer" resultType="org.springblade.desk.basic.excel.PlanAssignSteerExcel"> <select id="exportPlanAssignSteer" resultType="org.springblade.desk.basic.excel.PlanAssignSteerExcel">
SELECT * FROM BA_PLAN_ASSIGN_STEER ${ew.customSqlSegment} SELECT *
FROM
(
SELECT a.*,
b.oc_name as oem_name,
c.part_name as ds_part_name,
d.ca_name as plating_name
FROM BS_PLAN_ASSIGN_STEER a
LEFT JOIN BS_OEM b on a.oem_id = b.id
LEFT JOIN DS_PART c on a.DS_PART = c.id
LEFT JOIN BS_CRAFT_ABILITY d on a.PLATING_ID = d.id
)
${ew.customSqlSegment}
</select> </select>
<select id="findParams" resultType="org.springblade.desk.basic.pojo.vo.PlanAssignSteerVO"> <select id="findParams" resultType="org.springblade.desk.basic.pojo.vo.PlanAssignSteerVO">

@ -44,6 +44,7 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.ExcelConst; import org.springblade.desk.basic.constant.ExcelConst;
@ -279,14 +280,26 @@ public class QualityGradeController extends BladeController {
@GetMapping("/export") @GetMapping("/export")
@ApiOperationSupport(order = 9) @ApiOperationSupport(order = 9)
@Operation(summary = "导出数据", description = "传入QualityGrade") @Operation(summary = "导出数据", description = "传入QualityGrade")
public void exportQualityGrade(@Parameter(hidden = true) @RequestParam Map<String, Object> QualityGrade, BladeUser bladeUser, HttpServletResponse response) { public void exportQualityGrade(QualityGradeVO qualityGrade, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<QualityGradeEntity> queryWrapper = Condition.getQueryWrapper(QualityGrade, QualityGradeEntity.class); List<QualityGradeVO> list = qualityGradeService.selectQualityGrade(qualityGrade);
//if (!AuthUtil.isAdministrator()) { List<QualityGradeExcel> excels = new ArrayList<>();
// queryWrapper.lambda().eq(QualityGrade::getTenantId, bladeUser.getTenantId()); for(QualityGradeVO vo: list){
//} QualityGradeExcel excel = new QualityGradeExcel();
//queryWrapper.lambda().eq(QualityGradeEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); vo.setTypes(vo.getType());
List<QualityGradeExcel> list = qualityGradeService.export(queryWrapper); BeanUtil.copyProperties(vo, excel);
ExcelUtil.export(response, "质量等级表数据" + DateUtil.time(), "质量等级表数据表", list, QualityGradeExcel.class); if("1".equals(vo.getIsLocal())){
excel.setIsLocal("是");
} else {
excel.setIsLocal("否");
}
if("1".equals(vo.getIsThickness())){
excel.setIsThickness("是");
} else {
excel.setIsThickness("否");
}
excels.add(excel);
}
ExcelUtil.export(response, "质量等级表数据" + DateUtil.time(), "质量等级表数据表", excels, QualityGradeExcel.class);
} }
/** /**

@ -26,16 +26,14 @@
package org.springblade.scheduling.scheduling.excel; package org.springblade.scheduling.scheduling.excel;
import lombok.Data;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import java.io.Serializable; import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable;
/** /**
@ -50,32 +48,34 @@ import java.io.Serial;
@ContentRowHeight(18) @ContentRowHeight(18)
public class QualityGradeExcel implements Serializable { public class QualityGradeExcel implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 质量等级
*/
@ColumnWidth(20)
@ExcelProperty("质量等级")
private String qualityGrade;
/**
* 类型
*/
@ColumnWidth(20)
@ExcelProperty("类型")
private String typeNames;
/**
* 局部镀
*/
@ColumnWidth(20)
@ExcelProperty("局部镀")
private String isLocal;
/** /**
* ID * 厚金区固定厚度
*/ */
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty("ID") @ExcelProperty("厚金区固定厚度")
private BigDecimal id; private String isThickness;
/**
* 质量等级
*/
@ColumnWidth(20)
@ExcelProperty("质量等级")
private String qualityGrade;
/**
* 类型 1-军品 2-商飞 3-宇航
*/
@ColumnWidth(20)
@ExcelProperty("类型 1-军品 2-商飞 3-宇航")
private String type;
/**
* 是否已删除
*/
@ColumnWidth(20)
@ExcelProperty("是否已删除")
private Long isDeleted;
} }

@ -53,6 +53,8 @@ public interface QualityGradeMapper extends BaseMapper<QualityGradeEntity> {
List<QualityGradeVO> selectQualityGradePage(IPage page, QualityGradeVO QualityGrade); List<QualityGradeVO> selectQualityGradePage(IPage page, QualityGradeVO QualityGrade);
List<QualityGradeVO> selectQualityGrade(@Param("param2") QualityGradeVO QualityGrade);
/** /**
* 获取导出数据 * 获取导出数据
* *

@ -16,8 +16,7 @@
<result column="IS_DELETED" property="isDeleted"/> <result column="IS_DELETED" property="isDeleted"/>
</resultMap> </resultMap>
<sql id="selectQualityGradeSql">
<select id="selectQualityGradePage" resultType="org.springblade.scheduling.scheduling.vo.QualityGradeVO">
select * from MES_QUALITY_GRADE select * from MES_QUALITY_GRADE
<where> <where>
is_deleted = 0 is_deleted = 0
@ -28,6 +27,14 @@
and QUALITY_GRADE LIKE '%' || #{param2.qualityGrade} || '%'; and QUALITY_GRADE LIKE '%' || #{param2.qualityGrade} || '%';
</if> </if>
</where> </where>
</sql>
<select id="selectQualityGradePage" resultType="org.springblade.scheduling.scheduling.vo.QualityGradeVO">
<include refid="selectQualityGradeSql"></include>
</select>
<select id="selectQualityGrade" resultType="org.springblade.scheduling.scheduling.vo.QualityGradeVO">
<include refid="selectQualityGradeSql"></include>
</select> </select>

@ -50,6 +50,8 @@ public interface IQualityGradeService extends BaseService<QualityGradeEntity> {
*/ */
IPage<QualityGradeVO> selectQualityGradePage(IPage<QualityGradeVO> page, QualityGradeVO QualityGrade); IPage<QualityGradeVO> selectQualityGradePage(IPage<QualityGradeVO> page, QualityGradeVO QualityGrade);
List<QualityGradeVO> selectQualityGrade(QualityGradeVO QualityGrade);
/** /**
* 导出数据 * 导出数据

@ -51,6 +51,10 @@ public class QualityGradeServiceImpl extends BaseServiceImpl<QualityGradeMapper,
return page.setRecords(baseMapper.selectQualityGradePage(page, QualityGrade)); return page.setRecords(baseMapper.selectQualityGradePage(page, QualityGrade));
} }
@Override
public List<QualityGradeVO> selectQualityGrade(QualityGradeVO QualityGrade) {
return baseMapper.selectQualityGrade(QualityGrade);
}
@Override @Override
public List<QualityGradeExcel> export(Wrapper<QualityGradeEntity> queryWrapper) { public List<QualityGradeExcel> export(Wrapper<QualityGradeEntity> queryWrapper) {

Loading…
Cancel
Save