package service
|
|
|
|
import (
|
|
dal_base "leit.com/LAPP_CHEERSSON_BACKEND/dao/base"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/db"
|
|
model "leit.com/LAPP_CHEERSSON_BACKEND/models/ap"
|
|
utils2 "leit.com/LAPP_CHEERSSON_BACKEND/utils"
|
|
"leit.com/LAPP_CHEERSSON_BACKEND/utils/k3cloud/struct/REM_IndepenReqPlan"
|
|
request2 "leit.com/LAPP_CHEERSSON_BACKEND/utils/k3cloud/struct/request"
|
|
)
|
|
|
|
/**
|
|
生产制造=>生产线生产=>生产线独立需求计划
|
|
*/
|
|
type REM_IndepenReqPlan_Service struct {
|
|
*utils2.K3config
|
|
FormID string
|
|
FieldKeys string
|
|
FUseOrgKey string
|
|
}
|
|
|
|
//独立需求
|
|
//物料编码 需求数量 需求日期
|
|
func REM_IndepenReqPlan_Init() *REM_IndepenReqPlan_Service {
|
|
voucher := &REM_IndepenReqPlan_Service{
|
|
K3config: utils2.K3Obj,
|
|
FormID: "REM_IndepenReqPlan",
|
|
FieldKeys: "FMaterialId.FNumber,FRequiredQuantity,FNeedDate",
|
|
FUseOrgKey: "FNeedOrgId=" + utils2.K3Obj.FUseOrgId,
|
|
}
|
|
return voucher
|
|
}
|
|
|
|
func (_this *REM_IndepenReqPlan_Service) Search(FilterString, OrderString string) [][]interface{} {
|
|
var data [][]interface{}
|
|
if FilterString != "" {
|
|
FilterString = _this.FUseOrgKey + " And " + FilterString
|
|
} else {
|
|
FilterString = _this.FUseOrgKey
|
|
}
|
|
request := request2.SearchRequest{
|
|
Formid: _this.FormID,
|
|
FieldKeys: _this.FieldKeys,
|
|
FilterString: FilterString,
|
|
OrderString: OrderString,
|
|
TopRowCount: 0,
|
|
StartRow: 0,
|
|
Limit: 1000,
|
|
}
|
|
|
|
for true {
|
|
response, err := _this.SearchApi(_this.FormID, request)
|
|
if err != nil {
|
|
return data
|
|
}
|
|
for _, v := range response {
|
|
data = append(data, v)
|
|
}
|
|
if len(response) == request.Limit {
|
|
request.StartRow = request.StartRow + request.Limit
|
|
} else {
|
|
break
|
|
}
|
|
}
|
|
return data
|
|
}
|
|
|
|
func (_this *REM_IndepenReqPlan_Service) Save(PlantNr int, UserId string, articleDemand *model.ArticleIndependentDemand) error {
|
|
engine := db.Eloquent.Master()
|
|
session := engine.NewSession()
|
|
defer session.Close()
|
|
|
|
dao_Article := dal_base.NewArticleDAO(session, PlantNr, UserId)
|
|
article, err := dao_Article.SelectOne(articleDemand.ArtId)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
request := request2.SaveRequest{
|
|
IsDeleteEntry: true,
|
|
IsVerifyBaseDataField: false,
|
|
IsEntryBatchFill: true,
|
|
ValidateFlag: true,
|
|
NumberSearch: true,
|
|
Model: REM_IndepenReqPlan.REM_IndepenReqPlan_SAVE{
|
|
FID: 0,
|
|
FPrdOrgID: REM_IndepenReqPlan.FPrdOrgID{
|
|
FNUMBER: utils2.K3Obj.FUseOrgId,
|
|
},
|
|
FBillTypeID: REM_IndepenReqPlan.FBillTypeID{
|
|
FNUMBER: "SCXDLXQJH01_SYS",
|
|
},
|
|
FMaterialID: REM_IndepenReqPlan.FMaterialID{
|
|
FNumber: article.ArtId,
|
|
},
|
|
FUnitID: REM_IndepenReqPlan.FUnitID{
|
|
//todo
|
|
FNumber: "Pcs",
|
|
},
|
|
FNeedDate: articleDemand.DemandDate.ToString(),
|
|
FEndDate: articleDemand.DemandDate.ToString(),
|
|
FRequiredQuantity: articleDemand.DemandQty,
|
|
FCreatorID: REM_IndepenReqPlan.FCreatorID{
|
|
//todo
|
|
FUserID: 133817,
|
|
},
|
|
FCreateDate: articleDemand.DemandDate.ToString(),
|
|
FNeedOrgID: REM_IndepenReqPlan.FNeedOrgID{
|
|
FNumber: utils2.K3Obj.FUseOrgId,
|
|
},
|
|
FStockInOrgID: REM_IndepenReqPlan.FStockInOrgID{
|
|
FNumber: utils2.K3Obj.FUseOrgId,
|
|
},
|
|
FBillDate: articleDemand.DemandDate.ToString(),
|
|
FOwnerTypeID: "BD_OwnerOrg",
|
|
FOwnerID: REM_IndepenReqPlan.FOwnerID{
|
|
FNumber: utils2.K3Obj.FUseOrgId,
|
|
},
|
|
FDivideFlag: false,
|
|
FBaseUnitID: REM_IndepenReqPlan.FBaseUnitID{
|
|
FNumber: "Pcs",
|
|
},
|
|
FBaseNeedQty: articleDemand.DemandQty,
|
|
FSourceBillType: "A",
|
|
FIsCreateNumber: false,
|
|
//todo
|
|
FYieldRate: 100.0,
|
|
},
|
|
}
|
|
|
|
_, err, _, _ = _this.SaveApi(_this.FormID, request)
|
|
return err
|
|
}
|