package service
|
|
|
|
import (
|
|
"github.com/go-xorm/xorm"
|
|
"leit.com/leit_seat_aps/common"
|
|
"leit.com/leit_seat_aps/db"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
type BL_Batchorder struct {
|
|
Partid string
|
|
DDT string // 交货期
|
|
PlanQty int
|
|
Type string
|
|
batordtab db.Pln_batchorder
|
|
}
|
|
|
|
func (bl_bo *BL_Batchorder) Create(materialtab db.Pln_material, session *xorm.Session) (err error) {
|
|
var (
|
|
batordsn string
|
|
batordnr string
|
|
)
|
|
|
|
// 获取批次流水号
|
|
if batordsn, err = GetSysStringParameter(2, "*", "JIS_BATCHORDER_SN"); err != nil {
|
|
return
|
|
}
|
|
|
|
// 基于设置获取客户订单号
|
|
if strings.TrimSpace(batordsn) != "" {
|
|
if batordnr, err = SN_GetNextSnrBySession(strings.TrimSpace(batordsn), session); err != nil {
|
|
return
|
|
}
|
|
} else {
|
|
if batordnr, err = SN_GetNextSnrBySession("BATCHORDER", session); err != nil {
|
|
return
|
|
}
|
|
}
|
|
|
|
// 创建客户订单头
|
|
bl_bo.batordtab = db.Pln_batchorder{}
|
|
bl_bo.batordtab.Finr = db.G_FINR
|
|
bl_bo.batordtab.Batchordernr = batordnr
|
|
bl_bo.batordtab.Partid = materialtab.Cust_materialid
|
|
bl_bo.batordtab.Orderinfo = materialtab.Descr2
|
|
bl_bo.batordtab.Ordertype = bl_bo.Type
|
|
bl_bo.batordtab.Worklineid = materialtab.Worklineid
|
|
bl_bo.batordtab.Jph = materialtab.Jph
|
|
bl_bo.batordtab.Status = common.WO_STATUS_UNPLANED
|
|
bl_bo.batordtab.Planqty = bl_bo.PlanQty
|
|
bl_bo.batordtab.Duedate = bl_bo.DDT
|
|
bl_bo.batordtab.Startoemseq = 0
|
|
bl_bo.batordtab.Endoemseq = 0
|
|
bl_bo.batordtab.Lastuser = "demand_service"
|
|
bl_bo.batordtab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss")
|
|
if err = bl_bo.batordtab.Insert(session); err != nil {
|
|
return
|
|
}
|
|
|
|
return
|
|
}
|