From a1f5b21d5b84f521d9bec6df02fb311774889968 Mon Sep 17 00:00:00 2001 From: zhangxin Date: Wed, 17 Mar 2021 10:26:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95=E6=94=B6?= =?UTF-8?q?=E8=B4=B9=E6=97=B6=E9=97=B4=E7=94=B1=E5=89=8D=E7=AB=AF=E4=BC=A0?= =?UTF-8?q?=E5=85=A5=EF=BC=8C=E7=BC=B4=E8=B4=B9=E8=B5=B7=E5=A7=8B=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E9=80=9A=E8=BF=87=E5=89=8D=E7=AB=AF=E4=BC=A0=E5=85=A5?= =?UTF-8?q?=20=E5=90=8E=E7=AB=AF=E5=81=9A=E9=80=BB=E8=BE=91=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/controllers/contracttab_controller.go | 10 ++++++--- web/models/contracttab.go | 25 +++++++++++++++-------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/web/controllers/contracttab_controller.go b/web/controllers/contracttab_controller.go index bc74768..e1b4431 100644 --- a/web/controllers/contracttab_controller.go +++ b/web/controllers/contracttab_controller.go @@ -34,6 +34,11 @@ func InsertContracttab(ctx iris.Context) { supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } + var err error + _, err = utils.TimeParseyyyyMMdd(data.Chargetime) + if err != nil { + data.Chargetime = utils.TimeFormat(time.Now(), "yyyy-MM-dd") + } me := new(models.Contracttab) me = &data.Contracttab me.Chargableexpense = data.Contracttab.Chargedexpense @@ -71,12 +76,11 @@ func InsertContracttab(ctx iris.Context) { me.Linkman = data.Contact me.Begdate = data.Begindate me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0) - me.Chargetime = utils.TimeFormat(time.Now(), "yyyy-MM-dd") + me.Chargetime = data.Chargetime me.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if utils.ValueIsEmpty(me.Createby) { me.Createby = user.Name } - var err error if utils.ValueIsEmpty(me.Contractid) { err = me.Add(data, lengthdate) } else { @@ -131,7 +135,7 @@ func UpdateContracttab(ctx iris.Context) { } me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0) - me.Chargetime = utils.TimeFormat(time.Now(), "yyyy-MM-dd") + me.Chargetime = data.Chargetime me.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if utils.ValueIsEmpty(me.Createby) { me.Createby = user.Name diff --git a/web/models/contracttab.go b/web/models/contracttab.go index 1726f9a..782b33c 100644 --- a/web/models/contracttab.go +++ b/web/models/contracttab.go @@ -122,7 +122,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error { charge.Lastmodifytime = t.Createtime charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeby = t.Createby charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber @@ -170,7 +170,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error { charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense charge.Chargeby = t.Createby - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber charge.Chargenr = utils.ValueToInt(cnr, 0) @@ -216,7 +216,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error { charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense charge.Chargeby = t.Createby - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber charge.Chargenr = utils.ValueToInt(cnr, 0) @@ -274,16 +274,25 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { //t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") if utils.ValueIsEmpty(t.Begdate) { - t.Begdate = utils.TimeFormat(time.Now(), "yyyy-MM-dd") + begtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) + + Begdate := begtime.AddDate(0, 0, 1) + t.Begdate = utils.TimeFormat(Begdate, "yyyy-MM-dd") //根据缴费金额计算出截止日期 addlenght := fmt.Sprintf("%0.1f", lengthdate) addmonths := strings.Split(addlenght, ".") adddays := utils.ValueToInt(addmonths[1], 0)*3 - 1 - endTime := time.Now().AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) + endTime := Begdate.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") } else { begtime, _ := utils.TimeParseyyyyMMdd(t.Begdate) //根据缴费金额计算出截止日期 + databaseBegtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) + databaseBegtime = databaseBegtime.AddDate(0, 0, 1) + if begtime.Before(databaseBegtime) { + begtime = databaseBegtime + } + t.Begdate = utils.TimeFormat(begtime, "yyyy-MM-dd") addlenght := fmt.Sprintf("%0.1f", lengthdate) addmonths := strings.Split(addlenght, ".") adddays := utils.ValueToInt(addmonths[1], 0)*3 - 1 @@ -318,7 +327,7 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense charge.Chargeby = t.Createby - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber charge.Chargenr = utils.ValueToInt(cnr, 0) @@ -358,7 +367,7 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense charge.Chargeby = t.Createby - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber charge.Chargenr = utils.ValueToInt(cnr, 0) @@ -398,7 +407,7 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error { charge.Chargableexpense = t.Chargableexpense charge.Chargedexpense = t.Chargedexpense charge.Chargeby = t.Createby - charge.Chargetime = t.Chargetime + charge.Chargetime = me.Chargetime charge.Chargeway = t.Chargeway charge.Serialnumber = serialnumber charge.Chargenr = utils.ValueToInt(cnr, 0)