|
@@ -7,6 +7,7 @@ import (
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
+ modernPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/xdmy"
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
"github.com/pkg/errors"
|
|
@@ -53,7 +54,7 @@ func (s *Service) PurchaseOrder(p interface{}) {
|
|
|
}
|
|
|
}
|
|
|
for _, v := range bdetails {
|
|
|
- SapOrder(&v, "")
|
|
|
+ SapOrder(&v, "", v.PurchaseType)
|
|
|
SrmOrder(&v, "0")
|
|
|
}
|
|
|
}
|
|
@@ -78,7 +79,7 @@ func AutoSapOrderJob() {
|
|
|
}
|
|
|
|
|
|
for _, v := range orders {
|
|
|
- e, sapNumber := SapOrder(&v, "")
|
|
|
+ e, sapNumber := SapOrder(&v, "", v.PurchaseType)
|
|
|
up := model.BigBuyDetail{SapNumber: sapNumber}
|
|
|
if e != nil {
|
|
|
up.SapStatus = 2
|
|
@@ -100,7 +101,7 @@ func ManaulSapOrderJob(buyeCode string) (err error) {
|
|
|
err = errors.Wrapf(e, "ManaulSapOrderJob BigBuyDetail query ")
|
|
|
return
|
|
|
}
|
|
|
- e, sapNumber := SapOrder(order, "")
|
|
|
+ e, sapNumber := SapOrder(order, "", order.PurchaseType)
|
|
|
up := model.BigBuyDetail{SapNumber: sapNumber}
|
|
|
if e != nil {
|
|
|
up.SapStatus = 2
|
|
@@ -116,7 +117,7 @@ func ManaulSapOrderJob(buyeCode string) (err error) {
|
|
|
}
|
|
|
|
|
|
// 发送采购订单到sap
|
|
|
-func SapOrder(p *model.BigBuyDetail, dflag string) (error, string) {
|
|
|
+func SapOrder(p *model.BigBuyDetail, dflag string, purchaseType modernPb.PurchaseType_Kind) (error, string) {
|
|
|
r := new(http.SapOrderReq)
|
|
|
rp := new(http.OrderResp)
|
|
|
parts := []model.BuyDetail{}
|
|
@@ -206,6 +207,10 @@ func SapOrder(p *model.BigBuyDetail, dflag string) (error, string) {
|
|
|
detail.Unit = par.Unit
|
|
|
detail.MaterialCode = v.PartCode
|
|
|
}
|
|
|
+ if purchaseType.Number() > 0 {
|
|
|
+ detail.IsFree = "X"
|
|
|
+ }
|
|
|
+
|
|
|
detail.Dflag = dflag
|
|
|
astr := strconv.FormatFloat(detail.NetPrice, 'f', -1, 64)
|
|
|
b := strings.Index(astr, ".")
|
|
@@ -224,6 +229,7 @@ func SapOrder(p *model.BigBuyDetail, dflag string) (error, string) {
|
|
|
}
|
|
|
|
|
|
rbyte, _ := json.Marshal(r)
|
|
|
+ fmt.Println(string(rbyte))
|
|
|
e := s.SyncSap(r, &rp, rbyte)
|
|
|
saplog := new(model.SapLog)
|
|
|
if e == nil && rp.Dest.Status == "S" {
|
|
@@ -901,7 +907,7 @@ func NextProcurement(sqlname, procurementId string, tx *sqlx.Tx) error {
|
|
|
if sqlname == "updateBigbuydetailStatu" {
|
|
|
p := new(model.BigBuyDetail)
|
|
|
s.d.DB.Where("id = ?", procurementId).First(&p)
|
|
|
- SapOrder(p, "X")
|
|
|
+ SapOrder(p, "X", p.PurchaseType)
|
|
|
//SrmOrder(p, "1")
|
|
|
} else if sqlname == "shutDownBigrefunddetail" {
|
|
|
p := new(model.BigRefunddetail)
|