using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using Pub_Class;
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Data.SqlClient;
|
using System.Web.Http;
|
using WebAPI.Models;
|
using SyntacticSugar.constant;
|
|
namespace WebAPI.Controllers
|
{
|
//工序检验单Controller
|
//数据库主表QC_ProcessCheckBillMain
|
//数据库子表QC_ProcessCheckBillSub
|
public class QC_ProcessCheckBillController : ApiController
|
{
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
public DAL.ClsQC_ProcessCheckBill BillOld = new DAL.ClsQC_ProcessCheckBill();
|
DataSet ds;
|
//获取系统参数
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
|
#region 工序检验单列表
|
[Route("QC_ProcessCheckBill/QC_ProcessCheckBillList")]
|
[HttpGet]
|
public object QC_ProcessCheckBillList(string sWhere, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sql1 = "select * from h_v_QC_ProcessCheckBill where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by 制单日期 desc";
|
ds = oCN.RunProcReturn(sql, "h_v_QC_ProcessCheckBill");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有查询到数据";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单列表2 只获取表头数据,不取明细行信息
|
[Route("QC_ProcessCheckMainBill/QC_ProcessCheckMainBillList")]
|
[HttpGet]
|
public object QC_ProcessCheckMainBillList(string sWhere, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
//判断权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Query", 3, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "您没有该模块权限,请与管理员联系!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
string sql1 = "select * from h_v_QC_ProcessCheckBillMainList where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by 制单日期 desc";
|
ds = oCN.RunProcReturn(sql, "h_v_QC_ProcessCheckBillMainList");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有查询到数据";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单分页列表
|
[Route("QC_ProcessCheckMainBill/QC_ProcessCheckMainBillListPage")]
|
[HttpGet]
|
public object QC_ProcessCheckMainBillListPage(string sWhere, string user, int page, int size)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
//编辑权限
|
if (!DBUtility.ClsPub.Security_Log_second("QC_ProcessCheckBill_Query", 3, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查看权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
sWhere = sWhere.Replace("'", "''");
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("exec h_p_QC_ProcessCheckMainBillListPage " + page + "," + size + ",''", "h_p_QC_ProcessCheckMainBillListPage");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("exec h_p_QC_ProcessCheckMainBillListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_QC_ProcessCheckMainBillListPage");
|
}
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region 工序检验单编辑查询数据
|
[Route("QC_ProcessCheckBill/QC_ProcessCheckBill_Edit")]
|
[HttpGet]
|
public object QC_ProcessCheckBill_Edit(string sWhere, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sql1 = "select * from h_v_QC_ProcessCheckBill_Edit where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by hmainid desc,HSNO asc,hsubid";
|
ds = oCN.RunProcReturn(sql, "h_v_QC_ProcessCheckBill_Edit");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有查询到数据";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为取样单
|
[Route("QC_ProcessCheckBill/get_TakeSampleCheckBill")]
|
[HttpGet]
|
public object get_TakeSampleCheckBill(string HInterID, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_Process_GetTakeSampleCheckBillList " + "'工序','" + HInterID + "'";
|
break;
|
case "物料":
|
sql = "exec h_p_QC_Process_GetTakeSampleCheckBillList " + "'物料','" + HInterID + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_Process_GetTakeSampleCheckBillList " + "'工艺路线','" + HInterID + "'";
|
break;
|
}
|
|
}
|
|
ds = oCN.RunProcReturn(sql, "h_p_QC_Process_GetTakeSampleCheckBillList");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单 审核 反审核 关闭 反关闭 作废 反作废
|
/// <summary>
|
/// 工序检验单 审核、反审核
|
/// </summary>
|
/// <param name="HInterID">单据ID</param>
|
/// <param name="IsAudit">审核(0),反审核(1)</param>
|
/// <param name="CurUserName">审核人</param>
|
/// <returns></returns>
|
[Route("QC_ProcessCheckBill/QC_ProcessCheckBillMainValue")]
|
[HttpGet]
|
public object QC_ProcessCheckBillMainValue(int HInterID, int IsAudit, string CurUserName)
|
{
|
try
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log_second("QC_ProcessCheckBill_Check", 1, false, CurUserName))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//获取系统参数判断工艺路线是否启用多级审批禁用普通审批
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.QC_ProcessCheckBill_EnableMultiLevel.ToUpper() == "Y") //系统参数 启用自动审核
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "工序检验单已启用多级审批普通审核禁用";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
var ds = oCN.RunProcReturn("select * from QC_ProcessCheckBillMain where HInterID=" + HInterID, "QC_ProcessCheckBillMain");
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
if (IsAudit == 0) //审核判断
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
if (IsAudit == 1) //反审核判断
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未审核!不需要反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.BeginTran();
|
|
if (IsAudit == 0) //审核判断
|
{
|
//审核前控制
|
DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_QC_ProcessCheckBill_BeforeCheckCtrl ");
|
if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核前判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
oCN.RunProc("update QC_ProcessCheckBillMain set HBillStatus=2,HChecker='" + CurUserName + "',HCheckDate=getdate() where HInterID=" + HInterID);
|
|
//审核后控制
|
DataSet EndDs = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_AfterCheckCtrl " + HInterID.ToString() + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + CurUserName + "'", "h_p_QC_ProcessCheckBill_AfterCheckCtrl");
|
if (EndDs == null || EndDs.Tables.Count == 0 || EndDs.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核后判断失败!";
|
objJsonResult.data = null;
|
oCN.RollBack();
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(EndDs.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(EndDs.Tables[0].Rows[0]["HRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核成功";
|
objJsonResult.data = null;
|
}
|
if (IsAudit == 1) //反审核判断
|
{
|
//反审核前控制
|
DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_QC_ProcessCheckBill_BeforeUnCheckCtrl");
|
if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核前判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
oCN.RunProc("update QC_ProcessCheckBillMain set HBillStatus=1,HChecker='',HCheckDate=null where HInterID=" + HInterID);
|
|
//反审核后控制
|
DataSet EndDs = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_AfterUnCheckCtrl " + HInterID.ToString() + ",'" + ds.Tables[0].Rows[0]["HBillNo"].ToString() + "','" + CurUserName + "'", " h_p_QC_ProcessCheckBill_AfterUnCheckCtrl");
|
if (EndDs == null || EndDs.Tables.Count == 0 || EndDs.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核后判断失败!";
|
objJsonResult.data = null;
|
oCN.RollBack();
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(EndDs.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(EndDs.Tables[0].Rows[0]["HRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核成功";
|
objJsonResult.data = null;
|
}
|
oCN.Commit();
|
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
/// 工序检验单 关闭 反关闭
|
/// </summary>
|
/// <param name="HInterID"></param>
|
/// <param name="Type"></param>
|
/// <param name="user"></param>
|
/// <returns></returns>
|
[Route("QC_ProcessCheckBill/CloseQC_ProcessCheckBillMain")]
|
[HttpGet]
|
public object CloseQC_ProcessCheckBillMain(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有删除权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Close", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID);
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "QC_ProcessCheckBillMain";
|
DAL.ClsQC_ProcessCheckBill oBill = new DAL.ClsQC_ProcessCheckBill(); //实例化单据操作类,用于进行相关操作
|
|
//针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据
|
{
|
if (oBill.omodel.HDeleteMan.Trim() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不能进行关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (oBill.omodel.HChecker.Trim() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未审核!不能进行关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (Type == 1) //关闭判断
|
{
|
if (oBill.omodel.HCloseMan.Trim() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已关闭!不能再次关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
if (Type == 2) //反关闭判断
|
{
|
if (oBill.omodel.HCloseMan.Trim() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未关闭!不需要反关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
//进行需要进行的关闭/反关闭操作
|
if (Type == 1) //关闭提交
|
{
|
//关闭前控制=========================================
|
string sql1 = "exec h_p_QC_ProcessCheckBill_BeforeCloseCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
|
ds = oCN.RunProcReturn(sql1, "h_p_QC_ProcessCheckBill_BeforeCloseCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:关闭前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//==================================================================================
|
|
//关闭提交
|
if (oBill.CloseBill(lngBillKey, oBill.omodel.HBillNo, "h_p_QC_ProcessCheckBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
if (Type == 2) //反关闭提交
|
{
|
//反关闭前控制=========================================
|
string sql1 = "exec h_p_QC_ProcessCheckBill_BeforeUnCloseCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
|
ds = oCN.RunProcReturn(sql1, "h_p_QC_ProcessCheckBill_BeforeUnCloseCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:反关闭前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//==================================================================================
|
|
|
//反关闭提交
|
if (oBill.CancelClose(lngBillKey, oBill.omodel.HBillNo, "h_p_QC_ProcessCheckBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
|
/// <summary>
|
/// 工序检验单 作废 反作废
|
/// </summary>
|
/// <param name="HInterID"></param>
|
/// <param name="Type"></param>
|
/// <param name="user"></param>
|
/// <returns></returns>
|
[Route("QC_ProcessCheckBill/DropQC_ProcessCheckBillMain")]
|
[HttpGet]
|
public object DropQC_ProcessCheckBillMain(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有作废权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Drop", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "QC_ProcessCheckBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 作废 2 反作废
|
if (Type == 1)
|
{
|
//判断单据是否已经作废
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能进行作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不需要再作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//作废单据
|
if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
//判断单据是否已经反作废
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能进行作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未作废!不需要再反作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//反作废单据
|
if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 返回工序检验单列表
|
[Route("QC_ProcessCheckBill/GetProcessCheckBillList")]
|
[HttpGet]
|
public object GetProcessCheckBillList(string sWhere, string user)
|
{
|
try
|
{
|
//查看权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查看权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("select * from h_v_QC_ProcessCheckBillListDetail order by hmainid desc ", "h_v_QC_ProcessCheckBillListDetail");
|
}
|
else
|
{
|
string sql1 = "select * from h_v_QC_ProcessCheckBillListDetail where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by hmainid desc ";
|
ds = oCN.RunProcReturn(sql, "h_v_QC_ProcessCheckBillListDetail");
|
}
|
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单保存
|
|
[Route("QC_ProcessCheckBill/set_SaveBill")]
|
[HttpPost]
|
public object set_SaveBill([FromBody] JObject sMainSub)
|
{
|
var _value = sMainSub["sMainSub"].ToString();
|
string msg1 = _value.ToString();
|
//保存单据
|
return objJsonResult = AddBillMain(msg1);
|
}
|
|
public json AddBillMain(string msg1)
|
{
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
string msg3 = sArray[1].ToString();
|
string OperationType = sArray[2].ToString().Trim();
|
string user = sArray[3].ToString();//用户名
|
|
bool bResult;
|
try
|
{
|
//判断权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Edit", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无保存权限";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
msg2 = "[" + msg2.ToString() + "]";
|
List<Model.ClsQC_ProcessCheckBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_ProcessCheckBillMain>>(msg2);
|
DAL.ClsQC_ProcessCheckBill BillNew = new DAL.ClsQC_ProcessCheckBill();
|
//判断会计期是否合理
|
string s = "";
|
int sYear = 0;
|
int sPeriod = 0;
|
DateTime HDate = mainList[0].HDate;//日期
|
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = s;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
BillNew.omodel.HYear = sYear;
|
BillNew.omodel.HPeriod = sPeriod;
|
//固定赋值=================================
|
BillNew.omodel.HInterID = mainList[0].HInterID;//递入type得到的单据ID
|
BillNew.omodel.HBillNo = mainList[0].HBillNo;//递入type得到的单据号
|
BillNew.omodel.HDate = HDate;
|
BillNew.omodel.HRemark = mainList[0].HRemark;//备注
|
BillNew.omodel.HRemarkSN = mainList[0].HRemarkSN;//SN备注
|
BillNew.omodel.HMaker = mainList[0].HMaker;
|
BillNew.omodel.HSourceID = ClsPub.isLong(mainList[0].HSourceID);
|
BillNew.omodel.HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
|
BillNew.omodel.HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
|
BillNew.omodel.HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
|
BillNew.omodel.HICMOQty = ClsPub.isLong(mainList[0].HICMOQty);
|
BillNew.omodel.HProcExchInterID = ClsPub.isLong(mainList[0].HProcExchInterID);
|
BillNew.omodel.HProcExchEntryID = ClsPub.isLong(mainList[0].HProcExchEntryID);
|
BillNew.omodel.HProcExchBillNo = ClsPub.isStrNull(mainList[0].HProcExchBillNo);
|
BillNew.omodel.HProcExchQty = ClsPub.isLong(mainList[0].HProcExchQty);
|
BillNew.omodel.HMaterID = ClsPub.isLong(mainList[0].HMaterID);
|
BillNew.omodel.HFirstCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
|
BillNew.omodel.HCheckerResult = ClsPub.isStrNull(mainList[0].HCheckerResult);
|
BillNew.omodel.HMainSourceInterID = ClsPub.isLong(mainList[0].HMainSourceInterID);
|
BillNew.omodel.HMainSourceEntryID = ClsPub.isLong(mainList[0].HMainSourceEntryID);
|
BillNew.omodel.HMainSourceBillNo = ClsPub.isStrNull(mainList[0].HMainSourceBillNo);
|
BillNew.omodel.HMainSourceBillType = ClsPub.isStrNull(mainList[0].HMainSourceBillType);
|
BillNew.omodel.HQCSchemeID = ClsPub.isLong(mainList[0].HQCSchemeID);
|
BillNew.omodel.HBillStatus = 1;
|
BillNew.omodel.HProcID = ClsPub.isLong(mainList[0].HProcID);
|
BillNew.omodel.HShiftsID = ClsPub.isLong(mainList[0].HShiftsID);
|
BillNew.omodel.HErrTreatment = ClsPub.isStrNull(mainList[0].HErrTreatment);
|
BillNew.omodel.HBatchNo = ClsPub.isStrNull(mainList[0].HBatchNo);
|
BillNew.omodel.HTakeSampleCheckBillID = ClsPub.isLong(mainList[0].HTakeSampleCheckBillID);
|
BillNew.omodel.HTakeSampleCheckBillNo = ClsPub.isStrNull(mainList[0].HTakeSampleCheckBillNo);
|
BillNew.omodel.HCheckQty = ClsPub.isLong(mainList[0].HCheckQty);
|
|
List<Model.ClsQC_ProcessCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_ProcessCheckBillSub>>(msg3);
|
BillNew.DetailColl = new List<Model.ClsQC_ProcessCheckBillSub>();
|
for (int i = 0; i < subList.ToArray().Length; i++)
|
{
|
if (i >= 0)//HQty
|
{
|
Model.ClsQC_ProcessCheckBillSub oSub = new Model.ClsQC_ProcessCheckBillSub();
|
oSub.HEntryID = i+1;
|
oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
|
oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
|
oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
|
oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType);
|
oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
|
oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
|
oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
|
oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
|
oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
|
oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
|
oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
|
oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
|
oSub.HQCRelValue = DBUtility.ClsPub.isStrNull(subList[i].HQCRelValue);
|
oSub.HProcCheckTime = HDate;
|
oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
|
oSub.HProcCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
|
|
oSub.HSampleSchemeID = DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
|
oSub.HSampleQty = DBUtility.ClsPub.isLong(subList[i].HSampleQty);
|
oSub.HSampleDamageQty = DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
|
oSub.HAcceptQty = DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
|
oSub.HRejectQty = DBUtility.ClsPub.isLong(subList[i].HRejectQty);
|
oSub.HSampleUnRightQty = DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
|
oSub.HStatus = DBUtility.ClsPub.isStrNull(subList[i].HStatus);
|
oSub.HUnitID = DBUtility.ClsPub.isLong(subList[i].HUnitID);
|
oSub.HInspectVal = DBUtility.ClsPub.isStrNull(subList[i].HInspectVal);
|
oSub.HTargetVal = DBUtility.ClsPub.isStrNull(subList[i].HTargetVal);
|
oSub.HUpLimit = DBUtility.ClsPub.isStrNull(subList[i].HUpLimit);
|
oSub.HDownLimit = DBUtility.ClsPub.isStrNull(subList[i].HDownLimit);
|
oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);
|
oSub.HUpOffSet = DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
|
oSub.HDownOffSet = DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
|
oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
|
oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
|
oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
|
oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
|
|
oSub.HQualityStdID = DBUtility.ClsPub.isLong(subList[i].HQualityStdID);//质量标准
|
oSub.HInspectMethodID = DBUtility.ClsPub.isLong(subList[i].HInspectMethodID);//检验方法
|
oSub.HInspectBasisID = DBUtility.ClsPub.isLong(subList[i].HInspectBasisID);//检验依据
|
oSub.HCompareSymbol = DBUtility.ClsPub.isStrNull(subList[i].HCompareSymbol);//比较符
|
oSub.HInspectValQ = subList[i].HInspectValQ;
|
|
BillNew.DetailColl.Add(oSub);
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无明细行信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
|
|
|
//保存完毕后处理
|
if (OperationType.Equals("1") || OperationType.Equals("2"))
|
{
|
string sAutoCheck = oSystemParameter.GetSingleSystemParameter("QC_ProcessCheckBill_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
|
objJsonResult.Verify = sAutoCheck;
|
bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
|
}
|
else
|
{
|
|
if (BillOld.ShowBill(mainList[0].HInterID, ref s) == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据有误!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
//判断是否可编辑
|
if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据已经被审核,不允许修改!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
|
bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
|
}
|
//提示
|
if (bResult == true)
|
{
|
string sReturn = "";
|
// 华舟 保存成功后下推工作联系单
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "华舟")
|
{
|
//自动生成工作联系单
|
var ds2 = oCN.RunProcReturn("exec h_p_OA_WorkLinkBill_Create " + BillOld.omodel.HInterID + "," + 7520, "h_p_OA_WorkLinkBill_Create");
|
|
if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
|
{
|
int HInterID = int.Parse(ds2.Tables[0].Rows[0]["NewHInterID"].ToString());
|
LogService.Write("执行消息推送..." + HInterID);
|
|
// 触发消息推送
|
Service.GeTuiService.PubishSingle(HInterID);
|
|
}
|
}
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = ClsPub.sExeReturnInfo+"单据号:" + mainList[0].HBillNo.Trim();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 检验值保存
|
[Route("QC_ProcessCheckBill/set_SaveValue")]
|
[HttpPost]
|
public object set_SaveValue([FromBody] JObject msg)
|
{
|
ListModels oListModels = new ListModels();
|
try
|
{
|
var _value = msg["msg"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
|
string Value = sArray[0].ToString(); //检验值表格
|
Int64 HInterID = Convert.ToInt64(sArray[1]); //主ID
|
Int64 HEntryID = Convert.ToInt64(sArray[2]); //子ID
|
bool bResult;
|
|
|
List<Model.ClsQC_ProcessCheckBillSub_ValueGrid> valueList = new List<Model.ClsQC_ProcessCheckBillSub_ValueGrid>();
|
valueList = oListModels.getObjectByJson_ClsQC_ProcessCheckBillSub_ValueGrid(Value);
|
|
DAL.ClsQC_ProcessCheckBill BillNew = new DAL.ClsQC_ProcessCheckBill();
|
|
for (int i = 0; i < valueList.ToArray().Length; i++)
|
{
|
if (i >= 0)//HQty
|
{
|
Model.ClsQC_ProcessCheckBillSub_ValueGrid oSub_Value = new Model.ClsQC_ProcessCheckBillSub_ValueGrid();
|
oSub_Value.HInterID = HInterID;
|
oSub_Value.HEntryID = HEntryID;
|
oSub_Value.HSEQ = i + 1;
|
oSub_Value.HInSpectResult = ClsPub.isStrNull(valueList[i].HInSpectResult);
|
oSub_Value.HInSpectValue = ClsPub.isDoule(valueList[i].HInSpectValue);
|
oSub_Value.HInSpectValueB = ClsPub.isLong(valueList[i].HInSpectValueB);
|
oSub_Value.HInSpectValueT = ClsPub.isStrNull(valueList[i].HInSpectValueT);
|
|
BillNew.DetailColl_Value.Add(oSub_Value);
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无明细行信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
bResult = BillNew.AddValue(ref ClsPub.sExeReturnInfo, ref HInterID, ref HEntryID);
|
|
if (bResult == true)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "保存检验值成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单Old
|
/// <summary>
|
/// 工序检验单列表修改按钮方法
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("QC_ProcessCheckBill/xg")]
|
[HttpGet]
|
public object xg(long HInterID)
|
{
|
try
|
{
|
ds = oCN.RunProcReturn("select HInterID,HBillNo,HProcExchInterID,HProcExchEntryID,HProcExchBillNo" +
|
",HMaterID,HProcID,HSourceID,HEmpID,HInStockQty" +
|
",HCheckQty,HRightQty,HBadQty,HFirstCheckEmp,HCheckerResult" +
|
",HBarCode,HLBatchNo,HCusID,HSortBillNo,HContrctBatchNo" +
|
",HProdAreaID,HProdTypeID,HProdStoveNo,HRecipeID,HDiameter1" +
|
",HDiameter2,HRoutingInterID,HDrawingDireID,HPackTypeID from QC_ProcessCheckBillMain where HInterID=" + HInterID, "QC_ProcessCheckBillMain");
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
/// 修改单据-保存按钮
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("QC_ProcessCheckBill/AddBill1")]
|
[HttpPost]
|
public object AddBill1([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
try
|
{
|
DAL.ClsQC_ProcessCheckBill oProcess = new DAL.ClsQC_ProcessCheckBill();
|
|
msg1 = "[" + msg1.ToString() + "]";
|
List<QC_ProcessCheckBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<QC_ProcessCheckBillMain>>(msg1);
|
string BillType = "7507";
|
long HInterID = mainList[0].HInterID;//递入type得到的单据ID
|
string HBillNo = mainList[0].HBillNo;//递入type得到的单据号
|
DateTime HDate = mainList[0].HDate;//日期
|
int HYear = 2021;
|
double HPeriod = 1;
|
long HBillStatus = mainList[0].HBillStatus;
|
long HCheckItemNowID = mainList[0].HCheckItemNowID;
|
long HCkeckItemNextID = mainList[0].HCheckItemNextID;
|
long HCheckFlowID = mainList[0].HCheckFlowID;
|
string HRemark = mainList[0].HRemark;//备注
|
string HBacker = mainList[0].HBacker;
|
DateTime HBackDate = mainList[0].HBackDate;
|
string HBackRemark = mainList[0].HBackRemark;
|
string HChecker = mainList[0].HChecker;
|
DateTime HCheckDate = mainList[0].HCheckDate;
|
string HMaker = mainList[0].HMaker;
|
DateTime HMakeDate = mainList[0].HMakeDate;
|
string HUpDater = mainList[0].HUpDater;
|
DateTime HUpDateDate = mainList[0].HUpDateDate;
|
string HCloseMan = mainList[0].HCloseMan;
|
DateTime HCloseDate = mainList[0].HCloseDate;
|
string HCloseType = mainList[0].HCloseType;
|
string HDeleteMan = mainList[0].HDeleteMan;
|
DateTime HDeleteDate = mainList[0].HDeleteDate;
|
string HMainSourceBillType = mainList[0].HMainSourceBillType;
|
long HMainSourceInterID = mainList[0].HMainSourceInterID;
|
long HMainSourceEntryID = mainList[0].HMainSourceEntryID;
|
string HMainSourceBillNo = mainList[0].HMainSourceBillNo;
|
double HPrintQty = mainList[0].HPrintQty;
|
long HICMOInterID = mainList[0].HICMOInterID;
|
string HICMOBillNo = mainList[0].HICMOBillNo;
|
long HProExchInterID = mainList[0].HProcExchInterID;
|
long HProExchEntryID = mainList[0].HProcExchEntryID;
|
string HProExchBillNo = mainList[0].HProcExchBillNo;
|
long HMaterID = mainList[0].HMaterID;
|
long HProcID = mainList[0].HProcID;
|
long HSourceID = mainList[0].HSourceID;
|
long HEmpID = mainList[0].HEmpID;
|
double HInStockQty = mainList[0].HInStockQty;
|
double HCheckQty = mainList[0].HCheckQty;
|
double HRightQty = mainList[0].HRightQty;
|
double HBadQty = mainList[0].HBadQty;
|
long HFirstCheckEmp = mainList[0].HFirstCheckEmp;
|
string HCheckerResult = mainList[0].HCheckerResult;
|
string HBarcode = mainList[0].HBarcode;
|
string HLBatchNo = mainList[0].HLBatchNo;
|
long HCusID = mainList[0].HCusID;
|
string HSortBillNo = mainList[0].HSortBillNo;
|
string HConTrctBatchNo = mainList[0].HContrctBatchNo;
|
long HProdAreaID = mainList[0].HProdAreaID;
|
long HProdTypeID = mainList[0].HProdTypeID;
|
string HProdStoveNo = mainList[0].HProdStoveNo;
|
long HRecipeID = mainList[0].HRecipeID;
|
double HDiameter1 = mainList[0].HDiameter1;
|
double HDiameter2 = mainList[0].HDiameter2;
|
long HRoutingInterID = mainList[0].HRoutingInterID;
|
long HPackTypeID = mainList[0].HPackTypeID;
|
long HDrawingDireID = mainList[0].HDrawingDireID;
|
|
|
|
//若MAINDI重复则重新获取
|
oCN.BeginTran();
|
//主表
|
oCN.RunProc("Update QC_ProcessCheckBillMain set " +
|
"HMaterID=" + HMaterID +
|
",HSourceID=" + HSourceID +
|
",HEmpID=" + HEmpID +
|
",HInStockQty=" + HInStockQty +
|
",HCheckQty=" + HCheckQty +
|
",HRightQty=" + HRightQty +
|
",HBadQty=" + HBadQty +
|
",HCusID=" + HCusID +
|
",HRemark= '" + HRemark + "' Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
//修改子项目代码
|
//oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
|
//将上级 为非末级
|
//oCN.RunProc("Update Gy_Department set HEndflag=0 where HItemID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
//
|
oCN.Commit();
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "修改单据成功!";
|
//objJsonResult.data = null;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.Message;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
|
/// <summary>
|
/// 工序检验单列表删除按钮
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("QC_ProcessCheckBill/Delete_Json")]
|
[HttpGet]
|
public object Delete_Json(long HItemID,string user)
|
{
|
DAL.ClsQC_ProcessCheckBill BillOld = new DAL.ClsQC_ProcessCheckBill();
|
try
|
{
|
//查看权限
|
if (!DBUtility.ClsPub.Security_Log("QC_ProcessCheckBill_Delete", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无删除权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
var s = "";
|
if (BillOld.ShowBill(long.Parse(HItemID.ToString()), ref s) == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据有误!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
//判断是否可删除
|
if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据已经被审核,不允许删除!";
|
objJsonResult.data = 1;
|
return objJsonResult;
|
}
|
|
var ds = oCN.RunProcReturn("select * from QC_ProcessCheckBillMain where HInterID=" + HItemID, "QC_ProcessCheckBillMain");
|
//删除前控制
|
DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_BeforeDelCtrl " + HItemID.ToString() + ",'" + user + "'", "h_p_QC_ProcessCheckBill_BeforeDelCtrl");
|
if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除前判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
if (BillOld.DeleteBill(HItemID, ds.Tables[0].Rows[0]["HBillNo"].ToString(), "h_p_QC_ProcessCheckBill_AfterDelCtrl", user, ref ClsPub.sExeReturnInfo) != true)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "删除成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "删除成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region 返回检验值列表
|
[Route("QC_ValueTable_ProcessCheck/getValueList")]
|
[HttpGet]
|
public object getValueList(Int64 HInterID, Int64 HEntryID, string user)
|
{
|
DataSet ds;
|
try
|
{
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
|
ds = oCN.RunProcReturn("select * from QC_ProcessCheckBillSub_ValueGrid where HInterID=" + HInterID + " and HEntryID=" + HEntryID, "QC_ProcessCheckBillSub_ValueGrid");
|
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有查询到数据!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回任何记录!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 末件检验单根据源单类型获取信息-源单为工序出站单
|
[Route("QC_ProcessCheckBill/get_StationOutBill")]
|
[HttpGet]
|
public object get_StationOutBill(string HInterID, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工序','" + HInterID + "'";
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'物料','" + HInterID + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工艺路线','" + HInterID + "'";
|
break;
|
}
|
|
}
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为生产状态临时表(3722)
|
/// <summary>
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("QC_ProcessCheckBill/get_ICMOBillStatus_Tmp")]
|
[HttpGet]
|
public object get_ICMOBillStatus_Tmp(int HInterID, int HEntryID, string HBillType)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'工序'," + HInterID + "," + HEntryID + "," + HBillType;
|
break;
|
case "物料":
|
sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'物料'," + HInterID + "," + HEntryID + "," + HBillType;
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_GetInfoByICMOStatusBill " + "'工艺路线'," + HInterID + "," + HEntryID + "," + HBillType;
|
break;
|
}
|
|
}
|
ds = oCN.RunProcReturn(sql, "h_p_QC_GetInfoByICMOStatusBill");
|
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
|
}
|
else
|
{
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
}
|
|
//if (HInterID == 0 || HBillType.Equals(""))
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "参数不全,获取源单信息失败!HInterID:" + HInterID + ";HEntryID:" + HEntryID + ";HBillType:" + HBillType + ";";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
//else
|
//{
|
// ds = oCN.RunProcReturn("exec h_p_QC_GetInfoByICMOStatusBill " + HInterID + "," + HEntryID + "," + HBillType, "h_p_QC_GetInfoByICMOStatusBill");
|
//}
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "返回记录成功!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为生产订单
|
[Route("QC_ProcessCheckBill/get_ICMOBill")]
|
[HttpGet]
|
public object get_ICMOBill(string HICMOInterID, string HICMOEntryID, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOBillList " + "'物料','" + HICMOInterID + "','" + HICMOEntryID + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheckB_GetICMOBillList " + "'工艺路线','" + HICMOInterID + "','" + HICMOEntryID + "'";
|
break;
|
}
|
|
}
|
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheckB_GetICMOBillList");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为生产订单 通过单据号带出
|
[Route("QC_ProcessCheckBill/get_ICMOBill_ByBillNo")]
|
[HttpGet]
|
public object get_ICMOBill_ByBillNo(string HBillNo, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOBillList_ByBillNo " + "'物料','" + HBillNo + "'";
|
break;
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOBillList_ByBillNo " + "'工序','" + HBillNo + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOBillList_ByBillNo " + "'工艺路线','" + HBillNo + "'";
|
break;
|
}
|
|
}
|
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOBillList_ByBillNo");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为工序进站单
|
[Route("QC_ProcessCheckBill/get_StationInBill")]
|
[HttpGet]
|
public object get_StationInBill(string HInterID, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList " + "'工序','" + HInterID + "'";
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList " + "'物料','" + HInterID + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList " + "'工艺路线','" + HInterID + "'";
|
break;
|
}
|
|
}
|
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationInBillList");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单根据源单类型获取信息-源单为工序进站单 通过单据号获取
|
[Route("QC_ProcessCheckBill/get_StationInBill_ByHBillNo")]
|
[HttpGet]
|
public object get_StationInBill_ByHBillNo(string HBillNo, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
|
string sReturn = "";
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sReturn))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList_ByHBillNo " + "'工序','" + HBillNo + "'";
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList_ByHBillNo " + "'物料','" + HBillNo + "'";
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetStationInBillList_ByHBillNo " + "'工艺路线','" + HBillNo + "'";
|
break;
|
}
|
|
}
|
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationInBillList_ByHBillNo");
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 多级审核
|
#region 工序检验单驳回
|
[Route("QC_ProcessCheckBill/RejectCheckFlow")]
|
[HttpGet]
|
public object RejectCheckFlow(string HInterID, string CurUserID)
|
{
|
try
|
{
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换
|
DAL.ClsQC_ProcessCheckBill oBill = new DAL.ClsQC_ProcessCheckBill(); //实例化单据操作类,用于进行相关操作
|
//获取系统参数判断工序检验单是否启用多级审批禁用
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.QC_ProcessCheckBill_EnableMultiLevel.ToUpper() == "N") //系统参数 未启用自动审核
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "工序检验单未启用多级审批禁用";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据
|
{
|
if (oBill.omodel.HBillStatus != 6)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "单据未在审核中不能驳回";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//发起驳回
|
if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo, CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "驳回成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "驳回失败失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单 发起审批
|
[Route("QC_ProcessCheckBill/StartCheckFlow")]
|
[HttpGet]
|
public object StartCheckFlow(int HInterID, string CurUserName)
|
{
|
DBUtility.ClsPub.CurUserName = CurUserName;
|
try
|
{
|
////审核权限
|
//if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "审核失败!无权限!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
//获取系统参数判断工序检验单是否启用多级审批禁用
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.QC_ProcessCheckBill_EnableMultiLevel.ToUpper() == "N") //系统参数 未启用自动审核
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "工序检验单未启用多级审批禁用";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//HInterID数据判断
|
if (HInterID <= 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "HInterID小于0!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换
|
DAL.ClsQC_ProcessCheckBill oBill = new DAL.ClsQC_ProcessCheckBill(); //实例化单据操作类,用于进行相关操作
|
|
//发起审批
|
if (oBill.startCheckFlow(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "发起审批成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "发起审批失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "发起审批失败失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序检验单 多级 审核/反审核
|
/// <summary>
|
/// </summary>
|
/// <param name="HInterID">单据ID</param>
|
/// <param name="IsAudit">审核(0),反审核(1)</param>
|
/// <param name="CurUserName">审核人</param>
|
/// <returns></returns>
|
[Route("QC_ProcessCheckBill/AuditFlow")]
|
[HttpGet]
|
public object AuditQC_ProcessCheckBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID)
|
{
|
//string ModRightNameCheck = "QC_ProcessCheckBill_Check";
|
DBUtility.ClsPub.CurUserName = CurUserName;
|
try
|
{
|
////审核权限
|
//if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "审核失败!无权限!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
//获取系统参数判断工序检验单是否启用多级审批禁用
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.QC_ProcessCheckBill_EnableMultiLevel.ToUpper() == "N") //系统参数 未启用自动审核
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "工序检验单未启用多级审批禁用";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//HInterID数据判断
|
if (HInterID <= 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "HInterID小于0!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换
|
DAL.ClsQC_ProcessCheckBill oBill = new DAL.ClsQC_ProcessCheckBill(); //实例化单据操作类,用于进行相关操作
|
|
//针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作
|
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据
|
{
|
if (oBill.omodel.HCloseMan.Trim() != "")
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "单据已关闭!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (oBill.omodel.HDeleteMan.Trim() != "")
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "单据已作废!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (IsAudit == TypeConstant.AUDIT) //审核判断
|
{
|
//判断是否已经发起审批
|
string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'";
|
DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
|
if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "审核失败!原因:单据未发起审批!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//判断单据当前状态
|
if (oBill.omodel.HChecker.Trim() != "")
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "审核失败!原因:单据已完成审核!不能继续审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核判断
|
{
|
//判断是否存在审核过的项目
|
string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''";
|
DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
|
if (ds0 != null && ds0.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "反审核失败!原因:单据不存在已经审核的项目!!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
oCN.BeginTran();
|
//进行需要进行的审核/反审核操作
|
if (IsAudit == TypeConstant.AUDIT) //审核提交
|
{
|
#region 审核前的相关判断
|
//审核前控制=========================================
|
//string sql1 = "exec h_p_QC_ProcessCheckBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
|
//ds = oCN.RunProcReturn(sql1, "h_p_QC_ProcessCheckBill_BeforeCheckCtrl");
|
//if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
//if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
//==================================================================================
|
|
//进行 会计期间 结账 的判断和控制
|
string s = "";
|
int sYear = 0;
|
int sPeriod = 0;
|
DateTime HDate = DateTime.Now;
|
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
|
{
|
objJsonResult.Message = s;
|
return objJsonResult;
|
}
|
#endregion
|
|
//获取当前审核项目
|
string sql0 = "select * from " + oBill.MvarItemKey + " where HInterID = " + lngBillKey;
|
DataSet ds0 = oCN.RunProcReturn(sql0, oBill.MvarItemKey);
|
string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //审批流内码
|
string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString(); //当前审批项目内码
|
string HCheckItemNextID = ds0.Tables[0].Rows[0]["HCheckItemNextID"].ToString(); //待审批项目内码
|
|
//判断用户是否有权限 审批 当前审批流的审批项目
|
//string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
|
string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
|
DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
|
if (ds01.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "审核失败!原因:用户无当前审核项目的审核权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//更新 单据审批状态表 中对应审核项目的审核状态
|
string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
|
oCN.RunProc(sql02);
|
|
//判断当前审核项目是否是最后一个项目,如果是,审核后反写单据的单据状态。如果不是,获取下一个审核项目并更新到销售订单主表
|
if (HCheckItemNextID != "0") //刚刚审核的审核项目不是最后一个审核项目
|
{
|
string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
|
"inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
|
"where a.HBillTypeID = '" + oBill.BillType + "' " +
|
"and a.HInterID = " + HCheckFlowID + " " +
|
"order by b.HFlowNo asc";
|
DataSet ds03 = oCN.RunProcReturn(sql03, "Xt_CheckFlowMain");
|
|
//获取新的当前审核项目和待审核项目
|
for (int i = 0; i < ds03.Tables[0].Rows.Count; i++)
|
{
|
if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID)
|
{
|
HCheckItemNowID = HCheckItemNextID;
|
}
|
else if (HCheckItemNowID == HCheckItemNextID)
|
{
|
HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString();
|
break;
|
}
|
}
|
//新的当前审核项目为最后一个审核项目,待审核项目不存在,设为默认值"0"
|
if (HCheckItemNowID == HCheckItemNextID)
|
{
|
HCheckItemNextID = "0";
|
}
|
|
//更新单据主表的审批流数据
|
string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
|
oCN.RunProc(sql04);
|
|
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "审核成功";
|
objJsonResult.data = null;
|
}
|
else //刚刚审核的审核项目是最后一个审核项目
|
{
|
//更新单据主表的审批流数据
|
HCheckItemNowID = "0";
|
HCheckItemNextID = "0";
|
|
string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
|
oCN.RunProc(sql04);
|
|
//更新单据的单据状态
|
if (oBill.CheckBill(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_QC_ProcessCheckBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "审核成功";
|
objJsonResult.data = null;
|
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
|
oCN.RollBack();
|
return objJsonResult;
|
}
|
}
|
}
|
if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核提交
|
{
|
#region 反审核前的相关判断
|
//反审核前控制=========================================
|
//DataSet ds = oCN.RunProcReturn("Exec h_p_QC_ProcessCheckBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_QC_ProcessCheckBill_BeforeUnCheckCtrl");
|
//if (ds == null)
|
//{
|
// objJsonResult.code = CodeConstant.FAIL;
|
// objJsonResult.count = CountConstant.FAIL;
|
// objJsonResult.Message = "反审核失败!原因:" + "反审核前判断失败!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
//if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
|
//{
|
// objJsonResult.code = CodeConstant.FAIL;
|
// objJsonResult.count = CountConstant.FAIL;
|
// objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
//=========================================================
|
|
//进行 会计期间 结账 的判断和控制
|
string s = "";
|
int sYear = 0;
|
int sPeriod = 0;
|
DateTime HDate = DateTime.Now;
|
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
|
{
|
objJsonResult.Message = s;
|
return objJsonResult;
|
}
|
#endregion
|
|
//获取需要反审核的审核项目
|
string sql0 = "select c.* from Xt_CheckFlowMain as a " +
|
"inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
|
"inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " +
|
"where c.HBillTypeID = '" + oBill.BillType + "' and c.HBillInterID = " + lngBillKey + " " +
|
"order by b.HFlowNo asc";
|
DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
|
if (ds0 == null || ds0.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "反审核失败!原因:未发起审批!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //审批流内码
|
string HCheckItemNowID = "0"; //当前审批项目内码
|
string HCheckItemNextID = "0"; //待审批项目内码
|
if (oBill.omodel.HBillStatus == 6)
|
{
|
for (int i = 0; i < ds0.Tables[0].Rows.Count; i++)
|
{
|
if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "")
|
{
|
HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
|
HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
|
}
|
else
|
{
|
HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString();
|
break;
|
}
|
}
|
if (HCheckItemNowID == HCheckItemNextID)
|
{
|
HCheckItemNextID = "0";
|
}
|
}
|
else
|
{
|
HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString();
|
HCheckItemNextID = "0";
|
}
|
|
//判断用户是否有权限 审批 当前审批流的审批项目
|
//string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1";
|
string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + "";
|
DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight");
|
if (ds01.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "反审核失败!原因:用户无当前审核项目的审核权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
//更新 单据审批状态表 中对应审核项目的审核状态
|
string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID;
|
oCN.RunProc(sql02);
|
|
//判断反审核的单据是否已经审核完成,若审核完成,反审核需要变更单据状态。
|
if (oBill.omodel.HBillStatus == 6)
|
{
|
//更新单据主表的审批流数据
|
string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
|
oCN.RunProc(sql04);
|
|
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "审核成功";
|
objJsonResult.data = null;
|
}
|
else
|
{
|
|
//反审核提交AbandonCheck
|
if (oBill.AbandonCheck(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
|
{
|
//更新单据主表的审批流数据
|
string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + ",HBillStatus=6 " + " where HInterID = " + lngBillKey;
|
oCN.RunProc(sql04);
|
objJsonResult.code = CodeConstant.SUCCEED;
|
objJsonResult.count = CountConstant.SUCCEED;
|
objJsonResult.Message = "反审核成功";
|
objJsonResult.data = null;
|
}
|
else
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
|
oCN.RollBack();
|
return objJsonResult;
|
}
|
}
|
}
|
|
oCN.Commit();
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = CodeConstant.FAIL;
|
objJsonResult.count = CountConstant.FAIL;
|
objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
|
objJsonResult.data = null;
|
|
oCN.RollBack();
|
return objJsonResult;
|
}
|
}
|
#endregion
|
#endregion
|
|
}
|
}
|