11
pulg
2025-06-05 28bea7128b8c24a6a664e880f1425e1fa24b9b5f
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
using HH.WCS.Hexafluo;
using HH.WCS.Hexafluo.util;
using HH.WCS.Hexafluo.wms;
using HH.WCS.SJML.Dto;
using HH.WCS.SJML.Entitys;
using NLog.Fluent;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static HH.WCS.Hexafluo.dispatch.NDC;
 
namespace HH.WCS.SJML.wms
{
    public class MaterialHelper
    {
        public OperateResult SjMaterialMainAdd(List<TN_MaterialEntitys> suppliers)
        {
            OperateResult result = new OperateResult();
            var db = new SqlHelper<object>().GetInstance();
            try
            {
                var Mater = suppliers.Select(e => e.S_ITEM_CODE).ToList();
                //查询是否存在相同数据
                var location = db.Queryable<TN_MaterialEntitys>().Where(it => Mater.Contains(it.S_ITEM_CODE)).ToList();
                if (location.Count > 0)
                {
                    suppliers.RemoveAll(e => location.Select(c => c.S_ITEM_CODE).ToList().Contains(e.S_ITEM_CODE));
                }
                if (suppliers.Count() > 0)
                {
                    db.BeginTran();
                    var I = db.Insertable(suppliers).ExecuteCommand();
                    db.Ado.CommitTran();
                    if (I > 0)
                    {
                        result.Success = true;
                        result.AffectedRows = I;
                    }
                    else
                    {
                        result.Success = false;
                        result.Msg = "添加失败!";
                    }
                }
                else
                {
                    result.Success = false;
                    result.Msg = "经过验证数据已存在,无法重复添加!";
                }
                return result;
            }
            catch (Exception ex)
            {
                LogHelper.Info("物料维护", "添加报错--" + ex.Message + ex.StackTrace);
                db.Ado.RollbackTran();
                return OperateResult.Error(ex.Message);
            }
        }
 
 
        public OperateResult SjMaterialMainDelete(List<TN_MaterialEntitys> suppliers)
        {
            OperateResult result = new OperateResult();
            var db = new SqlHelper<object>().GetInstance();
            try
            {
                db.BeginTran();
                var I = db.Deleteable<TN_MaterialEntitys>().WhereColumns(suppliers, it => new { it.S_ITEM_CODE }).ExecuteCommand();
                db.Ado.CommitTran();
                if (I > 0)
                {
                    result.Success = true;
                    result.AffectedRows = I;
                }
                else
                {
                    result.Success = false;
                    result.Msg = "添加失败!";
                }
                return result;
            }
            catch (Exception ex)
            {
                LogHelper.Info("物料维护", "删除报错--" + ex.Message + ex.StackTrace);
                db.Ado.RollbackTran();
                return OperateResult.Error(ex.Message);
            }
        }
 
 
        public OperateResult SjMaterialMainUpdate(List<TN_MaterialEntitys> suppliers)
        {
            OperateResult result = new OperateResult();
            var db = new SqlHelper<object>().GetInstance();
            try
            {
                var supplier = suppliers.Select(e=>e.S_ITEM_CODE).ToList();
                db.BeginTran();
                var I = db.Updateable(suppliers).WhereColumns(e=> new { e.S_ITEM_CODE }).ExecuteCommand();
                db.Ado.CommitTran();
                if (I > 0)
                {
                    result.Success = true;
                    result.AffectedRows = I;
                }
                else
                {
                    result.Success = false;
                    result.Msg = "更新失败!";
                }
                return result;
            }
            catch (Exception ex)
            {
                LogHelper.Info("物料维护", "更新报错--" + ex.Message + ex.StackTrace);
                db.Ado.RollbackTran();
                return OperateResult.Error(ex.Message);
            }
        }
 
        public OperateResult SjMaterialMainSelect(MaterialMainDto suppliers)
        {
            OperateResult result = new OperateResult();
            var db = new SqlHelper<object>().GetInstance();
            var exp = Expressionable.Create<TN_MaterialEntitys>();
            exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_TYPE), it => it.S_ITEM_TYPE == suppliers.S_ITEM_TYPE);
            exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_CODE), it => it.S_ITEM_CODE.Contains(suppliers.S_ITEM_CODE));
            exp.AndIF(!string.IsNullOrEmpty(suppliers.S_ITEM_NAME), it => it.S_ITEM_NAME == suppliers.S_ITEM_NAME);
            exp.AndIF(!string.IsNullOrEmpty(suppliers.S_SPEC), it => it.S_SPEC == suppliers.S_SPEC);
            exp.AndIF(!string.IsNullOrEmpty(suppliers.S_DRAW_NO), it => it.S_DRAW_NO == suppliers.S_DRAW_NO);
            exp.AndIF(!string.IsNullOrEmpty(suppliers.C_ENABLE_OWNER), it => it.C_ENABLE_OWNER == suppliers.C_ENABLE_OWNER);
            var I = db.Queryable<TN_MaterialEntitys>().Where(exp.ToExpression()).ToList();
            result.Success = true;
            result.Data = I;
            return result;
        }
    }
}