|
@@ -40,7 +40,8 @@ func MaintainList(pastureName, eqClassIdStr string, startTime, endTime time.Time
|
|
|
|
|
|
for _, eq := range eqList {
|
|
|
pastureMaintainList := make([]*model.Maintain, 0)
|
|
|
- err := s.d.DB.Raw(` SELECT m.* FROM maintain m JOIN equipment e on e.id = m.eqId WHERE (e.eqClassId = ? or ? = '')
|
|
|
+ err := s.d.DB.Raw(` SELECT m.*,(select DATE_FORMAT(bpu.creatDate,'%Y-%m-%d %H:%i:%s') from bigpartapply bp join bigpartuse bpu on bpu.oddCode = bp.applyCode
|
|
|
+ where bp.RUCode =m.repairCode order by bpu.creatDate desc limit 1) creatDate FROM maintain m JOIN equipment e on e.id = m.eqId WHERE (e.eqClassId = ? or ? = '')
|
|
|
and m.stopTime is not null and (m.pastureid = (select id from pasture where name = ? and name != '现代牧业') or ? = '现代牧业' )
|
|
|
and m.stopTime between ? and ? and TIMESTAMPDIFF(hour, m.orderTime, m.stopTime) < 1000 order by requestTime,m.pastureid `,
|
|
|
eq.EqClass.ID, eq.EqClass.ID, eq.Pasture.Name, eq.Pasture.Name, startTime, endTime).Find(&pastureMaintainList).Error
|
|
@@ -84,21 +85,56 @@ func MaintainList(pastureName, eqClassIdStr string, startTime, endTime time.Time
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
+ //requestTime = main.RequestTime
|
|
|
//每个资产第一次都根据筛选开始时间计算出t1
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
+
|
|
|
//fmt.Println(main.StopTime, main.OrderTime, "111111")
|
|
|
//t1 += main.RequestTime.Sub(startTime).Minutes()
|
|
|
} else {
|
|
|
//t1 += main.RequestTime.Sub(stopTime).Minutes()
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
//fmt.Println(main.StopTime, main.OrderTime, "22222222")
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
if stopTime.Format("2006") == "0001" {
|
|
@@ -436,7 +472,8 @@ func MaintainListPid(pastureName, eqClassId string, startTime, endTime time.Time
|
|
|
for _, eq := range eqClassList {
|
|
|
|
|
|
pastureMaintainList := make([]*model.Maintain, 0)
|
|
|
- err = s.d.DB.Raw(` SELECT m.eqId,m.pastureId,m.requestTime,m.orderTime,m.stopTime FROM maintain m JOIN equipment e on e.id = m.eqId WHERE e.eqClassid = ?
|
|
|
+ err = s.d.DB.Raw(` SELECT m.eqId,m.pastureId,m.requestTime,m.orderTime,m.stopTime,(select DATE_FORMAT(bpu.creatDate,'%Y-%m-%d %H:%i:%s') from bigpartapply bp join bigpartuse bpu on bpu.oddCode = bp.applyCode
|
|
|
+ where bp.RUCode =m.repairCode order by bpu.creatDate desc limit 1) creatDate FROM maintain m JOIN equipment e on e.id = m.eqId WHERE e.eqClassid = ?
|
|
|
and m.stopTime is not null and (m.pastureid = (select id from pasture where name = ? and name != '现代牧业') or ? = '现代牧业' or ?= '' )
|
|
|
and m.stopTime between ? and ? and TIMESTAMPDIFF(hour, m.orderTime, m.stopTime) < 1000 order by requestTime,m.pastureid `,
|
|
|
eq.ID, pastureName, pastureName, pastureName, startTime, endTime).Find(&pastureMaintainList).Error
|
|
@@ -474,21 +511,52 @@ func MaintainListPid(pastureName, eqClassId string, startTime, endTime time.Time
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
- //每个资产第一次都根据筛选开始时间计算出t1
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
//fmt.Println(main.StopTime, main.OrderTime, "111111")
|
|
|
//t1 += main.RequestTime.Sub(startTime).Minutes()
|
|
|
} else {
|
|
|
//t1 += main.RequestTime.Sub(stopTime).Minutes()
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
- //fmt.Println(main.StopTime, main.OrderTime, "22222222")
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
+ //requestTime = main.RequestTime
|
|
|
}
|
|
|
}
|
|
|
if stopTime.Format("2006") == "0001" {
|
|
@@ -666,7 +734,8 @@ func MaintainListPid(pastureName, eqClassId string, startTime, endTime time.Time
|
|
|
|
|
|
func MaintainListEquipment(pastureName, eqClassId string, startTime, endTime time.Time, offset, pageSize int, eqName string) (int64, []map[string]interface{}, error) {
|
|
|
pastureMaintainList := make([]*model.Maintain, 0)
|
|
|
- err := s.d.DB.Raw(` SELECT m.* FROM maintain m JOIN equipment e on e.id = m.eqId WHERE e.eqClassId = ?
|
|
|
+ err := s.d.DB.Raw(` SELECT m.*,(select DATE_FORMAT(bpu.creatDate,'%Y-%m-%d %H:%i:%s') from bigpartapply bp join bigpartuse bpu on bpu.oddCode = bp.applyCode
|
|
|
+ where bp.RUCode =m.repairCode order by bpu.creatDate desc limit 1) creatDate FROM maintain m JOIN equipment e on e.id = m.eqId WHERE e.eqClassId = ?
|
|
|
and m.stopTime is not null and (m.pastureid = (select id from pasture where name = ? and name != '现代牧业') or ? = '现代牧业' )
|
|
|
and m.stopTime between ? and ? and TIMESTAMPDIFF(hour, m.orderTime, m.stopTime) < 1000 order by requestTime,m.pastureid `,
|
|
|
eqClassId, pastureName, pastureName, startTime, endTime).Find(&pastureMaintainList).Error
|
|
@@ -704,7 +773,6 @@ func MaintainListEquipment(pastureName, eqClassId string, startTime, endTime tim
|
|
|
pastureId := strconv.Itoa(p.ID)
|
|
|
maintainList := maintainMap[pastureId]
|
|
|
//count := float64(len(maintainList))
|
|
|
- var t2, t3 float64
|
|
|
|
|
|
mainMap := make(map[int64][]*model.Maintain, 0)
|
|
|
//将每个不同的资产分类放进map
|
|
@@ -719,6 +787,7 @@ func MaintainListEquipment(pastureName, eqClassId string, startTime, endTime tim
|
|
|
//for _, k := range eqIdList {
|
|
|
|
|
|
for _, eq := range eqList {
|
|
|
+ var t2, t3 float64
|
|
|
var stopTime, orderTime, requestTime time.Time
|
|
|
mainList := make([]*model.Maintain, 0)
|
|
|
if _, ok := mainMap[int64(eq.Id)]; ok {
|
|
@@ -730,21 +799,58 @@ func MaintainListEquipment(pastureName, eqClassId string, startTime, endTime tim
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
+ //requestTime = main.RequestTime
|
|
|
//每个资产第一次都根据筛选开始时间计算出t1
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
//fmt.Println(main.StopTime, main.OrderTime, "111111")
|
|
|
//t1 += main.RequestTime.Sub(startTime).Minutes()
|
|
|
} else {
|
|
|
//t1 += main.RequestTime.Sub(stopTime).Minutes()
|
|
|
t2 += main.OrderTime.Sub(main.RequestTime).Hours()
|
|
|
- t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ if main.CreatDate == "" {
|
|
|
+ t3 += main.StopTime.Sub(main.OrderTime).Hours()
|
|
|
+ fmt.Println(main.StopTime.Sub(main.OrderTime).Hours())
|
|
|
+ requestTime = main.RequestTime
|
|
|
+ } else {
|
|
|
+ layout := "2006-01-02 15:04:05"
|
|
|
+ t, err := time.Parse(layout, main.CreatDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tStop, err := time.Parse(layout, main.StopTime.Format("2006-01-02 15:04:05"))
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ t3 += tStop.Sub(t).Hours()
|
|
|
+ fmt.Println(tStop.Sub(t).Hours())
|
|
|
+ requestTime = t
|
|
|
+ }
|
|
|
//fmt.Println(main.StopTime, main.OrderTime, "22222222")
|
|
|
//记录下维修结束时间方便下次计算t1
|
|
|
stopTime = main.StopTime
|
|
|
orderTime = main.OrderTime
|
|
|
- requestTime = main.RequestTime
|
|
|
+ //requestTime = main.RequestTime
|
|
|
}
|
|
|
}
|
|
|
data := make(map[string]interface{}, 0)
|