yusijie
2024-01-31 ff24599aa44bbae9505a94afb5682f65d73aab23
Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API
11个文件已修改
3个文件已添加
1573 ■■■■ 已修改文件
DAL/ClsPM_WorkPlanMonthBillMain.cs 285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/DAL.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/项目管理/ClsPM_WorkPlanMonthBillMain.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/项目管理/ClsPM_WorkPlanMonthBillSub.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/项目管理/工作任务/PM_WorkTaskBillController.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/项目管理/工作周计划/PM_WorkTaskWeekBillController.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/项目管理/工程项目/PM_ProjectBillController.cs 412 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/ListModels.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/ClsPM_WorkPlanMonthBillMain.cs
New file
@@ -0,0 +1,285 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
    public  class ClsPM_WorkPlanMonthBillMain : DBUtility.ClsXt_BaseBill
    {
        public Model.ClsPM_WorkPlanMonthBillMain omodel = new Model.ClsPM_WorkPlanMonthBillMain();
        public List<Model.ClsPM_WorkPlanMonthBillSub> DetailColl = new List<Model.ClsPM_WorkPlanMonthBillSub>();
        public ClsPM_WorkPlanMonthBillMain()
        {
            base.MvarItemKeySub = "PM_WorkPlanMonthBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey= "PM_WorkPlanMonthBillMain";
            base.MvarReportTitle="月度阶段计划";
            base.BillType="4758";
            base.HBillSubType = "4758";
        }
        #region å›ºå®šä»£ç 
        #region æ— å‚构造函数
        ~ClsPM_WorkPlanMonthBillMain()
        {
            DetailColl = null;
        }
        #endregion
        #endregion
        //#region ä¿®æ”¹å•据
        //public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        //{
        //    try
        //    {
        //        oCn.BeginTran();
        //        //更新主表
        //        string mainSql = "update PM_WorkPlanMonthBillMain set " +
        //            " HBillNo = '" + omodel.HBillNo +
        //            "', HDate = '" + omodel.HDate +
        //            "', HYear = " + omodel.HYear +
        //            ", HPeriod = " + omodel.HPeriod +
        //            ", HRemark = '" + omodel.HRemark +
        //            "', HUpDater = '" + omodel.HUpDater +
        //            "', HUpDateDate = getdate()" +
        //            //===============================================================
        //            ", HOrgID = " + omodel.HOrgID +
        //            ", HYear = " + omodel.HYear +
        //            ", HWeek = " + omodel.HWeek +
        //            ", HBeginDate = '" + omodel.HBeginDate +
        //            "', HEndDate = '" + omodel.HEndDate +
        //            "', HPlanEmpID = " + omodel.HReportEmpID +
        //            " where HInterID = " + omodel.HInterID;
        //        //删除关联
        //        DeleteRelation(ref sReturn, lngBillKey);
        //        //删除子表
        //        DeleteBillSub(lngBillKey);
        //        ////插入子表
        //        //omodel.HInterID = lngBillKey;
        //        //foreach (Model.ClsPM_WorkTaskWeekBillSub oSub in DetailColl)
        //        //{
        //        //    string subSql = "insert into PM_WorkTaskWeekBillSub" +
        //        //       "(HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
        //        //       ",HWeekDay,HSno,HProjectID,HProjectStageID,HTaskNote,HPlanTimes) " +
        //        //       " values(" +
        //        //       "" + omodel.HInterID.ToString() +
        //        //       "," + oSub.HEntryID.ToString() +
        //        //       ",'" + oSub.HCloseMan +
        //        //       "','" + oSub.HEntryCloseDate +
        //        //       "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) +
        //        //       ",'" + oSub.HRemark +
        //        //       "'," + oSub.HSourceInterID +
        //        //       "," + oSub.HSourceEntryID +
        //        //       ",'" + oSub.HSourceBillNo +
        //        //       "','" + oSub.HSourceBillType +
        //        //       "'," + oSub.HRelationQty +
        //        //       "," + oSub.HRelationMoney +
        //        //       "," + oSub.HWeekDay +
        //        //       "," + oSub.HSno +
        //        //       "," + oSub.HProjectID +
        //        //       "," + oSub.HProjectStageID +
        //        //       ",'" + oSub.HTaskNote +
        //        //       "'," + oSub.HPlanTimes +
        //        //       ")";
        //        //    oCn.RunProc(subSql);
        //        //}
        //        sReturn = "修改单据成功!";
        //        oCn.Commit();
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        sReturn = e.Message;
        //        oCn.RollBack();
        //        throw (e);
        //    }
        //}
        //#endregion
        #region  æ–°å¢žå•据
        public override bool AddBill(ref string sReturn)
        {
            try
            {
                DataSet ds;
                oCn.BeginTran();
                //检查主表内码是否重复,若重复则重新生成并继续检查,直到不再重复
                while (true)
                {
                    ds = oCn.RunProcReturn("select * from PM_WorkPlanMonthBillMain where HInterID = " + omodel.HInterID, "PM_WorkPlanMonthBillMain");
                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
                    {
                        omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                    }
                    else
                    {
                        break;
                    }
                }
                //插入主表
                string mainSql = "insert into PM_WorkPlanMonthBillMain" +
                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
                    ",HOrgID,HMonth,HBeginDate,HEndDate,HPlanEmpID) " +
                    "values(" +
                    "" + omodel.HYear.ToString() +
                    "," + omodel.HPeriod.ToString() +
                    ",'" + this.BillType +
                    "','" + this.HBillSubType +
                    "'," + omodel.HInterID +
                    ",'" + omodel.HDate +
                    "','" + omodel.HBillNo +
                    "','" + omodel.HRemark +
                    "','" + omodel.HMaker +
                    "','" + omodel.HMakeDate +
                    "'," + omodel.HOrgID +
                    "," + omodel.HMonth +
                    ",'" + omodel.HBeginDate +
                    "','" + omodel.HEndDate +
                    "','" + omodel.HPlanEmpID +
                    "')";
                oCn.RunProc(mainSql);
                //插入子表
                foreach (Model.ClsPM_WorkPlanMonthBillSub oSub in DetailColl)
                {
                    string subSql = "insert into PM_WorkPlanMonthBillSub" +
                        "" +
                        "" +
                        "" +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                        ",HProNumber,HProjectStageID,HRate,HAvgMoney,HCountMoney) " +
                        " values(" +
                        "" + omodel.HInterID.ToString() +
                        "," + oSub.HEntryID.ToString() +
                        "," + oSub.HSourceInterID +
                        "," + oSub.HSourceEntryID +
                        ",'" + oSub.HSourceBillNo +
                        "','" + oSub.HSourceBillType +
                        "','" + oSub.HProNumber +
                        "'," + oSub.HProjectStageID +
                        "," + oSub.HRate +
                        ",'" + oSub.HAvgMoney+
                        "','" + oSub.HCountMoney +
                        "')";
                    oCn.RunProc(subSql);
                }
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        #endregion
        #region æ˜¾ç¤ºå•据
        //public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        //{
        //    try
        //    {
        //        //查询主表
        //        DataSet Ds ;
        //        Ds = oCn.RunProcReturn("select * from PM_WorkReportWeekBillMain Where HInterID = " + lngBillKey.ToString(), "PM_WorkReportWeekBillMain");
        //        if(Ds.Tables[0].Rows.Count==0)
        //        {
        //            sReturn = "单据未找到!";
        //            return false;
        //        }
        //        //固定赋值===========================================
        //        omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
        //        omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
        //        omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
        //        omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
        //        omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
        //        omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
        //        omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
        //        omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
        //        omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
        //        omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
        //        omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
        //        omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
        //        omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
        //        omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
        //        omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
        //        omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
        //        omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
        //        omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
        //        omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
        //        omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
        //        omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
        //        omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
        //        omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
        //        omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
        //        omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
        //        //========================================================
        //        omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]);
        //        omodel.HWeek = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HWeek"]);
        //        omodel.HBeginDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBeginDate"]);
        //        omodel.HEndDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEndDate"]);
        //        omodel.HPlanEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPlanEmpID"]);
        //        //
        //        //循环
        //        DataSet DsSub ;
        //        DsSub = oCn.RunProcReturn("select * from PM_WorkTaskWeekBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "PM_WorkTaskWeekBillSub");
        //        DetailColl.Clear();//清空
        //        for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
        //        {
        //            Model.ClsPM_WorkTaskWeekBillSub oSub = new Model.ClsPM_WorkTaskWeekBillSub();
        //            // å›ºå®šèµ‹å€¼===============================================
        //            oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
        //            oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
        //            oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
        //            oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
        //            oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
        //            oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
        //            oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
        //            oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
        //            oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
        //            oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
        //            oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
        //            oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
        //            //===================================================
        //            oSub.HWeekDay = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWeekDay"]);
        //            oSub.HSno = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSno"]);
        //            oSub.HProjectID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectID"]);
        //            oSub.HProjectStageID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProjectStageID"]);
        //            oSub.HTaskNote = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HTaskNote"]);
        //            oSub.HPlanTimes = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPlanTimes"]);
        //            DetailColl.Add(oSub);
        //        }
        //        sReturn = "显示单据成功!";
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        sReturn = e.Message;
        //        throw (e);
        //    }
        //}
        #endregion
    }
}
DAL/DAL.csproj
@@ -80,6 +80,7 @@
    <Compile Include="ClsPay_EarlyLateErrBill.cs" />
    <Compile Include="ClsPay_RewardPunishBill.cs" />
    <Compile Include="ClsPay_WorkErrTimesBill.cs" />
    <Compile Include="ClsPM_WorkPlanMonthBillMain.cs" />
    <Compile Include="MES\ClsSc_SourceLineRepairBill.cs" />
    <Compile Include="MES\ClsSc_MESMaterToSourceBill .cs" />
    <Compile Include="人事管理\ClsHR_EmpFosterBill.cs" />
Model/Model.csproj
@@ -970,8 +970,10 @@
    <Compile Include="销售管理\单证管理\ClsXs_LadingBillSub.cs" />
    <Compile Include="销售管理\单证管理\ClsXs_ShippingAdviceBillMain.cs" />
    <Compile Include="销售管理\单证管理\ClsXs_ShippingAdviceBillSub.cs" />
    <Compile Include="项目管理\ClsPM_WorkPlanMonthBillMain.cs" />
    <Compile Include="项目管理\ClsPM_WorkReportWeekBillSub.cs" />
    <Compile Include="项目管理\ClsPM_WorkReportWeekBillMain.cs" />
    <Compile Include="项目管理\ClsPM_WorkPlanMonthBillSub.cs" />
    <Compile Include="项目管理\ClsPM_WorkTaskWeekBillSub.cs" />
    <Compile Include="项目管理\ClsPM_WorkTaskWeekBillMain.cs" />
    <Compile Include="项目管理\ClsPro_DesignBlueRequestBillMain.cs" />
Model/ÏîÄ¿¹ÜÀí/ClsPM_WorkPlanMonthBillMain.cs
New file
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsPM_WorkPlanMonthBillMain : DBUtility.ClsXt_BaseBillMain
    {
        public Int64 HOrgID;        //int       ç»„织
        //public Int64 HYear;         //int       å¹´ä»½
        public Int64 HMonth;         //int       æœˆ
        public string HBeginDate;   //datetime  å¼€å§‹æ—¥æœŸ
        public string HEndDate;     //datetime  ç»“束日期
        public Int64 HPlanEmpID;    //int       è®¡åˆ’人
    }
}
Model/ÏîÄ¿¹ÜÀí/ClsPM_WorkPlanMonthBillSub.cs
New file
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model
{
    public class ClsPM_WorkPlanMonthBillSub : DBUtility.ClsXt_BaseBillSub
    {
        public Int64 HProjectID;
        public string HProNumber;
        public Int64 HProjectStageID;
        public decimal HRate;
        public decimal HAvgMoney;
        public decimal HCountMoney;
    }
}
WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs
@@ -410,6 +410,27 @@
                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
                {
                    //保存前控制=========================================
                    ds = oCN.RunProcReturn("exec h_p_Cg_POInStockBill_BeforeSaveCtrl " + HInterID, "h_p_Cg_POInStockBill_BeforeSaveCtrl");
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    //主表
                    oCN.RunProc(@"Insert Into Cg_POInStockBillMain   
                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
@@ -598,6 +619,26 @@
                  {HSUPPLYLOT},{HREQTRACENO},{HBOMID},{HSTOCKUNITID},{HBASEUNITID},{HSTOCKSTATUSID},'{HKEEPERTYPEID}',{HPROJECTNO},{HCHECKINCOMING},{oSub.HTaxPrice},{HDISCOUNTRATE},{HPRICECOEFFICIENT},{HPRICEUNITID},{HPRICELISTENTRY},{HSAMPLEDAMAGEQTY},{HSAMPLEDAMAGEBASEQTY},{HPAYORGID},{HSETTLEORGID},{HSETTLECURRID},{HSETTLEMODEID},{HEXCHANGETYPEID},{HPAYCONDITONID},{oSub.HEXCHANGERATE},{HLOCALCURRID},{HISINCLUDEDTAX},{HISPRICEEXCLUDETAX},{HTAXRATEID},{HCOSTPERCENT},{HCOSTAMOUNT},{HVAT},{HSELLERWITHHOLDING},{HBUYERWITHHOLDING},{oSub.HSecUnitID})");
                
            }
            //保存后控制=========================================
            ds = oCN.RunProcReturn("exec h_p_Cg_POInStockBill_AfterSaveCtrl " + HInterID, "h_p_Cg_POInStockBill_AfterSaveCtrl");
            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存后判断失败!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                objJsonResult.data = null;
                return objJsonResult;
            }
            //=========================================================
            objJsonResult.code = "1";
            objJsonResult.count = 1;
@@ -697,6 +738,8 @@
        [HttpGet]
        public object AuditCg_POInStockBill(string HInterID, int Type, string user)
        {
            string sql = "";
            //ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
            try
            {
                //判断是否有审核权限
@@ -720,113 +763,105 @@
                ClsPub.CurUserName = user;
                BillOld.MvarItemKey = "Cg_POInStockBillMain";
                ds = oCN.RunProcReturn("select * from Cg_POInStockBillMain where HInterID = " + int.Parse(HInterID), "Cg_POInStockBillMain");
                string HBillNo = "";
                oCN.BeginTran();//开始事务
                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();
                }
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    //审核前控制
                    sql = "exec h_p_Cg_POInStockBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POInStockBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据不存在!";
                        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 (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Cg_POInStockBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //审核单据
                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    //反审核前控制
                    sql = "exec h_p_Cg_POInStockBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POInStockBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核单据
                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        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 (BillOld.AbandonCheck(int.Parse(HInterID), HBillNo, "h_p_Cg_POInStockBill_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;
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
@@ -774,6 +774,27 @@
                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
                {
                    //保存前控制=========================================
                    ds = oCN.RunProcReturn("exec h_p_Cg_POOrderBill_BeforeSaveCtrl  " + HInterID, "h_p_Cg_POOrderBill_BeforeSaveCtrl ");
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    DataSet Ds;
                    Int64 NewHInterID = 1;
                    Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Cg_POOrderBillMain", "Cg_POOrderBillMain");
@@ -959,6 +980,27 @@
                  {HAuxPropID},{HMTONo},{HERPInterID},{HERPEntryID},{HSEQ},{HRECEIVEDEPTID},'{HSUPPLIERLOT}',{HBOMID},{HSTOCKUNITID},{HBASEUNITID},'{HBFLOWID}',{HGIVEAWAY},{HROWTYPE},{HBASEUNITQTY},{HSTOCKBASEQTY},'{HREQTRACENO}',{HTAXNETPRICE},{HPRICECOEFFICIENT},{HTAXCOMBINATION},{HPRICEUNITID},{HPRICELISTENTRY},{HPAYORGID},{HSETTLEMODEID},{HSETTLECURRID},{HEXCHANGETYPEID},{HPAYCONDITIONID},{HEXCHANGERATE},{HLOCALCURRID},{HISINCLUDEDTAX},{HISPRICEEXCLUDETAX},{HTAXRATEID},{HCOSTPERCENT},{HCOSTAMOUNT},{HVAT},{HSELLERWITHHOLDING},{HBUYERWITHHOLDING},'{HMATERIALDESC}')");
            }
            //保存后控制=========================================
            ds = oCN.RunProcReturn("exec h_p_Cg_POOrderBill_AfterSaveCtrl " + HInterID, "h_p_Cg_POOrderBill_AfterSaveCtrl");
            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存后判断失败!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                objJsonResult.data = null;
                return objJsonResult;
            }
            //=========================================================
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
@@ -1005,26 +1047,26 @@
                foreach (var oSub in subList)
                {
                    sql = $@"
Insert into Cg_POOrderBillSub
(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxRate_TAX,HTaxMoney_TAX,HTaxPrice,HDiscountRate,HRelTaxPrice
,HMoney,HTaxRate,HTaxMoney,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty,HSeOrderBillNo,HSeOrderInterID
,HSeOrderEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo
,HSourceBillType,HRelationQty,HBackRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
,HERPInterID,HERPEntryID
,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID,HSTOCKUNITID,HBASEUNITID,HBFLOWID,HGIVEAWAY,HROWTYPE,HBASEUNITQTY,HSTOCKBASEQTY
,HREQTRACENO,HTAXNETPRICE,HPRICECOEFFICIENT,HTAXCOMBINATION,HPRICEUNITID,HPRICELISTENTRY,HPAYORGID,HSETTLEMODEID,HSETTLECURRID
,HEXCHANGETYPEID,HPAYCONDITIONID,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT
,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HMATERIALDESC)
values('{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}','{oSub.HPrice}','{oSub.HTaxRate_TAX}','{oSub.HTaxMoney_TAX}','{oSub.HDiscountRate}','{oSub.HRelTaxPrice}',
'{oSub.HMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney}','{oSub.HlineTotal}','{oSub.HlineTotalBB}','{oSub.HDate}','{oSub.HInStockQty}','{oSub.HInvoiceQty}','{oSub.HSeOrderBillNo}','{oSub.HSeOrderInterID}',
'{oSub.HSeOrderEntryID}','{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}',
'{oSub.HSourceBillType}','{oSub.HRelationQty}','{oSub.HBackRelationQty}','{oSub.HPropertyID}','{oSub.HBatChNo}','{oSub.HAuxPropID}','{oSub.HMTONo}',
'{oSub.HERPInterID}','{oSub.HERPEntryID}',
'{oSub.HSEQ}','{oSub.HRECEIVEDEPTID}','{oSub.HSUPPLIERLOT}','{oSub.HBOMID}','{oSub.HSTOCKUNITID}','{oSub.HBASEUNITID}','{oSub.HBFLOWID}','{oSub.HGIVEAWAY}','{oSub.HROWTYPE}','{oSub.HBASEUNITQTY}','{oSub.HSTOCKBASEQTY}',
'{oSub.HREQTRACENO}','{oSub.HTAXNETPRICE}','{oSub.HPRICECOEFFICIENT}','{oSub.HTAXCOMBINATION}','{oSub.HPRICEUNITID}','{oSub.HPRICELISTENTRY}','{oSub.HPAYORGID}','{oSub.HSETTLEMODEID}','{oSub.HSETTLECURRID}',
'{oSub.HEXCHANGETYPEID}','{oSub.HPAYCONDITIONID}','{oSub.HEXCHANGERATE}','{oSub.HLOCALCURRID}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HTAXRATEID}','{oSub.HCOSTPERCENT}','{oSub.HCOSTAMOUNT}',
'{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}','{oSub.HMATERIALDESC}')";
                    oCN.RunProc(sql);
                    Insert into Cg_POOrderBillSub
                    (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice,HTaxRate_TAX,HTaxMoney_TAX,HTaxPrice,HDiscountRate,HRelTaxPrice
                    ,HMoney,HTaxRate,HTaxMoney,HLineTotal,HlineTotalBB,HDate,HInStockQty,HInvoiceQty,HSeOrderBillNo,HSeOrderInterID
                    ,HSeOrderEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo
                    ,HSourceBillType,HRelationQty,HBackRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
                    ,HERPInterID,HERPEntryID
                    ,HSEQ,HRECEIVEDEPTID,HSUPPLIERLOT,HBOMID,HSTOCKUNITID,HBASEUNITID,HBFLOWID,HGIVEAWAY,HROWTYPE,HBASEUNITQTY,HSTOCKBASEQTY
                    ,HREQTRACENO,HTAXNETPRICE,HPRICECOEFFICIENT,HTAXCOMBINATION,HPRICEUNITID,HPRICELISTENTRY,HPAYORGID,HSETTLEMODEID,HSETTLECURRID
                    ,HEXCHANGETYPEID,HPAYCONDITIONID,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT
                    ,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HMATERIALDESC)
                    values('{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}','{oSub.HPrice}','{oSub.HTaxRate_TAX}','{oSub.HTaxMoney_TAX}','{oSub.HDiscountRate}','{oSub.HRelTaxPrice}',
                    '{oSub.HMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney}','{oSub.HlineTotal}','{oSub.HlineTotalBB}','{oSub.HDate}','{oSub.HInStockQty}','{oSub.HInvoiceQty}','{oSub.HSeOrderBillNo}','{oSub.HSeOrderInterID}',
                    '{oSub.HSeOrderEntryID}','{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}',
                    '{oSub.HSourceBillType}','{oSub.HRelationQty}','{oSub.HBackRelationQty}','{oSub.HPropertyID}','{oSub.HBatChNo}','{oSub.HAuxPropID}','{oSub.HMTONo}',
                    '{oSub.HERPInterID}','{oSub.HERPEntryID}',
                    '{oSub.HSEQ}','{oSub.HRECEIVEDEPTID}','{oSub.HSUPPLIERLOT}','{oSub.HBOMID}','{oSub.HSTOCKUNITID}','{oSub.HBASEUNITID}','{oSub.HBFLOWID}','{oSub.HGIVEAWAY}','{oSub.HROWTYPE}','{oSub.HBASEUNITQTY}','{oSub.HSTOCKBASEQTY}',
                    '{oSub.HREQTRACENO}','{oSub.HTAXNETPRICE}','{oSub.HPRICECOEFFICIENT}','{oSub.HTAXCOMBINATION}','{oSub.HPRICEUNITID}','{oSub.HPRICELISTENTRY}','{oSub.HPAYORGID}','{oSub.HSETTLEMODEID}','{oSub.HSETTLECURRID}',
                    '{oSub.HEXCHANGETYPEID}','{oSub.HPAYCONDITIONID}','{oSub.HEXCHANGERATE}','{oSub.HLOCALCURRID}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HTAXRATEID}','{oSub.HCOSTPERCENT}','{oSub.HCOSTAMOUNT}',
                    '{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}','{oSub.HMATERIALDESC}')";
                      oCN.RunProc(sql);
                }
                oCN.Commit();
                objJsonResult.code = "1";
@@ -1153,6 +1195,7 @@
        [HttpGet]
        public object AuditCg_POOrderBill(string HInterID, int Type, string user)
        {
            string sql = "";
            try
            {
                //判断是否有审核权限
@@ -1176,105 +1219,186 @@
                ClsPub.CurUserName = user;
                BillOld.MvarItemKey = "Cg_POOrderBillMain";
                ds = oCN.RunProcReturn("select * from Cg_POOrderBillMain where HInterID = " + int.Parse(HInterID), "Cg_POOrderBillMain");
                string HBillNo = "";
                oCN.BeginTran();//开始事务
                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();
                }
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    //审核前控制
                    sql = "exec h_p_Cg_POOrderBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POOrderBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据不存在!";
                        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 (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //审核单据
                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    //反审核前控制
                    sql = "exec h_p_Cg_POOrderBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Cg_POOrderBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核单据
                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        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 (BillOld.AbandonCheck(int.Parse(HInterID), HBillNo, "h_p_Cg_POOrderBill_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;
                    }
                }
                ////判断单据是否已经审核
                //DataSet ds;
                //    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                //    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                //    if (ds == null || ds.Tables[0].Rows.Count == 0)
                //    {
                //        objJsonResult.code = "0";
                //        objJsonResult.count = 0;
                //        objJsonResult.Message = "单据不存在!";
                //        objJsonResult.data = null;
                //        return objJsonResult;
                //    }
                //    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                //    {
                //        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据已关闭!不能再次审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据已作废!不能再次审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据已审核!不能再次审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        //审核单据
                //        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 1;
                //            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //    }
                //}
                //else
                //{
                //    //判断单据是否已经反审核
                //    DataSet ds;
                //    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                //    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                //    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                //    {
                //        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据已作废!不能进行反审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 0;
                //            objJsonResult.Message = "单据未审核!不需要反审核!";
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //        //反审核单据
                //        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                //        {
                //            objJsonResult.code = "0";
                //            objJsonResult.count = 1;
                //            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
                //            objJsonResult.data = null;
                //            return objJsonResult;
                //        }
                //    }
                //}
                oCN.Commit();//提交事务
                //oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -15,7 +15,8 @@
    public class Kf_POStockInBillController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        public DAL.ClsCg_POInStockBill BillOld = new DAL.ClsCg_POInStockBill();
        //public DAL.ClsCg_POInStockBill BillOld = new DAL.ClsCg_POInStockBill();
        public DAL.ClsKf_POStockInBill BillOld = new DAL.ClsKf_POStockInBill();
        private json objJsonResult = new json();
        public SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        public DataSet ds = new DataSet();
@@ -177,8 +178,28 @@
                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
                {
                    //保存前控制=========================================
                    ds = oCN.RunProcReturn("exec h_p_Kf_POStockInBill_BeforeSaveCtrl " + HInterID, "h_p_Kf_POStockInBill_BeforeSaveCtrl");
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存前判断失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //=========================================================
                    //主表
                    String sql=$@"Insert Into Kf_ICStockBillMain
                    String sql =$@"Insert Into Kf_ICStockBillMain
                        (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate,HBillNo,HBillStatus
                        ,HAddress,HSupID,HCurID,HWHID,HEmpID,HManagerID,HSecManagerID,HKeeperID,HDeptID,HExplanation,HRemark
                        ,HInnerBillNo,HSTOCKORGID,HOWNERID ,HChecker,HCheckDate,HMaker,HMakeDate)
@@ -328,6 +349,26 @@
                oCN.RunProc(sql);
            }
            //保存后控制=========================================
            ds = oCN.RunProcReturn("exec h_p_Kf_POStockInBill_AfterSaveCtrl " + HInterID, "h_p_Kf_POStockInBill_AfterSaveCtrl");
            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存后判断失败!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                objJsonResult.data = null;
                return objJsonResult;
            }
            //=========================================================
            objJsonResult.code = "1";
            objJsonResult.count = 1;
@@ -493,6 +534,7 @@
        [HttpGet]
        public object AuditKf_POStockInBill(string HInterID, int Type, string user)
        {
            string sql = "";
            try
            {
                //判断是否有审核权限
@@ -515,105 +557,98 @@
                }
                ClsPub.CurUserName = user;
                BillOld.MvarItemKey = "Kf_ICStockBillMain";
                ds = oCN.RunProcReturn("select * from Kf_ICStockBillMain where HInterID = " + int.Parse(HInterID), "Kf_ICStockBillMain");
                string HBillNo = "";
                DAL.ClsKf_POStockInBill oBill = new DAL.ClsKf_POStockInBill();
                oCN.BeginTran();//开始事务
                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();
                }
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    //审核前控制
                    sql = "h_p_Kf_POStockInBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Kf_POStockInBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据不存在!";
                        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 (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Kf_POStockInBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //审核单据
                        if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    //反审核前控制
                    sql = "exec h_p_Kf_POStockInBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Kf_POStockInBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核单据
                        if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        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 (BillOld.AbandonCheck(int.Parse(HInterID), HBillNo, "h_p_Kf_POStockInBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -838,9 +838,9 @@
        }
        #endregion
        #region [模具保养计划单删除功能]
        #region [工序流转卡删除功能]
        /// <summary>
        /// æ¨¡å…·ç»´ä¿®å•删除功能
        /// å·¥åºæµè½¬å¡åˆ é™¤åŠŸèƒ½
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessExchangeBill/DeltetProcessExchangeBillByID")]
WebAPI/Controllers/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillController.cs
@@ -1044,8 +1044,6 @@
                //==================================================================================      
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Sc_ICMOBillMain where HInterID=" + HInterID, "Sc_ICMOBillMain");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
@@ -1114,6 +1112,7 @@
                    return objJsonResult; ;
                }
                oCN.BeginTran();//开始事务
                //生产订单删除回填销售订单关联数量
                oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToICMO_Delete " + HInterID);
@@ -1160,6 +1159,7 @@
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!" + e.ToString();
WebAPI/Controllers/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBillController.cs
@@ -1988,5 +1988,67 @@
            }
        }
        #endregion
        #region  æˆ‘的任务列表(未完成,已完成,正在进行)
        /// <summary>
        /// è¿”回我的任务列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("PM_WorkTaskBill/PM_WorkTaskBillMainList")]
        [HttpGet]
        public object PM_WorkTaskBillMainList( string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("exec h_p_PM_WorkTaskBillMyList " + user, "h_p_PM_WorkTaskBillMyList");
                if (ds.Tables[0].Rows.Count != 0 || ds != null)
                {
                    //添加列名
                    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列对象的列名
                    }
                    //添加列名
                    foreach (DataColumn col in ds.Tables[1].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;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无数据";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/ÏîÄ¿¹ÜÀí/¹¤×÷Öܼƻ®/PM_WorkTaskWeekBillController.cs
@@ -1096,7 +1096,7 @@
        #region å·¥ä½œå‘¨æ€»ç»“ å®¡æ ¸/反审核功能
        [Route("PM_WorkTaskWeekBill/CheckPM_WorkReportWeekBillMain")]
        [HttpGet]
        public object CheckSc_ICMOReportBill(string HInterID, int IsAudit, string user)
        public object CheckPM_WorkReportWeekBillMain(string HInterID, int IsAudit, string user)
        {
            try
            {
@@ -1189,7 +1189,7 @@
        {
            try
            {
                //判断是否有删除权限
                //判断是否有关闭权限
                if (!DBUtility.ClsPub.Security_Log("PM_WorkReportWeekBillMain_Close", 1, false, user))
                {
                    objJsonResult.code = "0";
@@ -1237,22 +1237,22 @@
                oCn.BeginTran();
                if (IsAudit == 0)  //审核判断
                if (IsAudit == 0)  //关闭判断
                {
                    oCn.RunProc("update PM_WorkReportWeekBillMain set HChecker='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
                    oCn.RunProc("update PM_WorkReportWeekBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.Message = "关闭成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCn.RunProc("update PM_WorkReportWeekBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);
                    oCn.RunProc("update PM_WorkReportWeekBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.Message = "反关闭成功";
                    objJsonResult.data = null;
                }
                oCn.Commit();
WebAPI/Controllers/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBillController.cs
@@ -22,6 +22,8 @@
        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
        string user_LongShan = "";
        string HName_LongShan = "";
        public DAL.ClsPM_WorkPlanMonthBillMain BillNew1 = new DAL.ClsPM_WorkPlanMonthBillMain();   //工作周总结对应单据类
        public DAL.ClsPM_WorkPlanMonthBillMain BillOld1 = new DAL.ClsPM_WorkPlanMonthBillMain();
        #region å·¥ç¨‹é¡¹ç›® æ–°å¢ž/编辑
        #region å·¥ç¨‹é¡¹ç›® è¡¨å¤´æ•°æ®
@@ -1198,5 +1200,415 @@
            }
        }
        #endregion
        #region æœˆåº¦é˜¶æ®µè®¡åˆ’保存/编辑
        /// <summary>
        /// ä¿å­˜æœˆåº¦é˜¶æ®µè®¡åˆ’
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("PM_ProjectBill/SavePM_WorkPlanMonthBillMain")]
        [HttpPost]
        public object SavePM_WorkPlanMonthBillMain([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 refSav = sArray[2].ToString();//操作方式数据类型 1添加 3修改 2 å¤åˆ¶
            string user = sArray[3].ToString();//用户名
            string UserName = "";
            string s = "";
            ListModels oListModels = new ListModels();
            try
            {
                //保存权限
                if (!DBUtility.ClsPub.Security_Log_second("PM_WorkPlanMonthBillMain_Add", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsPM_WorkPlanMonthBillMain oBill = new DAL.ClsPM_WorkPlanMonthBillMain();
                List<Model.ClsPM_WorkPlanMonthBillMain> lsmain = new List<Model.ClsPM_WorkPlanMonthBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_PM_WorkPlanMonthBillMain(msg2);
                foreach (Model.ClsPM_WorkPlanMonthBillMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        //单据号是否重复
                        if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (BillOld1.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //判断是否可编辑
                        if (BillOld1.omodel.HChecker != "" && BillOld1.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld1.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = s + ",不允许修改";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "4758";
                    oItem.HBillSubType = "4758";
                    //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    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
                List<Model.ClsPM_WorkPlanMonthBillSub> ls = new List<Model.ClsPM_WorkPlanMonthBillSub>();
                ls = oListModels.getObjectByJson_PM_WorkPlanMonthBillSub(msg3);
                int i = 0;
                foreach (Model.ClsPM_WorkPlanMonthBillSub oItemSub in ls)
                {
                    i++;
                    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;   //关联金额
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (refSav == "Add")
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else if (refSav == "Update")
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = false;
                }
                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("PM_ProjectBill/CheckPM_WorkPlanMonthBillMain")]
        [HttpGet]
        public object CheckPM_WorkPlanMonthBillMain(string HInterID, int IsAudit, string user)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("PM_WorkPlanMonthBillMain_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from PM_WorkPlanMonthBillMain where HInterID=" + HInterID, "PM_WorkPlanMonthBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //审核判断
                {
                    oCN.RunProc("update PM_WorkPlanMonthBillMain set HChecker='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCN.RunProc("update PM_WorkPlanMonthBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æœˆåº¦é˜¶æ®µè®¡åˆ’ å…³é—­/反关闭功能
        [Route("PM_ProjectBill/ClosePM_WorkPlanMonthBillMain")]
        [HttpGet]
        public object ClosePM_WorkPlanMonthBillMain(string HInterID, int IsAudit, string user)
        {
            try
            {
                //判断是否有关闭权限
                if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Close", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限关闭!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from PM_WorkPlanMonthBillMain where HInterID=" + HInterID, "PM_WorkPlanMonthBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //关闭判断
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反关闭判断
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未关闭!不需要反关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //关闭判断
                {
                    oCN.RunProc("update PM_WorkPlanMonthBillMain set HCloseMan='" + user + "',HCloseDate=getdate() where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "关闭成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCN.RunProc("update PM_WorkPlanMonthBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反关闭成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æœˆåº¦é˜¶æ®µè®¡åˆ’ æŸ¥è¯¢
        /// <summary>
        /// è¿”回项目阶段列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("PM_ProjectBill/getPM_WorkPlanMonthBillMainList")]
        [HttpGet]
        public object getPM_WorkPlanMonthBillMainList(string HInterID,string HEntryID, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("PM_WorkPlanMonthBillMain_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //根据我的项目中 ä¸»å­id ä¸‹æŽ¨æ¥è¿›è¡ŒæŸ¥è¯¢æ•°æ®,然后回显到页面
               string sql= @"select a.HInterID HSourceInterID ,b.HEntryID HSourceEntryID,a.HBillNo HSourceBillNo,a.HBillType HSourceBillType, a.HProNumber ,a.HProName é¡¹ç›®åç§° ,c.HItemID HProjectStageID,c.HName é¡¹ç›®é˜¶æ®µ , b.HStageNote é¡¹ç›®é˜¶æ®µè¯¦ç»†å†…容, b.HPMGoodsID ç›¸å…³äº¤ä»˜ç‰©, b.HIsKey æ˜¯å¦é‡Œç¨‹ç¢‘,b.HRate
                            from PM_ProjectBillMain a inner join PM_ProjectBillSub b on a.HInterID = b.HInterID left join gy_ProjectStage c on c.HItemID = b.HProjectStageID
                            where a.HInterID = '" + HInterID + "' and b.HEntryID = '"+ HEntryID + "'";
                ds = oCN.RunProcReturn(sql, "PM_ProjectBillMain");
                //添加列名
                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
    }
}
WebAPI/ListModels.cs
@@ -1010,6 +1010,28 @@
            List<Model.ClsPM_WorkReportWeekBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPM_WorkReportWeekBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增月度阶段计划表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsPM_WorkPlanMonthBillMain> getObjectByJson_PM_WorkPlanMonthBillMain(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsPM_WorkPlanMonthBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPM_WorkPlanMonthBillMain>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增月度阶段计划子表的json
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public List<Model.ClsPM_WorkPlanMonthBillSub> getObjectByJson_PM_WorkPlanMonthBillSub(string jsonString)
        {
            jsonString = "[" + jsonString.ToString() + "]";
            List<Model.ClsPM_WorkPlanMonthBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPM_WorkPlanMonthBillSub>>(jsonString);
            return list;
        }
        /// <summary>
        /// å¤„理新增模具保养记录表主表的json