zrg
2024-06-11 5139c14087106b8029ef90abb8cad7a789ab7310
WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs
@@ -776,6 +776,17 @@
                long HCORRESPONDORGID = mainList2[0].HCORRESPONDORGID == null ? 0 : mainList2[0].HCORRESPONDORGID;   //对应组织
                long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;//供货方联系人
                //进行 会计期间 结账 的判断和控制
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_POOrderBillList");
                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
@@ -891,65 +902,62 @@
            List<ClsCg_POOrderBillSub> DetailColl2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POOrderBillSub>>(msg3);
            string HSourceBillNo = DetailColl2[0].HSourceBillNo == null ? "''" : DetailColl2[0].HSourceBillNo;
            string HSourceBillType = DetailColl2[0].HSourceBillType == null ? "''" : DetailColl2[0].HSourceBillType;
            double HRelationQty = DetailColl2[0].HRelationQty == null ? 0 : DetailColl2[0].HRelationQty;
            double HBackRelationQty = DetailColl2[0].HBackRelationQty == null ? 0 : DetailColl2[0].HBackRelationQty;
            long HPropertyID = DetailColl2[0].HPropertyID == null ? 0 : DetailColl2[0].HPropertyID;
            string HBatChNo = DetailColl2[0].HBatChNo == null ? "''" : DetailColl2[0].HBatChNo;
            long HAuxPropID = DetailColl2[0].HAuxPropID == null ? 0 : DetailColl2[0].HAuxPropID;
            string HMTONo = DetailColl2[0].HMTONo == null ? "''" : DetailColl2[0].HMTONo;
            long HERPInterID = DetailColl2[0].HERPInterID == null ? 0 : DetailColl2[0].HERPInterID;
            long HERPEntryID = DetailColl2[0].HERPEntryID == null ? 0 : DetailColl2[0].HERPEntryID;
            long HWHID = DetailColl2[0].HWHID == null ? 0 : DetailColl2[0].HWHID;
            string HSeOrderBillNo = DetailColl2[0].HSeOrderBillNo == null ? "''" : DetailColl2[0].HSeOrderBillNo;
            string HRemark = DetailColl2[0].HRemark == null ? "''" : DetailColl2[0].HRemark;
            string HSourceInterID = DetailColl2[0].HSourceInterID == null ? "''" : DetailColl2[0].HSourceInterID;
            string HSourceEntryID = DetailColl2[0].HSourceEntryID == null ? "''" : DetailColl2[0].HSourceEntryID;
            long HSEQ = DetailColl2[0].HSEQ == null ? 0 : DetailColl2[0].HSEQ;//行号
            long HSTOCKORGID = DetailColl2[0].HSTOCKORGID == null ? 0 : DetailColl2[0].HSTOCKORGID;//收料组织
            long HRECEIVEDEPTID = DetailColl2[0].HRECEIVEDEPTID == null ? 0 : DetailColl2[0].HRECEIVEDEPTID;//收料部门
            string HSUPPLIERLOT = DetailColl2[0].HSUPPLIERLOT == null ? "''" : DetailColl2[0].HSUPPLIERLOT;//供应商批号
            long HBOMID = DetailColl2[0].HBOMID == null ? 0 : DetailColl2[0].HBOMID;//BOM版本
            long HSTOCKUNITID = DetailColl2[0].HSTOCKUNITID == null ? 0 : DetailColl2[0].HSTOCKUNITID;//库存单位
            long HBASEUNITID = DetailColl2[0].HBASEUNITID == null ? 0 : DetailColl2[0].HBASEUNITID;//基本单位
            string HBFLOWID = DetailColl2[0].HBFLOWID == null ? "''" : DetailColl2[0].HBFLOWID; //业务流程
            long HGIVEAWAY = DetailColl2[0].HGIVEAWAY == null ? 0 : DetailColl2[0].HGIVEAWAY;   //是否赠品
            string HROWTYPE = DetailColl2[0].HROWTYPE == null ? "''" : DetailColl2[0].HROWTYPE;//产品类型
            double HBASEUNITQTY = DetailColl2[0].HBASEUNITQTY == null ? 0 : DetailColl2[0].HBASEUNITQTY;//基本单位数量
            double HSTOCKBASEQTY = DetailColl2[0].HSTOCKBASEQTY == null ? 0 : DetailColl2[0].HSTOCKBASEQTY; //库存基本数量
            string HREQTRACENO = DetailColl2[0].HREQTRACENO == null ? "''" : DetailColl2[0].HREQTRACENO;//需求跟踪号
            double HTAXNETPRICE = DetailColl2[0].HTAXNETPRICE == null ? 0 : DetailColl2[0].HTAXNETPRICE; //含税净价
            double HPRICECOEFFICIENT = DetailColl2[0].HPRICECOEFFICIENT == null ? 0 : DetailColl2[0].HPRICECOEFFICIENT;//价格系数
            long HTAXCOMBINATION = DetailColl2[0].HTAXCOMBINATION == null ? 0 : DetailColl2[0].HTAXCOMBINATION;//税组合
            long HPRICEUNITID = DetailColl2[0].HPRICEUNITID == null ? 0 : DetailColl2[0].HPRICEUNITID;//计价单位
            long HPRICELISTENTRY = DetailColl2[0].HPRICELISTENTRY == null ? 0 : DetailColl2[0].HPRICELISTENTRY;//分录价目表
            long HPAYORGID = DetailColl2[0].HPAYORGID == null ? 0 : DetailColl2[0].HPAYORGID;//付款组织
            long HSETTLEMODEID = DetailColl2[0].HSETTLEMODEID == null ? 0 : DetailColl2[0].HSETTLEMODEID;//结算方式
            long HSETTLECURRID = DetailColl2[0].HSETTLECURRID == null ? 0 : DetailColl2[0].HSETTLECURRID;//结算币别
            long HEXCHANGETYPEID = DetailColl2[0].HEXCHANGETYPEID == null ? 0 : DetailColl2[0].HEXCHANGETYPEID;//汇率类型
            long HPAYCONDITIONID = DetailColl2[0].HPAYCONDITIONID == null ? 0 : DetailColl2[0].HPAYCONDITIONID;//付款条件
            double HEXCHANGERATE = DetailColl2[0].HEXCHANGERATE == null ? 0 : DetailColl2[0].HEXCHANGERATE;//汇率
            long HLOCALCURRID = DetailColl2[0].HLOCALCURRID == null ? 0 : DetailColl2[0].HLOCALCURRID;//本位币
            long HISINCLUDEDTAX = DetailColl2[0].HISINCLUDEDTAX == null ? 0 : DetailColl2[0].HISINCLUDEDTAX;//是否含税
            long HISPRICEEXCLUDETAX = DetailColl2[0].HISPRICEEXCLUDETAX == null ? 0 : DetailColl2[0].HISPRICEEXCLUDETAX;//价外税
            long HTAXRATEID = DetailColl2[0].HTAXRATEID == null ? 0 : DetailColl2[0].HTAXRATEID;//税率名称
            double HCOSTPERCENT = DetailColl2[0].HCOSTPERCENT == null ? 0 : DetailColl2[0].HCOSTPERCENT;//计入成本比例%
            double HCOSTAMOUNT = DetailColl2[0].HCOSTAMOUNT == null ? 0 : DetailColl2[0].HCOSTAMOUNT;//计入成本金额
            long HVAT = DetailColl2[0].HVAT == null ? 0 : DetailColl2[0].HVAT;//增值税
            long HSELLERWITHHOLDING = DetailColl2[0].HSELLERWITHHOLDING == null ? 0 : DetailColl2[0].HSELLERWITHHOLDING;//卖方代扣代缴
            long HBUYERWITHHOLDING = DetailColl2[0].HBUYERWITHHOLDING == null ? 0 : DetailColl2[0].HBUYERWITHHOLDING;//买方代扣代缴
            string HMATERIALDESC = DetailColl2[0].HMATERIALDESC == null ? "''" : DetailColl2[0].HMATERIALDESC; //物料说明
            int i = 0;
            foreach (ClsCg_POOrderBillSub oSub in DetailColl)
            {
                string HSourceBillNo = DetailColl2[i].HSourceBillNo == null ? "''" : DetailColl2[i].HSourceBillNo;
                string HSourceBillType = DetailColl2[i].HSourceBillType == null ? "''" : DetailColl2[i].HSourceBillType;
                double HRelationQty = DetailColl2[i].HRelationQty;
                double HBackRelationQty = DetailColl2[i].HBackRelationQty;
                long HPropertyID = DetailColl2[i].HPropertyID;
                string HBatChNo = DetailColl2[i].HBatChNo == null ? "''" : DetailColl2[i].HBatChNo;
                long HAuxPropID = DetailColl2[i].HAuxPropID;
                string HMTONo = DetailColl2[i].HMTONo == null ? "''" : DetailColl2[i].HMTONo;
                long HERPInterID = DetailColl2[i].HERPInterID;
                long HERPEntryID = DetailColl2[i].HERPEntryID;
                long HWHID = DetailColl2[i].HWHID;
                string HSeOrderBillNo = DetailColl2[i].HSeOrderBillNo == null ? "''" : DetailColl2[i].HSeOrderBillNo;
                string HRemark = DetailColl2[i].HRemark == null ? "''" : DetailColl2[i].HRemark;
                string HSourceInterID = DetailColl2[i].HSourceInterID == null ? "''" : DetailColl2[i].HSourceInterID;
                string HSourceEntryID = DetailColl2[i].HSourceEntryID == null ? "''" : DetailColl2[i].HSourceEntryID;
                long HSEQ = DetailColl2[i].HSEQ;//行号
                long HSTOCKORGID = DetailColl2[i].HSTOCKORGID;//收料组织
                long HRECEIVEDEPTID = DetailColl2[i].HRECEIVEDEPTID;//收料部门
                string HSUPPLIERLOT = DetailColl2[i].HSUPPLIERLOT;//供应商批号
                long HBOMID = DetailColl2[i].HBOMID;//BOM版本
                long HSTOCKUNITID = DetailColl2[i].HSTOCKUNITID;//库存单位
                long HBASEUNITID = DetailColl2[i].HBASEUNITID;//基本单位
                string HBFLOWID = DetailColl2[i].HBFLOWID == null ? "''" : DetailColl2[i].HBFLOWID; //业务流程
                long HGIVEAWAY = DetailColl2[i].HGIVEAWAY;   //是否赠品
                string HROWTYPE = DetailColl2[i].HROWTYPE == null ? "''" : DetailColl2[i].HROWTYPE;//产品类型
                double HBASEUNITQTY = DetailColl2[i].HBASEUNITQTY;//基本单位数量
                double HSTOCKBASEQTY = DetailColl2[i].HSTOCKBASEQTY; //库存基本数量
                string HREQTRACENO = DetailColl2[i].HREQTRACENO == null ? "''" : DetailColl2[i].HREQTRACENO;//需求跟踪号
                double HTAXNETPRICE = DetailColl2[i].HTAXNETPRICE; //含税净价
                double HPRICECOEFFICIENT = DetailColl2[i].HPRICECOEFFICIENT;//价格系数
                long HTAXCOMBINATION = DetailColl2[i].HTAXCOMBINATION;//税组合
                long HPRICEUNITID = DetailColl2[i].HPRICEUNITID;//计价单位
                long HPRICELISTENTRY = DetailColl2[i].HPRICELISTENTRY;//分录价目表
                long HPAYORGID = DetailColl2[i].HPAYORGID;//付款组织
                long HSETTLEMODEID = DetailColl2[i].HSETTLEMODEID;//结算方式
                long HSETTLECURRID = DetailColl2[i].HSETTLECURRID;//结算币别
                long HEXCHANGETYPEID = DetailColl2[i].HEXCHANGETYPEID;//汇率类型
                long HPAYCONDITIONID = DetailColl2[i].HPAYCONDITIONID;//付款条件
                double HEXCHANGERATE = DetailColl2[i].HEXCHANGERATE;//汇率
                long HLOCALCURRID = DetailColl2[i].HLOCALCURRID;//本位币
                long HISINCLUDEDTAX = DetailColl2[i].HISINCLUDEDTAX;//是否含税
                long HISPRICEEXCLUDETAX = DetailColl2[i].HISPRICEEXCLUDETAX;//价外税
                long HTAXRATEID = DetailColl2[i].HTAXRATEID;//税率名称
                double HCOSTPERCENT = DetailColl2[i].HCOSTPERCENT;//计入成本比例%
                double HCOSTAMOUNT = DetailColl2[i].HCOSTAMOUNT;//计入成本金额
                long HVAT = DetailColl2[i].HVAT;//增值税
                long HSELLERWITHHOLDING = DetailColl2[i].HSELLERWITHHOLDING;//卖方代扣代缴
                long HBUYERWITHHOLDING = DetailColl2[i].HBUYERWITHHOLDING;//买方代扣代缴
                string HMATERIALDESC = DetailColl2[i].HMATERIALDESC == null ? "''" : DetailColl2[i].HMATERIALDESC; //物料说明
                i++;
                if (oSub.HQty <= 0 || oSub.HQty == null)
                if (oSub.HQty <= 0 || oSub.HQty == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -1118,6 +1126,7 @@
            }
        }
        #endregion
        /// <summary>
        ///删除功能
        /// </summary>
@@ -1128,7 +1137,7 @@
        {
            try
            {
                string HBillNo = "";
                //删除前控制=========================================      
                string sql1 = "exec h_p_Cg_POOrderBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
@@ -1152,8 +1161,19 @@
                }
                //==================================================================================  
                //进行 会计期间 结账 的判断和控制
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                DateTime HDate = DateTime.Now;
                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                {
                    objJsonResult.Message = s;
                    return objJsonResult;
                }
                string sReturn = "";
                oCN.BeginTran();
                oCN.BeginTran();
                oCN.RunProc("Delete From Cg_POOrderBillMain where HInterID = " + HInterID);
                oCN.RunProc("Delete From Cg_POOrderBillSub where HInterID = " + HInterID);
                oCN.Commit();
@@ -1211,7 +1231,7 @@
        {
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid =" + HInterID, "h_v_IF_POOrderBillList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
@@ -1380,6 +1400,17 @@
                    }
                    //==================================================================================      
                    //进行 会计期间 结账 的判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //审核提交
                    if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {
@@ -1420,6 +1451,18 @@
                    }
                    //=========================================================
                    //进行 会计期间 结账 的判断和控制
                    string s = "";
                    int sYear = 0;
                    int sPeriod = 0;
                    DateTime HDate = DateTime.Now;
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.Message = s;
                        return objJsonResult;
                    }
                    //反审核提交AbandonCheck
                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                    {