feat: 档口入库码支持软删除与重导恢复 (#238)
This commit is contained in:
@@ -108,11 +108,25 @@ func (h *Handler) InnerCodeImport(c *gin.Context) {
|
||||
fail(c, http.StatusInternalServerError, "档口入库码写库失败,本次导入已整体回滚,请稍后重试。")
|
||||
return
|
||||
}
|
||||
message := fmt.Sprintf("导入完成:业务日期 %s,读取 %d 行,新增 %d 条,更新 %d 条,文件内重复 %d 行。",
|
||||
result.BusinessDate, result.TotalRows, result.CreatedCount, result.UpdatedCount, result.DuplicateRows)
|
||||
message := fmt.Sprintf("导入完成:业务日期 %s,读取 %d 行,新增 %d 条,更新 %d 条,恢复 %d 条,文件内重复 %d 行。",
|
||||
result.BusinessDate, result.TotalRows, result.CreatedCount, result.UpdatedCount, result.RestoredCount, result.DuplicateRows)
|
||||
h.innerCodeRedirect(c, result.BusinessDate, "", "", 1, message)
|
||||
}
|
||||
|
||||
// InnerCodeDelete 软删除当前页已选记录;不撤销任何顺运宝远端操作。
|
||||
func (h *Handler) InnerCodeDelete(c *gin.Context) {
|
||||
businessDate, status, keyword := c.PostForm("date"), c.PostForm("status"), c.PostForm("q")
|
||||
pageNumber := service.ParsePage(c.PostForm("page"))
|
||||
ids := parseInnerCodeIDs(c.PostFormArray("ids"))
|
||||
count, err := service.DeleteInnerCodes(h.db, ids, currentUser(c).UserID, time.Now())
|
||||
if err != nil {
|
||||
h.innerCodeRedirect(c, businessDate, status, keyword, pageNumber, "删除失败:"+err.Error()+";没有部分删除,请刷新后重试。")
|
||||
return
|
||||
}
|
||||
h.innerCodeRedirect(c, businessDate, status, keyword, pageNumber,
|
||||
fmt.Sprintf("已删除 %d 条档口入库码记录;顺运宝已写入的快递单号不会撤销。重新导入相同数据可恢复。", count))
|
||||
}
|
||||
|
||||
// InnerCodeMatch 读取远端最新详情并保存只读规划,不执行任何回写。
|
||||
func (h *Handler) InnerCodeMatch(c *gin.Context) {
|
||||
businessDate := strings.TrimSpace(c.PostForm("date"))
|
||||
|
||||
@@ -119,6 +119,7 @@ func Register(r *gin.Engine, db *sql.DB, onlineThreshold time.Duration, aiSecret
|
||||
pages.GET("/inner-codes", h.InnerCodeList)
|
||||
innerCodes := pages.Group("/inner-codes")
|
||||
innerCodes.POST("/import", h.InnerCodeImport)
|
||||
innerCodes.POST("/delete", h.InnerCodeDelete)
|
||||
innerCodes.POST("/match", h.InnerCodeMatch)
|
||||
innerCodes.POST("/apply", h.InnerCodeApply)
|
||||
innerCodes.POST("/recheck", h.InnerCodeRecheck)
|
||||
|
||||
Reference in New Issue
Block a user