...
|
...
|
@@ -2,9 +2,12 @@ package domainService |
|
|
|
|
|
import (
|
|
|
"github.com/linmadan/egglib-go/core/application"
|
|
|
pG "github.com/linmadan/egglib-go/transaction/pg"
|
|
|
"github.com/tidwall/gjson"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/constant"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/allied-lib/gateway/byte_bank"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/pg"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/log"
|
|
|
)
|
|
|
|
|
|
type ByteBankService struct {
|
...
|
...
|
@@ -41,15 +44,16 @@ listLoop: |
|
|
return formulaId
|
|
|
}
|
|
|
|
|
|
// SectionProductive 时段产能
|
|
|
func (svr *ByteBankService) SectionProductive() (interface{}, error) {
|
|
|
// DeviceOperationEfficiency 设备运行效率
|
|
|
func (svr *ByteBankService) DeviceOperationEfficiency() (interface{}, error) {
|
|
|
//获取公式id时段产能
|
|
|
formulaId := svr.GetFormulasId("type_salesman_id")
|
|
|
formulaId := svr.GetFormulasId("设备运行效率")
|
|
|
//获取解析数据
|
|
|
byteResult, err := svr.internalService.AnalysisFormulaByte(formulaId)
|
|
|
if err != nil {
|
|
|
return struct{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
}
|
|
|
log.Logger.Debug("获取设备运行效率:" + string(byteResult))
|
|
|
code := gjson.GetBytes(byteResult, "code").String()
|
|
|
if code != "0" {
|
|
|
msg := gjson.GetBytes(byteResult, "msg").String()
|
...
|
...
|
@@ -57,10 +61,66 @@ func (svr *ByteBankService) SectionProductive() (interface{}, error) { |
|
|
}
|
|
|
//待解析的
|
|
|
queryResult := gjson.GetBytes(byteResult, "data.queryResult").Array()
|
|
|
|
|
|
/*
|
|
|
1.生产设备
|
|
|
2.设备本月运行数据
|
|
|
*/
|
|
|
transactionContext := pG.NewPGTransactionContext(pg.DB)
|
|
|
if err := transactionContext.StartTransaction(); err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
defer func() {
|
|
|
transactionContext.RollbackTransaction()
|
|
|
}()
|
|
|
//deviceRepository, _ := repository.NewDeviceRepository(transactionContext)
|
|
|
//_, devices, err := deviceRepository.Find(map[string]interface{}{
|
|
|
// "companyId": constant.MANUFACTURE_DEFAULT_COMPANYID,
|
|
|
// "orgId": constant.MANUFACTURE_DEFAULT_ORGID,
|
|
|
// "workshopId": constant.MANUFACTURE_DEFAULT_WORKSHOPID,
|
|
|
// "orderBy": "device_name asc"})
|
|
|
//if err != nil {
|
|
|
// return nil, err
|
|
|
//}
|
|
|
//var response = make([]interface{}, 0)
|
|
|
//for _, d := range devices {
|
|
|
// var deviceSn string
|
|
|
// var productCount, runningTime int64
|
|
|
// for _, item := range queryResult {
|
|
|
// deviceSn = item.Get("device_sn").String()
|
|
|
// if deviceSn == d.DeviceCode {
|
|
|
// productCount = item.Get("product_count").Int()
|
|
|
// runningTime = item.Get("timing").Int()
|
|
|
// break
|
|
|
// }
|
|
|
// }
|
|
|
// response = append(response, map[string]interface{}{
|
|
|
// "deviceName": d.DeviceName,
|
|
|
// "deviceType": d.DeviceType,
|
|
|
// "productCount": productCount,
|
|
|
// "timing": runningTime,
|
|
|
// })
|
|
|
//}
|
|
|
|
|
|
var response = make([]interface{}, 0)
|
|
|
var deviceSn string
|
|
|
var productCount, runningTime int64
|
|
|
for _, item := range queryResult {
|
|
|
if item.Get("type_salesman_id").String() != "" {
|
|
|
continue
|
|
|
deviceSn = item.Get("device_sn").String()
|
|
|
if deviceSn != "" {
|
|
|
productCount = item.Get("product_count").Int()
|
|
|
runningTime = item.Get("timing").Int()
|
|
|
response = append(response, map[string]interface{}{
|
|
|
"device_sn": deviceSn,
|
|
|
"device_type": item.Get("device_type").String(),
|
|
|
"product_count": productCount,
|
|
|
"timing": runningTime,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
return nil, nil
|
|
|
|
|
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
return map[string]interface{}{"devices": response}, nil
|
|
|
} |
...
|
...
|
|