using Dapper;
using DataDAL.DBContext;
using Models.Models;
using SamplePre.Common;
using SamplePre.DAL.DBContext;
using SamplePre.Models.Ext;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Dapper.SqlMapper;
namespace SamplePre.DAL
{
public class SOPDal
{
///
/// 获取标准下的动作,动作中包含参数
///
///
///
public List QueryStandardProcessByStandardId(string standId)
{
using (IDbConnection dbConnection = new DapperDBContext().Connection)
{
dbConnection.Open();
string querySql = @"
SELECT
a.*,
b.action_name,
b.action_unit,
e.data_value AS action_unit_name,
b.remark,
c.all_param
FROM
sys_standard_action a
LEFT JOIN sys_action b ON a.process_id = b.id
LEFT JOIN sys_dict e ON b.action_unit = e.id
LEFT JOIN (
SELECT
x.action_id,
x.action_seqno,
GROUP_CONCAT( CONCAT( y.title, ':', x.data_value, y.unit ) SEPARATOR ',' ) AS all_param
FROM
sys_standard_action_parm x
LEFT JOIN sys_parm y ON x.parm_id = y.id
WHERE
x.standard_id = @standId
GROUP BY
x.action_id,
x.action_seqno
) c ON a.process_id = c.action_id
AND a.process_no = c.action_seqno
WHERE
a.standard_id = @standId
ORDER BY a.process_no
";
List data = dbConnection.Query(querySql, new { standId = standId }).ToList();
return data;
}
}
}
}