1、创建零售退货订单时,单个商品退货金额以入参为准;
2、优化库存导入接口,尝试解决库存列表数据重复的问题;
This commit is contained in:
parent
75553fa63d
commit
16e12f85cb
|
@ -1229,13 +1229,13 @@ func (m *StockImporter) processErpStocks(erpStocks []ErpStockCommodity) error {
|
|||
})
|
||||
}
|
||||
|
||||
err := m.ErpStockCountUpdate(begin) //更新or插入库存表
|
||||
err := errGroup.Wait()
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
err = errGroup.Wait()
|
||||
err = m.ErpStockCountUpdate(begin) //更新or插入库存表
|
||||
if err != nil {
|
||||
begin.Rollback()
|
||||
return err
|
||||
|
@ -1259,8 +1259,26 @@ func createStockList(begin *gorm.DB, stockList []ErpStockCommodity) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// 合并导入数据的辅助函数
|
||||
func mergeCensusMap(censusMap map[uint32]map[uint32]uint32) map[uint32]map[uint32]uint32 {
|
||||
mergedMap := make(map[uint32]map[uint32]uint32)
|
||||
for storeId, commodities := range censusMap {
|
||||
if mergedMap[storeId] == nil {
|
||||
mergedMap[storeId] = make(map[uint32]uint32)
|
||||
}
|
||||
for commodityId, count := range commodities {
|
||||
mergedMap[storeId][commodityId] += count
|
||||
}
|
||||
}
|
||||
return mergedMap
|
||||
}
|
||||
|
||||
func (m *StockImporter) ErpStockCountUpdate(gdb *gorm.DB) error {
|
||||
for k1, v1 := range m.CensusMap {
|
||||
// 合并导入数据,避免同一商品多次重复处理
|
||||
mergedCensusMap := mergeCensusMap(m.CensusMap)
|
||||
|
||||
//for k1, v1 := range m.CensusMap {
|
||||
for k1, v1 := range mergedCensusMap {
|
||||
for k2, v2 := range v1 {
|
||||
exist, err := QueryRecordExist(fmt.Sprintf("SELECT * FROM erp_stock WHERE store_id=%d AND erp_commodity_id=%d", k1, k2))
|
||||
if err != nil {
|
||||
|
|
|
@ -5382,8 +5382,8 @@ func checkOrderData(req *ErpOrderCreateReq, c *gin.Context) (*ErpOrder, error) {
|
|||
req.ErpOrderCommodities[i].MemberDiscount = req.ErpOrderCommodities[i].MemberDiscount / float64(req.ErpOrderCommodities[i].Count)
|
||||
// 单个商品实收金额
|
||||
req.ErpOrderCommodities[i].ReceivedAmount = req.ErpOrderCommodities[i].ReceivedAmount / float64(req.ErpOrderCommodities[i].Count)
|
||||
// 单个商品退货金额
|
||||
req.ErpOrderCommodities[i].RejectedAmount = req.ErpOrderCommodities[i].RejectedAmount / float64(req.ErpOrderCommodities[i].Count)
|
||||
//// 单个商品退货金额
|
||||
//req.ErpOrderCommodities[i].RejectedAmount = req.ErpOrderCommodities[i].RejectedAmount / float64(req.ErpOrderCommodities[i].RejectedCount)
|
||||
|
||||
for j := 0; j < int(req.ErpOrderCommodities[i].Count); j++ {
|
||||
stockIdList, _ := stringToIntArray(req.ErpOrderCommodities[i].ErpStockCommodityID)
|
||||
|
|
Loading…
Reference in New Issue
Block a user