浏览代码

采购订单净价格为0传输sap处理

baishaojie 1 年之前
父节点
当前提交
9543f5c747
共有 7 个文件被更改,包括 21 次插入13 次删除
  1. 2 0
      apiserver/model/http/order.go
  2. 1 1
      apiserver/routers/api/api.go
  3. 1 0
      apiserver/service/feequery.go
  4. 4 5
      apiserver/service/job.go
  5. 11 5
      apiserver/service/order.go
  6. 2 2
      cmd/main.go
  7. 二进制
      cmd/sh/eqserver

+ 2 - 0
apiserver/model/http/order.go

@@ -44,6 +44,8 @@ type SapOrderDetail struct {
 	TaxCode      string  `json:"MWSKZ"` // 税码 字典
 	RowNumber    string  `json:"EBELP"` //行号
 	Dflag        string  `json:"LOEKZ"` // 删除标识 "是:L// 否:空"
+	//UMSON        string  `json:"UMSON"` //是:空,当值为空时,净价(EKPO-NETPR)为0	否:是
+
 }
 
 type SrmOrderDetail struct {

+ 1 - 1
apiserver/routers/api/api.go

@@ -192,7 +192,7 @@ func SparePartsRequisitions(c *gin.Context) {
 		valid.Field(&req.EmployeId, valid.Required),
 		valid.Field(&req.CreateTime, valid.Required),
 		valid.Field(&req.PurchaseType, valid.Required),
-		valid.Field(&req.ProviderName, valid.Required, valid.Length(1, 100)),
+		//valid.Field(&req.ProviderName, valid.Required, valid.Length(1, 100)),
 	); err != nil {
 		apierr.AbortBadRequest(c, http.StatusBadRequest, err)
 		return

+ 1 - 0
apiserver/service/feequery.go

@@ -32,6 +32,7 @@ func AutoFeeQuery(werks string, pastureID int) {
 			http.TFYLX{FYLX: "柴油费"})
 
 		rbyte, _ := json.Marshal(r)
+		fmt.Println(string(rbyte))
 		if e = s.SyncSap(r, rp, rbyte); e == nil {
 			if rp.Dest.Status == "S" {
 				log.Infof("sap  FeeQuery  success sum=%d", len(rp.Data.Items))

+ 4 - 5
apiserver/service/job.go

@@ -11,15 +11,15 @@ import (
 var s *Service
 
 func SapJobInit() {
-
+	AutoSapOrderJob()
 	duetimecst, _ := time.ParseInLocation("15:04:05", "00:01:00", time.Local)
 	duetimecst1, _ := time.ParseInLocation("15:04:05", "00:00:00", time.Local)
 	spec := fmt.Sprintf("@every %v", duetimecst.Sub(duetimecst1))
 	c := cron.New()
 	c.AddFunc(spec, func() {
-		//AutoSapOrderJob()
+		AutoSapOrderJob()
 		//AutoSrmOrderJob()
-		//AutoSapReturnOrderJob()
+		AutoSapReturnOrderJob()
 		//AutoSrmReturnOrderJob()
 	})
 	c.Start()
@@ -106,8 +106,7 @@ func SapJobInit() {
 	c1.AddFunc("0 20 23 * * ?", func() {
 		AutoContractToASP()
 	})
-	//AutoContractToASP()
-	AutoContractToASP()
+
 	//c1.Start()
 }
 

+ 11 - 5
apiserver/service/order.go

@@ -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)

+ 2 - 2
cmd/main.go

@@ -37,8 +37,8 @@ import (
 // @BasePath /
 func main() {
 	var path string
-	path = "./"
-	//path = "D:/catering/eam-go/cmd/"
+	//path = "./"
+	path = "D:/catering/eam-go/cmd/"
 	flag.Parse()
 	setting.Setup(path)
 	dao.Setup()

二进制
cmd/sh/eqserver