Browse Source

修改缴费精度的问题

pull/3/head
zhangxin 3 years ago
parent
commit
fa0f83ab83
3 changed files with 39 additions and 18 deletions
  1. +22
    -17
      web/controllers/contracttab_controller.go
  2. +4
    -0
      web/models/chargeallocationtab.go
  3. +13
    -1
      web/models/contracttab.go

+ 22
- 17
web/controllers/contracttab_controller.go View File

@ -47,6 +47,21 @@ func InsertContracttab(ctx iris.Context) {
me.Chargeway = data.Contracttab.Chargeway me.Chargeway = data.Contracttab.Chargeway
lengthdate := 0.0 lengthdate := 0.0
switch data.Chargetype { 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: case 2:
// //
lengthdate = data.Contracttab.Chargedexpense / data.Unitprice lengthdate = data.Contracttab.Chargedexpense / data.Unitprice
@ -81,28 +96,18 @@ func InsertContracttab(ctx iris.Context) {
me.Mobile = data.Phone1 me.Mobile = data.Phone1
me.Linkman = data.Contact me.Linkman = data.Contact
me.Begdate = data.Begindate me.Begdate = data.Begindate
me.Enddate = data.Enddate
me.Lengthdate = utils.ValueToInt(fmt.Sprintf("%0.0f", lengthdate), 0)
me.Chargetime = data.Chargetime 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") me.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
if utils.ValueIsEmpty(me.Createby) { if utils.ValueIsEmpty(me.Createby) {
me.Createby = user.Name me.Createby = user.Name
} }
lengthdate = float64(me.Lengthdate)
if utils.ValueIsEmpty(me.Contractid) { if utils.ValueIsEmpty(me.Contractid) {
err = me.Add(data, lengthdate) err = me.Add(data, lengthdate)
} else { } else {


+ 4
- 0
web/models/chargeallocationtab.go View File

@ -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 { 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) months := utils.SelectMonth(begdate, enddate)
//计算出总数 //计算出总数
lenth := len(months) lenth := len(months)
if lenth == 0 { if lenth == 0 {
fmt.Println("month here error:")
return false return false
} }
monthAmt := money / float64(lenth) monthAmt := money / float64(lenth)
@ -128,6 +131,7 @@ func ChargeShareTheMonth(session *xorm.Session, cid int, chargenr int, begdate s
Cnr.Cid = cid Cnr.Cid = cid
orderId, err := Cnr.GetNextSnr("Yearnr") orderId, err := Cnr.GetNextSnr("Yearnr")
if err != nil { if err != nil {
fmt.Println("here error:", err)
return false return false
} }


+ 13
- 1
web/models/contracttab.go View File

@ -87,6 +87,7 @@ func (t *Contracttab) Add(me *ContractInfo, lengthdate float64) error {
adddays := utils.ValueToInt(adds, 0) - 1 adddays := utils.ValueToInt(adds, 0) - 1
endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays)
t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd")
fmt.Println("t.endate:",t.Enddate)
} }
_, err = session.Table("contracttab").Insert(t) _, err = session.Table("contracttab").Insert(t)
if err != nil { 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 { func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error {
fmt.Println("lengthDate:", lengthdate)
engine := db.MasterEngine() engine := db.MasterEngine()
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
@ -264,6 +265,7 @@ func (t *Contracttab) Update(me *ContractInfo, lengthdate float64) error {
} }
t.Serialnumber = serialnumber t.Serialnumber = serialnumber
if utils.ValueIsEmpty(t.Begdate) { if utils.ValueIsEmpty(t.Begdate) {
fmt.Println("deal here")
begtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) begtime, _ := utils.TimeParseyyyyMMdd(t.Enddate)
Begdate := begtime.AddDate(0, 0, 1) 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) endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays)
t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd")
} else { } else {
fmt.Println("deal here2")
fmt.Println("t.Begdate:", t.Begdate)
begtime, _ := utils.TimeParseyyyyMMdd(t.Begdate) begtime, _ := utils.TimeParseyyyyMMdd(t.Begdate)
fmt.Println("begtime:", begtime)
//根据缴费金额计算出截止日期 //根据缴费金额计算出截止日期
databaseBegtime, _ := utils.TimeParseyyyyMMdd(t.Enddate) databaseBegtime, _ := utils.TimeParseyyyyMMdd(t.Enddate)
databaseBegtime = databaseBegtime.AddDate(0, 0, 1) 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") t.Begdate = utils.TimeFormat(begtime, "yyyy-MM-dd")
addlenght := fmt.Sprintf("%0.2f", lengthdate) addlenght := fmt.Sprintf("%0.2f", lengthdate)
fmt.Println("addlenght:", addlenght)
addmonths := strings.Split(addlenght, ".") addmonths := strings.Split(addlenght, ".")
fmt.Println("addmonths:", addlenght)
adds := utils.ValueToFloat(addmonths[1], 0.0) * 0.3 adds := utils.ValueToFloat(addmonths[1], 0.0) * 0.3
fmt.Println("adds:", adds)
adddays := utils.ValueToInt(adds, 0) - 1 adddays := utils.ValueToInt(adds, 0) - 1
fmt.Println("adddays:", adddays)
endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays) endTime := begtime.AddDate(0, utils.ValueToInt(addmonths[0], 0), adddays)
t.Enddate = utils.TimeFormat(endTime, "yyyy-MM-dd") 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) _, 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 { if err != nil {


Loading…
Cancel
Save