@ -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 ( )