using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
using SyntacticSugar.constant;
using Newtonsoft.Json;
// 组托单/装箱单控制器
namespace WebAPI.Controllers.仓存管理
{
public class Sc_PackUnionBillMain_SettoPackingController : ApiController
{
private json objJsonResult = new json();
public DataSet ds = new DataSet();
public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
#region 获取组托单
///
/// 获取组托单 有分页
///
/// 组托单列表
[Route("Sc_PackUnionBillMain_SettoPackingController/get_PackUnionBill_SettoListPage")]
[HttpGet]
public object get_PackUnionBill_SettoListPage(string sWhere, string user, string page, string size)
{
try
{
List columnNameList = new List();
if (!DBUtility.ClsPub.Security_Log("Sc_PackUnionBillMain_SettoPacking_Query", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无查看权限!";
objJsonResult.data = null;
return objJsonResult;
}
string swhere = (" and 单据类型 = '组托单'" + sWhere).Replace("'", "''");
LogService.Write("exec h_p_Sc_PackUnionBillMain_SettoPackingListPage " + page + "," + size + ",N'" + swhere + "'");
ds = oCN.RunProcReturn("exec h_p_Sc_PackUnionBillMain_SettoPackingListPage " + page + "," + size + ",N'"+ swhere + "'", "h_p_Sc_PackUnionBillMain_SettoPackingListPage");
//添加列名
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 = CodeConstant.SUCCEED;
objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
objJsonResult.Message = "Sucess!";
objJsonResult.data = ds.Tables[0];
objJsonResult.list = columnNameList;
return objJsonResult;
}
catch (Exception ex)
{
objJsonResult.code = CodeConstant.FAIL;
objJsonResult.count = CountConstant.FAIL;
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region 获取装箱单
///
/// 获取装箱单 有分页
///
/// 装箱单列表
[Route("Sc_PackUnionBillMain_SettoPackingController/get_PackUnionBill_PackingListPage")]
[HttpGet]
public object get_PackUnionBill_PackingListPage(string sWhere, string user, string page, string size)
{
try
{
List columnNameList = new List();
if (!DBUtility.ClsPub.Security_Log("Sc_PackUnionBillMain_SettoPacking_Query", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无查看权限!";
objJsonResult.data = null;
return objJsonResult;
}
string swhere = (" and 单据类型 = '装箱单'" + sWhere).Replace("'", "''");
LogService.Write("exec h_p_Sc_PackUnionBillMain_SettoPackingListPage " + page + "," + size + ",N'" + swhere + "'");
ds = oCN.RunProcReturn("exec h_p_Sc_PackUnionBillMain_SettoPackingListPage " + page + "," + size + ",N'" + swhere + "'", "h_p_Sc_PackUnionBillMain_SettoPackingListPage");
//添加列名
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 = CodeConstant.SUCCEED;
objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
objJsonResult.Message = "Sucess!";
objJsonResult.data = ds.Tables[0];
objJsonResult.list = columnNameList;
return objJsonResult;
}
catch (Exception ex)
{
objJsonResult.code = CodeConstant.FAIL;
objJsonResult.count = CountConstant.FAIL;
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
[Route("Sc_PackUnionBillMain_SettoPackingController/AuditPackUnionBill_Packing")]
[HttpGet]
public object AuditPackUnionBill_Packing(string HInterID, string user, int Type)
{
try
{
//判断是否有审核权限
if (!DBUtility.ClsPub.Security_Log("Sc_PackUnionBillMain_SettoPacking_Check", 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;
}
oCN.BeginTran();//开始事务
ds = oCN.RunProcReturn("select top 1 HInterID,HChecker from Sc_PackUnionBillMain where HInterID=" + HInterID, "Sc_PackUnionBillMain");
if(ds.Tables.Count < 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据不存在!";
objJsonResult.data = null;
return objJsonResult;
}
if (Type == 1) //审核判断
{
if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[0]["HChecker"].ToString()) == false)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据已审核!不能再次审核!";
objJsonResult.data = null;
return objJsonResult;
}
}
if (Type == 2) //反审核判断
{
if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[0]["HChecker"].ToString()) == true)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据未审核!不需要反审核!";
objJsonResult.data = null;
return objJsonResult;
}
}
//Type 1 审核 2 反审核
if (Type == 1)
{
//审核前控制=========================================
ds = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_BeforeCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_BeforeCheckCtrl");
if (ds == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核前判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
oCN.RunProc("update Sc_PackUnionBillMain set HChecker=N'" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
//审核后控制=========================================
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_AfterCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_AfterCheckCtrl");
if (ds2 == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核后判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
}
else
{
//反审核前控制=========================================
ds = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_BeforeUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_BeforeUnCheckCtrl");
if (ds == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核前判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
oCN.RunProc("update Sc_PackUnionBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);
//反审核后控制=========================================
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_AfterUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_AfterUnCheckCtrl");
if (ds2 == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核后判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
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;
}
}
[Route("Sc_PackUnionBillMain_SettoPackingController/AuditPackUnionBill_Setto")]
[HttpGet]
public object AuditPackUnionBill_Setto(string HInterID, string user, int Type)
{
try
{
//判断是否有审核权限
if (!DBUtility.ClsPub.Security_Log("Sc_PackUnionBillMain_SettoPacking_Check", 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;
}
oCN.BeginTran();//开始事务
ds = oCN.RunProcReturn("select top 1 HInterID,HChecker from Sc_PackUnionBillMain where HInterID=" + HInterID, "Sc_PackUnionBillMain");
if (ds.Tables.Count < 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据不存在!";
objJsonResult.data = null;
return objJsonResult;
}
if (Type == 1) //审核判断
{
if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[0]["HChecker"].ToString()) == false)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据已审核!不能再次审核!";
objJsonResult.data = null;
return objJsonResult;
}
}
if (Type == 2) //反审核判断
{
if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[0]["HChecker"].ToString()) == true)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据未审核!不需要反审核!";
objJsonResult.data = null;
return objJsonResult;
}
}
//Type 1 审核 2 反审核
if (Type == 1)
{
//审核前控制=========================================
ds = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_BeforeCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_BeforeCheckCtrl");
if (ds == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核前判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
oCN.RunProc("update Sc_PackUnionBillMain set HChecker=N'" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
//审核后控制=========================================
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_AfterCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_AfterCheckCtrl");
if (ds2 == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核后判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
}
else
{
//反审核前控制=========================================
ds = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_BeforeUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_BeforeUnCheckCtrl");
if (ds == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核前判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
//=========================================================
oCN.RunProc("update Sc_PackUnionBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);
//反审核后控制=========================================
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_PackUnionBillMain_SettoPacking_AfterUnCheckCtrl " + HInterID + ",'" + user + "'", "h_p_Sc_PackUnionBillMain_SettoPacking_AfterUnCheckCtrl");
if (ds2 == null)
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核后判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
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;
}
}
}
}