diff --git a/web/controllers/contracttab_controller.go b/web/controllers/contracttab_controller.go index 76f58b9..75db8ac 100644 --- a/web/controllers/contracttab_controller.go +++ b/web/controllers/contracttab_controller.go @@ -47,6 +47,21 @@ func InsertContracttab(ctx iris.Context) { me.Chargeway = data.Contracttab.Chargeway lengthdate := 0.0 switch data.Chargetype { + case 1: + start, err := time.Parse("2006-01-02", data.Begindate) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } + fmt.Println("controller endate:", data.Enddate) + end, err := time.Parse("2006-01-02", data.Enddate) + if err != nil { + supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) + return + } + days := (end.Unix() - start.Unix()) / 86400 + fmt.Println("days:", days) + lengthdate = float64(days) case 2: // lengthdate = data.Contracttab.Chargedexpense / data.Unitprice @@ -81,28 +96,18 @@ func InsertContracttab(ctx iris.Context) { me.Mobile = data.Phone1 me.Linkman = data.Contact me.Begdate = data.Begindate - me.Enddate = data.Enddate + me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0) me.Chargetime = data.Chargetime - if data.Chargetype == 1 { - start, err := time.Parse("2006-01-02", data.Begindate) - if err != nil { - supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) - return - } - end, err := time.Parse("2006-01-02", data.Enddate) - if err != nil { - supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil) - return - } - days := (end.Unix() - start.Unix()) / 86400 - me.Lengthdate = int(days) - } else { - me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0) - } + //if data.Chargetype == 1 { + // + //} else { + // me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0) + //} me.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if utils.ValueIsEmpty(me.Createby) { me.Createby = user.Name } + lengthdate = float64(me.Lengthdate) if utils.ValueIsEmpty(me.Contractid) { err = me.Add(data, lengthdate) } else { diff --git a/web/models/chargeallocationtab.go b/web/models/chargeallocationtab.go index 2ef158f..aba0d45 100644 --- a/web/models/chargeallocationtab.go +++ b/web/models/chargeallocationtab.go @@ -111,10 +111,13 @@ func ChargeDiGui(session *xorm.Session, cid int, chargenr int, begdate string, e ***********/ func ChargeShareTheMonth(session *xorm.Session, cid int, chargenr int, begdate string, enddate string, money float64) bool { //计算出一共有多少个年月的数组 + fmt.Println("begdate:", begdate, "enddate:", enddate) months := utils.SelectMonth(begdate, enddate) //计算出总数 lenth := len(months) if lenth == 0 { + fmt.Println("month here error:") + return false } monthAmt := money / float64(lenth) @@ -128,6 +131,7 @@ func ChargeShareTheMonth(session *xorm.Session, cid int, chargenr int, begdate s Cnr.Cid = cid orderId, err := Cnr.GetNextSnr("Yearnr") if err != nil { + fmt.Println("here error:", err) return false } diff --git a/web/models/contracttab.go b/web/models/contracttab.go index 93b786d..14933bb 100644 --- a/web/models/contracttab.go +++ b/web/models/contracttab.go @@ -87,6 +87,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error { adddays := utils.ValueToInt(adds, 0) - 1 endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") + fmt.Println("t.endate:",t.Enddate) } _, err = session.Table("contracttab").Insert(t) if err != nil { @@ -245,7 +246,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error { //续签合同 func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { - + fmt.Println("lengthDate:", lengthdate) engine := db.MasterEngine() session := engine.NewSession() defer session.Close() @@ -264,6 +265,7 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { } t.Serialnumber = serialnumber if utils.ValueIsEmpty(t.Begdate) { + fmt.Println("deal here") begtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) Begdate := begtime.AddDate(0, 0, 1) @@ -276,7 +278,10 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") } else { + fmt.Println("deal here2") + fmt.Println("t.Begdate:", t.Begdate) begtime, _ := utils.TimeParseyyyyMMdd(t.Begdate) + fmt.Println("begtime:", begtime) //根据缴费金额计算出截止日期 databaseBegtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) databaseBegtime = databaseBegtime.AddDate(0, 0, 1) @@ -285,11 +290,18 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { } t.Begdate = utils.TimeFormat(begtime, "yyyy-MM-dd") addlenght := fmt.Sprintf("%0.2f", lengthdate) + fmt.Println("addlenght:", addlenght) addmonths := strings.Split(addlenght, ".") + fmt.Println("addmonths:", addlenght) adds := utils.ValueToFloat(addmonths[1], 0.0) * 0.3 + fmt.Println("adds:", adds) + adddays := utils.ValueToInt(adds, 0) - 1 + fmt.Println("adddays:", adddays) endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") + fmt.Println("begine date:", t.Begdate) + fmt.Println("enddate:", t.Enddate) } _, err = session.Table("contracttab").Cols("linkman", "mobile", "begdate", "enddate", "createtime", "createby", "lengthdate", "chargableexpense", "chargedexpense", "remake", "chargetime", "chargeway", "serialnumber").Where("cid = ? and contractid = ?", t.Cid, t.Contractid).Update(t) if err != nil {