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.Models; using WebAPI.DLL; using DBUtility; namespace WebAPI.Controllers { public class Sc_MouldRepairSendWorkBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; ClsSb_MouldRepairWorkBillMain omodel = new ClsSb_MouldRepairWorkBillMain(); List DetailColl = new List(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; DLL.ClsSb_MouldRepairWorkBill oBill = new DLL.ClsSb_MouldRepairWorkBill(); #region 器具维修派工单查询 [Route("Sc_MouldRepairSendWorkBill/GetMouldRepairSendWorkBillList")] [HttpGet] public object GetMouldRepairSendWorkBillList(string sWhere) { try { if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Sc_MouldRepairSendWorkBill ", "h_v_Sc_MouldRepairSendWorkBill"); } else { string sql1 = "select * from h_v_Sc_MouldRepairSendWorkBill where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldRepairSendWorkBill"); } 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 = "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("Sc_MouldRepairSendWorkBill/AddBill")] [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修改 try { omodel = Newtonsoft.Json.JsonConvert.DeserializeObject(msg2); string BillType = "3843"; if (OperationType == 1)//新增 { //主表 oCN.RunProc("Insert Into Sc_MouldRepairSendWorkBill " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HEquipID,HRepairID,HRepairBeginDate,HRepairEndDate,HRepairContent" + ",HCycleUnit,HPlanTimes,HTimes,HEmpID,HManagerID" + ",HDeptID,HExplanation,HInnerBillNo,HMouldID" + ",HSupID,HRepairType,HNewModel,HNewDesignLife,HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HBillStatus" + ") " + " 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.HRepairID.ToString() + ",'" + omodel.HRepairBeginDate + "','" + omodel.HRepairEndDate + "','" + omodel.HRepairContent + "'" + ",'" + omodel.HCycleUnit + "'," + omodel.HPlanTimes.ToString() + "," + omodel.HTimes.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HMouldID.ToString() + ", " + omodel.HSupID.ToString() + ",'" + omodel.HRepairType + "','" + omodel.HNewModel + "'," + omodel.HNewDesignLife.ToString() + ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",1) "); } else if (OperationType == 3) { //修改 oCN.RunProc("UpDate Sc_MouldRepairSendWorkBill set " + " HBillNo='" + omodel.HBillNo + "'" + //固定赋值=============== ",HDate='" + omodel.HDate + "'" + ",HYear='" + omodel.HYear.ToString() + "'" + ",HPeriod='" + omodel.HPeriod.ToString() + "'" + ",HRemark='" + omodel.HRemark + "'" + ",HUpDater='" + omodel.HUpDater + "'" + ",HUpDateDate=getdate()" + //======================================== ",HMouldID=" + omodel.HMouldID.ToString() + ",HEquipID=" + omodel.HEquipID.ToString() + ",HRepairID=" + omodel.HRepairID.ToString() + ",HEmpID=" + omodel.HEmpID.ToString() + ",HPlanTimes=" + omodel.HPlanTimes.ToString() + ",HTimes=" + omodel.HTimes.ToString() + ",HManagerID=" + omodel.HManagerID.ToString() + ",HDeptID=" + omodel.HDeptID.ToString() + ",HRepairBeginDate='" + omodel.HRepairBeginDate + "'" + ",HRepairEndDate='" + omodel.HRepairEndDate + "'" + ",HRepairContent='" + omodel.HRepairContent + "'" + ",HCycleUnit='" + omodel.HCycleUnit + "'" + ",HExplanation='" + omodel.HExplanation + "'" + ",HInnerBillNo='" + omodel.HInnerBillNo + "'" + ",HSupID=" + omodel.HSupID.ToString() + ",HRepairType='" + omodel.HRepairType + "'" + ",HNewModel='" + omodel.HNewModel + "'" + ",HMainSourceBillType='" + omodel.HMainSourceBillType + "'" + ",HMainSourceInterID=" + omodel.HMainSourceInterID.ToString() + ",HMainSourceEntryID=" + omodel.HMainSourceEntryID.ToString() + ",HNewDesignLife=" + omodel.HNewDesignLife.ToString() + " where HInterID=" + omodel.HInterID.ToString()); //删除子表 oCN.RunProc("delete from Sc_MouldRepairSendWorkBillSub where HInterID='" + omodel.HInterID.ToString() + "' 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>(msg3); int i = 1; //插入子表 foreach (Models.ClsSb_MouldRepairWorkBillSub oSub in DetailColl) { oCN.RunProc("Insert into Sc_MouldRepairSendWorkBillSub " + " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + ",HRepairID,HRepairExplanation,HManagerID,HMoney" + ") values(" + omodel.HInterID.ToString() + "," + (hentryid == -1 ? i : hentryid) + ",'" + oSub.HCloseMan + "','" + DateTime.Now + "'," + 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.HRepairExplanation + "'," + oSub.HManagerID.ToString() + "," + oSub.HMoney.ToString() + ") "); i++; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } #endregion #region 器具维修派工单 删除 [Route("Sc_MouldRepairSendWorkBill/MouldDeleteBill")] [HttpGet] public object MouldDeleteBill(long HInterID, string User, string ModRightNameDelete) { try { //判断权限 //if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 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.HBillStatus > 1) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "单据当前处于不能删除的状态"; objJsonResult.data = null; return objJsonResult; } //不需要 //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("Sc_MouldRepairSendWorkBill/CheckDeOAuditBill")] [HttpGet] public object CheckDeOAuditBill(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; //} //判断id 是否大于0 if (HInterID <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "ID小于0"; objJsonResult.data = null; return objJsonResult; } //转换id Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //查询审核的这条数据 ds = oCN.RunProcReturn("select * from Sc_MouldRepairSendWorkBill where HInterID='" + lngBillKey.ToString() + "'", "Sc_MouldRepairSendWorkBill"); if (ds.Tables[0].Rows.Count != 0) { string HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();//关闭人 string HDeleteMan = ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();//做废人 string HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();//审核人 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 = "审核失败,原因:" + DBUtility.ClsPub.sExeReturnInfo; 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 = "反审核失败,原因:" + 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; } } //审核 public bool CheckBill(Int64 lngBillKey, ref string sReturn) { try { string HChecker = DBUtility.ClsPub.CurUserName;//用户名 oCN.BeginTran();//打开事务 oCN.RunProc("update Sc_MouldRepairSendWorkBill set HChecker='" + HChecker + "',HCheckDate='" + DateTime.Now + "',HBillStatus=2 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 Sc_MouldRepairSendWorkBill set HChecker='',HCheckDate=null,HBillStatus=1 where HInterID='" + lngBillKey + "'"); oCN.Commit();//关闭事务 sReturn = "反审核单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; throw (e); } } #endregion } }