Commit 7f363b05 by mushishixian

修改匹配项

parent 4ce8c399
The file could not be displayed because it is too large.
...@@ -15,6 +15,12 @@ func GetBomInfo(bomId int) (bom model.Bom) { ...@@ -15,6 +15,12 @@ func GetBomInfo(bomId int) (bom model.Bom) {
return bom return bom
} }
func GetBomBySn(bomSn string) (bom model.Bom) {
//先去根据bomSn查出bomId
model.Db.Table("lie_bom").Where("bom_sn = ?", bomSn).First(&bom)
return
}
//获取一个完整bom数据 //获取一个完整bom数据
func GetBomInfoWithItems(bomId int) (bom model.Bom) { func GetBomInfoWithItems(bomId int) (bom model.Bom) {
var ( var (
......
...@@ -23,6 +23,8 @@ func GetBomMatching(bomId, bomItemId int) (bomMatching model.BomItemMatching) { ...@@ -23,6 +23,8 @@ func GetBomMatching(bomId, bomItemId int) (bomMatching model.BomItemMatching) {
return bomMatching return bomMatching
} }
//根据matchingList去修改 //根据matchingList去修改
func BatchSaveMatchings(bomId int, matchingList []model.BomItemMatching) (err error) { func BatchSaveMatchings(bomId int, matchingList []model.BomItemMatching) (err error) {
bomIdStr := strconv.FormatInt(int64(bomId), 10) bomIdStr := strconv.FormatInt(int64(bomId), 10)
......
...@@ -114,14 +114,15 @@ func SearchGoods(bomId int, bomItems []model.BomItem, deliveryType, sort int, wg ...@@ -114,14 +114,15 @@ func SearchGoods(bomId int, bomItems []model.BomItem, deliveryType, sort int, wg
} }
//更新单个matching //更新单个matching
func UpdateSingleBomMatching(bomId int, bomItemId int, goodsId string) (bomItemInfo model.BomItem, err error) { func UpdateSingleBomMatching(bomSn string, bomItemId int, goodsId string) (bomItemInfo model.BomItem, err error) {
responseData, err := GetGoodsInfo(goodsId) responseData, err := GetGoodsInfo(goodsId)
if err != nil { if err != nil {
return return
} }
var bomMatchingList []model.BomItemMatching var bomMatchingList []model.BomItemMatching
//先去获取对应的matching //先去获取对应的matching
matching := GetBomMatching(bomId, bomItemId) bom := GetBomBySn(bomSn)
matching := GetBomMatching(bom.BomID, bomItemId)
if len(responseData.Data) > 0 { if len(responseData.Data) > 0 {
for _, goods := range responseData.Data { for _, goods := range responseData.Data {
var goodsMap GoodsMap var goodsMap GoodsMap
...@@ -139,35 +140,20 @@ func UpdateSingleBomMatching(bomId int, bomItemId int, goodsId string) (bomItemI ...@@ -139,35 +140,20 @@ func UpdateSingleBomMatching(bomId int, bomItemId int, goodsId string) (bomItemI
bomMatchingList = append(bomMatchingList, bomMatching) bomMatchingList = append(bomMatchingList, bomMatching)
} }
} }
err = BatchSaveMatchings(bomId, bomMatchingList) err = BatchSaveMatchings(bom.BomID, bomMatchingList)
if err != nil { if err != nil {
return return
} }
//还要返回对应的信息 //还要返回对应的信息
bomItemInfo = GetBomItem(bomId, bomItemId) bomItemInfo = GetBomItem(bom.BomID, bomItemId)
bomMatching := GetBomMatching(bomId, bomItemId) bomMatching := GetBomMatching(bom.BomID, bomItemId)
bomItemInfo.Matching = bomMatching bomItemInfo.Matching = bomMatching
return return
} }
//通过搜索去匹配单个matching //通过搜索去匹配单个matching
func SaveSingleBomMatchingBySearch(bomId int, bomItemId, deliveryType, sort int) (err error) { func SaveBomMatchingByGoodsName(bomId int, bomItemId int, goodsName string) (bomItemInfo model.BomItem, err error) {
//client, err := es.NewClient(es.SetURL(configs.ESSetting.Url))
//if err != nil {
// panic(err)
//}
//defer client.Stop()
//var bomItems []model.BomItem
//bomItems = append(bomItems, bomItem)
////直接模糊匹配
//goodsMapList, err := getUpdateGoodsData(bomId, bomItems, deliveryType, client, true)
//if err != nil {
// return
//}
//err = UpdateGoodsData(goodsMapList)
//if err != nil {
// return
//}
return return
} }
......
...@@ -32,8 +32,8 @@ func UploadToOss(path, fileType string) (ossPath string, err error) { ...@@ -32,8 +32,8 @@ func UploadToOss(path, fileType string) (ossPath string, err error) {
"k2": php2go.Md5(php2go.Md5(nowStr) + uploadKey), "k2": php2go.Md5(php2go.Md5(nowStr) + uploadKey),
"FileType": fileType, "FileType": fileType,
} }
req.Debug = true req.Debug = false
file, err := os.Open("Bom_48.xlsx") file, err := os.Open(path)
defer file.Close() defer file.Close()
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
...@@ -42,7 +42,7 @@ func UploadToOss(path, fileType string) (ossPath string, err error) { ...@@ -42,7 +42,7 @@ func UploadToOss(path, fileType string) (ossPath string, err error) {
resp, err := req.Post(url, req.FileUpload{ resp, err := req.Post(url, req.FileUpload{
File: file, File: file,
FieldName: "upload", FieldName: "upload",
FileName: "Bom_48.xlsx", FileName: path,
}, params) }, params)
if err != nil { if err != nil {
return return
......
...@@ -4,10 +4,12 @@ import ( ...@@ -4,10 +4,12 @@ import (
"bom_server/internal/common" "bom_server/internal/common"
"bom_server/internal/service" "bom_server/internal/service"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"strconv"
) )
func Export(c *gin.Context) { func Export(c *gin.Context) {
bomId := c.GetInt("bom_id") bomIdStr := c.PostForm("bom_id")
bomId, _ := strconv.Atoi(bomIdStr)
ossPath, err := service.Export(bomId) ossPath, err := service.Export(bomId)
var response common.Response var response common.Response
if err != nil { if err != nil {
......
...@@ -9,7 +9,7 @@ import ( ...@@ -9,7 +9,7 @@ import (
//刷新价格和库存接口 //刷新价格和库存接口
func RefreshBomMatchingGoods(c *gin.Context) { func RefreshBomMatchingGoods(c *gin.Context) {
bomIdStr, _ := c.GetQuery("bom_id") bomIdStr := c.PostForm("bom_id")
bomId, _ := strconv.Atoi(bomIdStr) bomId, _ := strconv.Atoi(bomIdStr)
var response common.Response var response common.Response
...@@ -31,15 +31,35 @@ func RefreshBomMatchingGoods(c *gin.Context) { ...@@ -31,15 +31,35 @@ func RefreshBomMatchingGoods(c *gin.Context) {
return return
} }
//新增或者修改bom_matching //修改单个匹配项
func UpdateBomMatching(c *gin.Context) { func UpdateBomMatching(c *gin.Context) {
bomSn := c.PostForm("bom_sn")
goodsId := c.PostForm("goods_id")
bomItemIdStr := c.PostForm("bom_item_id")
bomItemId, _ := strconv.Atoi(bomItemIdStr)
var response common.Response
bomItemInfo, err := logic.UpdateSingleBomMatching(bomSn, bomItemId, goodsId)
if err != nil {
response.Errcode = -1
response.Errmsg = err.Error()
} else {
response.Errcode = 0
response.Errmsg = "ok"
response.Data = bomItemInfo
}
c.JSON(200, response)
return
}
//通过型号去新增匹配项
func SaveBomMatchingByGoodsName(c *gin.Context) {
bomIdStr, _ := c.GetQuery("bom_id") bomIdStr, _ := c.GetQuery("bom_id")
goodsId, _ := c.GetQuery("goods_id") goodsName, _ := c.GetQuery("goods_name")
bomItemIdStr, _ := c.GetQuery("bom_item_id") bomItemIdStr, _ := c.GetQuery("bom_item_id")
bomId, _ := strconv.Atoi(bomIdStr) bomId, _ := strconv.Atoi(bomIdStr)
bomItemId, _ := strconv.Atoi(bomItemIdStr) bomItemId, _ := strconv.Atoi(bomItemIdStr)
var response common.Response var response common.Response
bomItemInfo, err := logic.UpdateSingleBomMatching(bomId, bomItemId, goodsId) bomItemInfo, err := logic.SaveBomMatchingByGoodsName(bomId, bomItemId, goodsName)
if err != nil { if err != nil {
response.Errcode = -1 response.Errcode = -1
response.Errmsg = err.Error() response.Errmsg = err.Error()
......
...@@ -19,9 +19,9 @@ func InitRouter() *gin.Engine { ...@@ -19,9 +19,9 @@ func InitRouter() *gin.Engine {
//跨域设置 //跨域设置
//配置列表 //配置列表
router.GET("/bom/export", Export) router.POST("/bom/export", Export)
router.GET("/bom_matching/refresh", RefreshBomMatchingGoods) router.POST("/bom_matching/refresh", RefreshBomMatchingGoods)
router.GET("/bom_matching/update", UpdateBomMatching) router.POST("/bom_matching/update", UpdateBomMatching)
//router.GET("/config/list", ListConfigApi) //router.GET("/config/list", ListConfigApi)
//router.POST("/config/rollback", RollbackConfigApi) //router.POST("/config/rollback", RollbackConfigApi)
...@@ -32,7 +32,7 @@ func InitRouter() *gin.Engine { ...@@ -32,7 +32,7 @@ func InitRouter() *gin.Engine {
func InitApiServer() (err error) { func InitApiServer() (err error) {
router := InitRouter() router := InitRouter()
apiPort := strconv.Itoa(8080) apiPort := strconv.Itoa(60010)
s := &http.Server{ s := &http.Server{
Addr: ":" + apiPort, Addr: ":" + apiPort,
Handler: router, Handler: router,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment