胡轶钦 6 år sedan
förälder
incheckning
a2458e93fa
2 ändrade filer med 24 tillägg och 4 borttagningar
  1. 3
    1
      models/book/book.go
  2. 21
    3
      service/book/book.go

+ 3
- 1
models/book/book.go Visa fil

@@ -101,7 +101,7 @@ func (m *BookDAO) UpdateBookRecord(record model.TaBookBorrowRecord) error {
101 101
 	_, err := m.db.Cols(cols...).Where("book_borrow_record_id = ?", record.BookBorrowRecordId).Update(record)
102 102
 	return err
103 103
 }
104
-func (m *BookDAO) UpdateInStockBook(book model.TaBook) error {
104
+func (m *BookDAO) UpdateInStockBook(book *model.TaBook) error {
105 105
 	var cols = []string{
106 106
 		"in_stock",
107 107
 		"left_num",
@@ -162,6 +162,7 @@ type InStockChange struct {
162 162
 	RealName              string
163 163
 	BookName              string
164 164
 	LeftNum               int
165
+	InStock               int
165 166
 }
166 167
 
167 168
 func (m *BookDAO) GetInStockChangeByBookId(bookId string, page, pageSize int) ([]InStockChange, error) {
@@ -170,6 +171,7 @@ func (m *BookDAO) GetInStockChangeByBookId(bookId string, page, pageSize int) ([
170 171
 	a.*,
171 172
 	b.book_name,
172 173
 	b.left_num,
174
+	b.in_stock,
173 175
 	c.real_name
174 176
 FROM
175 177
 	ta_in_stock_change a

+ 21
- 3
service/book/book.go Visa fil

@@ -110,6 +110,24 @@ func (s *BookServ) GetInStockChangeByBookId(bookId string, page, pageSize int) (
110 110
 	}, nil
111 111
 }
112 112
 
113
-// func (s *BookServ)AddChangeRecord(change model.TaInStockChange)error{
114
-
115
-// }
113
+func (s *BookServ) AddChangeRecord(change model.TaInStockChange) error {
114
+	book, err := s.dao.GetBookById(change.BookId)
115
+	if err != nil {
116
+		utils.LogError("库存盘点失败: " + err.Error())
117
+		return errors.New("库存盘点失败")
118
+	}
119
+	bookAdd := change.InStockAfter - change.InStockBefore
120
+	book.InStock = book.InStock + bookAdd
121
+	book.LeftNum = change.InStockAfter
122
+	err = s.dao.AddChangeRecord(change)
123
+	if err != nil {
124
+		utils.LogError("库存盘点失败: " + err.Error())
125
+		return errors.New("库存盘点失败")
126
+	}
127
+	err = s.dao.UpdateInStockBook(book)
128
+	if err != nil {
129
+		utils.LogError("库存盘点失败: " + err.Error())
130
+		return errors.New("库存盘点失败")
131
+	}
132
+	return nil
133
+}