using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class Pay_SingleBalBillController : ApiController
{
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;
///
/// 返回工资结算个人列表
///参数:string sql。
///返回值:object。
///
[Route("Pay_SingleBalBill/GetSingleBalBill")]
[HttpGet]
public object GetSingleBalBill(string sWhere)
{
try
{
ds = Sc_GetSingleBalBill(sWhere);
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "返回记录成功!";
objJsonResult.data = ds.Tables[0];
return objJsonResult;
}
catch (Exception ex)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
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 Pay_SingleBalBillListCheckDetail(string HID)
{
if (string.IsNullOrEmpty(HID))
return new ApiResult { 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 { code = -1, msg = "不存在结算单号" };
return new ApiResult { 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
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Pay_SingleBalBill/AddBill")]
[HttpPost]
public object AddBill([FromBody] JObject sMainSub)
{
var _value = sMainSub["sMainSub"].ToString();
string msg1 = _value.ToString();
oCN.BeginTran();
//保存主表
objJsonResult = AddBillMain(msg1);
if (objJsonResult.code == "0")
{
oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = objJsonResult.Message;
objJsonResult.data = null;
return objJsonResult;
}
oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "新增单据成功!";
objJsonResult.data = null;
return objJsonResult;
}
public json AddBillMain(string msg1)
{
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
try
{
msg2 = "[" + msg2.ToString() + "]";
List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2);
string HBillType = "2205";
long HInterID = mainList[0].HInterID;//递入type得到的单据ID
string HBillNo = mainList[0].HBillNo;//递入type得到的单据号
DateTime HDate = mainList[0].HDate;//日期
int HYear = 2021;
double HPeriod = 1;
string HRemark = mainList[0].HRemark;//备注
string HBillSubType = "2205";
string HMaker = mainList[0].HMaker;
string HExplanation = "0";
string HInnerBillNo = "0";
long HMaterID = mainList[0].HMaterID;//产品ID
long HGroupID = mainList[0].HGroupID;
long HDeptID = mainList[0].HDeptID;
long HProcID = mainList[0].HProcID;
long HEmpID = mainList[0].HEmpID;
long HPayType = mainList[0].HPayType;
//long HMaterTypeID = 0;
int HPRDORGID = mainList[0].HPRDORGID; //组织
//主表
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);
if (objJsonResult.code == "0")
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = objJsonResult.Message;
objJsonResult.data = null;
return objJsonResult;
}
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception!" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
public json AddBillSub(string msg3, long HInterID)
{
List subList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3);
for (int i = 0; i < subList.ToArray().Length; i++)
{
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;
string sql = "Insert into Pay_SingleBalBillSub " +
" (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
",HMaterID,HProcID,HEmpID,HSourceID,HTimes,HQty,HPrice,HSqty" +
",HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
",HPriceRate,HSubsidyTotal,HDeuctTotal,HSubsidyID,HDeuctID" +
",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HSubsidyQty,HSubsidyMoney" +
") values("
+ 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";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
///
///工资结算个人单删除功能
///
///
[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;
}
}
//
}
}