zhangzengfei
2023-08-14 8f750b461a4f442825e516016bf78d05ed66afcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package kingdee
 
type ICBom struct {
    FInterID         int     // 内码
    FBOMNumber       string  // BOM单编号
    FUseStatus       int     // 使用状态码
    FUseStatusName   string  // 使用状态
    FItemIDNumber    string  // 物料代码
    FItemIDName      string  // 物料名称
    FModel           string  // 规格型号
    FErpClsID        string  // 物料属性
    FQty             float64 // 数量
    FUnitName        string  // 单位
    FYield           float64 // 成品率
    FRoutingIDNumber string  // 工艺路线代码
    FRoutingIDName   string  // 工艺路线名称
    FNote            string  // 备注
    FBomType         int     // BOM类型
    FAudDate         string  // 更新时间
    FPDMImportDate   string  // 导入时间
    FStatus          int     // 状态
}
 
func BomList(fData bool) []ICBom {
    sql := `
    SELECT 
        ICBom.FInterID, 
        ICBom.FBOMNumber, 
        ICBom.FUseStatus, 
        t_SubMessage.FName as FUseStatusName, 
        t_ICItem.FNumber as FItemIDNumber, 
        t_ICItem.FName as FItemIDName, 
        t_ICItem.FModel as FModel,
        (SELECT FName FROM t_SubMessage WHERE t_ICItem.FErpClsID=FInterID) as FErpClsID, 
        ICBom.FQty,
        t_MeasureUnit.FName as FUnitName, 
        ICBom.FYield, 
        t_Routing.FBillNO as FRoutingIDNumber, 
        t_Routing.FRoutingName as FRoutingIDName,         
        ICBom.FNote,         
        ICBom.FBomType, 
        ICBom.FAudDate, 
        ICBom.FPDMImportDate, 
        ICBom.FStatus
     FROM ICBom 
        left join t_SubMessage on ICBom.FUseStatus = t_SubMessage.FInterID AND t_SubMessage.FInterID <> 0  
        join t_ICItem on ICBom.FItemID= t_ICItem.FItemID  AND t_ICItem.FItemID <> 0  
        left join t_MeasureUnit on ICBom.FUnitID = t_MeasureUnit.FItemID AND t_MeasureUnit.FItemID <> 0  
        left join t_Routing on ICBom.FRoutingID = t_Routing.FInterID AND t_Routing.FInterID <> 0
    `
 
    // 如果不是请求全部数据, 仅查询当天更新的, 默认查当天
    if !fData {
        sql = sql + " Where DateDiff(dd,FAudDate,getdate())=1"
    }
 
    var result []ICBom
 
    db.Raw(sql).Scan(&result)
    //db.Raw(sql).Debug().Scan(&result)
 
    return result
}