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;
|
|
|
/// <summary>
|
/// 返回工资结算个人列表
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("Pay_SingleBalBill/list")]
|
[HttpGet]
|
public object list(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;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#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();
|
if (sqlWhere == null || sqlWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn(string.Format(@"SELECT HMaterID 物料代码,物料名称, HDeptID 部门代码,部门,HGroupID 班组代码,班组,工资类型,摘要,内部单据号,
|
表头备注,制单人,制单日期,审核人,审核日期,修改人,修改日期,关闭人, 关闭日期,HProcID 工序代码,工序名称,
|
HEmpID 职员代码,职员,工时,数量,工价,金额
|
FROM h_v_Pay_SingleBalBillList"), "h_v_Pay_SingleBalBillList");
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "获取信息成功!";
|
objJsonResult.data = ds.Tables[0];
|
}
|
else
|
{
|
|
//string sql1 = "select HRepairCheckID,HRepairCheckContent,HManagerID,HRemark from Sc_MouldRepairCheckBillSub where 1 = 1 ";
|
string sql1 = string.Format(@"SELECT HMaterID 物料代码,物料名称, HDeptID 部门代码,部门,HGroupID 班组代码,班组,工资类型,摘要,内部单据号,
|
表头备注,制单人,制单日期,审核人,审核日期,修改人,修改日期,关闭人, 关闭日期,HProcID 工序代码,工序名称,
|
HEmpID 职员代码,职员,工时,数量,工价,金额
|
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。
|
///返回值:object。
|
/// </summary>
|
[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 = ds.Tables[0];
|
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<Pay_SingleBalBill> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_SingleBalBill>>(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 = mainList[0].HBillSubType;
|
string HMaker = mainList[0].HMaker;
|
string HExplanation = mainList[0].HExplanation;
|
string HInnerBillNo = mainList[0].HInnerBillNo;
|
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,HMakeDate" +
|
",HGroupID,HDeptID,HEmpID,HPayType,HExplanation,HInnerBillNo" +
|
") " +
|
" values('" + HBillType + "'," + HBillSubType + ",'" + HInterID + "','" + HBillNo + "','" + HDate + "'" +
|
"," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()," + HGroupID + "," + HDeptID + "," + HEmpID + ","+
|
"," + HPayType + "," + HExplanation + ",'" + HInnerBillNo + "'," +
|
") ");
|
|
//保存子表
|
objJsonResult = AddBillSub(msg3, HInterID);
|
if (objJsonResult.code == "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
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;
|
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<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;
|
|
oCN.RunProc("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," +
|
",HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
|
",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
|
",HPriceRate,HSubsidyTotal,HDeuctTotal" +
|
",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 + "," +
|
") ");
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = null;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//
|
}
|
}
|