ch
2021-10-29 34c5c1737a20c8bd1fb8090a08d4bcbcc8d60cf8
WebAPI/Controllers/Pay_SingleBalBillController.cs
@@ -16,8 +16,10 @@
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        public WebServer webserver = new WebServer();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        //DataSet ds;
        /// <summary>
@@ -25,49 +27,92 @@
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Pay_SingleBalBill/list")]
       [Route("Pay_SingleBalBill/GetSingleBalBill")]
        [HttpGet]
        public object list(string sWhere)
        public object GetSingleBalBill(string sWhere)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Pay_SingleBalBillList " + sWhere, "h_v_Pay_SingleBalBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_Pay_SingleBalBillList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_Pay_SingleBalBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                ds = Sc_GetSingleBalBill(sWhere);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "返回记录成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public static DataSet Sc_GetSingleBalBill(string sWhere)
        {
            if (sWhere == null || sWhere.Equals(""))
            {
                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Pay_SingleBalBillList order by 日期 desc", "h_v_Pay_SingleBalBillList");
            }
            else
            {
                string sql1 = "select * from h_v_Pay_SingleBalBillList where 1 = 1 ";
                string sql = sql1 + sWhere + "order by 日期 desc";
                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Pay_SingleBalBillList");
            }
        }
        #region[工资结算个人单编辑时获取表头数据]
        [Route("Pay_SingleBalBill/Pay_SingleBalBillListCheckDetail")]
        [HttpGet]
        public ApiResult<DataSet> Pay_SingleBalBillListCheckDetail(string HID)
        {
            if (string.IsNullOrEmpty(HID))
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Pay_SingleBalBillList  where hmainid= " + HID + " ", "h_v_Pay_SingleBalBillList");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataSet> { code = -1, msg = "不存在结算单号" };
            return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet };
        }
        #endregion
        #region[工资结算个人单编辑时获取表体数据]
        [Route("Pay_SingleBalBill/Pay_SingleBalBillListProjectDetai")]
        [HttpGet]
        public object Pay_SingleBalBillListProjectDetai(string sqlWhere)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql1 = "SELECT HMaterID,HMaterCode,HMaterName, HDeptID,部门代码,部门" +
                    ",HGroupID,班组代码,班组,工资类型,摘要,内部单据号,表头备注,制单人,制单日期" +
                    ",审核人,审核日期,修改人,修改日期,关闭人, 关闭日期,HProcID,HProcNumber,HProcName" +
                    ",HEmpID,HEmpNumber,HEmpName,工时,数量,工价,金额 FROM h_v_Pay_SingleBalBillList where 1 = 1 ";
                string sql = sql1 + sqlWhere;
                ds = oCN.RunProcReturn(sql, "h_v_Pay_SingleBalBillList");
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";
                objJsonResult.data = ds.Tables[0];
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        /// <summary>
        /// 新增单据-保存按钮
        ///参数:string sql。
@@ -95,7 +140,7 @@
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = "新增单据成功!";
            objJsonResult.data = ds.Tables[0];
            objJsonResult.data = null;
            return objJsonResult;
        }
@@ -115,10 +160,10 @@
                int HYear = 2021;
                double HPeriod = 1;
                string HRemark = mainList[0].HRemark;//备注
                string HBillSubType = mainList[0].HBillSubType;
                string HBillSubType = "2205";
                string HMaker = mainList[0].HMaker;
                string HExplanation = mainList[0].HExplanation;
                string HInnerBillNo = mainList[0].HInnerBillNo;
                string HExplanation =  "0";
                string HInnerBillNo = "0";
                long HMaterID = mainList[0].HMaterID;//产品ID
                long HGroupID = mainList[0].HGroupID;
                long HDeptID = mainList[0].HDeptID;
@@ -129,15 +174,14 @@
                int HPRDORGID = mainList[0].HPRDORGID;  //组织
                //主表
                oCN.RunProc("Insert Into Pay_SingleBalBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                ",HGroupID,HDeptID,HEmpID,HPayType,HExplanation,HInnerBillNo" +
                ") " +
                " values('" + HBillType + "'," + HBillSubType + ",'" + HInterID + "','" + HBillNo + "','" + HDate + "'" +
                "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()," + HGroupID + "," + HDeptID + "," + HEmpID + ","+
                "," + HPayType + "," + HExplanation + ",'" + HInnerBillNo + "'," +
                ") ");
                oCN.RunProc(" Insert Into Pay_SingleBalBillMain " +
                    "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                    ",HYear,HPeriod,HRemark,HMaker" +
                    ",HGroupID,HDeptID,HEmpID,HPayType,HInnerBillNo,HExplanation" + ")" +
                    "values('" + HBillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "','" + HDate +
                    "','" + HYear + "'," + HPeriod + ",'" + HRemark + "','" + HMaker + "'," + HGroupID + ", " + HDeptID +
                    "," + HEmpID + ",'"+ HPayType +"','" + HInnerBillNo + "'," + HExplanation +
                   ") ");
                //保存子表
                objJsonResult = AddBillSub(msg3, HInterID);
@@ -148,17 +192,6 @@
                    objJsonResult.Message = objJsonResult.Message;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    if (ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "2")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -181,67 +214,64 @@
            List<Pay_SingleBalBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_SingleBalBillSub>>(msg3);
            for (int i = 0; i < subList.ToArray().Length; i++)
            {
                //if (subList[i].HWorkQty <= 0)
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "第" + i + "行,加工数量不能为0或者小于0";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                string HCloseMan = "";//关闭人
                bool HCloseType = false;//
                string HEntryCloseDate = "";//时间单位
                long HSourceInterID = 0;//源单主内码
                long HSourceEntryID = 0;//源单子内码
                string HSourceBillNo = "";//源单单号
                string HSourceBillType = "";//源单类型
                double HRelationQty = 0;//关联数量
                double HRelationMoney = 0;//关联金额
                decimal HTimes = 0;
                decimal HQty = 0;
                decimal HPrice = 0;
                decimal HMoney = 0;
                long HICMOInterID = 0;
                string HICMOBillNo = "";
                long HProcID_S = 0;//工段ID
                long HMaterID_S = 0;
                long HEmpID_S = 0;
                long HSourceID_S = 0;
                long HProcReportInterID = 0;
                long HProcReportEntryID = 0;
                long HProcPlanInterID = 0;
                long HProcPlanEntryID = 0;
                string HProcReportBillNo = "";
                string HProcPlanBillNo = "";
                decimal HPriceRate = 0;
                decimal HSubsidyTotal = 0;
                decimal HDeuctTotal = 0;
                decimal HPackQty = 0;
                decimal HPackPrice = 0;
                decimal HPackMoney = 0;
                long HPackMaterID = 0;
                decimal HSubsidyQty = 0;
                decimal HSubsidyMoney = 0;
                long HEntryID = subList[0].HEntryID;//工段ID
                string HCloseMan = subList[0].HCloseMan;
                long HCloseType = subList[0].HCloseType;
                string HRemark = subList[0].HRemark;
                long HSourceInterID = subList[0].HSourceInterID;
                long HSourceEntryID = subList[0].HSourceEntryID;
                string HSourceBillNo = subList[0].HSourceBillNo;
                string HSourceBillType = subList[0].HSourceBillType;
                decimal HRelationQty = subList[0].HRelationQty;
                decimal HRelationMoney = subList[0].HRelationMoney;
                long HSourceID = subList[0].HSourceID;
                long HSqty = subList[0].HSqty;
                long HSubsidyID = subList[0].HSubsidyID;
                long HDeuctID = subList[0].HDeuctID;
                long HMaterID = subList[0].HMaterID;
                long HProcID = subList[0].HProcID;
                long HEmpID = subList[0].HEmpID;
                decimal HTimes = subList[0].HTimes;
                decimal HQty = subList[0].HQty;
                decimal HPrice = subList[0].HPrice;
                decimal HPackQty = subList[0].HPackQty;
                decimal HPackPrice = subList[0].HPackPrice;
                decimal HPackMoney = subList[0].HPackMoney;
                long HPackMaterID = subList[0].HPackMaterID;
                decimal HPriceRate = subList[0].HPriceRate;
                decimal HSubsidyTotal = subList[0].HSubsidyTotal;
                decimal HDeuctTotal = subList[0].HDeuctTotal;
                decimal HSubsidyQty = subList[0].HSubsidyQty;
                decimal HSubsidyMoney = subList[0].HSubsidyMoney;
                decimal HMoney = subList[0].HMoney;
                long HICMOInterID = subList[0].HICMOInterID;
                string HICMOBillNo = subList[0].HICMOBillNo;
                long HProcReportInterID = subList[0].HProcReportInterID;
                long HProcReportEntryID = subList[0].HProcReportEntryID;
                long HProcPlanInterID = subList[0].HProcPlanInterID;
                long HProcPlanEntryID = subList[0].HProcPlanEntryID;
                string HProcReportBillNo = subList[0].HProcReportBillNo;
                string HProcPlanBillNo = subList[0].HProcPlanBillNo;
                oCN.RunProc("Insert into Pay_SingleBalBillSub " +
                string sql = "Insert into Pay_SingleBalBillSub " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID_S,HProcID_S,HEmpID_S,HSourceID_S,HTimes,HQty,HPrice," +
                      ",HMaterID,HProcID,HEmpID,HSourceID,HTimes,HQty,HPrice,HSqty" +
                      ",HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
                      ",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
                      ",HPriceRate,HSubsidyTotal,HDeuctTotal" +
                      ",HPriceRate,HSubsidyTotal,HDeuctTotal,HSubsidyID,HDeuctID" +
                      ",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HSubsidyQty,HSubsidyMoney" +
                      ") values("
                      + HInterID + "," + i + "," + subList[i].HEntryID + ",'" + HCloseMan + "'" +
                     "," + HEntryCloseDate + "," + Convert.ToString(HCloseType ? 1 : 0) +
                      ",'" + subList[i].HRemark + "'," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HRelationQty + "," + HRelationMoney + "," +
                     "," + HProcID_S + "," + HMaterID_S + "," + HEmpID_S + ", " + HSourceID_S + ",'" + HTimes + "','" + HQty + "'" +
                     ",'" + HPrice + "','" + HMoney + "','" + HICMOInterID + "'," + HICMOBillNo + "," + HProcReportInterID + "," + HProcReportEntryID + "," +
                     "," + HProcReportBillNo + "," + HProcPlanInterID + ",'" + HProcPlanEntryID + "','" + HProcPlanBillNo + "'," + HPriceRate + "," + HSubsidyTotal + "," +
                     "," + HDeuctTotal + ",'" + HPackQty + "'," + HPackPrice + "," + HPackMoney + "," + HPackMaterID + "," + HSubsidyQty + "," + HSubsidyMoney + "," +
                      ") ");
                      + HInterID.ToString() + "," + HEntryID.ToString() + ",'" + HCloseMan + "',''," + HCloseType  + ",'" + HRemark + "'" +
                      "," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HRelationQty.ToString() + "," + HRelationMoney.ToString() +
                      "," + HMaterID.ToString() + "," + HProcID.ToString() + "," + HEmpID.ToString() + "," + HSourceID.ToString()
                      + "," + HTimes.ToString() + "," + HQty.ToString() + "," + HPrice.ToString() + "," + HSqty.ToString() +
                      "," +HMoney.ToString() + "," + HICMOInterID.ToString() + ",'" + HICMOBillNo + "'," + HProcReportInterID.ToString() + "," + HProcReportEntryID.ToString() + ",'" + HProcReportBillNo + "'" +
                      "," +HProcPlanInterID.ToString() + "," + HProcPlanEntryID.ToString() + ",'" + HProcPlanBillNo + "'" +
                      "," + HPriceRate.ToString() + "," + HSubsidyTotal.ToString() + "," + HDeuctTotal.ToString() + "," + HSubsidyID.ToString() + "," + HDeuctID.ToString() +
                      "," + HPackQty.ToString() + "," + HPackPrice.ToString() + "," + HPackMoney.ToString() + "," + HPackMaterID.ToString() + "," + HSubsidyQty.ToString() + "," + HSubsidyMoney.ToString() +
                      ") ";
            oCN.RunProc(sql);
            }
            objJsonResult.code = "1";
@@ -250,7 +280,60 @@
            objJsonResult.data = null;
            return objJsonResult;
        }
        /// <summary>
        ///工资结算个人单删除功能
        /// </summary>
        /// <returns></returns>
        [Route("Pay_SingleBalBill/DeltetSingleBalBill")]
        [HttpGet]
        public object Pay_SingleBalBill(string HInterID)
        {
            try
            {
                oCN.BeginTran();
                oCN.RunProc("Delete From Pay_SingleBalBillMain where HInterID = " + HInterID);
                oCN.RunProc("Delete From Pay_SingleBalBillSub where HInterID = " + HInterID);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        [Route("Pay_SingleBalBill/getSingleBalBillPrice")]
        [HttpGet]
        public object getSingleBalBillPrice(string HMaterID,string HProcID)
        {
            try
            {
                DataSet ds = oCN.RunProcReturn("select 单价 from h_v_Gy_ProcPriceList where HMaterID='" + HMaterID + "' and HProcID='" + HProcID + "'", "h_v_Gy_ProcPriceList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "查询成功!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //
    }
}