| 
					
				 | 
			
			
				@@ -25,11 +25,12 @@ type RuleService interface { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // //返回service操作类
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type ruleService struct {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	daoRule       *dao.RuleDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	daoSafe       *dao.SafeDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	daoQuality    *dao.QualityDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	daoContract   *dao.ContractDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	validAutoPath string
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	daoRule         *dao.RuleDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	daoSafe         *dao.SafeDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	daoQuality      *dao.QualityDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	daoContract     *dao.ContractDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	daoContractPaid *dao.ContractPaidDao
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	validAutoPath   string
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //创建项目用户service
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -134,6 +135,32 @@ func (s *ruleService) AutoCode(bid int, pid int, codeType string) (string, error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return string(e), err
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} else if codeType == "contractPaidRule" {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if rule.ContractPaidRule == "" {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return "", errors.New("该标段未设置编号规则!")
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var code viewmodels.RuleCode
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		err := json.Unmarshal([]byte(rule.ContractPaidRule), &code)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err == nil {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			total, err := s.daoContractPaid.CountPaidRuleCode(bid)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if err != nil {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return "", err
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			value := reflect.ValueOf(code)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for i := 0; i < value.NumField(); i++ {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				b := fmt.Sprint(value.Field(i))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if b == code.Code {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					k, _ := strconv.Atoi(b)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					code.Code = utils.CreateRuleCode(int64(k), total, len(code.Code))
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			e, err := json.Marshal(code)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if err != nil {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return "", err
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return string(e), err
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if rule.QualityRule == "" {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return "", errors.New("该标段未设置编号规则!")
 
			 |