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
/******************************************************************************
*
* @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
}
/******************************************************************************
*
* @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)
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 (
"LAPP_ACURA_MOM_BACKEND/grmi"
meta "LAPP_ACURA_MOM_BACKEND/meta/om"
meMeta "LAPP_ACURA_MOM_BACKEND/meta/me"
common "LAPP_ACURA_MOM_BACKEND/models/base"
model "LAPP_ACURA_MOM_BACKEND/models/om"
"fmt"
@ -741,4 +742,46 @@ func (impl *SerialOrderDAOImplement) SelectByCustOrderIdForDashboard(custOrderId
data := make([]model.SerialOrder, 0)
err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).OrderBy(meta.SerialOrder_ActEndTime.SortColumnName).Find(&data)
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)
err := impl.session.Table(impl.meta.TableName).Where(where, parameters...).Desc(meta.CustOrder_PlanEndTime.Name).Find(&data)
return data, err
}
}

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

@ -5,6 +5,7 @@ package implments
import (
baseDal "LAPP_ACURA_MOM_BACKEND/dao/base"
jitDal "LAPP_ACURA_MOM_BACKEND/dao/jit"
logDal "LAPP_ACURA_MOM_BACKEND/dao/log"
meDal "LAPP_ACURA_MOM_BACKEND/dao/me"
omDal "LAPP_ACURA_MOM_BACKEND/dao/om"
dal "LAPP_ACURA_MOM_BACKEND/dao/pln"
@ -2157,7 +2158,7 @@ func (impl *CustOrderServiceImplement) PageSelect(user *global.User, urlParamete
pageNumberStr := urlParameters["pageNumber"]
pageSizeStr := urlParameters["pageSize"]
projectId := urlParameters["projectId"]
productFamilyId := urlParameters["productFamilyId"]
productFamilyId := urlParameters["productFamilyId"]
pageNumber, err := strconv.Atoi(pageNumberStr)
if err != nil {
pageNumber = 1
@ -2823,6 +2824,8 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User) (model.Tar
now := time.Now()
result := model.TargetItem{}
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)
start := today + " " + "00:00:00"
end := today + " " + "23:59:59"
@ -2836,8 +2839,54 @@ func (impl *CustOrderServiceImplement) CountTarget(user *global.User) (model.Tar
return result, nil
}
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
}
@ -3032,11 +3081,11 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
delete(productFamilyMeterMap, deleteKey)
}
result = &model.CutLine1{
TimeLi: make([]string, 0, now.Hour()),
TimeLi: make([]string, 0, now.Hour()),
ProductFamilyMeter: productFamilyMeterMap,
}
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 {
percentData := model.ProductFamilyProduce{
@ -3046,7 +3095,7 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
qty, exist := accomplishTimeMap[num]
if exist {
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))
} else {
percentData.PercentLi = append(percentData.PercentLi, "0.00")
@ -3086,7 +3135,6 @@ func (impl *CustOrderServiceImplement) SelectPic1(user *global.User, ) (result *
return result, nil
//packDao := jitDal.NewPackOrderDAO(session, user.PlantNr, user.UserId)
//
////图例001
@ -3725,7 +3773,7 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
if err != nil {
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
projectMap := make(map[string]*meModel.Project)
productFamilyMap := make(map[string]*meModel.ProductFamily)
@ -3800,8 +3848,8 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
PlanQty: qty,
WorkLineId: productFamily.WorkLineId,
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)
}
@ -3858,7 +3906,7 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
}
for index, custOrder := range custOrderLi {
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()
custOrderLi[index] = custOrder
}
@ -3896,11 +3944,11 @@ func (impl *CustOrderServiceImplement) AnalysisPlanFromExcel(user *global.User,
custOrderStatusLi = append(custOrderStatusLi, custOrderStatus)
custOrderQty := model.CustOrderQty{
CustOrderId: custOrderId,
PlanQty: custOrder.PlanQty,
PlanQty: custOrder.PlanQty,
}
custOrderQtyLi = append(custOrderQtyLi, custOrderQty)
tempCustOrderLi = append(tempCustOrderLi, custOrder)
if index != 0 && index % 20 == 0 {
if index != 0 && index%20 == 0 {
err = custOrderDao.Insert(&tempCustOrderLi)
if err != nil {
_ = session.Rollback()


Loading…
Cancel
Save