using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections.Generic;
using System.Data;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class Sb_EquipMaintainBillController : ApiController
{
private json objJsonResult = new json();
public DataSet ds = new DataSet();
public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更)
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
public DAL.ClsSb_EquipDotCheckBill BillNew = new DAL.ClsSb_EquipDotCheckBill(); //对应单据类
public DAL.ClsSb_EquipDotCheckBill BillOld = new DAL.ClsSb_EquipDotCheckBill(); //对应单据类
public DAL.ClsSb_EquipMaintainBill BillOld2 = new DAL.ClsSb_EquipMaintainBill(); //设备保养记录单
#region 设备保养计划表
///
/// 设备保养计划表列表 list列表数据加载
///
///
[Route("Sb_EquipMaintainBill/GetEquipMaintainBillList")]
[HttpGet]
public object GetEquipMaintainBillList(string sWhere,string user)
{
try
{
List columnNameList = new List();
if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainBillList", 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_Sc_EquipMaintain " + sWhere + " order by hmainid desc", "h_v_Sc_EquipMaintain");
}
else
{
string sql1 = "select * from h_v_Sc_EquipMaintain where 1 = 1";
string sql = sql1 + sWhere + " order by hmainid desc";
ds = oCN.RunProcReturn(sql, "h_v_Sc_EquipMaintain");
}
//添加列名
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 || ds != null)
//{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess!";
objJsonResult.data = ds.Tables[0];
objJsonResult.list = columnNameList;
return objJsonResult;
//}
//else
//{
//objJsonResult.code = "0";
//objJsonResult.count = 0;
//objJsonResult.Message = "无数据";
//objJsonResult.data = null;
//return objJsonResult;
//}
}
catch (Exception ex)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#region 设备保养记录统计分析
///
/// 返回设备保养记录统计分析 列表
///参数:string sql。
///返回值:object。
///
[Route("Sb_EquipMaintainReport/Statistics")]
[HttpGet]
public object Statistics(string DateYear, string HType, string user)
{
try
{
List columnNameList = new List();
if (DateYear == null || DateYear.Equals(""))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "请选择有效年份";
return objJsonResult;
}
else
{
ds = oCN.RunProcReturn("exec h_p_Sb_EquipMaintainBillReport '" + DateYear + "','" + HType + "'", "h_p_Sb_EquipMaintainBillReport");
}
//添加列名
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 = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region 设备负荷分析表
[Route("Sb_EquipMaintainReport/Sb_EquipmentLoadReportList")]
[HttpGet]
public object Sb_EquipmentLoadReportList(string HDeptID, string HWorkCenterID, string user)
{
try
{
List columnNameList = new List();
ds = oCN.RunProcReturn("exec h_p_Sb_EquipmentLoadReportListt '" + HDeptID + "','" + HWorkCenterID + "'", "h_p_Sb_EquipmentLoadReportListt");
//添加列名
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;
objJsonResult.list = columnNameList;
return objJsonResult;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region sql语句
public static DataSet Sb_EquipMaintainBillList_s(string sWhere)
{
return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sb_EquipMaintainBillList ", "h_v_Sb_EquipMaintainBillList");
}
#endregion
#region 设备保养计划表 保存/编辑
///
/// 保存模具维修单
///
///
///
[Route("Sb_EquipMaintainBill/SaveEquipMaintainBillList")]
[HttpPost]
public object SaveEquipMaintainBillList([FromBody] JObject msg)
{
var _value = msg["msg"].ToString();
string msg1 = _value.ToString();
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
string msg4 = sArray[2].ToString();
string msg5 = sArray[3].ToString();
string UserName = "";
ListModels oListModels = new ListModels();
try
{
if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainBill_Edit", 1, false, msg5))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无保存权限!";
objJsonResult.data = null;
return objJsonResult;
}
DAL.ClsSb_EquipMaintainBill oBill = new DAL.ClsSb_EquipMaintainBill();
List lsmain = new List();
msg2 = msg2.Replace("\\", "");
msg2 = msg2.Replace("\n", ""); //\n
lsmain = oListModels.getObjectByJson_Sb_EquipMaintainBillMain(msg2);
foreach (Model.ClsSb_EquipMaintainBillMain oItem in lsmain)
{
//oItem.HMaker = "";
UserName = oItem.HMaker; //制单人
oItem.HBillType = "3901";
oItem.HBillSubType = "3901";
//oItem.HInterID =0;
//oItem.HBillNo = "";
oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));// --日期
oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
//oItem.HMakeDate = "";
//oItem.HYear = "";
//oItem.HPeriod = "";
//oItem.HRemark = "";
//oItem.HCycleUnit = "";
//oItem.HCheckCycle = "";
//oItem.HBeginDate = "";
//oItem.HEndDate = "";
//oItem.HInnerBillNo = "";
//oItem.HExplanation = "";
//oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
objJsonResult.data = 1;
return objJsonResult;
}
oBill.omodel = oItem;
}
//保养项表体数据
//按 },{来拆分数组 //去掉【和】
msg3 = msg3.Substring(1, msg3.Length - 2);
msg3 = msg3.Replace("\\", "");
msg3 = msg3.Replace("\n", ""); //\n
//msg2 = msg2.Replace("'", "’");
List ls = new List();
ls = oListModels.getObjectByJson_Sc_EquipMaintainBillSub_Item(msg3);
int i = 0;
foreach (Model.ClsSc_EquipMaintainBillSub_Item item in ls)
{
i++;
item.HEntryID = i;
//oItemSub.HCloseMan = ""; //行关闭
item.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
item.HCloseType = false; //关闭类型
//oItemSub.HRemark = ""; //备注
item.HSourceInterID = 0; // 源单主内码
item.HSourceEntryID = 0; //源单子内码
//oItemSub.HSourceBillNo = ""; //源单单号
//oItemSub.HSourceBillType = ""; //源单类型
item.HRelationQty = 0; //关联数量
oBill.DetailCol.Add(item);
}
//配件表体数据
//按 },{来拆分数组 //去掉【和】
msg4 = msg4.Substring(1, msg4.Length - 2);
msg4 = msg4.Replace("\\", "");
msg4 = msg4.Replace("\n", ""); //\n
//msg2 = msg2.Replace("'", "’");
List ls1 = new List();
ls1 = oListModels.getObjectByJson_Sb_EquipMaintainBillSub(msg4);
int j = 0;
foreach (Model.ClsSb_EquipMaintainBillSub oItemSub in ls1)
{
j++;
oItemSub.HEntryID = i;
//oItemSub.HCloseMan = ""; //行关闭
oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
oItemSub.HCloseType = false; //关闭类型
//oItemSub.HRemark = ""; //备注
oItemSub.HSourceInterID = 0; // 源单主内码
oItemSub.HSourceEntryID = 0; //源单子内码
//oItemSub.HSourceBillNo = ""; //源单单号
//oItemSub.HSourceBillType = ""; //源单类型
oItemSub.HRelationQty = 0; //关联数量
//oItemSub.HRelationMoney = 0; //关联金额
//HMaterID = "";//配件代码
//HUnitID = "";//单位代码
//HQty = "";//实际用量
//HQtyMust = "";//单位用量
//HRemark = "";//备注
oBill.DetailColl.Add(oItemSub);
}
//保存
//保存完毕后处理
bool bResult;
if (oBill.omodel.HInterID == 0)
{
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
}
else
{
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
}
if (bResult)
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "保存成功!";
//WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
objJsonResult.data = 1;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = 1;
return objJsonResult;
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + e.ToString();
objJsonResult.data = 1;
return objJsonResult;
}
}
#endregion
#region [设备保养计划表删除功能]
///
/// 模具维修单删除功能
///
///
[Route("Sb_EquipMaintainBill/DeltetEquipMaintainBillList")]
[HttpGet]
public object DeltetEquipMaintainBillList(string HInterID,string user)
{
//编辑权限
if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainBill_Delete", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无删除权限!";
objJsonResult.data = null;
return objJsonResult;
}
Int64 lngBillKey = 0;
lngBillKey = DBUtility.ClsPub.isLong(HInterID);
if (lngBillKey == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据ID为空!";
objJsonResult.data = null;
return objJsonResult;
}
DAL.ClsSb_EquipMaintainBill oBill = new DAL.ClsSb_EquipMaintainBill();
if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
{
if (oBill.omodel.HBillStatus > 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
objJsonResult.data = null;
return objJsonResult;
}
if (oBill.omodel.HChecker != "")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据已经审核,不能删除!";
objJsonResult.data = null;
return objJsonResult;
}
//删除前控制
DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Sb_EquipMaintainBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Sb_EquipMaintainBill_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;
}
}
bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Sb_EquipMaintainBill_AfterDelCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo);
if (IsDete)
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据未找到";
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#region[设备保养计划表编辑时获取表头数据]
[Route("Sb_EquipMaintainBill/Sb_EquipMaintainBillListCheckDetai")]
[HttpGet]
public ApiResult Sb_EquipMaintainBillListCheckDetai(string HID)
{
if (string.IsNullOrEmpty(HID))
return new ApiResult { code = -1, msg = "ID不能为空" };
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipMaintainBillList where hmainid= " + HID + " ", "h_v_Sb_EquipMaintainBillList");
if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
return new ApiResult { code = -1, msg = "不存在设备保养记录表" };
return new ApiResult { code = 1, msg = "查询成功", data = dataSet };
}
#endregion
#region[设备保养计划表编辑时获取表体数据(保养子表、配件子表)]
[Route("Sb_EquipMaintainBill/Sb_EquipMaintainBillListProjectDetai")]
[HttpGet]
public object Sb_EquipMaintainBillListProjectDetai(string HInterID)
{
DataSet ds, ds1;
List list = new List();
string Swhere = "";
try
{
if (HInterID != "" || HInterID != null)
{
Swhere = " and hmainid='" + HInterID + "'";
}
else
{
Swhere = HInterID;
}
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
//获取保养项目编辑数据
string sql = "select HMaintainItemID, 保养项目代码 HMaintainItemNumber,保养项目名称 HMaintainItem,保养部位 HMaintainPart,具体要求 HClaim,HManagerID,负责人代码 HManagerNumber,负责人 HManagerName,表体备注 HRemark from h_v_Sb_EquipMaintainBillSub_Item where 1 = 1 " + Swhere + "";
ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainBillSub_Item");
//获取配件项目编辑数据
string sql1 = "select HMaterID, 配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,单位代码 HUnitNumber,单位名称 HUnitName,实际用量 HQty,标准用量 HQtyMust,表体备注 HRemark,负责人ID HManagerID,负责人代码 HManagerNumber,负责人 HManagerName from h_v_Sb_EquipMaintainBillList where 1 = 1 " + Swhere + "";
ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainBillList");
list.Add(ds.Tables[0]);
list.Add(ds1.Tables[0]);
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "获取信息成功!";
objJsonResult.list = list;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!" + e.ToString();
objJsonResult.data = null;
}
return objJsonResult;
}
#endregion
#region[设备保养记录表编辑时获取表体数据新(保养项列表、配件项列表)]
[Route("Sb_EquipMaintainBill/Sb_EquipMaintainBillListProjectDetaiNew")]
[HttpGet]
public object Sb_EquipMaintainBillListProjectDetaiNew(string HInterID)
{
DataSet ds, ds1;
List list = new List();
string Swhere = "";
try
{
if (HInterID != "" || HInterID != null)
{
Swhere = " and hmainid='" + HInterID + "'";
}
else
{
Swhere = HInterID;
}
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
//获取保养项目编辑数据
string sql = "select 保养项目ID HMaintainItemID, 保养项目代码 HMaintainItemNumber,保养项目名称 HMaintainItem,保养部位 HMaintainPart,具体要求 HClaim,HManagerID,负责人代码 HManagerNumber,负责人 HManagerName,表体备注 HRemark,保养结果 HMaintainResult from h_v_Sb_EquipMaintainBillSub_Item where 1 = 1 " + Swhere + "";
ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainBillSub_Item");
//获取配件项目编辑数据
string sql1 = "select HMaterID, 配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,单位代码 HUnitNumber,单位名称 HUnitName,实际用量 HQty,标准用量 HQtyMust,表体备注 HRemark,负责人ID HManagerID,负责人代码 HManagerNumber,负责人 HManagerName from h_v_Sb_EquipMaintainBillList where 1 = 1 " + Swhere + "";
ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainBillList");
list.Add(ds.Tables[0]);
list.Add(ds1.Tables[0]);
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "获取信息成功!";
objJsonResult.list = list;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "没有返回任何记录!" + e.ToString();
objJsonResult.data = null;
}
return objJsonResult;
}
#endregion
#endregion
#region 设备保养记录单PDA
#region 根据设备条码查找设备档案信息PDA
[Route("Sb_PDA_EquipMaintainBill/txtHBarCode_KeyDown")]
[HttpGet]
public object txtHBarCode_KeyDown(string HBarCode)
{
try
{
if (HBarCode == null || HBarCode.Equals(""))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "条形码不能为空!";
objJsonResult.data = null;
return objJsonResult;
}
//得到信息
ds = oCN.RunProcReturn("select top 1 * from Gy_EquipFileBillMain where HEquipFileNumber= '" + HBarCode + "'", "Gy_EquipFileBillMain");
//写入信息
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "未查询到设备信息!";
objJsonResult.data = null;
return objJsonResult;
}
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 设备保养记录提交PDA
[Route("Sb_PDA_EquipMaintainBill/SaveGetEquipMaintainBillList")]
[HttpPost]
public object SaveGetEquipMaintainBillList([FromBody] JObject msg)
{
var _value = msg["msg"].ToString();
string msg1 = _value.ToString();
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
string UserName = "";
ListModels oListModels = new ListModels();
try
{
DAL.ClsSb_EquipMaintainBill oBill = new DAL.ClsSb_EquipMaintainBill();
List lsmain = new List();
msg2 = msg2.Replace("\\", "");
msg2 = msg2.Replace("\n", ""); //\n
lsmain = oListModels.getObjectByJson_Sb_EquipMaintainBillMain(msg2);
foreach (Model.ClsSb_EquipMaintainBillMain oItem in lsmain)
{
//oItem.HMaker = "";
UserName = oItem.HMaker; //制单人
oItem.HBillType = "3901";
oItem.HBillSubType = "3901";
//oItem.HInterID =0;
//oItem.HBillNo = "";
oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));// --日期
oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
//oItem.HMakeDate = "";
//oItem.HYear = "";
//oItem.HPeriod = "";
//oItem.HRemark = "";
//oItem.HCycleUnit = "";
//oItem.HCheckCycle = "";
//oItem.HBeginDate = "";
//oItem.HEndDate = "";
//oItem.HInnerBillNo = "";
//oItem.HExplanation = "";
//oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
objJsonResult.data = 1;
return objJsonResult;
}
oBill.omodel = oItem;
}
//保养项表体数据
//按 },{来拆分数组 //去掉【和】
msg3 = msg3.Substring(1, msg3.Length - 2);
msg3 = msg3.Replace("\\", "");
msg3 = msg3.Replace("\n", ""); //\n
//msg2 = msg2.Replace("'", "’");
List ls = new List();
ls = oListModels.getObjectByJson_Sc_EquipMaintainBillSub_Item(msg3);
int i = 0;
foreach (Model.ClsSc_EquipMaintainBillSub_Item item in ls)
{
i++;
item.HEntryID = i;
//oItemSub.HCloseMan = ""; //行关闭
item.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
item.HCloseType = false; //关闭类型
//oItemSub.HRemark = ""; //备注
//item.HSourceInterID = 0; // 源单主内码
//item.HSourceEntryID = 0; //源单子内码
//oItemSub.HSourceBillNo = ""; //源单单号
//oItemSub.HSourceBillType = ""; //源单类型
item.HRelationQty = 0; //关联数量
oBill.DetailCol.Add(item);
}
//保存
//保存完毕后处理
bool bResult;
if (oBill.omodel.HInterID == 0)
{
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
}
else
{
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
}
if (bResult)
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "保存成功!";
//WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
objJsonResult.data = 1;
return objJsonResult;
}
else
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
objJsonResult.data = 1;
return objJsonResult;
}
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + e.ToString();
objJsonResult.data = 1;
return objJsonResult;
}
}
#endregion
#region 设备保养记录单审核/反审核功能
[Route("Sb_EquipMaintainBill/CheckSb_EquipMaintainBill")]
[HttpGet]
public object CheckSb_EquipMaintainBill(string HInterID, int Type, string user)
{
string sql = "";
try
{
//判断是否有删除权限
if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainBill_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;
}
ClsPub.CurUserName = user;
ds = oCN.RunProcReturn("select * from Sb_EquipMaintainBillMain where HInterID = " + int.Parse(HInterID), "Sb_EquipMaintainBillMain");
string HBillNo = "";
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据不存在!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
}
oCN.BeginTran();//开始事务
//Type 1 审核 2 反审核
if (Type == 1)
{
//审核前控制
sql = "exec h_p_Sb_EquipMaintainBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipMaintainBill_BeforeCheckCtrl");
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 (!BillOld2.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Sb_EquipMaintainBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
}
else
{
//反审核前控制
sql = "exec h_p_Sb_EquipMaintainBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipMaintainBill_BeforeUnCheckCtrl");
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 (BillOld2.AbandonCheck(int.Parse(HInterID), HBillNo, "h_p_Sb_EquipMaintainBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
}
else
{
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("Sb_EquipMaintainBill/CloseSb_EquipMaintainBill")]
[HttpGet]
public object CloseSb_EquipMaintainBill(string HInterID, int Type, string user)
{
try
{
//判断是否有删除权限
if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainBill_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;
}
ClsPub.CurUserName = user;
oCN.BeginTran();//开始事务
//Type 1 关闭 2 反关闭
if (Type == 1)
{
if (!BillOld2.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
{
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
objJsonResult.data = null;
return objJsonResult;
}
}
else
{
if (!BillOld2.CancelClose(int.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
#endregion
#region 设备保养逾期预警报表
[Route("Sb_EquipMaintainWarning/Report")]
[HttpGet]
public object Report(string HYear, string HEquipTypeID, string user)
{
try
{
List columnNameList = new List();
//if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
//{
// objJsonResult.code = "0";
// objJsonResult.count = 0;
// objJsonResult.Message = "没有查看权限";
// objJsonResult.data = null;
// return objJsonResult;
//}
if (HYear == null || HYear.Equals(""))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "请选择有效年份";
objJsonResult.data = "";
objJsonResult.list = columnNameList;
return objJsonResult;
}
else
{
string sql = "exec h_p_Sb_EquipMaintainWarningReport " + HYear + "," + HEquipTypeID;
ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipMaintainWarningReport");
}
//添加列名
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 = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
}
}