SJA APS后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.6 KiB

  1. package service
  2. import (
  3. "github.com/go-xorm/xorm"
  4. "leit.com/leit_seat_aps/common"
  5. "leit.com/leit_seat_aps/db"
  6. "strings"
  7. "time"
  8. )
  9. type BL_Batchorder struct {
  10. Partid string
  11. DDT string // 交货期
  12. PlanQty int
  13. Type string
  14. batordtab db.Pln_batchorder
  15. }
  16. func (bl_bo *BL_Batchorder) Create(materialtab db.Pln_material, session *xorm.Session) (err error) {
  17. var (
  18. batordsn string
  19. batordnr string
  20. )
  21. // 获取批次流水号
  22. if batordsn, err = GetSysStringParameter(2, "*", "JIS_BATCHORDER_SN"); err != nil {
  23. return
  24. }
  25. // 基于设置获取客户订单号
  26. if strings.TrimSpace(batordsn) != "" {
  27. if batordnr, err = SN_GetNextSnrBySession(strings.TrimSpace(batordsn), session); err != nil {
  28. return
  29. }
  30. } else {
  31. if batordnr, err = SN_GetNextSnrBySession("BATCHORDER", session); err != nil {
  32. return
  33. }
  34. }
  35. // 创建客户订单头
  36. bl_bo.batordtab = db.Pln_batchorder{}
  37. bl_bo.batordtab.Finr = db.G_FINR
  38. bl_bo.batordtab.Batchordernr = batordnr
  39. bl_bo.batordtab.Partid = materialtab.Cust_materialid
  40. bl_bo.batordtab.Orderinfo = materialtab.Descr2
  41. bl_bo.batordtab.Ordertype = bl_bo.Type
  42. bl_bo.batordtab.Worklineid = materialtab.Worklineid
  43. bl_bo.batordtab.Jph = materialtab.Jph
  44. bl_bo.batordtab.Status = common.WO_STATUS_UNPLANED
  45. bl_bo.batordtab.Planqty = bl_bo.PlanQty
  46. bl_bo.batordtab.Duedate = bl_bo.DDT
  47. bl_bo.batordtab.Startoemseq = 0
  48. bl_bo.batordtab.Endoemseq = 0
  49. bl_bo.batordtab.Lastuser = "demand_service"
  50. bl_bo.batordtab.Credatuz = common.Date(time.Now().Unix(), "YYYYMMDDHHmmss")
  51. if err = bl_bo.batordtab.Insert(session); err != nil {
  52. return
  53. }
  54. return
  55. }