ch
2022-01-14 15ed2f3df5a7899f6123ff254b8887dd03958513
WebAPI/Controllers/Sc_MouldRepairSendWorkBillController.cs
New file
@@ -0,0 +1,286 @@
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<ClsSb_MouldRepairWorkBillSub> DetailColl = new List<ClsSb_MouldRepairWorkBillSub>();
        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<ClsSb_MouldRepairWorkBillMain>(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" +
                 ") " +
                 " 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() +
                 ") ");
                }
                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<List<ClsSb_MouldRepairWorkBillSub>>(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, true, 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
    }
}