Browse Source

添加dashboard字段

master
zhangxin 2 years ago
parent
commit
f33d3dc1d4
2 changed files with 27 additions and 25 deletions
  1. +8
    -7
      models/pln/pln.go
  2. +19
    -18
      services/pln/implments/CustOrder.Dashborad.impl.go

+ 8
- 7
models/pln/pln.go View File

@ -57,10 +57,11 @@ type ProductFamilyProduce struct {
}
type CutLine1 struct {
TimeLi []string `json:"timeLi"`
Standard float64 `json:"standard"`
ProductFamilyMeter int `json:"productFamilyMeter"`
ProduceData []float64 `json:"produceData"`
TimeLi []string `json:"timeLi"`
Standard float64 `json:"standard"`
OriginProductFamilyMeter int `json:"originProductFamilyMeter"`
ProductFamilyMeter int `json:"productFamilyMeter"`
ProduceData []float64 `json:"produceData"`
}
// 派生每个小时产量map
@ -72,16 +73,16 @@ type HourProductData struct {
//Dashboard数据展示
type DashboardPic struct {
DashboardDataPic1 CutLine1 //图例1
DashboardDataPic1 CutLine1 //图例1
DashboardDataPic2 []DefectItem //图例2
DashboardDataPic3 PerDashboardData //图例3
DashboardDataPic4 TargetItem //目标数据
DashboardDataStatus int //状态
DefectPackOrder int // 打包不良数
DefectPackOrder int // 打包不良数
CurrentTempo float64 //当前节拍
TeamTemPo float64 //当班节拍
PerHourTemPo float64 //当班平均每小时单人产出
TemPoPerson int //当前上班人数
DateTimeNow string //当前日期
IppmTarge int //IPPM
}
}

+ 19
- 18
services/pln/implments/CustOrder.Dashborad.impl.go View File

@ -280,7 +280,7 @@ func (impl *CustOrderServiceImplement) Dashboard(user *global.User, workLineId s
wg.Add(7)
//图例001
go func(wg *sync.WaitGroup) {
DashboardData.DashboardDataPic1, err1 = impl.SelectPic1(user, dayModel, workLineId, startTime, endTime, useDayStartTime)
DashboardData.DashboardDataPic1, err1 = impl.SelectPic1(user, dayModel, workLineId, startTime, endTime, useDayStartTime, jPHPercent)
wg.Done() // 操作完成,减少一个计数
}(&wg)
//图例002
@ -444,7 +444,7 @@ func (impl *CustOrderServiceImplement) RecordDashBoard(user *global.User, dashbo
sessionSlave.Rollback()
return err
}
}else{
} else {
//更新
err = headDao.UpdateOne(&headData)
if err != nil {
@ -1159,7 +1159,7 @@ func (impl *CustOrderServiceImplement) SelectTeamTemPo(user *global.User, dayMod
}
//图例1
func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, dayModel *baseModel.DayModel, workLineId string, startTime, endTime, dayStartTime time.Time) (result model.CutLine1, err error) {
func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, dayModel *baseModel.DayModel, workLineId string, startTime, endTime, dayStartTime time.Time, jphPercent float64) (result model.CutLine1, err error) {
engine := db.Eloquent.Master()
session := engine.NewSession()
defer session.Close()
@ -1319,9 +1319,10 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, dayModel *b
displayHourProductMap[hour] = producedLi
}
result = model.CutLine1{
Standard: 1.0,
ProductFamilyMeter: currentMeter,
ProduceData: make([]float64, 0, len(displayHourLi)),
Standard: 1.0,
ProductFamilyMeter: int(float64(currentMeter) / jphPercent),
OriginProductFamilyMeter: currentMeter,
ProduceData: make([]float64, 0, len(displayHourLi)),
}
for hour := 0; hour < 48; hour++ {
hourData, exist := displayHourProductMap[hour]
@ -1584,7 +1585,7 @@ func (impl *CustOrderServiceImplement) SelectPic3(user *global.User, DayModelHou
meter := productFamilyMeterMap[productFamilyProductData.ProductFamilyId]
var percent float64
if productFamilyProductData.Qty != 0 && usedTime != 0 && hourAllUsedTime != 0 && meter != 0 {
percent = (meter * (float64(usedTime) / float64(hourAllUsedTime)))
percent = meter * (float64(usedTime) / float64(hourAllUsedTime))
//percent = meter / (float64(usedTime) / float64(productFamilyProductData.Qty)) * (float64(usedTime) / float64(hourAllUsedTime))
}
hourPercent += percent
@ -1592,7 +1593,7 @@ func (impl *CustOrderServiceImplement) SelectPic3(user *global.User, DayModelHou
preTime, _ := time.ParseInLocation("2006-01-02 15:04", key, utils.TimezoneLocation)
headInfo, err := headDao.SelectOneByKey(utils.TimeFormat(preTime.Add(1*time.Hour),"yyyy-MM-dd HH:00"))
headInfo, err := headDao.SelectOneByKey(utils.TimeFormat(preTime.Add(1*time.Hour), "yyyy-MM-dd HH:00"))
if err != nil {
fmt.Println(err)
return DashboardData3, err
@ -1601,20 +1602,20 @@ func (impl *CustOrderServiceImplement) SelectPic3(user *global.User, DayModelHou
var jphVal float64
if headInfo != nil && key != recordKey {
jPHPercent = headInfo.JPHPercent
if headInfo.PersonNum >0 {
jphVal = utils.Decimal(float64((hourPercent * jPHPercent)/float64(headInfo.PersonNum))*(float64(hourAllUsedTime)/3600), 2)
if headInfo.PersonNum > 0 {
jphVal = utils.Decimal(float64((hourPercent*jPHPercent)/float64(headInfo.PersonNum))*(float64(hourAllUsedTime)/3600), 2)
}
}else{
if attendancePersonNum >0 {
jphVal = utils.Decimal(float64((hourPercent * jPHPercent)/float64(attendancePersonNum))*(float64(hourAllUsedTime)/3600), 2)
} else {
if attendancePersonNum > 0 {
jphVal = utils.Decimal(float64((hourPercent*jPHPercent)/float64(attendancePersonNum))*(float64(hourAllUsedTime)/3600), 2)
}
}
glog.InfoExtln("目标达成率","key",key)
glog.InfoExtln("目标达成率","jphVal",jphVal)
glog.InfoExtln("目标达成率","jphVal",jphVal)
glog.InfoExtln("目标达成率","hourPercent",hourPercent)
glog.InfoExtln("目标达成率","jPHPercent",jPHPercent)
glog.InfoExtln("目标达成率", "key", key)
glog.InfoExtln("目标达成率", "jphVal", jphVal)
glog.InfoExtln("目标达成率", "jphVal", jphVal)
glog.InfoExtln("目标达成率", "hourPercent", hourPercent)
glog.InfoExtln("目标达成率", "jPHPercent", jPHPercent)
jphMap[key] = jphVal
DashboardData3.CompleteNumber += utils.ValueToInt(utils.ValueToFloat(hourPercent, 0.0)*jPHPercent, 0)


Loading…
Cancel
Save