Просмотр исходного кода

feature(结算管理 设备预约) 加入结算管理未结算页面,加入预约可用余额不足时 限制发起预约

liuqi@dashoo.cn 4 лет назад
Родитель
Сommit
2f2cc4261a

+ 17 - 0
handler/account.go

@@ -88,4 +88,21 @@ func (a *Account) CalculateAmount(ctx context.Context, req *account.CalculateAmo
 	rsp.Code = code
 	rsp.Msg = ""
 	return nil
+}// 通过从账户id,查询主账户 财务账号信息
+func (a *Account) GetBaseAccountById(ctx context.Context, req *account.SubAccountReq, rsp *comm_def.CommonMsg) error {
+	tenant, err := micro_srv.GetTenant(ctx)
+	if err != nil {
+		return err
+	}
+	g.Log().Info("Received Account.GetBaseAccountById request @ " + tenant)
+	list, err := service.NewAccountSrv(tenant).GetBaseAccountById(req)
+	_, err, code, _ := myerrors.CheckError(err)
+	if err != nil {
+		rsp.Code = code
+		return err
+	}
+	rsp.Code = code
+	rsp.Msg = ""
+	rsp.Data = list
+	return nil
 }

+ 1 - 1
handler/equipment.go

@@ -80,7 +80,7 @@ func (e *Equipment) IsAdvance(ctx context.Context, req *equipment2.Qualification
 		return err
 	}
 	rsp.Code = code
-	rsp.Data = g.Map{"isAdvance": isAdvance, "userName": info.RealName}
+	rsp.Data = g.Map{"isAdvance": isAdvance, "userName": info.RealName, "userId": info.Id}
 	return nil
 }
 

+ 2 - 0
model/account/base_account.go

@@ -42,4 +42,6 @@ type CalculateAmountReq struct {
 	AppointId  int `json:"appointId"`
 	SignInTime         *gtime.Time `json:"sign_in_time"`         // 签到时间
 	SignOutTime        *gtime.Time `json:"sign_out_time"`        // 签退时间
+}type SubAccountReq struct {
+	SubId     string `json:"subid"`
 }

+ 1 - 1
model/account/internal/settle_account_bill.go

@@ -31,7 +31,7 @@ type SettleAccountBill struct {
 	AccountId              int         `orm:"AccountId"              json:"account_id"`               // 经费账号Id
 	PaymentDueDate         *gtime.Time `orm:"PaymentDueDate"         json:"payment_due_date"`         // 付款截止日期
 	SettleUserId           int         `orm:"SettleUserId"           json:"settle_user_id"`           // 结算人Id
-	SettleUser             int         `orm:"SettleUser"             json:"settle_user"`              // 结算人
+	SettleUser             string         `orm:"SettleUser"             json:"settle_user"`              // 结算人
 	SettleDate             *gtime.Time `orm:"SettleDate"             json:"settle_date"`              // 结算时间
 	DeductMoneyUserId      int         `orm:"DeductMoneyUserId"      json:"deduct_money_user_id"`     // 扣款人Id
 	DeductMoneyUser        int         `orm:"DeductMoneyUser"        json:"deduct_money_user"`        // 扣款人

+ 1 - 1
model/account/internal/settle_account_main.go

@@ -37,7 +37,7 @@ type SettleAccountMain struct {
 	InstrumentCode    string      `orm:"InstrumentCode"    json:"instrument_code"`     // 仪器编号
 	InstrumentName    string      `orm:"InstrumentName"    json:"instrument_name"`     // 仪器名称
 	SettleUserId      int         `orm:"SettleUserId"      json:"settle_user_id"`      // 确认人Id
-	SettleUser        int         `orm:"SettleUser"        json:"settle_user"`         // 确认人
+	SettleUser        string         `orm:"SettleUser"        json:"settle_user"`         // 确认人
 	SettleDate        *gtime.Time `orm:"SettleDate"        json:"settle_date"`         // 确认时间
 	FeeTime           int         `orm:"FeeTime"           json:"fee_time"`            // 计费时间
 	Remark            string      `orm:"Remark"            json:"remark"`              // 备注

+ 2 - 0
model/account/settle_account_main.go

@@ -19,10 +19,12 @@ type SettleAccountMainReq struct {
 	AttachUserId int `json:"attachUserId"`
 	AttachUser string `json:"attachUser"`
 	InstrumentId int `json:"instrumentId"`
+	InstrumentName string `json:"instrumentName"`
 	AppointUserId int `json:"appointUserId"`
 	AppointUser      string `json:"appointUser"`
 	Status      string `json:"status"`
 	SettleStatus      string `json:"settleStatus"`
+	SettleUser      string `json:"settleUser"`
 	FeeType   string `json:"feeType"`
 	AppointStartDate string `json:"appointStartDate"`
 	AppointEndDate string `json:"appointEndDate"`

+ 31 - 0
service/account/account.go

@@ -159,4 +159,35 @@ func (s AccountService) Calculate(req *account.CalculateAmountReq) error {
 	}
 
 	return tx.Commit()
+}// 通过从账户,查询主账户 财务账号信息
+func (s AccountService) GetBaseAccountById(req *account.SubAccountReq) (infos account.BaseAccountRsp, err error) {
+	// 先判断是主用户还是从用户
+	infos.Total,err = s.Dao.DB.Model("master_user").Where(fmt.Sprintf("UserId='%v'", req.SubId)).Count()
+	if err != nil {
+		return infos, err
+	}
+	if infos.Total == 0 {
+		// 主用户表没有 所以是从用户 进行连表查询
+		model := s.Dao.DB.Model("base_account a").LeftJoin("base_user_relation b","a.MainUserId=b.Pid")
+		if req.SubId != "" {
+			model = model.Where(fmt.Sprintf("b.UserId='%v'",req.SubId))
+		}
+		err = model.Fields("a.*").Order("Advance ASC").Scan(&infos.Records)
+		if err != nil {
+			return infos, err
+		}
+		return infos, nil
+	} else if infos.Total > 0 {
+		// 是主用户
+		model := s.Dao.DB.Model("base_account a")
+		if req.SubId != "" {
+			model = model.Where(fmt.Sprintf("a.MainUserId='%v'",req.SubId))
+		}
+		err = model.Fields("a.*").Order("Advance ASC").Scan(&infos.Records)
+		if err != nil {
+			return infos, err
+		}
+		return infos, nil
+	}
+	return infos, nil
 }

+ 6 - 0
service/settle_account_main/settle_account_main.go

@@ -49,6 +49,9 @@ func (s Service) List(req model.ListReq) ([]accountModel.SettleAccountMain, int,
 		if entity.InstrumentId != 0 {
 			where += fmt.Sprintf(" AND InstrumentId='%v'", entity.InstrumentId)
 		}
+		if entity.InstrumentName != "" {
+			where += fmt.Sprintf(" AND InstrumentName LIKE '%%%v%%'", entity.InstrumentName)
+		}
 		if entity.AppointUserId != 0 {
 			where += fmt.Sprintf(" AND AppointUserId='%v'", entity.AppointUserId)
 		}
@@ -61,6 +64,9 @@ func (s Service) List(req model.ListReq) ([]accountModel.SettleAccountMain, int,
 		if entity.SettleStatus != "" {
 			where += fmt.Sprintf(" AND SettleStatus='%v'", entity.SettleStatus)
 		}
+		if entity.SettleUser != "" {
+			where += fmt.Sprintf(" AND SettleUser LIKE '%%%v%%'", entity.SettleUser)
+		}
 		if entity.FeeType != "" {
 			where += fmt.Sprintf(" AND FeeType='%v'", entity.FeeType)
 		}