瀏覽代碼

feat: 1111

lanjianrong 4 年之前
父節點
當前提交
fd76cc2dbe
共有 1 個文件被更改,包括 26 次插入0 次删除
  1. 26 0
      services/rule_service.go

+ 26 - 0
services/rule_service.go

@@ -161,6 +161,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("该标段未设置编号规则!")