胡轶钦 6 年前
父节点
当前提交
93c06e7da0
共有 2 个文件被更改,包括 72 次插入0 次删除
  1. 50
    0
      models/book/book.go
  2. 22
    0
      service/book/book.go

+ 50
- 0
models/book/book.go 查看文件

@@ -150,3 +150,53 @@ func (m *BookDAO) GetBookRecommendList(caseid string, page, pageSize int) ([]mod
150 150
 	err := m.db.Sql(sql).Find(&book)
151 151
 	return book, err
152 152
 }
153
+
154
+type InStockChange struct {
155
+	model.TaInStockChange `xorm:"extends"`
156
+	RealName              string
157
+	BookName              string
158
+	InStock               int
159
+	LeftNum               int
160
+}
161
+
162
+func (m *BookDAO) GetInStockChangeByBookId(bookId string, page, pageSize int) ([]InStockChange, error) {
163
+	var change []InStockChange
164
+	sql := `SELECT
165
+	a.*,
166
+	b.book_name,
167
+	b.left_num,
168
+	b.in_stock,
169
+	c.real_name
170
+FROM
171
+	ta_in_stock_change a
172
+	INNER JOIN ta_book b ON a.book_id = b.book_id
173
+	INNER JOIN sys_user c on a.change_user = c.user_id
174
+	WHERE a.book_id = '` + bookId + `'`
175
+	sql += ` order by a.change_date desc limit ` + strconv.Itoa((page-1)*pageSize) + `, ` + strconv.Itoa(pageSize)
176
+	err := m.db.Sql(sql).Find(&change)
177
+	return change, err
178
+}
179
+
180
+func (m *BookDAO) GetInStockChangeByBookIdCount(bookId string) (int, error) {
181
+	var change []InStockChange
182
+	sql := `SELECT
183
+	a.*,
184
+	b.book_name,
185
+	b.left_num,
186
+	c.real_name
187
+FROM
188
+	ta_in_stock_change a
189
+	INNER JOIN ta_book b ON a.book_id = b.book_id
190
+	INNER JOIN sys_user c on a.change_user = c.user_id
191
+	WHERE a.book_id = '` + bookId + `'`
192
+	err := m.db.Sql(sql).Find(&change)
193
+	return len(change), err
194
+}
195
+
196
+func (m *BookDAO) AddChangeRecord(change model.TaInStockChange) error {
197
+	change.ChangeDate = time.Now()
198
+	change.RecordId = utils.GetGUID()
199
+	_, err := m.db.Insert(change)
200
+	return err
201
+
202
+}

+ 22
- 0
service/book/book.go 查看文件

@@ -87,3 +87,25 @@ func (s *BookServ) EditBook(book model.TaBook) error {
87 87
 	}
88 88
 	return nil
89 89
 }
90
+
91
+func (s *BookServ) GetInStockChangeByBookId(bookId string, page, pageSize int) (map[string]interface{}, error) {
92
+	if pageSize == 0 {
93
+		pageSize = service.PAGENUM
94
+	}
95
+	list, err := s.dao.GetInStockChangeByBookId(bookId, page, pageSize)
96
+	if err != nil {
97
+		utils.LogError("获取库存盘点列表失败: " + err.Error())
98
+		return nil, errors.New("获取库存盘点列表失败")
99
+	}
100
+	total, err := s.dao.GetInStockChangeByBookIdCount(bookId)
101
+	if err != nil {
102
+		utils.LogError("获取库存盘点列表失败: " + err.Error())
103
+		return nil, errors.New("获取库存盘点列表失败")
104
+	}
105
+	return map[string]interface{}{
106
+		"list":     list,
107
+		"pageSize": pageSize,
108
+		"pagenum":  total,
109
+		"page":     page,
110
+	}, nil
111
+}