chore: 批量完成项目多模块迭代优化

1. 废弃半成品库存表并统一库存主表
2. 修复列表排序与搜索大小写不敏感问题
3. 新增用户最近登录时间、工单BOM名称字段
4. 完善角色管理、工位选择器功能
5. 增加拧紧数据补录、成品自动回流WMS能力
6. 统一导出时间范围校验规则
7. 丰富物料/备料单筛选条件
8. 调整菜单与权限命名适配产品型号业务
This commit is contained in:
SunYF
2026-09-08 11:44:04 +08:00
parent 06689970e2
commit e852c7cd37
96 changed files with 4528 additions and 542 deletions
+14 -7
View File
@@ -246,16 +246,16 @@ func queryOutboundHandler(ctx *svc.ServiceContext) http.HandlerFunc {
q := ctx.EntClient.OutboundOrder.Query()
if orderNo != "" {
q = q.Where(outboundorder.OrderNoEQ(orderNo))
q = q.Where(outboundorder.OrderNoEqualFold(orderNo))
}
if materialCode != "" {
q = q.Where(outboundorder.MaterialCodeEQ(materialCode))
q = q.Where(outboundorder.MaterialCodeEqualFold(materialCode))
}
if outboundNo != "" {
q = q.Where(outboundorder.OutboundNoEQ(outboundNo))
q = q.Where(outboundorder.OutboundNoEqualFold(outboundNo))
}
if boxNo != "" {
q = q.Where(outboundorder.BoxNoContains(boxNo))
q = q.Where(outboundorder.BoxNoContainsFold(boxNo))
}
total, err := q.Count(ctx0())
@@ -480,19 +480,26 @@ func exportOutboundHandler(ctx *svc.ServiceContext) http.HandlerFunc {
orderNo := r.URL.Query().Get("orderNo")
materialCode := r.URL.Query().Get("materialCode")
boxNo := r.URL.Query().Get("boxNo")
startDate, endDate, rerr := normalizeExportRange(r.URL.Query().Get("startDate"), r.URL.Query().Get("endDate"))
if rerr != nil {
fail(w, http.StatusBadRequest, rerr.Error())
return
}
startUnix, endUnix := exportRangeUnix(startDate, endDate)
q := ctx.EntClient.OutboundOrder.Query()
q = q.Where(outboundorder.CreatedAtGTE(startUnix), outboundorder.CreatedAtLTE(endUnix))
if outboundType != "" {
q = q.Where(outboundorder.OutboundTypeEQ(outboundType))
}
if orderNo != "" {
q = q.Where(outboundorder.OrderNoEQ(orderNo))
q = q.Where(outboundorder.OrderNoEqualFold(orderNo))
}
if materialCode != "" {
q = q.Where(outboundorder.MaterialCodeEQ(materialCode))
q = q.Where(outboundorder.MaterialCodeEqualFold(materialCode))
}
if boxNo != "" {
q = q.Where(outboundorder.BoxNoContains(boxNo))
q = q.Where(outboundorder.BoxNoContainsFold(boxNo))
}
list, err := q.Order(ent.Desc("created_at"), ent.Desc("id")).All(ctx0())