package http import ( "kpt.xdmy/apiserver/model" "kpt.xdmy/pkg/log" "kpt.xdmy/pkg/util" ) type AssetResp struct { Dest Dest `json:"DEST"` Data AssetRespData `json:"DATA"` } type AssetRespData struct { RespMsg SapRespMsg `json:"MSGER"` Master []Asset `json:"TANLA"` } type Asset struct { CompanyCode string `json:"BUKRS"` //公司代码 SonCode string `json:"ANLN2"` //资产子编号 默认0 Quantity string `json:"MENGE"` //数量 Name string `json:"TXT50"` //资产名称 AssetCode string `json:"ANLN1"` //资产编码 Type string `json:"ANLKL"` //资产类型 Model string `json:"TXA50"` //资产规格 CostCenter string `json:"KOSTL"` //成本中心 Unit string `json:"MEINS"` //计量单位 ProfitCenter string `json:"PRCTR"` //利润中心 BuyDate string `json:"ZUGDT"` //购买日期 BuyValue string `json:"KANSW"` //购买价值 Salvage string `json:"AHPROZ"` //残值率 百分比 Udate string `json:"UDATE"` //更新日期 Utime string `json:"UTIME"` //更新时间 NDPER string `json:"NDPER"` //计划 使用时间 Dflag string `json:"XSPEB"` // 删除标记 DepreciationYear string `json:"NDJAR"` //折旧年限 Supplier string `json:"LIFNR"` //供应商 TransferFlag string `json:"ORD44"` //传输Y/不传输N ,删除X ORD41 string `json:"ORD41"` // 资产状态 Segment string `json:"SEGMENT"` //细分 段 ORD42 string `json:"ORD42"` //资产变动方式 出售/购入/其他/其他减少/其他增加/调拨/在建工程转入 RAUMN string `json:"RAUMN"` //房间 存储资产的位置 } type AssetReq struct { Dest `json:"DEST"` Data AssetReqData `json:"DATA"` } type Company struct { Code string `json:"BUKRS"` } type AssetReqData struct { BudatB string `json:"BUDAT_B"` //查询开始日期 YYYYMMDD,资产创建/变更 BudatE string `json:"BUDAT_E"` //查询结束日期 YYYYMMDD,资产创建/变更 CompanyCode []Company `json:"TBUKRS"` //公司代码 现代牧业的法人 Codes []TANLN1 `json:"TANLN1"` //主资产号 财务资产码 EqType []interface{} `json:"TANLKL"` //资产类 设备类别 Tord41 []interface{} `json:"TORD41"` //资产状态 在用/转移/报废 Tzugdt []interface{} `json:"TZUGDT"` //购置日期 购置日期(首次) } type TANLN1 struct { Code string `json:"ANLN1"` //主资产号, 财务资产码 } func (p *AssetReq) NewReq() { p.Dest = Dest{ DestID: "EQMAN", BussTp: "FI004", Url: "https://app.modernfarming.cn:7443/sap/EAM/FI004/QueryAsset", } // s := model.SapLogTime(p.Dest.BussTp) dt := AssetReqData{ // BudatB: s.Format("20060102"), // BudatE: time.Now().Format("20060102"), BudatB: "20220823", BudatE: "20220823", } // dt.CompanyCode = []Company{ // {Code: "9099"}, // } p.Data = dt } func (p *Asset) ToEquipment(m *model.Equipment) (e error) { t, ei := util.ParseDateAndTime(p.Udate, p.Utime) log.Errorf(e, "http asset ToEquipment ParseDateAndTime error %s %s", p.Udate, p.Utime) if ei != nil { return ei } m.PastureId = 18 m.SHStatus = 1 m.Status = 17 m.EqName = p.Name m.AssetCode = p.AssetCode m.EqClassName = p.Type m.Specification = p.Model m.EntranceDate = p.BuyDate m.Yuanzhi = p.BuyValue m.ModifyTime = t m.Enable = util.Zero(p.Dflag == "") m.CompanyCode = p.CompanyCode m.Quantity = p.Quantity m.CostCenter = p.CostCenter m.Unit = p.Unit m.ProfitCenter = p.ProfitCenter m.EqCode = p.AssetCode // `equipment` // INNER JOIN pasture p // ON p.`id` = equipment.`pastureId` // left JOIN department d // ON d.`id` = equipment.departmentId // #LEFT JOIN dictlist // #ON equipment.`status` = dictlist.id // WHERE (equipment.pastureId=? or ?=18) // and (equipment.eqName LIKE CONCAT('%',?,'%') OR ?='' ) // AND (equipment.eqCode LIKE CONCAT('%',?,'%') OR ?='') // AND (equipment.assetCode LIKE CONCAT('%',?,'%') OR ?='') // AND equipment.`enable` = '1' and (equipment.SHStatus = 3 or equipment.SHStatus=1) // and equipment.`status`=17 return // m.PastureName = p.ProfitCenter // m.DepartmentId = p.CostCenter // m.DepartmentName = p.CostCenter }