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 System.Windows.Forms;
using WebAPI.Models;
using Newtonsoft.Json;
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();
public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
public DLL.ClsPay_SingleBalBill BillNew0 = new DLL.ClsPay_SingleBalBill(); //
public DLL.ClsPay_SingleBalBill BillOld0 = new DLL.ClsPay_SingleBalBill(); //
#region 工资结算单个人-查询
///
/// 返回工资结算个人列表(个人)
///参数:string sql。
///返回值:object。
///
[Route("Pay_SingleBalBill/GetSingleBalBill")]
[HttpGet]
public object GetSingleBalBill(string sWhere,string user)
{
try
{
if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBillList", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无查看权限!";
objJsonResult.data = null;
return objJsonResult;
}
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 hmainid desc", "h_v_Pay_SingleBalBillList");
}
else
{
string sql1 = "select * from h_v_Pay_SingleBalBillList where 1 = 1 ";
string sql = sql1 + sWhere + " order by hmainid desc";
return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Pay_SingleBalBillList");
}
}
#endregion
#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,工时 HTimes ,数量 HQty,工价 HPrice,金额 HMoney ,表体备注 as HRemark 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
#region 工资结算单个人新增
[Route("Pay_SingleBalBill/SaveGetSingleBalBillList")]
[HttpPost]
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
public object SaveGetSingleBalBillList([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();
string msg4 = sArray[3].ToString();
string UserName = "";
string s = "";
long mouldid;
ListModels oListModels = new ListModels();
try
{
//编辑权限
if (!DBUtility.ClsPub.Security_Log_second("Pay_SingleBalBill_Edit", 1, false, msg4))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无保存权限!";
objJsonResult.data = null;
return objJsonResult;
}
DLL.ClsPay_SingleBalBill oBill = new DLL.ClsPay_SingleBalBill();
List lsmain = new List();
msg2 = msg2.Replace("\\", "");
msg2 = msg2.Replace("\n", ""); //\n
lsmain = oListModels.getObjectByJson_Pay_SingleBalBillMain(msg2);
foreach (Models.ClsPay_SingleBalBillMain oItem in lsmain)
{
if (refSav == "Add")
{
//单据号是否重复
if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "单据号重复!不允许保存!";
objJsonResult.data = 1;
return objJsonResult;
}
}
if (refSav == "Update")
{
if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "此单据有误!";
objJsonResult.data = 1;
return objJsonResult;
}
//判断是否可编辑
if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "此单据已经被审核,不允许修改!";
objJsonResult.data = 1;
return objJsonResult;
}
if (BillOld0.omodel.HBillStatus > 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
objJsonResult.data = 1;
return objJsonResult;
}
if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = s + ",不允许修改";
objJsonResult.data = 1;
return objJsonResult;
}
}
//oItem.HMaker = "";
UserName = oItem.HMaker; //制单人
oItem.HBillType = "2205";
oItem.HBillSubType = "2205";
//oItem.HBillNo = ""; //单据号
//oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));// --日期
//oItem.HInnerBillNo = ""; // --内部单据号
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"));
//oItem.HEquipID = 0; //设备ID(Gy_EquipMent)
//oItem.HPeriod = 0;
//oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); // --维修日期
//oItem.HCheckResult = ""; //验收结论--(正常,异常)
//oItem.HEmpID = 0; //验收人(Gy_Employee)
//oItem.HManagerID = 0; //负责人(Gy_Employee)
//oItem.HDeptID = 0; //验收部门(Gy_Department)
//oItem.HExplanation = ""; //摘要(故障描述)
//oItem.HRemark = ""; //备注
//oItem.HMainSourceInterID = oItem.HInterID;
//oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
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
//msg2 = msg2.Replace("'", "’");
List ls = new List();
ls = oListModels.getObjectByJson_Pay_SingleBalBillSub(msg3);
int i = 0;
foreach (Models.ClsPay_SingleBalBillSub oItemSub in ls)
{
i++;
oItemSub.HEntryID = i;
mouldid = oItemSub.HMaterID;
//oItemSub.HRepairCheckID = 0; //验收项目ID
//oItemSub.HRepairCheckContent = ""; //验收内容
//oItemSub.HManagerID = 0; //负责人ID
//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; //关联金额
//oItemSub.HRepairID = 0; //维修项目
//oItemSub.HRepairExplanation =""; //维修要求
//oItemSub.HMoney = 0; //维修费用
oBill.DetailColl.Add(oItemSub);
}
//保存
//保存完毕后处理
bool bResult;
if (oBill.omodel.HInterID == 0)
{
// bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
}
else
{
bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
}
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("Pay_SingleBalBill/DeltetSingleBalBill")]
[HttpGet]
public object Pay_SingleBalBill(string HInterID,string user)
{
try
{
if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Drop", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无删除权限!";
objJsonResult.data = null;
return objJsonResult;
}
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;
}
}
#endregion
[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;
}
}
///
/// 生成工资结算
///
/// 开始日期
/// 结束日期
/// 部门ID
///
[Route("Pay_SingleBalBill/GenerateSalary")]
[HttpGet]
public object GenerateSalary(string HBeginDate, string HEndDate,int HDeptID)
{
try
{
string sql = $"exec h_p_Gy_GenerateSalary '{HBeginDate}','{HEndDate}','{HDeptID}' ";
oCN.RunProc(sql);
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "生成成功";
objJsonResult.data = 1;
return objJsonResult;
}
catch (Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "执行异常,联系管理员!报错:" + e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
//
#region 工资结算单个人-新增
#region 表头数据
public class Pay_SingleBalBillMain
{
public int HInterID;
public string HBillNo;
public string HDate;
public string HInnerBillNo;
public int HGroupID;
public string HGroupName;
public int HDeptID;
public string HDeptName;
public int HEmpID;
public string HEmpName;
public int HPayTypeID;
public string HPayTypeName;
public string HSourceBillType;
public int HSourceBillID;
public string HSourceBillNo;
public string HExplanation;
public string HRemark;
public string HMaker;
public string HMakerDate;
public string HUpdater;
public string HUpdaterDate;
public string HChecker;
public string HCheckerDate;
public string HCloseMan;
public string HCloseManDate;
public string HDeleteMan;
public string HDeleteManDate;
public string HBacker;
public string HBackerDate;
public string HBackRemark;
}
#endregion
#region 子表数据
public class Pay_SingleBalBillSub
{
public int RowID;
public int HMaterID;
public string HMaterNumber;
public string HMaterName;
public string HMaterModel;
public int HProcID;
public string HProcNumber;
public string HProcName;
public int HEmpID;
public string HEmpNumber;
public string HEmpName;
public double HTimes;
public double HQty;
public double HPrice;
public double HPriceRate;
public double HSubsidyQty;
public double HSubsidyMoney;
public double HSubsidyTotal;
public double HDeuctTotal;
public double HPackQty;
public double HPackPrice;
public double HPackMoney;
public int HPackMaterID;
public string HPackMaterName;
public double HMoney;
public int HICMOInterID;
public string HICMOBillNo;
public int HProcReportInterID;
public int HProcReportEntryID;
public string HProcReportBillNo;
public int HProcPlanInterID;
public int HProcPlanEntryID;
public string HProcPlanBillNo;
public string HRemark;
public int HSourceInterID;
public int HSourceEntryID;
public string HSourceBillNo;
public string HSourceBillType;
public double HRelationQty;
public double HRelationMoney;
public string HCloseMan;
public string HEntryCloseDate;
}
#endregion
#region 工资结算单(个人) 新增/编辑-保存
///
/// 新增单据-保存按钮
///参数:string sql。
///返回值:object。
///
[Route("Pay_SingleBalBillMain/AddBill")]
[HttpPost]
public object AddBill_Pay_SingleBalBillMain([FromBody] JObject sMainSub)
{
//获取参数
var _value = sMainSub["sMainSub"].ToString();
string msg1 = _value.ToString();
//开始事务
oCN.BeginTran();
//保存主表
objJsonResult = AddBillMain_Pay_SingleBalBillMain(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;
}
#endregion
#region 添加 工资结算单(个人) 主表
public json AddBillMain_Pay_SingleBalBillMain(string msg1)
{
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
int OperationType = int.Parse(sArray[2].ToString());//数据类型 1添加 3修改 2 复制
string user = sArray[3].ToString();//用户名
string HComputerName = SystemInformation.ComputerName; //设备名称
try
{
if (OperationType == 1)
{
//判断是否有编辑权限
if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无新增权限!";
objJsonResult.data = null;
return objJsonResult;
}
}
else if (OperationType == 3)
{
//判断是否有编辑权限
if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "无编辑权限!";
objJsonResult.data = null;
return objJsonResult;
}
}
msg2 = "[" + msg2.ToString() + "]";
List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2);
int HYear = int.Parse(mainList[0].HDate.Split('-')[0]);
int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]);
string HBillType = "2205";
string HBillSubType = "";
int HBillStatus = 1;
int HInterID = mainList[0].HInterID;
string HBillNo = mainList[0].HBillNo;
string HDate = mainList[0].HDate;
string HInnerBillNo = mainList[0].HInnerBillNo;
int HGroupID = mainList[0].HGroupID;
int HDeptID = mainList[0].HDeptID;
int HEmpID = mainList[0].HEmpID;
int HPayType = mainList[0].HPayTypeID;
int HMainSourceInterID = mainList[0].HSourceBillID;
string HMainSourceBillNo = mainList[0].HSourceBillNo;
string HMainSourceBillType = mainList[0].HSourceBillType;
string HExplanation = mainList[0].HExplanation;
string HRemark = mainList[0].HRemark;
//制单、修改
string HMaker = mainList[0].HMaker;
DateTime HMakerDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString());
string HUpdater = mainList[0].HUpdater;
DateTime HUpdaterDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString());
//保存前控制
DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Pay_SingleBalBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_SingleBalBill_BeforeSaveCtrl");
if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存前判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
}
ds = oCN.RunProcReturn("select * from Pay_SingleBalBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_SingleBalBillMain");
if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
{
string sql = "insert into Pay_SingleBalBillMain" +
"(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HGroupID,HDeptID,HEmpID,HPayType,HExplanation,HInnerBillNo,HRemark,HMaker,HMakeDate,HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType) " +
"values(" +
"" + HYear +
"," + HPeriod +
",'" + HBillType +
"','" + HBillSubType +
"'," + HInterID +
",'" + HDate +
"','" + HBillNo +
"'," + HBillStatus +
"," + HGroupID +
"," + HDeptID +
"," + HEmpID +
"," + HPayType +
",'" + HExplanation +
"','" + HInnerBillNo +
"','" + HRemark +
"','" + HMaker +
"','" + HMakerDate +
"'," + HMainSourceInterID +
",'" + HMainSourceBillNo +
"','" + HMainSourceBillType +
"')";
//主表
oCN.RunProc(sql);
LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",新增工资结算单(个人):" + HBillNo);
oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "新增工资结算单(个人):" + HBillNo + "','LMES-工资结算单(个人)模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo);
}
else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0) //编辑
{
string sql = "update Pay_SingleBalBillMain set " +
"HYear = " + HYear +
",HPeriod = " + HPeriod +
",HBillType = '" + HBillType +
"',HBillSubType = '" + HBillSubType +
"',HDate = '" + HDate +
"',HBillNo = '" + HBillNo +
"',HGroupID = " + HGroupID +
",HDeptID = " + HDeptID +
",HEmpID = " + HEmpID +
",HPayType = " + HPayType +
",HExplanation = '" + HExplanation +
"',HInnerBillNo = '" + HInnerBillNo +
"',HRemark = '" + HRemark +
"',HUPdater = '" + HUpdater +
"',HUpdateDate = '" + HUpdaterDate +
"',HMainSourceInterID = " + HMainSourceInterID +
",HMainSourceBillNo = '" + HMainSourceBillNo +
"',HMainSourceBillType = '" + HMainSourceBillType +
"' where HInterID = " + HInterID;
oCN.RunProc(sql);
//删除子表
oCN.RunProc("delete from Pay_SingleBalBillSub where HInterID=" + HInterID + "");
//记录日志
LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",修改工资结算单(个人):" + HBillNo);
oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "修改工资结算单(个人):" + HBillNo + "','LMES-工资结算单(个人)模块','" + DBUtility.ClsPub.IPAddress + "','修改单据'", ref DBUtility.ClsPub.sExeReturnInfo);
}
//保存子表
objJsonResult = AddBillSub_Pay_SingleBalBillMain(msg3, HInterID, HBillNo, OperationType);
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;
}
}
#endregion
#region 添加 工资结算单(个人) 子表
public json AddBillSub_Pay_SingleBalBillMain(string msg3, long HInterID, string HBillNo, int OperationType)
{
List DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3);
int i = 0; //作为子表内码
foreach (Pay_SingleBalBillSub oSub in DetailColl)
{
i++; //同一个主表下的子表的内码自增
int HEntryID = i;
int HMaterID = oSub.HMaterID;
int HProcID = oSub.HProcID;
int HEmpID = oSub.HEmpID;
double HTimes = oSub.HTimes;
double HQty = oSub.HQty;
double HPrice = oSub.HPrice;
double HPriceRate = oSub.HPriceRate;
double HSubsidyQty = oSub.HSubsidyQty;
double HSubsidyMoney = oSub.HSubsidyMoney;
double HSubsidyTotal = oSub.HSubsidyTotal;
double HDeuctTotal = oSub.HDeuctTotal;
double HPackQty = oSub.HPackQty;
double HPackPrice = oSub.HPackPrice;
double HPackMoney = oSub.HPackMoney;
int HPackMaterID = oSub.HPackMaterID;
double HMoney = oSub.HMoney;
int HICMOInterID = oSub.HICMOInterID;
string HICMOBillNo = oSub.HICMOBillNo;
int HProcReportInterID = oSub.HProcReportInterID;
int HProcReportEntryID = oSub.HProcReportEntryID;
string HProcReportBillNo = oSub.HProcReportBillNo;
int HProcPlanInterID = oSub.HProcPlanInterID;
int HProcPlanEntryID = oSub.HProcPlanEntryID;
string HProcPlanBillNo = oSub.HProcPlanBillNo;
string HRemark = oSub.HRemark;
int HSourceInterID = oSub.HSourceInterID;
int HSourceEntryID = oSub.HSourceEntryID;
string HSourceBillNo = oSub.HSourceBillNo;
string HSourceBillType = oSub.HSourceBillType;
double HRelationQty = oSub.HRelationQty;
double HRelationMoney = oSub.HRelationMoney;
string HCloseMan = oSub.HCloseMan;
string HEntryCloseDate = oSub.HEntryCloseDate;
string sql = "insert into Pay_SingleBalBillSub" +
"(HInterID,HEntryID,HMaterID,HProcID,HEmpID,HTimes,HQty,HPrice,HPriceRate,HSubsidyQty,HSubsidyMoney,HSubsidyTotal,HDeuctTotal" +
",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
",HCloseMan,HEntryCloseDate) " +
"values(" +
"" + HInterID +
"," + HEntryID +
"," + HMaterID +
"," + HProcID +
"," + HEmpID +
"," + HTimes +
"," + HQty +
"," + HPrice +
"," + HPriceRate +
"," + HSubsidyQty +
"," + HSubsidyMoney +
"," + HSubsidyTotal +
"," + HDeuctTotal +
"," + HPackQty +
"," + HPackPrice +
"," + HPackMoney +
"," + HPackMaterID +
"," + HMoney +
"," + HICMOInterID +
",'" + HICMOBillNo +
"'," + HProcReportInterID +
"," + HProcReportEntryID +
",'" + HProcReportBillNo +
"'," + HProcPlanInterID +
"," + HProcPlanEntryID +
",'" + HProcPlanBillNo +
"','" + HRemark +
"'," + HSourceInterID +
"," + HSourceEntryID +
",'" + HSourceBillNo +
"','" + HSourceBillType +
"'," + HRelationQty +
"," + HRelationMoney +
",'" + HCloseMan +
"','" + HEntryCloseDate +
"')";
oCN.RunProc(sql);
}
//保存后控制
DataSet AfterDs = oCN.RunProcReturn("Exec h_p_Pay_SingleBalBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_SingleBalBill_AfterSaveCtrl");
if (AfterDs == null || AfterDs.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存后判断失败!";
objJsonResult.data = null;
return objJsonResult;
}
else
{
if (DBUtility.ClsPub.isLong(AfterDs.Tables[0].Rows[0]["HBack"]) == 1)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(AfterDs.Tables[0].Rows[0]["HRemark"]);
objJsonResult.data = null;
return objJsonResult;
}
else
{
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = null;
objJsonResult.data = null;
return objJsonResult;
}
}
}
#endregion
#region 根据物料ID、工序ID、资源ID获取工价
[Route("Pay_SingleBalBill/get_HPrice_BaseMaterHProcHSource")]
[HttpGet]
public object get_HPrice_BaseMaterHProcHSource(Int64 HMaterID, Int64 HProcID, Int64 HSourceID)
{
try
{
DAL.ClsGy_ProcPrice_Ctl oProcPrice = new DAL.ClsGy_ProcPrice_Ctl();
double HPrice = oProcPrice.LoadProcPrice(HMaterID, HProcID, HSourceID, true);
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "Sucess!";
objJsonResult.data = HPrice;
return objJsonResult;
}
catch(Exception e)
{
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = e.ToString();
objJsonResult.data = null;
return objJsonResult;
}
}
#endregion
#endregion
#region 工资结算单(个人)-查询
///
/// 返回项目阶段列表
///参数:string sql。
///返回值:object。
///
[Route("Pay_SingleBalBill/list")]
[HttpGet]
public object getSingleBalBill(string sWhere, string user)
{
try
{
List