Sfoglia il codice sorgente

Merge branch 'feature_sap_contracts' of baishaojie/kpt_xdmy into master

xuyiping 1 anno fa
parent
commit
7d901b3fb9
1 ha cambiato i file con 4 aggiunte e 8 eliminazioni
  1. 4 8
      apiserver/service/contract.go

+ 4 - 8
apiserver/service/contract.go

@@ -47,7 +47,7 @@ func GetBigContractData() []*model.BigContract {
 
 func GetPastureBigContract(contractCode string) ([]*model.PastureBigcontract, error) {
 	pastureBigContract := make([]*model.PastureBigcontract, 0)
-	SQL := fmt.Sprintf("SELECT * FROM pasture_bigcontract WHERE bigcontract_id IN (SELECT id FROM bigcontract WHERE contractCode LIKE '%s%' AND enable = 1", contractCode)
+	SQL := fmt.Sprintf("SELECT * FROM pasture_bigcontract WHERE bigcontract_id IN (SELECT id FROM bigcontract WHERE contractCode LIKE '%s' AND enable = 1)", contractCode)
 	if err := s.d.DB.Raw(SQL).Find(&pastureBigContract).Error; err != nil {
 		return nil, err
 	}
@@ -113,17 +113,14 @@ func AutoContractToASP() {
 		if _, ok := ContractCodeMap[contractCode]; ok {
 			continue
 		}
-
 		pastureBigContractSlice, err := GetPastureBigContract(contractCode)
 		if err != nil {
 			log.Errorf("AutoContractToASP pastureBigContractSlice Err:%v", err)
 			continue
 		}
-
 		for _, pastureBigContract := range pastureBigContractSlice {
 			// 获取合同相关数据集合
 			contractInfo := GetContractInfo(bigContract, pastureBigContract)
-			ContractCodeMap[contractCode] = append(ContractCodeMap[contractCode], pastureBigContract)
 			contractDataToASP := &http.ContractDataToASP{
 				MATNR: contractInfo.Contract.PartCode,
 				LIFNR: contractInfo.Provider.SapCode,
@@ -146,17 +143,16 @@ func AutoContractToASP() {
 				log.Errorf("AutoContractToASP SyncSap Err:%v", err)
 				continue
 			}
-
+			log.Infof("AutoContractToASP SyncSap Success:%v", rp)
 			if rp.Data.Status != "S" {
 				log.Errorf("AutoContractToASP SyncSap Data:%v", rp.Data)
 				continue
 			}
+			ContractCodeMap[contractCode] = append(ContractCodeMap[contractCode], pastureBigContract)
 		}
-
-		if err = s.d.DB.Model(bigContract).Where(fmt.Sprintf("like %s", contractCode)).Update("isToSap", 1).Error; err != nil {
+		if err = s.d.DB.Model(bigContract).Where("id = ?", bigContract.ID).Update("isToSap", 1).Error; err != nil {
 			log.Errorf("AutoContractToASP SQLUpdate Error:%v", err)
 		}
-
 	}
 	log.Info("AutoContractToASP Success")
 }