111
cnf
2025-03-25 8b67ee8a1b3e954de07014724f94875815c2783a
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
using MES.Service.DB;
using MES.Service.Dto.webApi.QcIssueResult;
using MES.Service.Modes;
using MES.Service.Modes.QcIssueResult;
using MES.Service.Modes.SentLaboratory;
using Microsoft.Data.SqlClient;
using Newtonsoft.Json;
using Oracle.ManagedDataAccess.Client;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace MES.Service.service.BasicData;
public class SentLaboratoryTestingItemsManager : Repository<SentLaboratoryTestingItems>
{
        /// <summary>
        ///     仓储方法满足不了复杂业务需求,业务代码请在这里面定义方法
        /// </summary>
        public void Study()
        {
            /*********查询*********/
 
            var data1 = base.GetById(1); //根据ID查询
            var data2 = base.GetList(); //查询所有
            var data3 = base.GetList(it => 1 == 1); //根据条件查询  
                                                    //var data4 = base.GetSingle(it => 1 == 1);//根据条件查询一条,如果超过一条会报错
 
            var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 分页查询
            var data5 = base.GetPageList(it => 1 == 1, p);
            Console.Write(p.TotalCount); //返回总数
 
            var data6 =
                base.GetPageList(it => 1 == 1, p,
                    it => SqlFunc.GetRandom()); // 分页查询加排序
            Console.Write(p.TotalCount); //返回总数
 
            var conModels = new List<IConditionalModel>(); //组装条件查询作为条件实现 分页查询加排序
            conModels.Add(new ConditionalModel
            {
                FieldName = typeof(SalesOrder).GetProperties()[0].Name,
                ConditionalType = ConditionalType.Equal,
                FieldValue = "1"
            }); //id=1
            var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom());
 
            AsQueryable().Where(x => 1 == 1)
                .ToList(); //支持了转换成queryable,我们可以用queryable实现复杂功能
 
 
            /*********插入*********/
            var insertData = new SentLaboratoryTestingItems(); //测试参数
            var insertArray = new[] { insertData };
            base.Insert(insertData); //插入
            base.InsertRange(insertArray); //批量插入
            var id = base.InsertReturnIdentity(insertData); //插入返回自增列
            AsInsertable(insertData).ExecuteCommand(); //我们可以转成 Insertable实现复杂插入
 
 
            /*********更新*********/
            var updateData = new SentLaboratoryTestingItems(); //测试参数
            var updateArray = new[] { updateData }; //测试参数
            base.Update(updateData); //根据实体更新
            base.UpdateRange(updateArray); //批量更新
                                           //base.Update(it => new SalesOrder() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 只更新ClassName列和CreateTime列,其它列不更新,条件id=1
            AsUpdateable(updateData).ExecuteCommand(); //转成Updateable可以实现复杂的插入
 
 
            /*********删除*********/
            var deldata = new SentLaboratoryTestingItems(); //测试参数
            base.Delete(deldata); //根据实体删除
            base.DeleteById(1); //根据主键删除
            base.DeleteById(new[] { 1, 2 }); //根据主键数组删除
            base.Delete(it => 1 == 2); //根据条件删除
            AsDeleteable().Where(it => 1 == 2)
                .ExecuteCommand(); //转成Deleteable实现复杂的操作
        }
 
 
    public string GetBillCode(string param1, string param2, string param3)
    {
        string result = null;
        // 连接字符串
        string connectionString = "User Id=yc_dev;Password=ycdev;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))";
 
        // SQL 查询
        string sql = "SELECT getbillcode1(:param1, :param2, :param3) FROM dual";
 
        using (OracleConnection connection = new OracleConnection(connectionString))
        {
            using (OracleCommand command = new OracleCommand(sql, connection))
            {
                // 添加参数
                command.Parameters.Add("param1", OracleDbType.Varchar2).Value = param1;
                command.Parameters.Add("param2", OracleDbType.Varchar2).Value = param2;
                command.Parameters.Add("param3", OracleDbType.Varchar2).Value = param3;
 
                // 打开连接
                connection.Open();
 
                // 执行查询
                result = command.ExecuteScalar()?.ToString();
            }
        }
 
        return result;
    }
 
}