This commit is contained in:
jhd
2026-06-02 13:52:06 +08:00
89 changed files with 7529 additions and 1892 deletions

View File

@@ -148,7 +148,10 @@ public class WmsDeliveryWaybillDetailController extends BaseController {
return new TableDataInfo<>();
}
bo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(java.util.stream.Collectors.joining(",")));
bo.setStatusFirst(true); // 未发货的排在前面
bo.setStatusFirst(true);
if (planId == null) {
bo.setOrderByPlanDesc(true);
}
return iWmsMaterialCoilService.queryPageListWithBindInfo(bo, pageQuery);
}

View File

@@ -5,8 +5,6 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Arrays;
import java.util.Set;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.stream.Collectors;
import java.util.HashMap;
@@ -33,7 +31,6 @@ import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.common.utils.StringUtils;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.bo.WmsMaterialCoilReportSummaryBo;
import com.klp.domain.vo.dashboard.CoilTrimStatisticsVo;
@@ -135,25 +132,6 @@ public class WmsMaterialCoilController extends BaseController {
ExcelUtil.exportExcel(list, "钢卷物料表", WmsMaterialCoilExportVo.class, response);
}
/**
* 个性化导出:前端传入要导出的字段名,仅导出选中列
* columns 参数为逗号分隔的 Java 字段名,如 "itemTypeDesc,enterCoilNo,netWeight"
* 不传 columns 时等同于 /exportAll 导出全部字段
*/
@Log(title = "钢卷物料表", businessType = BusinessType.EXPORT)
@PostMapping("/exportCustom")
public void exportCustom(WmsMaterialCoilBo bo,
@RequestParam(required = false) String columns,
HttpServletResponse response) {
List<WmsMaterialCoilAllExportVo> list = iWmsMaterialCoilService.queryExportListAll(bo);
if (StringUtils.isNotBlank(columns)) {
Set<String> includeFields = new HashSet<>(Arrays.asList(columns.split(",")));
ExcelUtil.exportExcel(list, "钢卷物料表", WmsMaterialCoilAllExportVo.class, includeFields, response);
} else {
ExcelUtil.exportExcel(list, "钢卷物料表", WmsMaterialCoilAllExportVo.class, response);
}
}
/**
* 获取可导出的列元数据(供前端列选择器使用)
* 返回 { "fieldName": "中文列名" } 的映射,基于完整导出字段
@@ -195,9 +173,41 @@ public class WmsMaterialCoilController extends BaseController {
columns.put("actualThickness", "实测厚度");
columns.put("transferType", "调拨类型");
columns.put("team", "班组");
columns.put("theoreticalThickness", "理论厚度");
columns.put("theoreticalLength", "理论长度");
columns.put("chromePlateCoilNo", "镀铬卷号");
return R.ok(columns);
}
/**
* 自定义导出(指定列顺序):前端传入按导出顺序排列的字段名
* columnsOrdered 参数为逗号分隔的有序字段名,如 "team,enterCoilNo,netWeight,remark"
*/
@Log(title = "钢卷物料表", businessType = BusinessType.EXPORT)
@PostMapping("/exportCustomOrdered")
public void exportCustomOrdered(WmsMaterialCoilBo bo,
@RequestParam String columnsOrdered,
HttpServletResponse response) {
List<WmsMaterialCoilAllExportVo> list = iWmsMaterialCoilService.queryExportListAll(bo);
List<String> orderedFields = Arrays.asList(columnsOrdered.split(","));
ExcelUtil.exportExcelOrdered(list, "钢卷物料表", orderedFields,
getAllExportFieldLabelMap(), response);
}
/**
* 从 WmsMaterialCoilAllExportVo 注解中提取字段名->中文列名映射
*/
private Map<String, String> getAllExportFieldLabelMap() {
Map<String, String> map = new LinkedHashMap<>();
for (java.lang.reflect.Field field : WmsMaterialCoilAllExportVo.class.getDeclaredFields()) {
com.alibaba.excel.annotation.ExcelProperty ep = field.getAnnotation(com.alibaba.excel.annotation.ExcelProperty.class);
if (ep != null && ep.value().length > 0) {
map.put(field.getName(), ep.value()[0]);
}
}
return map;
}
/**
* 导出钢卷物料表列表(完整字段版本)
* 导出全部字段