using Model;
|
using Newtonsoft.Json;
|
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
|
{
|
//收料通知单Controller
|
public class Cg_POInStockBillController : ApiController
|
{
|
//获取系统参数
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
public DAL.ClsCg_POInStockBill BillOld = new DAL.ClsCg_POInStockBill();
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
DataSet ds;
|
|
|
/// <summary>
|
/// 根据基础资料ID 查找记录
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("Cg_POInStockBill/cx")]
|
[HttpGet]
|
public object cx(long HInterID)
|
{
|
try
|
{
|
|
ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBillList where hmainid=" + HInterID, "h_v_IF_POInStockBillList");
|
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;
|
}
|
}
|
|
/// <summary>
|
/// 返回收料通知单列表
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("Cg_POInStockBill/list")]
|
[HttpGet]
|
public object list(string sWhere, string user)
|
{
|
try
|
{
|
//判断是否有查询权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBillQuery", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限查询!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBillList order by hmainid desc", "h_v_IF_POInStockBillList");
|
}
|
else
|
{
|
string sql1 = "select * from h_v_IF_POInStockBillList where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by 日期 desc,hmainid desc";
|
ds = oCN.RunProcReturn(sql, "h_v_IF_POInStockBillList");
|
}
|
|
//if (ds.Tables[0].Rows.Count != 0 || ds != null)
|
//{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
//}
|
//else
|
//{
|
//objJsonResult.code = "0";
|
//objJsonResult.count = 0;
|
//objJsonResult.Message = "无数据";
|
//objJsonResult.data = null;
|
//return objJsonResult;
|
//}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
///删除功能
|
/// </summary>
|
/// <returns></returns>
|
[Route("Cg_POInStockBill/DeltetPOInStockBill")]
|
[HttpGet]
|
public object DeltetPOInStockBill(string HInterID, string user)
|
{
|
try
|
{
|
//判断是否有删除的权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBill_Drop", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无删除权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//先删除 金蝶数据
|
objJsonResult = DeleteKingDee(HInterID);
|
if (objJsonResult.code == "0")
|
return objJsonResult;
|
|
oCN.BeginTran();
|
oCN.RunProc("Delete From Cg_POInStockBillMain where HInterID = " + HInterID);
|
oCN.RunProc("Delete From Cg_POInStockBillSub 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;
|
}
|
}
|
|
#region 根据物料内码获取物料信息
|
[Route("Cg_POInStockBill/getMaterialByMaterID")]
|
[HttpGet]
|
public ApiResult<DataTable> getMaterialByMaterID(Int64 HMaterID)
|
{
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
|
string sql = "select a.HItemID HMaterID,a.HNumber HMaterNumber,a.HName HMaterName,a.HMaterRuleType,a.HModel HMaterModel,a.HUnitID, b.HNumber HUnitNumber, b.HName HUnitName" +
|
" from Gy_Material AS a " +
|
" LEFT OUTER JOIN Gy_Unit AS b on a.HUnitID = b.HItemID " +
|
" where a.HItemID =" + HMaterID;
|
|
var dataSet = oCN.RunProcReturn(sql, "Gy_Material");
|
|
|
if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
|
return new ApiResult<DataTable> { code = -1, msg = "不存在该物料" };
|
|
return new ApiResult<DataTable> { code = 1, msg = "查询成功", data = dataSet.Tables[0] };
|
}
|
#endregion
|
|
/// <summary>
|
/// 反审核
|
/// </summary>
|
[Route("Cg_POInStockBill/DeAuditPOInStockBill")]
|
[HttpGet]
|
public object DeAuditPOInStockBill(string HInterID, string user)
|
{
|
try
|
{
|
//判断是否有审核的权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBill_Check", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无审核权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//先删除 金蝶数据
|
objJsonResult = DeleteKingDee(HInterID);
|
if (objJsonResult.code == "0")
|
return objJsonResult;
|
|
oCN.BeginTran();
|
oCN.RunProc("update Cg_POInStockBillMain set HERPBillNO='',HERPInterID = 0 ,HBillStatus =5 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;
|
}
|
}
|
//反审核 删除 删除金蝶数据库对应 收料通知到数据
|
public json DeleteKingDee(string hinterid)
|
{
|
string sql = string.Format("select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain where HERPInterID>0 and hinterid in (" + hinterid + ")");
|
DataTable dt = oCN.RunProcReturn(sql, "deleteDt").Tables[0];
|
if (dt.Rows.Count > 0)
|
{
|
foreach (DataRow dr in dt.Rows)
|
{
|
var sJson = new
|
{
|
Numbers = dr["HERPBillNO"].ToString(),
|
Ids = ""
|
};
|
var loginRet = InvokeHelper.Login();
|
|
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
|
if (isSuccess == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
var result = InvokeHelper.Delete("PUR_ReceiveBill", JsonConvert.SerializeObject(sJson));
|
//LogService.Write(result);
|
if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "对应金蝶收料通知单删除失败 !" + result;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
}
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
#region 收料通知单 保存/编辑功能
|
[Route("Cg_POInStockBill/POInStockBillEdit")]
|
[HttpPost]
|
public object POInStockBillEdit([FromBody] JObject sMainSub)
|
{
|
try
|
{
|
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;
|
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + e.ToString();
|
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(); //子表数据
|
int OperationType = int.Parse(sArray[2].ToString()); // 数据类型 1添加 3修改
|
string user = sArray[3].ToString();
|
string msg_allVal = sArray[4].ToString(); //主表+子表所有数据
|
|
try
|
{
|
msg2 = "[" + msg2.ToString() + "]";
|
List<ClsCg_POInStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillMain>>(msg2);
|
|
long HInterID = mainList[0].HInterID;//递入type得到的单据ID
|
string HBillNo = mainList[0].HBillNo;//递入type得到的单据号
|
long HPRDORGID = mainList[0].HPRDORGID;//组织
|
DateTime HDate = mainList[0].HDate;//日期
|
string HRemark = mainList[0].HRemark;//备注
|
long HSupID = mainList[0].HSupID;//供应商
|
long HEmpID = mainList[0].HEmpID;//业务员
|
long HDeptID = mainList[0].HDeptID;//部门
|
long HCurID = mainList[0].HCurID;//币别
|
Single HExRate = mainList[0].HExRate;//汇率
|
long HManagerID = mainList[0].HManagerID;//主管
|
long HWHID = mainList[0].HWHID;//仓库
|
string HMaker = user;//制单人
|
string HAddress = mainList[0].HAddress;//地址
|
string HExplanation = mainList[0].HExplanation;//摘要
|
string HInnerBillNo = mainList[0].HInnerBillNo;//内部单据号
|
|
List<ClsCg_POInStockBillMain> mainList2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillMain>>(msg2);
|
DateTime dt = DateTime.Now;
|
|
long HYear = mainList2[0].HYear == null ? 0 : mainList2[0].HYear;
|
long HPeriod = mainList2[0].HPeriod == null ? 0 : mainList2[0].HPeriod;
|
string HBillType = mainList2[0].HBillType == null ? "''" : mainList2[0].HBillType;
|
string HBillSubType = mainList2[0].HBillSubType == null ? "''" : mainList2[0].HBillSubType;
|
long HBillStatus = mainList2[0].HBillStatus == null ? 0 : mainList2[0].HBillStatus;
|
string HMakeDate = mainList2[0].HMakeDate == null ? "''" : mainList2[0].HMakeDate;
|
string HChecker = mainList2[0].HChecker == null ? "''" : mainList2[0].HChecker;
|
string HCheckDate = mainList2[0].HCheckDate == null ? "''" : mainList2[0].HCheckDate;
|
string HOWNERTYPEID = mainList2[0].HOWNERTYPEID == null ? "''" : mainList2[0].HOWNERTYPEID;
|
long HOWNERID = mainList2[0].HOWNERID == null ? 0 : mainList2[0].HOWNERID;
|
long HERPInterID = mainList2[0].HERPInterID == null ? 0 : mainList2[0].HERPInterID;
|
string HERPBillType = mainList2[0].HERPBillType == null ? "''" : mainList2[0].HERPBillType;
|
long HPURCHASEORGID = mainList2[0].HPURCHASEORGID == null ? 0 : mainList2[0].HPURCHASEORGID;
|
long HSTOCKORGID = mainList2[0].HSTOCKORGID == null ? 0 : mainList2[0].HSTOCKORGID;
|
long HREQUIREORGID = mainList2[0].HREQUIREORGID == null ? 0 : mainList2[0].HREQUIREORGID;
|
long HSTOCKGROUPID = mainList2[0].HSTOCKGROUPID == null ? 0 : mainList2[0].HSTOCKGROUPID;
|
string HSENDBILLNO = mainList2[0].HSENDBILLNO == null ? "''" : mainList2[0].HSENDBILLNO;
|
string HLADBILLNO = mainList2[0].HLADBILLNO == null ? "''" : mainList2[0].HLADBILLNO;
|
long HPURDEPTID = mainList2[0].HPURDEPTID == null ? 0 : mainList2[0].HPURDEPTID;
|
long HPURGROUPID = mainList2[0].HPURGROUPID == null ? 0 : mainList2[0].HPURGROUPID;
|
long HSUPPLYID = mainList2[0].HSUPPLYID == null ? 0 : mainList2[0].HSUPPLYID;
|
long HSETTLEID = mainList2[0].HSETTLEID == null ? 0 : mainList2[0].HSETTLEID;
|
long HCHARGEID = mainList2[0].HCHARGEID == null ? 0 : mainList2[0].HCHARGEID;
|
string HBUSINESSTYPE = mainList2[0].HBUSINESSTYPE == null ? "''" : mainList2[0].HBUSINESSTYPE;
|
string HSUPPLYADDRESS = mainList2[0].HSUPPLYADDRESS == null ? "''" : mainList2[0].HSUPPLYADDRESS;
|
long HCORRESPONDORGID = mainList2[0].HCORRESPONDORGID == null ? 0 : mainList2[0].HCORRESPONDORGID;
|
long HPROVIDERCONTACTID = mainList2[0].HPROVIDERCONTACTID == null ? 0 : mainList2[0].HPROVIDERCONTACTID;
|
|
ds = oCN.RunProcReturn("select * from h_v_IF_POInStockBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_POOrderBillList");
|
|
if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增
|
{
|
//主表
|
oCN.RunProc(@"Insert Into Cg_POInStockBillMain
|
(HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
|
,HBillNo,HBillStatus,HSupID,HManagerID,HEmpID,HDeptID,HRemark
|
,HMaker,HMakeDate,HChecker,HCheckDate,HOWNERTYPEID,HOWNERID
|
,HERPInterID,HERPBillType,HPURCHASEORGID,HSTOCKORGID,HREQUIREORGID
|
,HSTOCKGROUPID,HSENDBILLNO,HLADBILLNO,HPURDEPTID,HPURGROUPID,HSUPPLYID
|
,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HSUPPLYADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID,HCurID,HExRate,HAddress,HWHID)
|
values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1103 + "','" +
|
HBillSubType + "','" + HDate + "','" + HBillNo + "'," + HBillStatus + "," + HSupID +
|
"," + HManagerID + "," + HEmpID + "," + HDeptID + ",'" + HRemark + "','" + HMaker +
|
"','" + HMakeDate + "','" + HChecker + "','" + HCheckDate + "','" + HOWNERTYPEID + "'," + HOWNERID + "," + HERPInterID + ",'" + HERPBillType + "'," + HPURCHASEORGID + "," + HSTOCKORGID + "," + HREQUIREORGID + "," +
|
HSTOCKGROUPID + ",'" + HSENDBILLNO + "','" + HLADBILLNO + "'," + HPURDEPTID + "," + HPURGROUPID + "," + HSUPPLYID + "," +
|
HSETTLEID + "," + HCHARGEID + ",'" + HBUSINESSTYPE + "','" + HSUPPLYADDRESS + "'," + HCORRESPONDORGID + "," + HPROVIDERCONTACTID + "," + HCurID + "," + HExRate + ",'" + HAddress + "'," + HWHID + ")");
|
}
|
else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
|
{ //修改
|
oCN.RunProc("update Cg_POInStockBillMain set " +
|
"HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" +
|
",HSupID=" + HSupID + ",HCurID=" + HCurID
|
+ ",HExRate=" + HExRate + ",HEmpID=" + HEmpID + ",HManagerID=" + HManagerID + ",HDeptID=" + HDeptID
|
+ ",HAddress='" + HAddress + " where HInterID=" + HInterID);
|
|
//删除子表
|
oCN.RunProc("delete from Cg_POInStockBillSub where HInterID='" + HInterID + "'");
|
}
|
//保存子表
|
objJsonResult = AddBillSub(msg3, HInterID, 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;
|
}
|
}
|
|
public json AddBillSub(string msg3, long HInterID, int OperationType)
|
{
|
List<ClsCg_POInStockBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillSub>>(msg3);
|
|
List<ClsCg_POInStockBillSub> DetailColl2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillSub>>(msg3);
|
|
|
long HSPID = DetailColl2[0].HSPID == null ? 0 : DetailColl2[0].HSPID;
|
long HSourceInterID = DetailColl2[0].HSourceInterID == null ? 0 : DetailColl2[0].HSourceInterID;
|
long HSourceEntryID = DetailColl2[0].HSourceEntryID == null ? 0 : DetailColl2[0].HSourceEntryID;
|
string HSourceBillNo = DetailColl2[0].HSourceBillNo == null ? "''" : DetailColl2[0].HSourceBillNo;
|
string HSourceBillType = DetailColl2[0].HSourceBillType == null ? "''" : DetailColl2[0].HSourceBillType;
|
long HAuxPropID = DetailColl2[0].HAuxPropID == null ? 0 : DetailColl2[0].HAuxPropID;
|
string HBatchNO = DetailColl2[0].HBatchNO == null ? "''" : DetailColl2[0].HBatchNO;
|
string HMTONo = DetailColl2[0].HMTONo == null ? "''" : DetailColl2[0].HMTONo;
|
string HPlanMode = DetailColl2[0].HPlanMode == null ? "''" : DetailColl2[0].HPlanMode;
|
long HERPInterID = DetailColl2[0].HERPInterID == null ? 0 : DetailColl2[0].HERPInterID;
|
long HERPEntryID = DetailColl2[0].HERPEntryID == null ? 0 : DetailColl2[0].HERPEntryID;
|
double HRelationQty = DetailColl2[0].HRelationQty == null ? 0 : DetailColl2[0].HRelationQty;
|
long HGiveAwayFlag = DetailColl2[0].HGiveAwayFlag == null ? 0 : DetailColl2[0].HGiveAwayFlag;
|
double HReceiveQty = DetailColl2[0].HReceiveQty == null ? 0 : DetailColl2[0].HReceiveQty;
|
long HSEQ = DetailColl2[0].HSEQ == null ? 0 : DetailColl2[0].HSEQ;
|
string HPRODUCEDATE = DetailColl2[0].HPRODUCEDATE == null ? "''" : DetailColl2[0].HPRODUCEDATE;
|
string HEXPIRYDATE = DetailColl2[0].HEXPIRYDATE == null ? "''" : DetailColl2[0].HEXPIRYDATE;
|
string HSUPPLYLOT = DetailColl2[0].HSUPPLYLOT == null ? "''" : DetailColl2[0].HSUPPLYLOT;
|
string HREQTRACENO = DetailColl2[0].HREQTRACENO == null ? "''" : DetailColl2[0].HREQTRACENO;
|
long HBOMID = DetailColl2[0].HBOMID == null ? 0 : DetailColl2[0].HBOMID;
|
long HSTOCKUNITID = DetailColl2[0].HSTOCKUNITID == null ? 0 : DetailColl2[0].HSTOCKUNITID;
|
long HBASEUNITID = DetailColl2[0].HBASEUNITID == null ? 0 : DetailColl2[0].HBASEUNITID;
|
long HSTOCKSTATUSID = DetailColl2[0].HSTOCKSTATUSID == null ? 0 : DetailColl2[0].HSTOCKSTATUSID;
|
string HKEEPERTYPEID = DetailColl2[0].HKEEPERTYPEID == null ? "''" : DetailColl2[0].HKEEPERTYPEID;
|
string HPROJECTNO = DetailColl2[0].HPROJECTNO == null ? "''" : DetailColl2[0].HPROJECTNO;
|
string HGIVEAWAY = DetailColl2[0].HGIVEAWAY == null ? "''" : DetailColl2[0].HGIVEAWAY;
|
string HCHECKINCOMING = DetailColl2[0].HCHECKINCOMING == null ? "''" : DetailColl2[0].HCHECKINCOMING;
|
string HDISCOUNTRATE = DetailColl2[0].HDISCOUNTRATE == null ? "''" : DetailColl2[0].HDISCOUNTRATE;
|
double HPRICECOEFFICIENT = DetailColl2[0].HPRICECOEFFICIENT == null ? 0 : DetailColl2[0].HPRICECOEFFICIENT;
|
long HPRICEUNITID = DetailColl2[0].HPRICEUNITID == null ? 0 : DetailColl2[0].HPRICEUNITID;
|
long HPRICELISTENTRY = DetailColl2[0].HPRICELISTENTRY == null ? 0 : DetailColl2[0].HPRICELISTENTRY;
|
double HSAMPLEDAMAGEQTY = DetailColl2[0].HSAMPLEDAMAGEQTY == null ? 0 : DetailColl2[0].HSAMPLEDAMAGEQTY;
|
double HSAMPLEDAMAGEBASEQTY = DetailColl2[0].HSAMPLEDAMAGEBASEQTY == null ? 0 : DetailColl2[0].HSAMPLEDAMAGEBASEQTY;
|
long HPAYORGID = DetailColl2[0].HPAYORGID == null ? 0 : DetailColl2[0].HPAYORGID;
|
long HSETTLEORGID = DetailColl2[0].HSETTLEORGID == null ? 0 : DetailColl2[0].HSETTLEORGID;
|
long HSETTLECURRID = DetailColl2[0].HSETTLECURRID == null ? 0 : DetailColl2[0].HSETTLECURRID;
|
long HSETTLEMODEID = DetailColl2[0].HSETTLEMODEID == null ? 0 : DetailColl2[0].HSETTLEMODEID;
|
long HEXCHANGETYPEID = DetailColl2[0].HEXCHANGETYPEID == null ? 0 : DetailColl2[0].HEXCHANGETYPEID;
|
long HPAYCONDITONID = DetailColl2[0].HPAYCONDITONID == null ? 0 : DetailColl2[0].HPAYCONDITONID;
|
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 HRemark = DetailColl2[0].HRemark == null ? "''" : DetailColl2[0].HRemark;
|
string HPOOrderBillNo = DetailColl2[0].HPOOrderBillNo == null ? "''" : DetailColl2[0].HPOOrderBillNo;
|
|
int i = 0;
|
foreach (ClsCg_POInStockBillSub oSub in DetailColl)
|
{
|
i++;
|
if (oSub.HQty <= 0 || oSub.HQty == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + i + "行,数量不能为0或者小于0";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (oSub.HMaterID == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + i + "行,物料不能为空";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//if (oSub.HSourceID == 0)
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "第" + i + "行,生产资源不能为空";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
if (oSub.HUnitID == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + i + "行,计量单位不能为空";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
DataSet Cs;
|
Int64 NewHEntryID = 1;
|
Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Cg_POInStockBillSub", "Cg_POInStockBillSub");
|
if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
|
{
|
NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
|
NewHEntryID += 1;
|
}
|
|
oCN.RunProc($@"Insert into Cg_POInStockBillSub
|
(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
|
,HMoney,HWHID,HSPID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID
|
,HPOOrderEntryID,HPOORderBillNo,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID
|
,HRelationQty,HGiveAwayFlag,HReceiveQty,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HSUPPLYLOT,HREQTRACENO,HBOMID,HSTOCKUNITID
|
,HBASEUNITID,HSTOCKSTATUSID,HKEEPERTYPEID,HPROJECTNO,HCHECKINCOMING,HTAXPRICE,HDISCOUNTRATE
|
,HPRICECOEFFICIENT,HPRICEUNITID,HPRICELISTENTRY,HSAMPLEDAMAGEQTY,HSAMPLEDAMAGEBASEQTY
|
,HPAYORGID,HSETTLEORGID,HSETTLECURRID,HSETTLEMODEID,HEXCHANGETYPEID,HPAYCONDITONID
|
,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX
|
,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HSecUnitID)
|
values({HInterID},{NewHEntryID},{oSub.HMaterID},{oSub.HUnitID},{(oSub.HQty == null ? 0 : oSub.HQty)}
|
,{oSub.HPrice},{oSub.HMoney},{oSub.HWHID},{oSub.HSPID},'{HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},{HSourceBillNo},{HSourceBillType},{oSub.HPOOrderInterID},{oSub.HPOOrderEntryID},{HPOOrderBillNo},{HAuxPropID},{HBatchNO},{HMTONo},{HPlanMode},{HERPInterID},{HERPEntryID},{HRelationQty},{HGiveAwayFlag},{HReceiveQty},{HSEQ},{HPRODUCEDATE},{HEXPIRYDATE},
|
{HSUPPLYLOT},{HREQTRACENO},{HBOMID},{HSTOCKUNITID},{HBASEUNITID},{HSTOCKSTATUSID},'{HKEEPERTYPEID}',{HPROJECTNO},{HCHECKINCOMING},{oSub.HTaxPrice},{HDISCOUNTRATE},{HPRICECOEFFICIENT},{HPRICEUNITID},{HPRICELISTENTRY},{HSAMPLEDAMAGEQTY},{HSAMPLEDAMAGEBASEQTY},{HPAYORGID},{HSETTLEORGID},{HSETTLECURRID},{HSETTLEMODEID},{HEXCHANGETYPEID},{HPAYCONDITONID},{oSub.HEXCHANGERATE},{HLOCALCURRID},{HISINCLUDEDTAX},{HISPRICEEXCLUDETAX},{HTAXRATEID},{HCOSTPERCENT},{HCOSTAMOUNT},{HVAT},{HSELLERWITHHOLDING},{HBUYERWITHHOLDING},{oSub.HSecUnitID})");
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = null;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
[Route("Cg_POInStockBill/Cg_POInStockBillSaveApi")]
|
[HttpPost]
|
public object Cg_POInStockBillSaveApi([FromBody] JObject sMainSub)
|
{
|
try
|
{
|
var model = sMainSub["model"].ToString();
|
var entry = sMainSub["model"]["HENTRY"].ToString();
|
|
LogService.Write("收料通知单同步 sMainSub:" + sMainSub);
|
model = "[" + model.ToString() + "]";
|
List<ClsCg_POInStockBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillMain>>(model);
|
List<ClsCg_POInStockBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POInStockBillSub>>(entry);
|
string sql = string.Empty;
|
oCN.BeginTran();
|
sql = $"delete Cg_POInStockBillMain where HinterID = {mainList[0].HInterID}";
|
oCN.RunProc(sql);
|
sql = $"delete Cg_POInStockBillSub where HinterID = {mainList[0].HInterID}";
|
oCN.RunProc(sql);
|
//主表
|
sql = @"
|
Insert Into Cg_POInStockBillMain
|
(HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
|
,HBillNo,HBillStatus,HSupID,HSupDealerID,HManagerID,HEmpID,HDeptID,HRemark
|
,HMaker,HMakeDate,HChecker,HCheckDate,HOWNERTYPEID,HOWNERID
|
,HERPInterID,HERPBillType,HPURCHASEORGID,HSTOCKORGID,HREQUIREORGID
|
,HSTOCKGROUPID,HSENDBILLNO,HLADBILLNO,HPURDEPTID,HPURGROUPID,HSUPPLYID
|
,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HSUPPLYADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID,HCurID,HExRate,HAddress,HWHID,HInnerBillNo)
|
values(" + mainList[0].HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1103 + "','" +
|
mainList[0].HBillSubType + "','" + mainList[0].HDate + "','" + mainList[0].HBillNo + "'," + mainList[0].HBillStatus + "," + (mainList[0].HSupDealerID == 0 ? mainList[0].HSupID : mainList[0].HSupDealerID) + "," + mainList[0].HSupID +
|
"," + mainList[0].HManagerID + "," + mainList[0].HEmpID + "," + mainList[0].HDeptID + ",'" + mainList[0].HRemark + "','" + mainList[0].HMaker +
|
"','" + mainList[0].HMakeDate + "','" + mainList[0].HChecker + "','" + mainList[0].HCheckDate + "','" + mainList[0].HOWNERTYPEID + "'," + mainList[0].HOWNERID + "," + mainList[0].HERPInterID + ",'" + mainList[0].HERPBillType + "'," + mainList[0].HPURCHASEORGID + "," + mainList[0].HSTOCKORGID + "," + mainList[0].HREQUIREORGID + "," +
|
mainList[0].HSTOCKGROUPID + ",'" + mainList[0].HSENDBILLNO + "','" + mainList[0].HLADBILLNO + "'," + mainList[0].HPURDEPTID + "," + mainList[0].HPURGROUPID + "," + mainList[0].HSUPPLYID + "," +
|
mainList[0].HSETTLEID + "," + mainList[0].HCHARGEID + ",'" + mainList[0].HBUSINESSTYPE + "','" + mainList[0].HSUPPLYADDRESS + "'," + mainList[0].HCORRESPONDORGID + "," + mainList[0].HPROVIDERCONTACTID + "," + mainList[0].HCurID + "," + mainList[0].HExRate + ",'" + mainList[0].HAddress + "'," + mainList[0].HWHID + ",'" + mainList[0].HInnerBillNo + "'" + ")";
|
oCN.RunProc(sql);
|
//保存主表
|
foreach (var oSub in subList)
|
{
|
sql = $@"
|
Insert into Cg_POInStockBillSub
|
(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
|
,HMoney,HWHID,HSPID,HRemark,HTaxMoney,HTaxRate,HTaxMoney_TAX,HTaxRate_TAX
|
,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID
|
,HPOOrderEntryID,HPOORderBillNo,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID
|
,HRelationQty,HGiveAwayFlag,HReceiveQty,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HSUPPLYLOT,HREQTRACENO,HBOMID,HSTOCKUNITID
|
,HBASEUNITID,HSTOCKSTATUSID,HKEEPERTYPEID,HPROJECTNO,HCHECKINCOMING,HTAXPRICE,HDISCOUNTRATE
|
,HPRICECOEFFICIENT,HPRICEUNITID,HPRICELISTENTRY,HSAMPLEDAMAGEQTY,HSAMPLEDAMAGEBASEQTY
|
,HPAYORGID,HSETTLEORGID,HSETTLECURRID,HSETTLEMODEID,HEXCHANGETYPEID,HPAYCONDITONID
|
,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX
|
,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HSecUnitID,HSalOutStockBillNo,HSalOutStockEntryId)
|
values(
|
'{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}'
|
,'{oSub.HMoney}','{oSub.HWHID}','{oSub.HSPID}','{oSub.HRemark}','{oSub.HTaxMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney_TAX}','{oSub.HTaxRate_TAX}'
|
,'{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HPOOrderInterID}','{oSub.HPOOrderEntryID}','{oSub.HPOOrderBillNo}','{oSub.HAuxPropID}','{oSub.HBatchNO}','{oSub.HMTONo}','{oSub.HPlanMode}','{oSub.HERPInterID}','{oSub.HERPEntryID}','{oSub.HRelationQty}','{oSub.HGiveAwayFlag}','{oSub.HReceiveQty}','{oSub.HSEQ}','{oSub.HPRODUCEDATE}','{oSub.HEXPIRYDATE}',
|
'{oSub.HSUPPLYLOT}','{oSub.HREQTRACENO}','{oSub.HBOMID}','{oSub.HSTOCKUNITID}','{oSub.HBASEUNITID}','{oSub.HSTOCKSTATUSID}','{oSub.HKEEPERTYPEID}','{oSub.HPROJECTNO}','{oSub.HCHECKINCOMING}','{oSub.HTaxPrice}','{oSub.HDISCOUNTRATE}','{oSub.HPRICECOEFFICIENT}','{oSub.HPRICEUNITID}','{oSub.HPRICELISTENTRY}','{oSub.HSAMPLEDAMAGEQTY}','{oSub.HSAMPLEDAMAGEBASEQTY}','{oSub.HPAYORGID}','{oSub.HSETTLEORGID}','{oSub.HSETTLECURRID}','{oSub.HSETTLEMODEID}','{oSub.HEXCHANGETYPEID}','{oSub.HPAYCONDITONID}','{oSub.HEXCHANGERATE}','{oSub.HLOCALCURRID}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HTAXRATEID}','{oSub.HCOSTPERCENT}','{oSub.HCOSTAMOUNT}','{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}','{oSub.HSecUnitID}','{oSub.HSalOutStockBillNo}','{oSub.HSalOutStockEntryId}')";
|
oCN.RunProc(sql);
|
}
|
oCN.Commit();
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "单据保存成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
}
|
catch (Exception e)
|
{
|
LogService.Write("收料通知单同步异常:" + e.ToString());
|
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 收料通知单 审核/反审核
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="HInterID">单据ID</param>
|
/// <param name="IsAudit">审核(0),反审核(1)</param>
|
/// <param name="CurUserName">审核人</param>
|
/// <returns></returns>
|
[Route("Cg_POInStockBill/AuditCg_POInStockBill")]
|
[HttpGet]
|
public object AuditCg_POInStockBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有审核权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBill_Check", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "Cg_POInStockBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 审核 2 反审核
|
if (Type == 1)
|
{
|
//判断单据是否已经审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已关闭!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能再次审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//审核单据
|
if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
//判断单据是否已经反审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已关闭!不能进行反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不能进行反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未审核!不需要反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//反审核单据
|
if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 收料通知单 关闭/反关闭功能
|
[Route("Cg_POInStockBill/CloseCg_POInStockBill")]
|
[HttpGet]
|
public object CloseCg_POInStockBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有删除权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBill_Close", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "Cg_POInStockBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 关闭 2 反关闭
|
if (Type == 1)
|
{
|
//判断单据是否已经关闭
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不能进行关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "单据未审核!不能进行关闭!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
|
if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已关闭!不能再次关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//关闭单据
|
if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
//判断单据是否已经反关闭
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不能进行关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
//{
|
// objJsonResult.code = "0";
|
// objJsonResult.count = 0;
|
// objJsonResult.Message = "单据未审核!不能进行关闭!";
|
// objJsonResult.data = null;
|
// return objJsonResult;
|
//}
|
if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未关闭!不需要再反关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//反关闭单据
|
if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region 收料通知单 作废/反作废功能
|
[Route("Cg_POInStockBill/DropCg_POInStockBill")]
|
[HttpGet]
|
public object DropCg_POInStockBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有作废权限
|
if (!DBUtility.ClsPub.Security_Log("Cg_POInStockBill_Drop", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "Cg_POInStockBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 作废 2 反作废
|
if (Type == 1)
|
{
|
//判断单据是否已经作废
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能进行作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已作废!不需要再作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//作废单据
|
if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
else
|
{
|
//判断单据是否已经反作废
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能进行作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未作废!不需要再反作废!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//反作废单据
|
if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region [同步单据]
|
[Route("Cg_POInStockBill/Cg_POInStockBillViewApi")]
|
[HttpGet]
|
public json Cg_POInStockBillViewApi(string BillNo, string BillType)
|
{
|
string sql = string.Empty;
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
//系统参数是否为私有云模式,N为公有云模式,Y为私有云模式
|
if (oSystemParameter.omodel.WMS_CloudMode == "Y")
|
{
|
#region [私有云模式,直接调用数据库存储过程更新]
|
try
|
{
|
oCN.BeginTran();
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal");
|
if (DS == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据同步失败";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "ERP中不存在该单据号";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "单据同步成功";
|
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
|
}
|
else
|
{
|
#region [公有云模式,调用WEBAPI的方式进行更新]
|
var json = new
|
{
|
CreateOrgId = 0,
|
Number = BillNo,
|
Id = ""
|
};
|
#region [金蝶部分]
|
//登录金蝶
|
var loginRet = InvokeHelper.Login();
|
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
|
//判断是否登录成功
|
if (isSuccess < 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = loginRet;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//查看 获取数据
|
var _result = InvokeHelper.View("PUR_ReceiveBill", JsonConvert.SerializeObject(json));
|
var _saveObj = JObject.Parse(_result);
|
//判断数据是否获取成功
|
if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "金蝶收料通知单同步失败jsonRoot:" + _result;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
#endregion
|
//获取主表数据
|
DataSet Ds;
|
Int64 InterID = 0;
|
Int64 ManagerID = 0;
|
Int64 EmpID = 0;
|
Int64 DeptID = 0;
|
Ds = oCN.RunProcReturn("select * from Cg_POInStockBillMain where HBillNo = '" + BillNo + "'", "Cg_POInStockBillMain");
|
if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
|
{
|
InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
|
ManagerID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"].ToString());
|
EmpID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"].ToString());
|
DeptID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"].ToString());
|
}
|
|
#region [主表数据赋值]
|
var jsonData = new
|
{
|
HInterID = _saveObj["Result"]["Result"]["Id"],
|
HYear = DateTime.Now.Year,
|
HPeriod = DateTime.Now.Month,
|
HBillType = 1103,
|
HBillSubType = _saveObj["Result"]["Result"]["BusinessType"].ToString() == "CG" ? 12510 : 12511,
|
HDate = _saveObj["Result"]["Result"]["Date"],
|
HBillNo = _saveObj["Result"]["Result"]["BillNo"],
|
HBillStatus = 2,
|
HSupID = _saveObj["Result"]["Result"]["SupplierId_Id"],
|
HManagerID = ManagerID,
|
HEmpID = EmpID,
|
HDeptID = DeptID,
|
HRemark = "CLOUD导入",
|
HMaker = _saveObj["Result"]["Result"]["CreatorId_Id"],
|
HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
|
HChecker = _saveObj["Result"]["Result"]["ApproverId_Id"],
|
HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
|
HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeIdHead"],
|
HOWNERID = _saveObj["Result"]["Result"]["OwnerIdHead_Id"],
|
HERPInterID = _saveObj["Result"]["Result"]["Id"],
|
HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
|
HPURCHASEORGID = _saveObj["Result"]["Result"]["PurOrgId_Id"],
|
HSTOCKORGID = _saveObj["Result"]["Result"]["StockOrgId_Id"],
|
HREQUIREORGID = _saveObj["Result"]["Result"]["DemandOrgId_Id"],
|
HSTOCKGROUPID = _saveObj["Result"]["Result"]["StockGroupId_Id"],
|
HSENDBILLNO = _saveObj["Result"]["Result"]["SendBillNo"],
|
HLADBILLNO = _saveObj["Result"]["Result"]["LadBillNo"],
|
HPURDEPTID = _saveObj["Result"]["Result"]["PurDeptId_Id"],
|
HPURGROUPID = _saveObj["Result"]["Result"]["PurGroupId_Id"],
|
HSUPPLYID = _saveObj["Result"]["Result"]["SupplyId_Id"],
|
HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
|
HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
|
HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
|
HSUPPLYADDRESS = _saveObj["Result"]["Result"]["SupplyAddress"],
|
HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
|
HPROVIDERCONTACTID = _saveObj["Result"]["Result"]["ProviderContactId_Id"],
|
};
|
#endregion
|
// 删除主表对应数据
|
sql = $"delete from Cg_POInStockBillMain where HInterID = " + InterID;
|
oCN.RunProc(sql);
|
|
//插入主表
|
sql = $@"
|
insert into Cg_PoInstockbillMain
|
(HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
|
,HBillNo,HBillStatus,HSupID,HManagerID,HEmpID,HDeptID,HRemark
|
,HMaker,HMakeDate,HChecker,HCheckDate,HOWNERTYPEID,HOWNERID
|
,HERPInterID,HERPBillType,HPURCHASEORGID,HSTOCKORGID,HREQUIREORGID
|
,HSTOCKGROUPID,HSENDBILLNO,HLADBILLNO,HPURDEPTID,HPURGROUPID,HSUPPLYID
|
,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HSUPPLYADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID
|
)
|
values
|
({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},'{jsonData.HDate}','{jsonData.HBillNo}',
|
{jsonData.HBillStatus},{jsonData.HSupID},{jsonData.HManagerID},{jsonData.HEmpID},{jsonData.HDeptID},'{jsonData.HRemark}','{jsonData.HMaker}',
|
'{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HOWNERTYPEID}','{jsonData.HOWNERID}',{jsonData.HERPInterID},
|
'{jsonData.HERPBillType}',{jsonData.HPURCHASEORGID},{jsonData.HSTOCKORGID},{jsonData.HREQUIREORGID},{jsonData.HSTOCKGROUPID},'{jsonData.HSENDBILLNO}',
|
'{jsonData.HLADBILLNO}',{jsonData.HPURDEPTID},{jsonData.HPURGROUPID},{jsonData.HSUPPLYID},{jsonData.HSETTLEID},{jsonData.HCHARGEID},'{jsonData.HBUSINESSTYPE}',
|
'{jsonData.HSUPPLYADDRESS}',{jsonData.HCORRESPONDORGID},{jsonData.HPROVIDERCONTACTID})";
|
oCN.RunProc(sql);
|
|
#region [申请子表变量]
|
var dataArr = _saveObj["Result"]["Result"]["PUR_ReceiveEntry"];
|
|
DataSet Cs;
|
double Qty = 0;
|
double Money = 0;
|
Int64 WHID = 0;
|
Int64 SPID = 0;
|
string subRemark = "";
|
double TaxMoney = 0;
|
double TaxMoney_TAX = 0;
|
double TaxRate_TAX = 0;
|
Int64 SourceBillType = 0;
|
Int64 POOrderInterID = 0;
|
string POORderBillNo = "";
|
string BatchNO = "";
|
Int64 ERPInterID = 0;
|
Int64 ERPEntryID = 0;
|
double RelationQty = 0;
|
Int64 SecUnitID = 0;
|
Int64 PAYORGID = 0;
|
Int64 PAYCONDITONID = 0;
|
Int64 SETTLEORGID = 0;
|
Int64 SETTLECURRID = 0;
|
Int64 SETTLEMODEID = 0;
|
Int64 EXCHANGETYPEID = 0;
|
double EXCHANGERATE = 0;
|
Int64 LOCALCURRID = 0;
|
Int64 ISINCLUDEDTAX = 0;
|
Int64 ISPRICEEXCLUDETAX = 0;
|
Int64 PlanMode = 0;
|
#endregion
|
int i = 0;
|
|
// 获取子表数据
|
Cs = oCN.RunProcReturn("select * from Cg_POInStockBillSub where HInterID = " + InterID, "Cg_POInStockBillSub");
|
// 删除子表对应数据
|
sql = $"delete from Cg_POInStockBillSub where HInterID = " + InterID;
|
oCN.RunProc(sql);
|
|
foreach (var oSub in dataArr)
|
{
|
#region [子表数据赋值]
|
|
if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
|
{
|
Qty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HQty"].ToString());
|
Money = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HMoney"].ToString());
|
WHID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HWHID"].ToString());
|
SPID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSPID"].ToString());
|
subRemark = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HRemark"]);
|
TaxMoney = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxMoney"].ToString());
|
TaxMoney_TAX = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxMoney_TAX"].ToString());
|
TaxRate_TAX = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HTaxRate_TAX"].ToString());
|
SourceBillType = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSourceBillType"].ToString());
|
POOrderInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPOOrderInterID"].ToString());
|
POORderBillNo = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HPOORderBillNo"]);
|
BatchNO = ClsPub.isStrNull(Cs.Tables[0].Rows[i]["HBatchNO"]);
|
ERPInterID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPInterID"].ToString());
|
ERPEntryID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HERPEntryID"].ToString());
|
RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString());
|
SecUnitID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSecUnitID"].ToString());
|
PAYORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPAYORGID"].ToString());
|
PAYCONDITONID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPAYCONDITONID"].ToString());
|
SETTLEORGID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEORGID"].ToString());
|
SETTLECURRID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLECURRID"].ToString());
|
SETTLEMODEID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HSETTLEMODEID"].ToString());
|
EXCHANGETYPEID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HEXCHANGETYPEID"].ToString());
|
EXCHANGERATE = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HEXCHANGERATE"].ToString());
|
LOCALCURRID = ClsPub.isLong(Cs.Tables[0].Rows[i]["HLOCALCURRID"].ToString());
|
ISINCLUDEDTAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISINCLUDEDTAX"].ToString());
|
ISPRICEEXCLUDETAX = ClsPub.isLong(Cs.Tables[0].Rows[i]["HISPRICEEXCLUDETAX"].ToString());
|
PlanMode = ClsPub.isLong(Cs.Tables[0].Rows[i]["HPlanMode"].ToString());
|
|
i++;
|
}
|
|
var subData = new
|
{
|
HInterID = _saveObj["Result"]["Result"]["Id"],
|
HEntryID = oSub["Id"],
|
HMaterID = oSub["MaterialID_Id"],
|
HUnitID = oSub["UnitId_Id"],
|
HQty = Qty,
|
HPrice = oSub["Price"],
|
HMoney = Money,
|
HWHID = WHID,
|
HSPID = SPID,
|
HRemark = subRemark,
|
HTaxMoney = TaxMoney,
|
HTaxRate = oSub["TaxRate"],
|
HTaxMoney_TAX = TaxMoney_TAX,
|
HTaxRate_TAX = TaxRate_TAX,
|
HSourceInterID = oSub["SrcId"],
|
HSourceEntryID = oSub["SrcEntryId"],
|
HSourceBillNo = oSub["SrcBillNo"],
|
HSourceBillType = SourceBillType,
|
HPOOrderInterID = POOrderInterID,
|
HPOOrderEntryID = oSub["POORDERENTRYID"],
|
HPOORderBillNo = POORderBillNo,
|
HAuxPropID = oSub["AuxPropId_Id"],
|
HBatchNO = BatchNO,
|
HMTONo = oSub["MtoNo"],
|
HPlanMode = PlanMode,
|
HERPInterID = ERPInterID,
|
HERPEntryID = ERPEntryID,
|
HRelationQty = RelationQty,
|
HGiveAwayFlag = oSub["GiveAway"] = false ? 0 : 1,
|
HReceiveQty = oSub["ReceiveQty"],
|
HSecUnitID = SecUnitID,
|
HSEQ = oSub["Seq"],
|
HPRODUCEDATE = oSub["ProduceDate"],
|
HEXPIRYDATE = oSub["ExpiryDate"],
|
HSUPPLYLOT = oSub["SupplierLot"],
|
HREQTRACENO = oSub["ReqTraceNo"],
|
HBOMID = oSub["BomId_Id"],
|
HSTOCKUNITID = oSub["StockUnitID_Id"],
|
HBASEUNITID = oSub["BaseUnitId_Id"],
|
HSTOCKSTATUSID = oSub["StockStatusId_Id"],
|
HKEEPERTYPEID = oSub["KeeperTypeId"],
|
HPROJECTNO = oSub["ProjectNo"],
|
HCHECKINCOMING = oSub["CheckInComing"] = false ? 0 : 1,
|
HTAXPRICE = oSub["TaxPrice"],
|
HDISCOUNTRATE = oSub["DiscountRate"],
|
HPRICECOEFFICIENT = oSub["PriceCoefficient"],
|
HPRICEUNITID = oSub["PriceUnitId_Id"],
|
HPRICELISTENTRY = oSub["PriceListEntry_Id"],
|
HTAXCOMBINATION = oSub["TaxCombination_Id"],
|
HSAMPLEDAMAGEQTY = oSub["SampleDamageQty"],
|
HSAMPLEDAMAGEBASEQTY = oSub["SampleDamageBaseQty"],
|
HOWNERTYPEID = oSub["OwnerTypeId"],
|
HOWNERID = oSub["OwnerId_Id"],
|
HBFLOWID = oSub["FBFLowId_Id"],
|
HPAYORGID = PAYORGID,
|
HSETTLEORGID = SETTLEORGID,
|
HSETTLECURRID = SETTLECURRID,
|
HSETTLEMODEID = SETTLEMODEID,
|
HEXCHANGETYPEID = EXCHANGETYPEID,
|
HPAYCONDITONID = PAYCONDITONID,
|
HEXCHANGERATE = EXCHANGERATE,
|
HLOCALCURRID = LOCALCURRID,
|
HISINCLUDEDTAX = ISINCLUDEDTAX,
|
HISPRICEEXCLUDETAX = ISPRICEEXCLUDETAX,
|
HTAXRATEID = 0,
|
HCOSTPERCENT = 0,
|
HCOSTAMOUNT = 0,
|
HVAT = 0,
|
HSELLERWITHHOLDING = 0,
|
HBUYERWITHHOLDING = 0,
|
};
|
#endregion
|
|
|
//插入子表
|
sql = $@"
|
insert into Cg_PoInstockbillSub
|
(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
|
,HMoney,HWHID,HSPID,HRemark,HTaxMoney,HTaxRate,HTaxMoney_TAX,HTaxRate_TAX
|
,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID,HPOOrderEntryID,HPOORderBillNo
|
,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID
|
,HRelationQty,HGiveAwayFlag,HReceiveQty,HSecUnitID
|
,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HSUPPLYLOT,HREQTRACENO,HBOMID,HSTOCKUNITID
|
,HBASEUNITID,HSTOCKSTATUSID,HKEEPERTYPEID,HPROJECTNO,HCHECKINCOMING
|
,HTAXPRICE,HDISCOUNTRATE,HPRICECOEFFICIENT,HPRICEUNITID,HPRICELISTENTRY
|
,HTAXCOMBINATION,HSAMPLEDAMAGEQTY,HSAMPLEDAMAGEBASEQTY,HOWNERTYPEID,HOWNERID,HBFLOWID
|
,HPAYORGID,HSETTLEORGID,HSETTLECURRID,HSETTLEMODEID,HEXCHANGETYPEID,HPAYCONDITONID
|
,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX
|
,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING
|
)
|
values
|
({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
|
{subData.HMoney},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HTaxMoney},{subData.HTaxRate},{subData.HTaxMoney_TAX},
|
{subData.HTaxRate_TAX},{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}',{subData.HSourceBillType},
|
{subData.HPOOrderInterID},{subData.HPOOrderEntryID},'{subData.HPOORderBillNo}',{subData.HAuxPropID},'{subData.HBatchNO}',
|
'{subData.HMTONo}',{subData.HPlanMode},{subData.HERPInterID},{subData.HERPEntryID},{subData.HRelationQty},{subData.HGiveAwayFlag},
|
{subData.HReceiveQty},{subData.HSecUnitID},{subData.HSEQ},'{subData.HPRODUCEDATE}','{subData.HEXPIRYDATE}','{subData.HSUPPLYLOT}',
|
'{subData.HREQTRACENO}',{subData.HBOMID},{subData.HSTOCKUNITID},{subData.HBASEUNITID},{subData.HSTOCKSTATUSID},'{subData.HKEEPERTYPEID}',
|
'{subData.HPROJECTNO}',{subData.HCHECKINCOMING},{subData.HTAXPRICE},{subData.HDISCOUNTRATE},
|
{subData.HPRICECOEFFICIENT},{subData.HPRICEUNITID},{subData.HPRICELISTENTRY},'{subData.HTAXCOMBINATION}',{subData.HSAMPLEDAMAGEQTY},
|
{subData.HSAMPLEDAMAGEBASEQTY},'{subData.HOWNERTYPEID}',{subData.HOWNERID},'{subData.HBFLOWID}',{subData.HPAYORGID},{subData.HSETTLEORGID},
|
{subData.HSETTLECURRID},{subData.HSETTLEMODEID},{subData.HEXCHANGETYPEID},{subData.HPAYCONDITONID},{subData.HEXCHANGERATE},
|
{subData.HLOCALCURRID},{subData.HISINCLUDEDTAX},{subData.HISPRICEEXCLUDETAX},{subData.HTAXRATEID},{subData.HCOSTPERCENT},
|
{subData.HCOSTAMOUNT},{subData.HVAT},{subData.HSELLERWITHHOLDING},{subData.HBUYERWITHHOLDING})";
|
oCN.RunProc(sql);
|
}
|
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "单据同步成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
#endregion
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据读取失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
}
|
}
|