Browse Source

Merge branch 'develop' of http://101.201.121.115:3000/leo/LAPP_Acura_MES_Backend into feature_om

pull/186/head
zhangxin 2 years ago
parent
commit
814c6bfe8c
6 changed files with 137 additions and 14 deletions
  1. +15
    -0
      dao/log/PackOrderItemlst.dao.go
  2. +14
    -0
      dao/log/implments/PackOrderItemlst.dao.impl.go
  3. +2
    -0
      dao/om/SerialOrder.dao.go
  4. +43
    -0
      dao/om/implments/SerialOrder.dao.impl.go
  5. +2
    -1
      dao/pln/implments/CustOrder.dao.impl.go
  6. +61
    -13
      services/pln/implments/CustOrder.service.impl.go

+ 15
- 0
dao/log/PackOrderItemlst.dao.go View File

@ -263,6 +263,21 @@ type PackOrderItemlstDAO interface {
* *
******************************************************************************/ ******************************************************************************/
UpdateWhere([]grmi.Predicate, *model.PackOrderItemlst, ...string) error UpdateWhere([]grmi.Predicate, *model.PackOrderItemlst, ...string) error
/******************************************************************************
*
* @Function Name : SelectListByOrders
*-----------------------------------------------------------------------------
*
* @Description : 按条件修改PackOrderItemlst
*
* @Return Value : 执行时发生的错误
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-24 09:53:49
*
******************************************************************************/
SelectListByOrders(serialOrderIds []string) ([]model.PackOrderItemlst, error)
} }
/****************************************************************************** /******************************************************************************


+ 14
- 0
dao/log/implments/PackOrderItemlst.dao.impl.go View File

@ -337,3 +337,17 @@ func (impl *PackOrderItemlstDAOImplement) UpdateWhere(predicates []grmi.Predicat
} }
return nil return nil
} }
/******************************************************************************
*
* @Reference LAPP_ACURA_MOM_BACKEND/dao/log/PackOrderItemlstDAO.SelectListByOrders
*
******************************************************************************/
func (impl *PackOrderItemlstDAOImplement) SelectListByOrders(serialOrderIds []string) ([]model.PackOrderItemlst, error) {
data := make([]model.PackOrderItemlst, 0)
err := impl.session.Table(impl.meta.TableName).Where("PlantNr = ? and Status = ?", impl.plantNr, bmodel.PACK_STATUS_CLOSED).In("SerialOrderId", serialOrderIds).Asc("Pos").Find(&data)
if err != nil {
return nil, grmi.NewDataBaseError(err)
}
return data, nil
}

+ 2
- 0
dao/om/SerialOrder.dao.go View File

@ -423,6 +423,8 @@ type SerialOrderDAO interface {
******************************************************************************/ ******************************************************************************/
SelectByOriginSerialOrderId(serialOrderId string) (*model.SerialOrder, error) SelectByOriginSerialOrderId(serialOrderId string) (*model.SerialOrder, error)
SelectByCustOrderIdForDashboard(custOrderId, start, end string) ([]model.SerialOrder, error) SelectByCustOrderIdForDashboard(custOrderId, start, end string) ([]model.SerialOrder, error)
SelectSerialOrderByCustOrder(custOrderId string) (serialOrderLi []model.SerialOrder, err error)
} }
/****************************************************************************** /******************************************************************************


+ 43
- 0
dao/om/implments/SerialOrder.dao.impl.go View File

@ -5,6 +5,7 @@ package implments
import ( import (
"LAPP_ACURA_MOM_BACKEND/grmi" "LAPP_ACURA_MOM_BACKEND/grmi"
meta "LAPP_ACURA_MOM_BACKEND/meta/om" meta "LAPP_ACURA_MOM_BACKEND/meta/om"
meMeta "LAPP_ACURA_MOM_BACKEND/meta/me"
common "LAPP_ACURA_MOM_BACKEND/models/base" common "LAPP_ACURA_MOM_BACKEND/models/base"
model "LAPP_ACURA_MOM_BACKEND/models/om" model "LAPP_ACURA_MOM_BACKEND/models/om"
"fmt" "fmt"
@ -741,4 +742,46 @@ func (impl *SerialOrderDAOImplement) SelectByCustOrderIdForDashboard(custOrderId
data := make([]model.SerialOrder, 0) data := make([]model.SerialOrder, 0)
err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).OrderBy(meta.SerialOrder_ActEndTime.SortColumnName).Find(&data) err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).OrderBy(meta.SerialOrder_ActEndTime.SortColumnName).Find(&data)
return data, err return data, err
}
/******************************************************************************
*
* @Reference LAPP_ACURA_MOM_BACKEND/dao/om/SerialOrderDAO.SelectByCustOrder
*
******************************************************************************/
func (impl *SerialOrderDAOImplement) SelectSerialOrderByCustOrder(custOrderId string) (serialOrderLi []model.SerialOrder, err error) {
data := make([]model.VOmSerialorder, 0)
session := impl.session.Table(impl.meta.TableName)
condition := fmt.Sprintf("%s = %s and %s = %s",
meta.SerialOrder_PlantNr.ColumnName,
meta.SerialOrderStatus_PlantNr.ColumnName,
meta.SerialOrder_SerialOrderId.ColumnName,
meta.SerialOrderStatus_SerialOrderId.ColumnName)
condition2 := fmt.Sprintf("%s = %s and %s = %s",
meta.SerialOrder_PlantNr.ColumnName,
meMeta.Product_PlantNr.ColumnName,
meta.SerialOrder_ArtId.ColumnName,
meMeta.Product_ProductId.ColumnName)
where := fmt.Sprintf("%s = ? and %s = ? and %s <= ?",
meta.SerialOrder_PlantNr.ColumnName,
meta.SerialOrder_CustOrderId.ColumnName,
meta.SerialOrderStatus_Status.ColumnName,
meMeta.Product_CreatePackOrderToggle.ColumnName,
meta.SerialOrder_OrderType.ColumnName,
)
err = session.Join("INNER", meta.SerialOrderStatus.TableName, condition).Join("INNER",meMeta.Product.TableName,condition2).Where(where, impl.plantNr, custOrderId, common.WO_STATUS_FINISHED,1,"SEQ").Find(&data)
if err != nil {
return nil, err
}
serialOrderLi = make([]model.SerialOrder, 0, len(data))
for _, item := range data {
var serialOrder model.SerialOrder
serialOrder = item.SerialOrder
serialOrder.SerialOrderStatus = item.SerialOrderStatus
serialOrderLi = append(serialOrderLi, serialOrder)
}
return serialOrderLi, nil
} }

+ 2
- 1
dao/pln/implments/CustOrder.dao.impl.go View File

@ -844,4 +844,5 @@ func (impl *CustOrderDAOImplement) SelectCurrentDayCustOrder(start, end string)
data := make([]model.CustOrder, 0) data := make([]model.CustOrder, 0)
err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).Desc(meta.CustOrder_PlanEndTime.Name).Find(&data) err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).Desc(meta.CustOrder_PlanEndTime.Name).Find(&data)
return data, err return data, err
}
}

+ 61
- 13
services/pln/implments/CustOrder.service.impl.go View File

@ -5,6 +5,7 @@ package implments
import ( import (
baseDal "LAPP_ACURA_MOM_BACKEND/dao/base" baseDal "LAPP_ACURA_MOM_BACKEND/dao/base"
jitDal "LAPP_ACURA_MOM_BACKEND/dao/jit" jitDal "LAPP_ACURA_MOM_BACKEND/dao/jit"
logDal "LAPP_ACURA_MOM_BACKEND/dao/log"
meDal "LAPP_ACURA_MOM_BACKEND/dao/me" meDal "LAPP_ACURA_MOM_BACKEND/dao/me"
omDal "LAPP_ACURA_MOM_BACKEND/dao/om" omDal "LAPP_ACURA_MOM_BACKEND/dao/om"
dal "LAPP_ACURA_MOM_BACKEND/dao/pln" dal "LAPP_ACURA_MOM_BACKEND/dao/pln"
@ -2157,7 +2158,7 @@ func (impl *CustOrderServiceImplement) PageSelect(user *global.User, urlParamete
pageNumberStr := urlParameters["pageNumber"] pageNumberStr := urlParameters["pageNumber"]
pageSizeStr := urlParameters["pageSize"] pageSizeStr := urlParameters["pageSize"]
projectId := urlParameters["projectId"] projectId := urlParameters["projectId"]
productFamilyId := urlParameters["productFamilyId"]
productFamilyId := urlParameters["productFamilyId"]
pageNumber, err := strconv.Atoi(pageNumberStr) pageNumber, err := strconv.Atoi(pageNumberStr)
if err != nil { if err != nil {
pageNumber = 1 pageNumber = 1
@ -2823,6 +2824,8 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User) (model.Tar
now := time.Now() now := time.Now()
result := model.TargetItem{} result := model.TargetItem{}
custOrderDao := dal.NewCustOrderDAO(session, user.PlantNr, user.UserId) custOrderDao := dal.NewCustOrderDAO(session, user.PlantNr, user.UserId)
serialOrderDao := omDal.NewSerialOrderDAO(session, user.PlantNr, user.UserId)
packDao := logDal.NewPackOrderItemlstDAO(session, user.PlantNr, user.UserId)
today := now.Format(grmi.DateOutFormat) today := now.Format(grmi.DateOutFormat)
start := today + " " + "00:00:00" start := today + " " + "00:00:00"
end := today + " " + "23:59:59" end := today + " " + "23:59:59"
@ -2836,8 +2839,54 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User) (model.Tar
return result, nil return result, nil
} }
for _, custOrderData := range custOrderLi { for _, custOrderData := range custOrderLi {
result.Target += custOrderData.CustOrderQty.PlanQty - custOrderData.CustOrderQty.CancelQty
result.Current += custOrderData.CustOrderQty.ActQty
result.Current += custOrderData.CustOrderQty.PlanQty - custOrderData.CustOrderQty.CancelQty
//查询工单对应的派生工单状态!=98的是否都已经进入包装
serialList, err := serialOrderDao.SelectSerialOrderByCustOrder(custOrderData.CustOrder.CustOrderId)
if err != nil {
return result, err
}
if len(serialList) == 0 {
continue
}
//台套对应的派生数量
// 记录生产每个台套下面的工单数量
syncKeyMap := make(map[string][]omModel.SerialOrder)
var orders []string
for _, v := range serialList {
orders = append(orders, v.SerialOrderId)
syncKeyMap[v.SyncKey] = append(syncKeyMap[v.SyncKey], v)
}
//查询进去包装并且包装状态等于80的派生个数
packList, err := packDao.SelectListByOrders(orders)
if err != nil {
return result, err
}
if len(packList) == 0 {
continue
}
//构建包装单map数组
packMap := make(map[string]string)
for _, v := range packList {
packMap[v.SerialOrderId] = v.SerialOrderId
}
//统计数量
for _, serialOrders := range syncKeyMap {
isPack := true
for _, vv := range serialOrders {
key := vv.SerialOrderId
_, ok := packMap[key]
if !ok {
isPack = false
break
}
}
if isPack {
result.Target += 1
}
}
} }
return result, nil return result, nil
} }
@ -3032,11 +3081,11 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
delete(productFamilyMeterMap, deleteKey) delete(productFamilyMeterMap, deleteKey)
} }
result = &model.CutLine1{ result = &model.CutLine1{
TimeLi: make([]string, 0, now.Hour()),
TimeLi: make([]string, 0, now.Hour()),
ProductFamilyMeter: productFamilyMeterMap, ProductFamilyMeter: productFamilyMeterMap,
} }
for _, num = range dateTimeLi { for _, num = range dateTimeLi {
result.TimeLi = append(result.TimeLi, strconv.Itoa(num) + "时")
result.TimeLi = append(result.TimeLi, strconv.Itoa(num)+"时")
} }
for productFamilyId, accomplishTimeMap := range productFamilyAccomplishMap { for productFamilyId, accomplishTimeMap := range productFamilyAccomplishMap {
percentData := model.ProductFamilyProduce{ percentData := model.ProductFamilyProduce{
@ -3046,7 +3095,7 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
qty, exist := accomplishTimeMap[num] qty, exist := accomplishTimeMap[num]
if exist { if exist {
meter := productFamilyMeterMap[productFamilyId] meter := productFamilyMeterMap[productFamilyId]
percent := (float64(3600/qty)) / float64(meter) / 100
percent := (float64(3600 / qty)) / float64(meter) / 100
percentData.PercentLi = append(percentData.PercentLi, fmt.Sprintf("%.2f", percent)) percentData.PercentLi = append(percentData.PercentLi, fmt.Sprintf("%.2f", percent))
} else { } else {
percentData.PercentLi = append(percentData.PercentLi, "0.00") percentData.PercentLi = append(percentData.PercentLi, "0.00")
@ -3086,7 +3135,6 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
return result, nil return result, nil
//packDao := jitDal.NewPackOrderDAO(session, user.PlantNr, user.UserId) //packDao := jitDal.NewPackOrderDAO(session, user.PlantNr, user.UserId)
// //
////图例001 ////图例001
@ -3725,7 +3773,7 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
if err != nil { if err != nil {
return grmi.NewBusinessError("读取Sheet1页失败, error:" + err.Error()) return grmi.NewBusinessError("读取Sheet1页失败, error:" + err.Error())
} }
today, _ := time.ParseInLocation(grmi.DateTimeOutFormat, time.Now().Format(grmi.DateOutFormat) + " 00:00:00", utils.TimezoneLocation)
today, _ := time.ParseInLocation(grmi.DateTimeOutFormat, time.Now().Format(grmi.DateOutFormat)+" 00:00:00", utils.TimezoneLocation)
rowIndex := 0 rowIndex := 0
projectMap := make(map[string]*meModel.Project) projectMap := make(map[string]*meModel.Project)
productFamilyMap := make(map[string]*meModel.ProductFamily) productFamilyMap := make(map[string]*meModel.ProductFamily)
@ -3800,8 +3848,8 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
PlanQty: qty, PlanQty: qty,
WorkLineId: productFamily.WorkLineId, WorkLineId: productFamily.WorkLineId,
QuantityPerHour: int(productFamily.Jph), QuantityPerHour: int(productFamily.Jph),
PlanStartDate: grmi.Date(planDate),
PlanEndDate: grmi.Date(planDate),
PlanStartDate: grmi.Date(planDate),
PlanEndDate: grmi.Date(planDate),
} }
planDateCustOrderMap[planDate.Format(grmi.DateOutFormat)] = append(planDateCustOrderMap[planDate.Format(grmi.DateOutFormat)], custOrder) planDateCustOrderMap[planDate.Format(grmi.DateOutFormat)] = append(planDateCustOrderMap[planDate.Format(grmi.DateOutFormat)], custOrder)
} }
@ -3858,7 +3906,7 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
} }
for index, custOrder := range custOrderLi { for index, custOrder := range custOrderLi {
custOrder.PlanStartTime = grmi.DateTime(prePlanEndTime) custOrder.PlanStartTime = grmi.DateTime(prePlanEndTime)
custOrder.PlanEndTime = grmi.DateTime(prePlanEndTime.Add(time.Duration(custOrder.PlanQty * perCarUsedTime) * time.Second))
custOrder.PlanEndTime = grmi.DateTime(prePlanEndTime.Add(time.Duration(custOrder.PlanQty*perCarUsedTime) * time.Second))
prePlanEndTime = custOrder.PlanEndTime.Restore() prePlanEndTime = custOrder.PlanEndTime.Restore()
custOrderLi[index] = custOrder custOrderLi[index] = custOrder
} }
@ -3896,11 +3944,11 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
custOrderStatusLi = append(custOrderStatusLi, custOrderStatus) custOrderStatusLi = append(custOrderStatusLi, custOrderStatus)
custOrderQty := model.CustOrderQty{ custOrderQty := model.CustOrderQty{
CustOrderId: custOrderId, CustOrderId: custOrderId,
PlanQty: custOrder.PlanQty,
PlanQty: custOrder.PlanQty,
} }
custOrderQtyLi = append(custOrderQtyLi, custOrderQty) custOrderQtyLi = append(custOrderQtyLi, custOrderQty)
tempCustOrderLi = append(tempCustOrderLi, custOrder) tempCustOrderLi = append(tempCustOrderLi, custOrder)
if index != 0 && index % 20 == 0 {
if index != 0 && index%20 == 0 {
err = custOrderDao.Insert(&tempCustOrderLi) err = custOrderDao.Insert(&tempCustOrderLi)
if err != nil { if err != nil {
_ = session.Rollback() _ = session.Rollback()


Loading…
Cancel
Save