YL
2022-01-19 681c617b48ddbc556fdbe6a251161a3b9584adab
WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
@@ -1,9 +1,11 @@
using System;
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
@@ -12,6 +14,9 @@
    {
        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;
@@ -23,7 +28,7 @@
        {
            try
            {
                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList ";
                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList where 1=1 ";
                if (sWhere == "" || sWhere == null)
                {
                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRepairSendWorkBillList");
@@ -59,6 +64,222 @@
        #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修改
            try
            {
                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, 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.HCloseMan != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "单据当前已关闭,不能删除";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oBill.omodel.HDeleteMan != "")
                {
                    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
    }
}