ProductionOrderService.cs
5.05 KB
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
using Hh.Mes.Common.log;
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.POJO.Response;
using Hh.Mes.POJO.WebEntity.bus;
using Hh.Mes.Service.Repository;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hh.Mes.Service.Material
{
public class ProductionOrderService : RepositorySqlSugar<dynamic>
{
/// <summary>
/// 获取工单列表
/// </summary>
public Response GetProductionOrderList(PageReq pageReq, bus_pro_plan_head entity)
{
var result = new Response();
string orderBy = (pageReq == null || string.IsNullOrEmpty(pageReq.field)) ? " id desc" : $"{pageReq.field} {pageReq.order} ";
string sqlWhere = SqlProductionOrderWhere(entity);
var stringBuilder = new StringBuilder();
//页码,页数
//Exel ture 不分页
if (!entity.Exel && pageReq != null)
{
stringBuilder.Append("declare @pageIndex int,@pageSize int,@offset int");
stringBuilder.AppendLine($" select @pageIndex={pageReq.page}, @pageSize={pageReq.limit}, @offset=(@pageIndex - 1) * @pageSize");
}
stringBuilder.AppendLine($@" select * from bus_pro_plan_head where {sqlWhere} order by {orderBy} ");
//Exel ture 不分页
if (!entity.Exel)
{
stringBuilder.AppendLine(" offset @offset row fetch next @pageSize row only ");
stringBuilder.Append($@" select rowTotal= count(*) from bus_pro_plan_head where {sqlWhere}");
}
var parameters = new List<SugarParameter>(){
new SugarParameter("@planCode",entity.planCode),
new SugarParameter("@planName",entity.planName),
new SugarParameter("@productCode",entity.productCode),
new SugarParameter("@productName",entity.productName)
};
var ds = base.Context.Ado.GetDataSetAll(stringBuilder.ToString(), parameters);
result.Result = ds.Tables[0];
result.Count = entity.Exel ? (int)result.Result.Rows.Count : (int)ds.Tables[1].Rows[0]["rowTotal"];
return result;
}
public string SqlProductionOrderWhere(bus_pro_plan_head model)
{
var stringBuilder = new StringBuilder();
stringBuilder.Append(" 1=1 ");
if (!string.IsNullOrEmpty(model.planCode))
{
stringBuilder.Append(" and t1.planCode = @planCode ");
}
if (!string.IsNullOrEmpty(model.planName))
{
stringBuilder.Append(" and t1.planName like '%'+@planName+'%' ");
}
if (!string.IsNullOrEmpty(model.productCode))
{
stringBuilder.Append(" and t1.productCode = @productCode ");
}
if (!string.IsNullOrEmpty(model.productName))
{
stringBuilder.Append(" and t1.productName like '%'+@productName+'%' ");
}
//下拉弹出搜索框
//if (!string.IsNullOrEmpty(model.codeOrName))
//{
// stringBuilder.Append($" and (t1.materialCode like '%'+@codeOrName+'%' or t1.materialName like '%'+@codeOrName+'%' ) ");
//}
return stringBuilder.ToString();
}
/// <summary>
/// 新增工单
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public dynamic Ins(bus_pro_plan_head entity)
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
entity.keys = Guid.NewGuid();
entity.createBy = sysWebUser?.Account;
entity.createTime = DateTime.Now;
Context.Insertable(entity).ExecuteCommand();
return response;
});
}
/// <summary>
/// 更新工单
/// </summary>
public dynamic Upd(bus_pro_plan_head model)
{
var response = new Response();
return ExceptionsHelp.Instance.ExecuteT(() =>
{
model.updateBy = sysWebUser?.Account;
model.updateTime = DateTime.Now;
response.Status = Context.Updateable(model).Where(u => u.id == model.id).ExecuteCommand() > 0;
if (!response.Status) response.Message = "更新失败";
return response;
});
}
/// <summary>
/// 删除工单
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public dynamic DelByIds(int[] ids)
{
return ExceptionsHelp.Instance.ExecuteT(() =>
{
var response = new Response();
Context.Deleteable<bus_pro_plan_head>(t => ids.Contains(t.id)).ExecuteCommand();
return response;
});
}
}
}