|
|
- // Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
- package models
-
- import (
- "fmt"
- "leit.com/aps_engine/db"
- "errors"
- "leit.com/aps_engine/grmi"
- "xorm.io/core"
- "time"
- )
-
- type WorkCalendar struct {
- PlantNr int `xorm:"pk int 'PlantNr'" json:"WorkCalendar-PlantNr"`
- WorkCalendarNr int `xorm:"pk int 'WorkCalendarNr' autoincr" json:"WorkCalendar-WorkCalendarNr"`
- Descr string `xorm:"nvarchar(100) 'Descr' not null" json:"WorkCalendar-Descr"`
- LastModify grmi.DateTime `xorm:"datetime 'LastModify' not null updated" json:"WorkCalendar-LastModify"`
- LastUser string `xorm:"nvarchar(20) 'LastUser' not null" json:"WorkCalendar-LastUser"`
- CreateTime grmi.DateTime `xorm:"datetime 'CreateTime' not null created" json:"WorkCalendar-CreateTime"`
- WorkCalendarLst []WorkCalendarLstAndDay `xorm:"-" json:"WorkCalendar-WorkCalendarLst"`
- WorkCalendarLstLi []WorkCalendarLst `xorm:"-" json:"WorkCalendar-WorkCalendarLstLi"`
- }
-
- /******数据表名******/
- func (t *WorkCalendar) TableName() string {
- return "Workcalendar"
- }
-
- /******************************************************************************
- *
- * @Function Name : GetKey
- *-----------------------------------------------------------------------------
- *
- * @Description : 获取实体的主键
- *
- * @Return Value : 实体的主键
- *
- * @Author : 代码生成器创建
- *
- * @Date : 2021-03-23 17:06:57
- *
- ******************************************************************************/
- func (self *WorkCalendar) GetKey() core.PK {
- return core.PK{self.PlantNr, self.WorkCalendarNr}
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据添加
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *WorkCalendar) Add() error {
- e := db.Eloquent.Master()
- count := new(WorkCalendar)
- affw, err := e.Table(t.TableName()).ID(t.GetKey()).Count(count)
- if err != nil {
- return err
- }
- if affw > 0 {
- return errors.New("数据已经存在!")
- }
- _, err = e.Table(t.TableName()).Insert(t)
-
- if err != nil {
- return err
- }
- return nil
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据删除
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *WorkCalendar) Del() bool {
- e := db.Eloquent.Master()
- _, err := e.ID(t.GetKey()).Delete(&WorkCalendar{})
- if err != nil {
- return false
- }
- return true
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据修改
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *WorkCalendar) Update() error {
- e := db.Eloquent.Master()
- _, err := e.ID(t.GetKey()).Update(t)
- if err != nil {
- return err
- }
- return nil
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据查找
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *WorkCalendar) SelectOne() (WorkCalendar, error) {
- e := db.Eloquent.Master()
- var data WorkCalendar
- _, err := e.ID(t.GetKey()).Get(&data)
- if err != nil {
- return data, err
- }
- return data, nil
- }
-
- /******************************************************************************
- *
- * @Function Name :
- *-----------------------------------------------------------------------------
- *
- * @Description : 数据查找
- *
- * @Function Parameters:
- *
- * @Return Value :
- *
- * @Author : Lou Wenzhi
- *
- * @Date : 2021/3/6 8:47
- *
- ******************************************************************************/
- func (t *WorkCalendar) SelectAll(startDate, endDate time.Time) (datalst []WorkCalendar, err error) {
- var (
- i int
- startday, endday string
- )
-
- // 获取日历头信息
- e := db.Eloquent.Master()
- if err = e.Table(t.TableName()).Where("PlantNr = ?",t.PlantNr).OrderBy("WorkCalendarNr").Find(&datalst); err != nil {
- return
- }
- // 获取明细数据
- startday = getYMDString(startDate)
- endday = getYMDString(endDate)
- for i = 0; i < len(datalst); i++ {
- if err = e.Table("WorkCalendarLst").Where("PlantNr = ? and WorkCalendarNr = ? and WorkDate >= ? and WorkDate <= ?",
- datalst[i].PlantNr, datalst[i].WorkCalendarNr, startday, endday).OrderBy("WorkDate").Find(&datalst[i].WorkCalendarLstLi); err != nil {
- return
- }
- }
- return
- }
-
- // 获取时间点的日期,以年月日字符类型数据返回
- func getYMDString(t time.Time)(ymd string){
- var (
- y1, d1 int
- m1 time.Month
- )
- y1,m1,d1 = t.Date()
- ymd = fmt.Sprintf("%04d", y1) + fmt.Sprintf("%02d", int(m1)) + fmt.Sprintf("%02d", d1)
- return
- }
|