using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Web;
|
using System.Web.Http;
|
using WebAPI.DLL;
|
using WebAPI.Models;
|
|
namespace WebAPI.Controllers.SBGL
|
{
|
public class Sb_EquipRepairSendWorkBillController : ApiController
|
{
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
|
ClsSb_EquipRepairSendWorkBillMain omodel = new ClsSb_EquipRepairSendWorkBillMain();
|
List<ClsSb_EquipRepairSendWorkBillSub> DetailColl = new List<ClsSb_EquipRepairSendWorkBillSub>();
|
ClsSb_EquipRepairSendWorkBill oBill = new ClsSb_EquipRepairSendWorkBill();
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
DataSet ds;
|
|
#region 设备维修派工单查询列表
|
[Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillList")]
|
[HttpGet]
|
public object GetEquipRepairSendWorkBillList(string sWhere,string user)
|
{
|
try
|
{
|
if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBillList", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查看权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
string sql = "select * from h_v_Sb_EquipRepairSendWorkBillList where 1=1 ";
|
if (sWhere == "" || sWhere == null)
|
{
|
ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
|
}
|
|
if (ds.Tables[0].Rows.Count == 0 || ds == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无记录";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = ds.Tables[0].Rows.Count;
|
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("Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill")]
|
[HttpPost]
|
public object AddBill([FromBody] JObject sMainSub)
|
{
|
var _value = sMainSub["sMainSub"].ToString();
|
string msg1 = _value.ToString();
|
oCN.BeginTran();
|
//保存主表
|
objJsonResult = AddBillMain(msg1);
|
if (objJsonResult.code == "0")
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = objJsonResult.Message;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oCN.Commit();
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "新增单据成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
public json AddBillMain(string msg1)
|
{
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
string msg3 = sArray[1].ToString();
|
|
int hentryid = int.Parse(sArray[2].ToString());//子表的顺序id
|
int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改
|
string msg4 = sArray[4].ToString();
|
try
|
{
|
if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Edit", 1, false, msg4))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无保存权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSb_EquipRepairSendWorkBillMain>(msg2);
|
string BillType = "3909";
|
|
|
if (OperationType == 1)//新增
|
{
|
//主表
|
oCN.RunProc("Insert Into Sb_EquipRepairSendWorkBillMain" +
|
"(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
|
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
|
",HEquipID,HExplanation,HInnerBillNo,HRepairID,HEmpID" +
|
",HManagerID,HDeptID,HRepairContent,HRepairPlanBeginDate,HRepairPlanEndDate" +
|
",HPlanTimes,HCycleUnit" +
|
") " +
|
" values('" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
|
", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
|
", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HRepairID.ToString() + "," + omodel.HEmpID.ToString() +
|
"," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HRepairContent + "','" + omodel.HRepairPlanBeginDate + "','" + omodel.HRepairPlanEndDate + "'" +
|
"," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "'" +
|
") ");
|
|
}
|
else if (OperationType == 3)
|
{
|
//修改
|
oCN.RunProc("UpDate Sb_EquipRepairSendWorkBillMain set " +
|
"HDate='" + omodel.HDate + "'" +
|
",HYear='" + omodel.HYear.ToString() + "'" +
|
",HPeriod='" + omodel.HPeriod.ToString() + "'" +
|
",HRemark='" + omodel.HRemark + "'" +
|
",HUpDater='" + omodel.HUpDater + "'" +
|
",HUpDateDate=getdate()" +
|
//=========================================
|
",HEquipID=" + omodel.HEquipID.ToString() +
|
",HRepairID=" + omodel.HRepairID.ToString() +
|
",HPlanTimes=" + omodel.HPlanTimes.ToString() +
|
",HEmpID=" + omodel.HEmpID.ToString() +
|
",HManagerID=" + omodel.HManagerID.ToString() +
|
",HDeptID=" + omodel.HDeptID.ToString() +
|
",HRepairPlanBeginDate='" + omodel.HRepairPlanBeginDate + "'" +
|
",HRepairPlanEndDate='" + omodel.HRepairPlanEndDate + "'" +
|
",HRepairContent='" + omodel.HRepairContent + "'" +
|
",HCycleUnit='" + omodel.HCycleUnit + "'" +
|
",HExplanation='" + omodel.HExplanation + "'" +
|
",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
|
" where HInterID=" + omodel.HInterID);
|
|
//删除子表
|
oCN.RunProc("delete from Sb_EquipRepairSendWorkBillSub where HInterID='" + omodel.HInterID + "' and HEntryID='" + hentryid + "'");
|
}
|
//保存子表
|
objJsonResult = AddBillSub(msg3, hentryid);
|
if (objJsonResult.code == "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = objJsonResult.Message;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = null;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
public json AddBillSub(string msg3, int hentryid)
|
{
|
DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSb_EquipRepairSendWorkBillSub>>(msg3);
|
int i = 1;
|
//插入子表
|
foreach (Models.ClsSb_EquipRepairSendWorkBillSub oSub in DetailColl)
|
{
|
oCN.RunProc("Insert into Sb_EquipRepairSendWorkBillSub " +
|
" (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
|
",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
|
",HRepairID,HManagerID,HRepairExplanation" +
|
") values("
|
+ omodel.HInterID.ToString() + "," + (hentryid == -1 ? i : hentryid) + ",'" + oSub.HCloseMan + "'," + oSub.HEntryCloseDate.ToShortDateString() + "," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
|
"," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
|
"," + oSub.HRepairID.ToString() + "," + oSub.HManagerID.ToString() + ",'" + oSub.HRepairExplanation + "'" +
|
") ");
|
i++;
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = null;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
#endregion
|
|
#region 设备维修派工单 删除
|
[Route("Sb_EquipRepairSendWorkBill/DeleteWorkBill")]
|
[HttpGet]
|
public object MouldDeleteBill(long HInterID, string User)
|
{
|
try
|
{
|
//判断权限
|
if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Delete", 1, false, User))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有删除权限";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
|
|
if (oBill.omodel.HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "单据当前已审核";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "删除成功";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "删除失败";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限删除";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 设备维修派工单 审核/反审核
|
[Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
|
[HttpGet]
|
public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
|
{
|
// string ModRightNameCheck = ""; 该模块的审核功能
|
DBUtility.ClsPub.CurUserName = CurUserName;//存储用户名
|
try
|
{
|
////判断是否有审核权限
|
// if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "审核失败!无权限!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
if (HInterID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "ID小于0";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
Int64 lngBillKey = 0;
|
lngBillKey = DBUtility.ClsPub.isLong(HInterID);//数据转换
|
|
//查询审核的数据
|
ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
|
|
if (ds.Tables[0].Rows.Count > 0)
|
{
|
var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//关闭人
|
var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//作废人
|
var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//审核人
|
|
if (hcloseman != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "当前单据已关闭,无法审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (hdeleteman != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "当前单据已作废,无法审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//IsAudit==0 审核
|
if (IsAudit == 0)
|
{
|
if (hchecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "当前单据已审核,无法再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//IsAudit==1 反审核
|
if (IsAudit == 1)
|
{
|
if (hchecker == "")
|
{
|
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 (IsAudit == 0)
|
{
|
if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//反审核提交
|
if (IsAudit == 1)
|
{
|
if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!";
|
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;
|
}
|
}
|
//审核
|
public bool CheckBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
string Hchecker = DBUtility.ClsPub.CurUserName;
|
|
oCN.BeginTran();//打开事务
|
oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'");
|
oCN.Commit();//关闭事务
|
sReturn = "审核成功!";
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
throw (e);
|
}
|
}
|
//反审核
|
public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
string Hchecker = DBUtility.ClsPub.CurUserName;
|
|
oCN.BeginTran();//打开事务
|
oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
|
oCN.Commit();//关闭事务
|
sReturn = "反审核单据成功!";
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
throw(e);
|
}
|
}
|
#endregion
|
}
|
}
|