using Kingdee.BOS.WebApi.Client;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
namespace CLOUDWEB
{
///
/// WebService1 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
#region 基础资料
//返回物料列表 同步资料
[WebMethod]
public DataSet GetMaterialList(string sWhere, ref string sErr)
{
DAL.ClsIF_Material_View dal = new DAL.ClsIF_Material_View();
return dal.GetList(sWhere);
}
//返回工序列表 同步资料
[WebMethod]
public DataSet GetProcessList(string sWhere, ref string sErr)
{
DAL.ClsIF_Process_View dal = new DAL.ClsIF_Process_View();
return dal.GetList(sWhere);
}
//返回工序列表 同步资料
[WebMethod]
public int GetProcessList2(string sWhere)
{
DAL.ClsIF_Employee_View dal = new DAL.ClsIF_Employee_View();
DataSet ds;
ds = dal.GetList(sWhere);
if (ds == null)
{
return -1;
}
else
{
return ds.Tables[0].Rows.Count;
}
}
//返回仓库列表 同步资料
[WebMethod]
public DataSet GetWarehouseList(string sWhere, ref string sErr)
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
return dal.GetList(sWhere);
}
//返回供应商列表 同步资料
[WebMethod]
public DataSet GetSupplierList(string sWhere, ref string sErr)
{
DAL.ClsIF_Supplier_View dal = new DAL.ClsIF_Supplier_View();
return dal.GetList(sWhere);
}
//返回客户列表 同步资料
[WebMethod]
public DataSet GetCustomerList(string sWhere, ref string sErr)
{
DAL.ClsIF_Customer_View dal = new DAL.ClsIF_Customer_View();
return dal.GetList(sWhere);
}
//返回部门列表 同步资料
[WebMethod]
public DataSet GetDepartmentList(string sWhere, ref string sErr)
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
return dal.GetList(sWhere);
}
//返回职员列表 同步资料
[WebMethod]
public DataSet GetEmployeeList(string sWhere, ref string sErr)
{
DAL.ClsIF_Employee_View dal = new DAL.ClsIF_Employee_View();
return dal.GetList(sWhere);
}
//返回仓位列表 同步资料
[WebMethod]
public DataSet GetStockPlaceList(string sWhere, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
return dal.GetList(sWhere);
}
//返回机台列表 同步资料
[WebMethod]
public DataSet GetItem30JiTaiList(string sWhere, ref string sErr)
{
DAL.ClsIF_Item30JiTai_View dal = new DAL.ClsIF_Item30JiTai_View();
return dal.GetList(sWhere);
}
//返回不良原因列表 同步资料
[WebMethod]
public DataSet GetBadReasonList(string sWhere, ref string sErr)
{
DAL.ClsIF_BadReason_View dal = new DAL.ClsIF_BadReason_View();
return dal.GetList(sWhere);
}
//返回生产资源列表 同步资料
[WebMethod]
public DataSet GetSourceList(string sWhere, ref string sErr)
{
DAL.ClsIF_Source_View dal = new DAL.ClsIF_Source_View();
return dal.GetList(sWhere);
}
//根据代码返回生产资源信息
[WebMethod]
public Model.ClsGy_Source_Model GetSourceInfoByNumber(string sWhere, ref string sErr)
{
DAL.ClsIF_Source_View dal = new DAL.ClsIF_Source_View();
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据名称返回生产资源信息
[WebMethod]
public Model.ClsGy_Source_Model GetSourceInfoByName(string sWhere, ref string sErr)
{
DAL.ClsIF_Source_View dal = new DAL.ClsIF_Source_View();
if (dal.GetInfoByName(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据生产资源ID返回生产资源信息
[WebMethod]
public Model.ClsGy_Source_Model GetSourceInfoByID(long sHSource, ref string sErr)
{
DAL.ClsIF_Source_View dal = new DAL.ClsIF_Source_View();
if (dal.GetInfoByID(sHSource))
{
return dal.omodel;
}
else
{
return null;
}
}
//--------------------------------------------------------------
//返回班组列表 同步资料
[WebMethod]
public DataSet GetGroupList(string sWhere, ref string sErr)
{
DAL.ClsIF_Group_View dal = new DAL.ClsIF_Group_View();
return dal.GetList(sWhere);
}
//根据职员代码返回职员信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_Employee_Model GetEmpInfoByNumber(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_Employee_View dal = new DAL.ClsIF_Employee_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据职员ID返回职员信息
[WebMethod]
public Model.ClsGy_Employee_Model GetEmpInfoByID(long sItemID, ref string sErr)
{
DAL.ClsIF_Employee_View dal = new DAL.ClsIF_Employee_View();
if (dal.GetInfoByID(sItemID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据供应商代码返回供应商信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_Supplier_Model GetSupInfoByNumber(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_Supplier_View dal = new DAL.ClsIF_Supplier_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据客户代码返回客户信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_Customer_Model GetCusInfoByNumber(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_Customer_View dal = new DAL.ClsIF_Customer_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据代码返回仓位信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_StockPlace_Model GetSPInfoByNumber(string sWhere, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据代码返回仓位信息(仓库ID过滤) (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_StockPlace_Model GetSPInfoByNumber_Wh(string sWhere, long HWHID, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sWhere, HWHID))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sWhere, HWHID))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据班组ID返回班组信息
[WebMethod]
public Model.ClsGy_Group_Model GetGroupInfoByID(long sHGroup, ref string sErr)
{
DAL.ClsIF_Group_View dal = new DAL.ClsIF_Group_View();
if (dal.GetInfoByID(sHGroup))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据代码返回班组信息
[WebMethod]
public Model.ClsGy_Group_Model GetGroupInfoByNumber(string sWhere, ref string sErr)
{
DAL.ClsIF_Group_View dal = new DAL.ClsIF_Group_View();
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据名称返回班组信息
[WebMethod]
public Model.ClsGy_Group_Model GetGroupInfoByName(string sWhere, ref string sErr)
{
DAL.ClsIF_Group_View dal = new DAL.ClsIF_Group_View();
if (dal.GetInfoByName(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据供应商ID返回供应商信息
[WebMethod]
public Model.ClsGy_Supplier_Model GetSupInfoByID(long sHSupID, ref string sErr)
{
DAL.ClsIF_Supplier_View dal = new DAL.ClsIF_Supplier_View();
if (dal.GetInfoByID(sHSupID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据仓库ID返回仓库信息
[WebMethod]
public Model.ClsGy_Warehouse_Model GetWhInfoByID(long sHWhID, ref string sErr)
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
if (dal.GetInfoByID(sHWhID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据仓库ID、组织ID,返回仓库信息
[WebMethod]
public Model.ClsGy_Warehouse_Model GetWhInfoByIDandOrg(long sHWhID, long HUSEORGID, ref string sErr)
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
if (dal.GetInfoByID(sHWhID, HUSEORGID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据仓库代码返回仓库信息 (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_Warehouse_Model GetWhInfoByNumber(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据客户ID返回客户信息
[WebMethod]
public Model.ClsGy_Customer_Model GetCusInfoByID(long sHCusID, ref string sErr)
{
DAL.ClsIF_Customer_View dal = new DAL.ClsIF_Customer_View();
if (dal.GetInfoByID(sHCusID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据部门ID返回部门信息
[WebMethod]
public Model.ClsGy_Department_Model GetDeptInfoByID(long sHDeptID, ref string sErr)
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
if (dal.GetInfoByID(sHDeptID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据部门代码返回部门信息 (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsGy_Department_Model GetDeptInfoByNumber(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据仓位ID返回仓位信息
[WebMethod]
public Model.ClsGy_StockPlace_Model GetSPInfoByID(long sHSPID, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
if (dal.GetInfoByID(sHSPID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据仓位ID、仓库ID返回仓位、仓库信息
[WebMethod]
public Model.ClsGy_StockPlace_Model GetSPInfoByIDandHWHID(long sHSPID, long sHWHID, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
if (dal.GetInfoByID(sHSPID, sHWHID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据仓位ID、仓库ID、组织ID,返回仓位、仓库信息
[WebMethod]
public Model.ClsGy_StockPlace_Model GetSPInfoByIDandHWHIDandOrg(long sHSPID, long sHWHID, long HUSEORGID, ref string sErr)
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
if (dal.GetInfoByID(sHSPID, sHWHID, HUSEORGID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据机台ID返回机台信息
[WebMethod]
public Model.ClsGy_Item30JiTai_Model GetItem30JiTaiInfoByID(long sItemID, ref string sErr)
{
DAL.ClsIF_Item30JiTai_View dal = new DAL.ClsIF_Item30JiTai_View();
if (dal.GetInfoByID(sItemID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据不良原因ID返回不良原因信息
[WebMethod]
public Model.ClsGy_BadReason_Model GetBadReasonInfoByID(long sItemID, ref string sErr)
{
DAL.ClsIF_BadReason_View dal = new DAL.ClsIF_BadReason_View();
if (dal.GetInfoByID(sItemID))
{
return dal.omodel;
}
else
{
return null;
}
}
//-----------------------------------------------------------
#endregion
#region CLOUD 基础资料
//返回CLOUD单位列表 同步资料
[WebMethod]
public DataSet GetUnitList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Unit_View dal = new DAL.ClsCLD_Unit_View();
return dal.GetList(sWhere);
}
//返回CLOUD物料列表 同步资料
[WebMethod]
public DataSet GetMaterialList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Material_View dal = new DAL.ClsCLD_Material_View();
return dal.GetList(sWhere);
}
//返回CLOUD工序列表 同步资料
[WebMethod]
public DataSet GetProcessList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Process_View dal = new DAL.ClsCLD_Process_View();
return dal.GetList(sWhere);
}
//返回CLOUD工序列表 同步资料
[WebMethod]
public int GetProcessList2_CLD(string sWhere)
{
DAL.ClsCLD_Employee_View dal = new DAL.ClsCLD_Employee_View();
DataSet ds;
ds = dal.GetList(sWhere);
if (ds == null)
{
return -1;
}
else
{
return ds.Tables[0].Rows.Count;
}
}
//返回CLOUD仓库列表 同步资料
[WebMethod]
public DataSet GetWarehouseList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Warehouse_View dal = new DAL.ClsCLD_Warehouse_View();
return dal.GetList(sWhere);
}
//返回CLOUD供应商列表 同步资料
[WebMethod]
public DataSet GetSupplierList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Supplier_View dal = new DAL.ClsCLD_Supplier_View();
return dal.GetList(sWhere);
}
//返回CLOUD客户列表 同步资料
[WebMethod]
public DataSet GetCustomerList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Customer_View dal = new DAL.ClsCLD_Customer_View();
return dal.GetList(sWhere);
}
//返回CLOUD部门列表 同步资料
[WebMethod]
public DataSet GetDepartmentList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Department_View dal = new DAL.ClsCLD_Department_View();
return dal.GetList(sWhere);
}
//返回CLOUD职员列表 同步资料
[WebMethod]
public DataSet GetEmployeeList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Employee_View dal = new DAL.ClsCLD_Employee_View();
return dal.GetList(sWhere);
}
//返回CLOUD仓位列表 同步资料
[WebMethod]
public DataSet GetStockPlaceList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_StockPlace_View dal = new DAL.ClsCLD_StockPlace_View();
return dal.GetList(sWhere);
}
//返回CLOUD生产资源列表 同步资料
[WebMethod]
public DataSet GetSourceList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Source_View dal = new DAL.ClsCLD_Source_View();
return dal.GetList(sWhere);
}
//--------------------------------------------------------------
//返回CLOUD班组列表 同步资料
[WebMethod]
public DataSet GetGroupList_CLD(string sWhere, ref string sErr)
{
DAL.ClsCLD_Group_View dal = new DAL.ClsCLD_Group_View();
return dal.GetList(sWhere);
}
//根据CLOUD职员代码返回职员信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_Employee_Model GetEmpInfoByNumber_CLD(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_Employee_View dal = new DAL.ClsCLD_Employee_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD职员ID返回职员信息
[WebMethod]
public Model.ClsCLD_Employee_Model GetEmpInfoByID_CLD(long sItemID, ref string sErr)
{
DAL.ClsCLD_Employee_View dal = new DAL.ClsCLD_Employee_View();
if (dal.GetInfoByID(sItemID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据CLOUD供应商代码返回供应商信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_Supplier_Model GetSupInfoByNumber_CLD(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_Supplier_View dal = new DAL.ClsCLD_Supplier_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD客户代码返回客户信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_Customer_Model GetCusInfoByNumber_CLD(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_Customer_View dal = new DAL.ClsCLD_Customer_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD代码返回仓位信息(判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_StockPlace_Model GetSPInfoByNumber_CLD(string sWhere, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_StockPlace_View dal = new DAL.ClsCLD_StockPlace_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sWhere))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD代码返回仓位信息(仓库ID过滤) (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_StockPlace_Model GetSPInfoByNumber_Wh_CLD(string sWhere, long HWHID, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_StockPlace_View dal = new DAL.ClsCLD_StockPlace_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sWhere, HWHID))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sWhere, HWHID))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD供应商ID返回供应商信息
[WebMethod]
public Model.ClsCLD_Supplier_Model GetSupInfoByID_CLD(long sHSupID, ref string sErr)
{
DAL.ClsCLD_Supplier_View dal = new DAL.ClsCLD_Supplier_View();
if (dal.GetInfoByID(sHSupID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据CLOUD仓库ID返回仓库信息
[WebMethod]
public Model.ClsCLD_Warehouse_Model GetWhInfoByID_CLD(long sHWhID, ref string sErr)
{
DAL.ClsCLD_Warehouse_View dal = new DAL.ClsCLD_Warehouse_View();
if (dal.GetInfoByID(sHWhID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据CLOUD仓位ID返回仓库、仓位信息
[WebMethod]
public DataSet GetTxtNameIDBySPID_CLD(long sHWhID, long sHSPID)
{
DAL.ClsCLD_StockPlace_View dal = new DAL.ClsCLD_StockPlace_View();
return dal.GetWHSPInfoByID(sHWhID, sHSPID);
}
//根据CLOUD仓库代码返回仓库信息 (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_Warehouse_Model GetWhInfoByNumber_CLD(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_Warehouse_View dal = new DAL.ClsCLD_Warehouse_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD客户ID返回客户信息
[WebMethod]
public Model.ClsCLD_Customer_Model GetCusInfoByID_CLD(long sHCusID, ref string sErr)
{
DAL.ClsCLD_Customer_View dal = new DAL.ClsCLD_Customer_View();
if (dal.GetInfoByID(sHCusID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据CLOUD部门ID返回部门信息
[WebMethod]
public Model.ClsCLD_Department_Model GetDeptInfoByID_CLD(long sHDeptID, ref string sErr)
{
DAL.ClsCLD_Department_View dal = new DAL.ClsCLD_Department_View();
if (dal.GetInfoByID(sHDeptID))
{
return dal.omodel;
}
else
{
return null;
}
}
//根据CLOUD部门代码返回部门信息 (判断文本框TAG历史信息)
[WebMethod]
public Model.ClsCLD_Department_Model GetDeptInfoByNumber_CLD(string sNumber, long sItemID, string sName, ref string sErr)
{
DAL.ClsCLD_Department_View dal = new DAL.ClsCLD_Department_View();
if (dal.GetInfoByID(sItemID))
{
if (dal.omodel.HName == sName)
{
return dal.omodel;
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
else
{
if (dal.GetInfoByNumber(sNumber))
{
return dal.omodel;
}
else
{
return null;
}
}
}
//根据CLOUD仓位ID返回仓位信息
[WebMethod]
public Model.ClsCLD_StockPlace_Model GetSPInfoByID_CLD(long sHSPID, ref string sErr)
{
DAL.ClsCLD_StockPlace_View dal = new DAL.ClsCLD_StockPlace_View();
if (dal.GetInfoByID(sHSPID))
{
return dal.omodel;
}
else
{
return null;
}
}
//-----------------------------------------------------------
#endregion
#region 从远程服务器获取基础资料信息
//从远程服务器获取物料档案
[WebMethod]
public DataSet get_SaveMaterialFormServer(Int64 HItemID, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerMaterial " + HItemID.ToString(), "h_p_WMS_GetServerMaterial");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回物料档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取物料档案记录失败," + e.Message;
return null;
}
}
//从远程服务器获取仓库档案
[WebMethod]
public DataSet get_SaveWarehouseFormServer(Int64 HItemID, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerWareHouse " + HItemID.ToString(), "h_p_WMS_GetServerWareHouse");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回仓库档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取仓库档案记录失败," + e.Message;
return null;
}
}
//从远程服务器获取仓位档案
[WebMethod]
public DataSet get_SaveStockPlaceFormServer(Int64 HItemID, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerSP " + HItemID.ToString(), "h_p_WMS_GetServerSP");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回仓位档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取仓位档案记录失败," + e.Message;
return null;
}
}
//从远程服务器获取部门档案
[WebMethod]
public DataSet get_SaveDepartmentFormServer(Int64 HItemID, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerDepartment " + HItemID.ToString(), "h_p_WMS_GetServerDepartment");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回部门档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取部门档案记录失败," + e.Message;
return null;
}
}
//从远程服务器获取计量单位档案
[WebMethod]
public DataSet get_SaveUnitFormServer(Int64 HItemID, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerUnit " + HItemID.ToString(), "h_p_WMS_GetServerUnit");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回计量单位档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取计量单位档案记录失败," + e.Message;
return null;
}
}
#endregion
#region 工序流转卡
//工序流转卡
[WebMethod]
public bool set_SaveSc_ProcExchReport(Model.ClsSc_ProcExchReportMain oMain, Model.ClsSc_ProcExchReportSub oSub, ref string sErrMsg)
{
DAL.ClsSc_ProcExchReport dal = new DAL.ClsSc_ProcExchReport();
dal.omodel = oMain;
//dal.oSub = oSub;
dal.DetailColl.Add(oSub);
if (dal.AddBill(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据流转卡单号得到相应信息
//public DataSet get_InfoByProcExchReport(string lngBillKey, ref string sReturn)
//{
// DAL.ClsSc_ProcExchReport dal = new DAL.ClsSc_ProcExchReport();
// return dal.GetInfo(lngBillKey, ref sReturn);
//}
//public DataSet GetKf_PonderationBillMain_Temp(long HInterID, string sBillType, string sWhere)
//{
// DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
// return dal.GetInfoByID_View(HInterID, sBillType, sWhere);
//}
//根据流转卡单号得到相应信息
//public DataSet get_InfoByProcExchReport(string lngBillKey, ref string sReturn)
//{
// DAL.ClsSc_ProcExchReport dal = new DAL.ClsSc_ProcExchReport();
// return dal.GetInfo(lngBillKey, ref sReturn);
//}
#endregion
#region CLOUD 生产领料单--来源单据 *
//返回CLOUD生产投料单列表
///
/// 返回CLOUD生产投料单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PPBomBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_PPBomList_Lite dal = new DAL.Cls_S_CLD_PPBomList_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回CLOUD生产领料单
///
/// 返回CLOUD生产领料单
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MateOutBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_MateOutBill_Lite dal = new DAL.Cls_S_CLD_MateOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 生产领料单--来源单据 *
//返回生产领料单-蓝字(红字领料源单)
///
/// 返回生产领料单-蓝字(红字领料源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MateOutBillList(string sWhere)
{
DAL.Cls_S_IF_MateOutBill_Lite dal = new DAL.Cls_S_IF_MateOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回生产任务单-退料列表(红字领料源单)
///
/// 返回生产任务单-退料列表(红字领料源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PPBomBackBillList(string sWhere)
{
DAL.Cls_S_IF_PPBomBackList_Lite dal = new DAL.Cls_S_IF_PPBomBackList_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回生产投料单列表
///
/// 返回生产投料单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PPBomBillList(string sWhere)
{
DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3生产领料单(红字)
///
/// 返回k3生产领料单(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MateOutBackBillList(string sWhere)
{
DAL.Cls_S_K3_MateOutBackBill_Lite dal = new DAL.Cls_S_K3_MateOutBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3受托加工领料单
///
/// 返回k3受托加工领料单
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_STJGOutBillList(string sWhere)
{
DAL.Cls_S_K3_STJGOutBill_Lite dal = new DAL.Cls_S_K3_STJGOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 采购退料单--来源单据
//返回CLOUD退货通知单列表
///
/// 返回CLOUD退货通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_POStockInBackBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_POStockInBackBill_Lite dal = new DAL.Cls_S_CLD_POStockInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 委外退料单--来源单据
//返回CLOUD退货通知单列表
///
/// 返回CLOUD退货通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_EntrustInBackBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_EntrustInBackBill_Lite dal = new DAL.Cls_S_CLD_EntrustInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 产品入库单--来源单据
//返回CLOUD生产任务单列表
///
/// 返回CLOUD生产任务单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_ICMOBill_Lite dal = new DAL.Cls_S_CLD_ICMOBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回CLoud产品入库单列表
///
/// 返回CLoud产品入库单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_ProductInBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_ProductInBill_Lite dal = new DAL.Cls_S_CLD_ProductInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 产品入库单--来源单据
//返回产品入库单列表(蓝字)(红字产品入库源单)
///
/// 返回产品入库单列表(蓝字)(红字产品入库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_ProductInBillList(string sWhere)
{
DAL.Cls_S_IF_ProductInBill_Lite dal = new DAL.Cls_S_IF_ProductInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回生产任务单列表 退库(红字产品入库源单)
///
/// 返回生产任务单列表 退库(红字产品入库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOBackBillList(string sWhere)
{
DAL.Cls_S_IF_ICMOBackBill_Lite dal = new DAL.Cls_S_IF_ICMOBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回生产任务单列表
///
/// 返回生产任务单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOBillList(string sWhere)
{
DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回生产汇报单列表
///
/// 返回生产汇报单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOReportBillList(string sWhere)
{
DAL.Cls_S_IF_ICMOReportBill_Lite dal = new DAL.Cls_S_IF_ICMOReportBill_Lite();
return dal.DisSourceBillList(sWhere);
}
[WebMethod]
//根据流转卡单号得到相应信息
public DataSet Check_ICMOReportBill(string lngBillKey, ref string sReturn)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
return dal.GetInfo(lngBillKey, ref sReturn);
}
//拆分任务单汇报单
[WebMethod]
public bool set_SaveICMOReportBill_Cai(Int64 HInterID, string lngBillKey, Int64 HQty, Int64 HQty1, ref string sErrMsg)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
if (dal.AddBill_Cai_PDA(HInterID, lngBillKey, HQty, HQty1, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//返回k3产品入库单列表(红字)
///
/// 返回k3产品入库单列表(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_ProductInBackBillList(string sWhere)
{
DAL.Cls_S_K3_ProductInBackBill_Lite dal = new DAL.Cls_S_K3_ProductInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回箱发生产任务单列表
///
/// 返回箱发生产任务单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_XFICMOBillList(string sWhere)
{
DAL.Cls_S_IF_XFICMOBill_Lite dal = new DAL.Cls_S_IF_XFICMOBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 销售出库单--来源单据
//返回CLOUD发货通知单列表
///
/// 返回CLOUD发货通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOutStockBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_SeOutStockBill_Lite dal = new DAL.Cls_S_CLD_SeOutStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回CLOUD退货通知单列表
///
/// 返回CLOUD退货通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOutStockBackBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_SeOutStockBackBill_Lite dal = new DAL.Cls_S_CLD_SeOutStockBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 销售出库单--来源单据
//返回销售出库单-蓝字列表(红字销售出库源单)
///
/// 返回销售出库单-蓝字列表(红字销售出库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_SellOutBillList(string sWhere)
{
DAL.Cls_S_IF_SellOutBill_Lite dal = new DAL.Cls_S_IF_SellOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回退货通知单列表 (红字销售出库源单)
///
/// 返回退货通知单列表(红字销售出库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOutStockBackBillList(string sWhere)
{
DAL.Cls_S_IF_SeOutStockBackBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回销售订单列表 (红字销售出库源单)
///
/// 返回销售订单列表 (红字销售出库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOrderBillRedList(string sWhere)
{
DAL.Cls_S_IF_SEOrderBill_Red_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Red_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回销售订单列表
///
/// 返回销售订单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOrderBillList(string sWhere)
{
DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回下架通知单列表
///
/// 返回下架通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeDownStockBillList(string sWhere)
{
DAL.Cls_S_Xs_SeDownStockBill_Lite dal = new DAL.Cls_S_Xs_SeDownStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回发货通知单列表
///
/// 返回发货通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetXs_SeOutStockBillList(string sWhere)
{
DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 收料通知单--来源单据 ***
//返回k3收料通知单未审核列表
///
/// 返回k3收料通知单未审核列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_PoInStockBillUnCheckList(string sWhere)
{
DAL.Cls_S_K3_POStockInBill_Lite dal = new DAL.Cls_S_K3_POStockInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 外购入库单--来源单据 *
//返回CLOUD收料通知单列表
///
/// 返回CLOUD收料通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_PoInStockBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_POStockInBill_Lite dal = new DAL.Cls_S_CLD_POStockInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回CLOUD退料申请单列表 (退料单)
///
/// 返回CLOUD退料申请单列表(退料单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_PoInStockBackBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_POInStockBackBill_Lite dal = new DAL.Cls_S_CLD_POInStockBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 外购入库单--来源单据 *
//返回外购入库单-蓝字列表 (红字外购入库)
///
/// 返回外购入库单-蓝字列表(红字外购入库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_POStockInBillList(string sWhere)
{
DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回退料通知单列表 (红字外购入库)
///
/// 返回退料通知单列表(红字外购入库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_POInStockBackBillList(string sWhere)
{
DAL.Cls_S_IF_POInStockBackBill_Lite dal = new DAL.Cls_S_IF_POInStockBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回采购订单-退料列表 (红字外购入库)
///
/// 返回采购订单-退料列表(红字外购入库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_POOrderBackBillList(string sWhere)
{
DAL.Cls_S_IF_POOrderBackBill_Lite dal = new DAL.Cls_S_IF_POOrderBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回收料通知单列表
///
/// 返回收料通知单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_POInStockBillList(string sWhere)
{
DAL.Cls_S_IF_POInStockBill_Lite dal = new DAL.Cls_S_IF_POInStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回采购订单列表
///
/// 返回采购订单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_POOrderBillList(string sWhere)
{
DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3外购入库列表 (红字外购入库)
///
/// 返回k3外购入库列表 (红字外购入库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_POStockInBackBillList(string sWhere)
{
DAL.Cls_S_K3_POStockInBackBill_Lite dal = new DAL.Cls_S_K3_POStockInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 未审核收料通知单--来源单据 *
//返回k3未审核收料通知单
///
/// 返回k3未审核收料通知单
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCg_UnCheckPoInStockBillList(string sWhere)
{
DAL.Cls_S_K3_UnCheckPOInStockBill_Lite dal = new DAL.Cls_S_K3_UnCheckPOInStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 委外入库单--来源单据 *
//返回委外入库(蓝字)(红字委外入库源单)
///
/// 返回委外入库(蓝字)(红字委外入库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_EntrustInBillList(string sWhere)
{
DAL.Cls_S_IF_EntrustInBill_Lite dal = new DAL.Cls_S_IF_EntrustInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回委外订单-退库列表(红字委外入库源单)
///
/// 返回委外订单-退库列表(红字委外入库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetWW_WWOrderBackBillList(string sWhere)
{
DAL.Cls_S_IF_WWOrderBackBill_Lite dal = new DAL.Cls_S_IF_WWOrderBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回k3委外入库(红字)
///
/// 返回k3委外入库(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_EntrustInBackBillList(string sWhere)
{
DAL.Cls_S_K3_EntrustInBackBill_Lite dal = new DAL.Cls_S_K3_EntrustInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 委外出库单--来源单据 *
//返回CLOUD委外订单投料列表
///
/// 返回CLOUD委外订单投料列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetWW_WWPPBomList_CLD(string sWhere)
{
DAL.Cls_S_CLD_WWPPBomBill_Lite dal = new DAL.Cls_S_CLD_WWPPBomBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 委外出库单--来源单据 *
//返回委外出库单-蓝字列表 (红字委外出库源单)
///
/// 返回委外出库单-蓝字列表 (红字委外出库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_EntrustOutBillList(string sWhere)
{
DAL.Cls_S_IF_EntrustOutBill_Lite dal = new DAL.Cls_S_IF_EntrustOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回委外订单-退料列表 退料(红字委外出库源单)
///
/// 返回委外订单-退料列表 退料(红字委外出库源单)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetWW_WWPPBomBackList(string sWhere)
{
DAL.Cls_S_IF_WWPPBomBackBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//------------------------------------------------
//返回委外订单列表
///
/// 返回委外订单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetWW_WWOrderBillList(string sWhere)
{
DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回委外订单投料列表
///
/// 返回委外订单投料列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetWW_WWPPBomList(string sWhere)
{
DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3委外出库(红字)
///
/// 返回k3委外出库(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_EntrustOutBackBillList(string sWhere)
{
DAL.Cls_S_K3_EntrustOutBackBill_Lite dal = new DAL.Cls_S_K3_EntrustOutBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 虚仓调拨--来源单据 *
//返回k3未审核虚仓调拨
///
/// 返回k3未审核虚仓调拨
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_XCMoveStockBillList(string sWhere)
{
DAL.Cls_S_K3_XCMoveStockBill_Lite dal = new DAL.Cls_S_K3_XCMoveStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region CLOUD 实仓调拨--来源单据 *
//返回k3未审核实仓调拨
///
/// 返回k3未审核实仓调拨
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MoveStockBillList_CLD(string sWhere)
{
DAL.Cls_S_CLD_MoveStockBill_Lite dal = new DAL.Cls_S_CLD_MoveStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 实仓调拨--来源单据 *
//返回调拨申请列表
///
/// 返回调拨申请列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MoveStockRequestBillList(string sWhere)
{
DAL.Cls_S_IF_MoveStockRequestBill_Lite dal = new DAL.Cls_S_IF_MoveStockRequestBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3未审核实仓调拨
///
/// 返回k3未审核实仓调拨
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MoveStockBillList(string sWhere)
{
DAL.Cls_S_K3_MoveStockBill_Lite dal = new DAL.Cls_S_K3_MoveStockBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 分步式调入单--来源单据 *
//返回分步式调出单列表
///
/// 返回分步式调出单列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MoveStockStepOutBillList(string sWhere)
{
DAL.Cls_S_IF_MoveStockStepOutBill_Lite dal = new DAL.Cls_S_IF_MoveStockStepOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 其他出库--来源单据 *
//返回出库申请列表
///
/// 返回出库申请列表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_StockOutRequestBillList(string sWhere)
{
DAL.Cls_S_IF_StockOutRequestBill_Lite dal = new DAL.Cls_S_IF_StockOutRequestBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3未审核其他出库
///
/// 返回k3未审核其他出库
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_OtherOutBillList(string sWhere)
{
DAL.Cls_S_K3_OtherOutBill_Lite dal = new DAL.Cls_S_K3_OtherOutBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3未审核其他出库(红字)
///
/// 返回k3未审核其他出库(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_OtherOutBackBillList(string sWhere)
{
DAL.Cls_S_K3_OtherOutBackBill_Lite dal = new DAL.Cls_S_K3_OtherOutBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 其他入库--来源单据 *
//返回k3未审核其他入库
///
/// 返回k3未审核其他入库
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_OtherInBillList(string sWhere)
{
DAL.Cls_S_K3_OtherInBill_Lite dal = new DAL.Cls_S_K3_OtherInBill_Lite();
return dal.DisSourceBillList(sWhere);
}
//返回k3未审核其他入库(红字)
///
/// 返回k3未审核其他入库(红字)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_OtherInBackBillList(string sWhere)
{
DAL.Cls_S_K3_OtherInBackBill_Lite dal = new DAL.Cls_S_K3_OtherInBackBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 倒箱单--来源单据 *
//返回已审核倒箱单
///
/// 返回已审核倒箱单
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKF_ChangeBoxBillList(string sWhere)
{
DAL.Cls_S_KF_ChangeBoxBill_Lite dal = new DAL.Cls_S_KF_ChangeBoxBill_Lite();
return dal.DisSourceBillList(sWhere);
}
#endregion
#region 车间组装
//扫描成品条码
[WebMethod]
public bool Get_Assembly_CPBarCode(string sCPCode, string HBillType, ref string sICMOBillNo, ref string sCPBarCode, ref Int64 sCPMaterID, ref string sCPMaterName, ref string sBillNo, ref Int64 sInterID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
//
try
{
//判断所扫描条码是否有效
if (dal.GetInfoByNumber_View(sCPCode))
{
//判断成品条码是否存在组装单记录
DataSet ds = oCn.RunProcReturn("exec h_p_Sc_AssemblyBill_CPBarCode '" + sCPCode + "'", "h_p_Sc_AssemblyBill_CPBarCode");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描成品条码信息,未知错误!";
return false;
}
else
{
//已存在组装单记录,编辑状态,获取原组装单单据内码、单据号
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "Modify")
{
sICMOBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HICMOBillNo"]);
sCPBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPBarCode"]);
sCPMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCPMaterID"]);
sCPMaterName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPMaterName"]);
sInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
sBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBillNo"]);
return true;
}
else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "AddNew")
//不存在组装单记录,新增状态,获取最大组装单单据内码、单据号
{
sICMOBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HICMOBillNo"]);
sCPBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPBarCode"]);
sCPMaterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HCPMaterID"]);
sCPMaterName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCPMaterName"]);
sInterID = DBUtility.ClsPub.CreateBillID_Prod(HBillType, ref sErrMsg);
sBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HBillType, ref sErrMsg, true);
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]);
return false;
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
}
catch (Exception e)
{
sErrMsg = "扫描成品条码失败!" + e.Message;
return false;
}
}
//扫描配件条码
[WebMethod]
public bool Get_Assembly_PJBarCode(string sPJCode, string sCPCode, long sInterID, string sBillNo, string sMaker, long HWorkerID, string HSNNumber, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
//
try
{
if (dal.GetInfoByNumber_View(sPJCode))
{
if (sPJCode == sCPCode)
{
sErrMsg = "所扫描配件条码与成品条码不允许相同!";
return false;
}
DataSet ds = oCn.RunProcReturn("exec h_p_Sc_AssemblyBill_PJBarCode '" + sPJCode + "','" + sCPCode + "'," + sInterID.ToString() + ",'" + sBillNo + "','" + sMaker + "'," + HWorkerID.ToString() + ",'" + HSNNumber + "'", "h_p_Sc_AssemblyBill_PJBarCode");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描配件条码信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
}
catch (Exception e)
{
sErrMsg = "扫描配件条码失败!" + e.Message;
return false;
}
}
//获取组装单明细列表信息
[WebMethod]
public DataSet GetSc_AssemblyBill(long HInterID, string sBillType, string sWhere)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
//
try
{
DataSet DS = oCn.RunProcReturn("exec h_p_Sc_AssemblyBillList " + HInterID, "h_p_Sc_AssemblyBillList");
//DataSet DS = oCn.RunProcReturn("Select * from h_v_Sc_AssemblyBill Where HInterID=" + HInterID.ToString() + " and HBillType='" + sBillType + "' " + sWhere, "h_v_Sc_AssemblyBill", ref DBUtility.ClsPub.sExeReturnInfo);
if (DS.Tables[0].Rows.Count == 0)
return null;
else
{
return DS;
}
}
catch (Exception e)
{
throw (e);
}
}
//删除组装单 扫描记录
[WebMethod]
public bool set_DelSc_AssemblyBill(long HInterID, string HBarCode, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.RunProc("Delete from Sc_AssemblyBillSub where HInterID=" + HInterID.ToString() + " and HBarCode='" + HBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo);
return true;
}
catch (Exception e)
{
sErrMsg = "删除失败!" + e.Message;
return false;
}
}
//[WebMethod]
////根据条码得到相应信息(生产组装单)
//public WMSWebs.Model.ClsSc_AssemblyBillEntry get_AssemblyBillByBarCode(string sBarCode)
//{
// WMSWebs.BLL.ClsSc_AssemblyBill bll = new WMSWebs.BLL.ClsSc_AssemblyBill();
// WMSWebs.Model.ClsSc_AssemblyBillEntry model;
// model = bll.get_GetInfoByBarCode(sBarCode);
// if (model == null)
// {
// //sErrMsg = WMSWebs.DBUtility.ClsPub.ErrStr;
// return null;
// }
// else
// {
// //sErrMsg = "";
// return model;
// }
//}
////生成生产组装单
//[WebMethod]
//public bool set_SaveAssemblyBill(WMSWebs.Model.ClsSc_AssemblyBill oMain, List oEntry, ref string sErrMsg)
//{
// WMSWebs.BLL.ClsSc_AssemblyBill bll = new WMSWebs.BLL.ClsSc_AssemblyBill();
// if (bll.AddNew(oMain, oEntry))
// {
// sErrMsg = "保存成功!";
// return true;
// }
// else
// {
// sErrMsg = WMSWebs.DBUtility.ClsPub.ErrStr;
// return false;
// }
//}
#endregion
#region 拆包单
//生成拆包单临时记录
[WebMethod]
public bool set_SavePackSplitBill_Temp(Model.ClsSc_PackSplitBillSub oEntry, ref string sErrMsg)
{
DAL.ClsSc_PackSplitBill dal = new DAL.ClsSc_PackSplitBill();
if (dal.AddBill_PDA(oEntry, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//生成拆包单
[WebMethod]
public bool set_SavePackSplitBill(Model.ClsSc_PackSplitBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_PackSplitBill dal = new DAL.ClsSc_PackSplitBill();
if (dal.AddBill_PDA(oMain, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//生成拆包单临时记录
///
/// 生成拆包单临时记录
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PackSplitBillSub_Temp(long HInterID, string sWhere)
{
DAL.ClsSc_PackSplitBill dal = new DAL.ClsSc_PackSplitBill();
return dal.GetInfoByID_View(HInterID, sWhere);
}
#endregion
#region 分包单
//生成分包单临时记录
[WebMethod]
public bool set_SavePackDoubleBill_Temp(Model.ClsSc_PackDoubleBillSub oEntry, ref string sErrMsg)
{
DAL.ClsSc_PackDoubleBill dal = new DAL.ClsSc_PackDoubleBill();
//if (!dal.IsBarCode(oEntry.HBarCode, oEntry.HInterID))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
if (dal.AddBill_PDA(oEntry, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//生成分包单
[WebMethod]
public bool set_SavePackDoubleBill(Model.ClsSc_PackDoubleBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_PackDoubleBill dal = new DAL.ClsSc_PackDoubleBill();
if (dal.AddBill_PDA(oMain, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//返回分包单临时记录
///
/// 返回分包单临时记录
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PackDoubleBillSub_Temp(long HInterID, string sWhere)
{
DAL.ClsSc_PackDoubleBill dal = new DAL.ClsSc_PackDoubleBill();
return dal.GetInfoByID_View(HInterID, sWhere);
}
#endregion
#region 包装单
//生成包装单临时记录
[WebMethod]
public bool set_SavePackUnionBill_Temp(Model.ClsSc_PackUnionBillSub oEntry, ref string sErrMsg)
{
DAL.ClsSc_PackUnionBill dal = new DAL.ClsSc_PackUnionBill();
//if (!dal.IsBarCode(oEntry.HBarCode, oEntry.HInterID, oEntry.HErpClsID))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
if (dal.AddBill_PDA(oEntry, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//生成包装单
[WebMethod]
public bool set_SavePackUnionBill(Model.ClsSc_PackUnionBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_PackUnionBill dal = new DAL.ClsSc_PackUnionBill();
if (dal.AddBill_PDA(oMain, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//生成包装单临时记录
///
/// 生成包装单临时记录
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_PackUnionBillSub_Temp(long HInterID, string sWhere)
{
DAL.ClsSc_PackUnionBill dal = new DAL.ClsSc_PackUnionBill();
return dal.GetInfoByID_View(HInterID, sWhere);
}
#endregion
#region 出入库条码临时表
//保存到出入库条码临时表(一张单据,存在相同物料)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Select_Check(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_More_Select(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_Select_Check(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
}
//保存到出入库条码临时表(一张单据,存在相同物料)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Select(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_More_Select(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
//判断条码临时表中是否存在(调拨单同一条码相同调入调出仓库仓位只允许扫描一次,销售出库同一条码同一仓库仓位只允许扫描一次) 丸井
//if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType,oMain.HWhID,oMain.HStockPlaceID,oMain.HSCWHID,oMain.HOutStockPlaceID,oMain.))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
}
if (dal.AddNew_Source(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
}
//保存到出入库条码临时表(一张单据,存在相同物料)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Select_Qty(Model.ClsKF_PonderationBillMain_Temp oMain, Double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
//if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
//if (dal.AddNew_More_Select(ref sErrMsg))
//{
// //sErrMsg = "保存成功!";
// return true;
//}
//else
//{
// //sErrMsg = "保存失败!";
return false;
//}
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
//一次扫码控制,同一条码、同一单据类型,在WMS表和TEMP表里,只允许进行一次扫码
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds= oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan " + oMain.HInterID.ToString() + ",'" + oMain.HBarCode + "','" + oMain.HBillType + "'," + oMain.HWhID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + ",'" + oMain.HMaker+"'", "h_p_WMS_CheckBarCodeOneScan");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "对不起,您扫描的条形码已被扫描过,不符合一次扫码系统参数的要求!";
return false;
}
}
}
if (dal.AddNew_Source(sQty, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
}
//保存到出入库条码临时表(单条码,一张单据一条条码)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_SingleCheckAdd(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (dal.AddNew_Source(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//保存到出入库条码临时表
[WebMethod]
public bool set_SavePonderationBillMain_Temp(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_More(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
//判断条码临时表中是否存在(调拨单同一条码相同调入调出仓库仓位只允许扫描一次,销售出库同一条码同一仓库仓位只允许扫描一次) 丸井
//if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType,oMain.HWhID,oMain.HStockPlaceID,oMain.HSCWHID,oMain.HOutStockPlaceID,oMain.))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
}
if (dal.AddNew(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//dal.oCn.CnClose();
//dal.oCn.CnDispose();
//oBar.
}
//保存到出入库条码临时表
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Qty(Model.ClsKF_PonderationBillMain_Temp oMain, Double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_More(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
//一次扫码控制,同一条码、同一单据类型,在WMS表和TEMP表里,只允许进行一次扫码
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan " + oMain.HInterID.ToString() + ",'" + oMain.HBarCode + "','" + oMain.HBillType + "'," + oMain.HWhID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + ",'" + oMain.HMaker + "'", "h_p_WMS_CheckBarCodeOneScan");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "对不起,您扫描的条形码已被扫描过,不符合一次扫码系统参数的要求!";
return false;
}
}
}
if (dal.AddNew_sQty(sQty, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//dal.oCn.CnClose();
//dal.oCn.CnDispose();
//oBar.
}
//保存到出入库条码临时表
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Qty_FIFO(Model.ClsKF_PonderationBillMain_Temp oMain, string sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
//if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
if (dal.AddNew_More(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
//if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
//{
// sErrMsg = "存在相同条码,请勿重复扫描!";
// return false;
//}
if (oBar.omodel_View.HBarCodeType == "批次码")
{
if (dal.AddNew_sQty_FIFO(sQty, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
//if (dal.AddNew_Source(ref sErrMsg))
//{
// //sErrMsg = "保存成功!";
// return true;
//}
//else
//{
//sErrMsg = "保存失败!";
return false;
//}
}
}
}
//dal.oCn.CnClose();
//dal.oCn.CnDispose();
//oBar.
}
//保存到出入库条码临时表(先进先出)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_FIFO(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
}
if (dal.AddNew_FIFO(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//保存到出入库条码临时表(物料条码) 免扫码自动批量生成物料条码
[WebMethod]
public bool set_SavePonderationBillMain_Temp_NoCode(long HInterID, long HWHID, long HSPID, long HSCWHID, long HOutSPID, string[] sSourceID, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MateOutBill_AutoBarCode.ToUpper() == "Y") //系统参数 生产领料单-免扫码
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
bool sBool = false;
try
{
oCN.RunProc("Delete from KF_PonderationBillMain_Temp where HQtyMust=0 and HInterID=" + HInterID.ToString(), ref DBUtility.ClsPub.sExeReturnInfo);
for (int i = 0; i < sSourceID.Length; i++)
{
if (sSourceID[i] != "")
{
sBool = true;
string[] se = sSourceID[i].Split(Convert.ToChar(","));
Int64 sInterID = DBUtility.ClsPub.isLong(se[0]);
Int64 sEntryID = DBUtility.ClsPub.isLong(se[1]);
//调用方法
DataSet ds = oCN.RunProcReturn("exec h_p_WMS_AutoPonderationBill " + HInterID + "," + HWHID + "," + HSPID + "," + sInterID + "," + sEntryID, "h_p_WMS_AutoPonderationBill");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "自动批量生成物料条码出入库记录,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "仓库没有选择,请先选择仓库!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2)
{
sErrMsg = "条码档案中不存在自动生成的条码,批量生成物料条码出入库记录失败!";
return false;
}
else
{
sErrMsg = "生成物料条码出入库记录成功";
}
}
}
}
if (!sBool)
{
sErrMsg = "没有选择任何一行物料,无须批量生成物料条码出入库记录!";
return false;
}
return true;
}
catch (Exception e)
{
sErrMsg = "自动批量生成物料条码失败!" + e.Message;
return false;
}
}
else
{
sErrMsg = "唯一条码不支持免扫码功能,批量生成失败,请扫码出库!";
return false;
}
}
//保存到出入库条码临时表(原单)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
dal.oModel = oMain;
if (dal.AddNew_Source(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//保存到出入库条码临时表(盘点 扫仓库带出该仓库所有库存信息)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_CheckStcok(long HInterID, string HBillNo, string sBillType, long HWHID, long HSPID, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_CheckStock(HInterID, HBillNo, sBillType, HWHID, HSPID, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
//保存到出入库条码稽核临时表(原单) 根据源单单号 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Aduit_Temp_Source_Fast(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl();
if (dal.AddNew_Aduit_Source(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 领料出库 根据计划模式、配套数量 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_MateOut(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, string sMaker, Double sPPQty, Int64 sPlanMode, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_MateOut(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, sMaker, sPPQty, sPlanMode, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_SourceBillType(long sHInterID, string sBillNo, string sHBillType, string sBarCode, string sRedBlueflag, ref string sSourceBillNo, ref string sSourceTypeName, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
string sSourceBillType;
DataSet ds = oCN.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + sHInterID.ToString() + ",'" + sHBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
sSourceTypeName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceTypeName"]);
sSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]);
sSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]);
sHSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]);
sHSupName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSupName"]);
sHDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]);
sHDeptName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HDeptName"]);
if (sSourceBillNo =="")
{
sErrMsg = "";
return true;
}
else
{
if (dal.AddNew_Source(sHInterID, sBillNo, sHBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg))
{
sErrMsg = "";
return true;
}
else
{
sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg;
return false;
}
}
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1201)
{
sErrMsg = "所扫描的物料条码源单类型不在外购入库模块的源单类型中,请确认入库扫码模块是否正确!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1202)
{
sErrMsg = "所扫描的物料条码源单类型不在产品入库模块的源单类型中,请确认入库扫码模块是否正确!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1210)
{
sErrMsg = "所扫描的物料条码源单类型不在委外入库模块的源单类型中,请确认入库扫码模块是否正确!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
else
{
sErrMsg = "扫描物料条码后判断条码源单信息,未知错误2!";
return false;
}
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息 CLOUD
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast_CLD(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_CLD(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息 CLOUD
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast_CLD_CG(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_CLD_CG(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast_ChangeBox(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, string sRedBlueflag, long sInterID, string sBillNo, string sMaker, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_ChangeBox(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sRedBlueflag, sInterID, sBillNo, sMaker, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息(先进先出)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast_FIFO(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, long sHWHID, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_FIFO(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sHWHID, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(原单) 根据源单单号 批量新增源单信息(先进先出)CLOUD
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Source_Fast_FIFO_CLD(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, long sHWHID, string sRedBlueflag, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Source_FIFO_CLD(sNewInterID, sNewBillNo, sNewBillType, sSourceBillNo, sSourceBillType, sHWHID, sRedBlueflag, ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "输入源单信息不准确,请输入较完整的单据号!";
return false;
}
}
//保存到出入库条码临时表(核对生单,关联条码记录)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_CheckAdd(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
}
if (dal.AddNew_CheckAdd(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//保存到出入库条码临时表(核对生单,关联条码记录)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_CheckAdd_Qty(Model.ClsKF_PonderationBillMain_Temp oMain, Double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType, oMain.HWhID, oMain.HStockPlaceID, oMain.HSCWHID, oMain.HOutStockPlaceID, oMain.HRedBlueFlag))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_CheckAdd(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (dal.AddNew_CheckAdd(sQty,ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
}
//保存到出入库条码稽核临时表()
[WebMethod]
public bool set_SavePonderationBillMain_Audit_Temp(Model.ClsKF_PonderationBillMain_Audit_Temp oMain, Double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))//条形码不存在
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_CheckAdd(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (dal.AddNew_CheckAdd(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
}
//保存到出入库条码临时表(关联条码记录)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_Check(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
dal.oModel = oMain;
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_Check(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
}
//减少到出入条码临时表(常规)
[WebMethod]
public bool set_ClearPonderationBillMain_Temp_ChangGui(long HInterID, long HMaterID, Int64 HAuxPropID, string HMTONo, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, string sBarCode, string sBillType, double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_Clear_ChangGui(HInterID, HMaterID, HAuxPropID, HMTONo, HWhID, HSPID, HSCWhID, HSCSPID, HBatchNo, HSourceInterID, HSourceEntryID, sBarCode, sBillType, sQty, ref sErrMsg))
{
//sErrMsg = "减少成功!";
return true;
}
else
{
//sErrMsg = "减少失败!";
return false;
}
}
//保存到出入库条码临时表(常规)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_ChangGui(long HInterID, long HMaterID, Int64 HAuxPropID, string HMTONo, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, string sBarCode, string sBillType, double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.AddNew_More_ChangGui(HInterID, HMaterID, HAuxPropID, HMTONo, HWhID, HSPID, HSCWhID, HSCSPID, HBatchNo, HSourceInterID, HSourceEntryID, sBarCode, sBillType, sQty, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//判断VDA数量是否与本托盘数量一致
[WebMethod]
public bool set_PonderationBillMain_Temp_CheckQty(long HInterID, string sBillType, string sVDAPack, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_View oView = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (oView.CheckQtyByVDAPack(HInterID, sBillType, sVDAPack, ref sErrMsg))
{
//"正常!";
return true;
}
else
{
//"错误!";
return false;
}
}
//删除出入库条码临时表
[WebMethod]
public bool set_DelPonderationBillMain_Temp(long HItemID, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteByID(HItemID))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除出入库条码临时表(根据条码)
[WebMethod]
public bool set_DelPonderationBillMain_Temp_BarCode(long HInterID, string sBarCode, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteByBarCode(HInterID, sBarCode, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除出入库条码临时表 (原单)
[WebMethod]
public bool set_DelPonderationBillMain_Temp_InterID(long HInterID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteByInterID(HInterID, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除出入库条码临时表 扫描记录
[WebMethod]
public bool set_DelPonderationBillMain_Temp_InterIDAndSource(long HInterID, long HMaterID, long HAuxPropID, string HMTONo, long HSourceInterID, long HSourceEntryID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteByInterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除出入库条码临时表 源单扫描记录
[WebMethod]
public bool set_DelPonderationBillMain_Temp_SourceInterID(long HInterID, long HSourceInterID, string sHBillType, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HInterID.ToString() + " and HBillType='" + sHBillType + "' and HSourceInterID=" + HSourceInterID, ref DBUtility.ClsPub.sExeReturnInfo);
return true;
}
catch (Exception e)
{
sErrMsg = "删除失败!" + e.Message;
return false;
}
}
//删除出入库条码稽核临时表 扫描记录
[WebMethod]
public bool set_DelPonderationBillMain_Audit_Temp_InterIDAndSource(long HInterID, long HMaterID, long HAuxPropID, long HSourceInterID, long HSourceEntryID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl();
if (dal.DeleteByInterIDAndSource(HInterID, HMaterID, HAuxPropID, HSourceInterID, HSourceEntryID, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除出入库条码临时表(原单主ID 子ID)
[WebMethod]
public bool set_DelPonderationBillMain_Temp_SourceInterD(long HSourceInterID, long HSourceEntryID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteByInterID(HSourceInterID, HSourceEntryID, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除先进先出临时表(更新 HlineStatus =1)
[WebMethod]
public bool set_DelPonderationBillMain_Temp_FIFO(long sHInterID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteFIFOByInterID(sHInterID, sHBillType))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//返回出入库条码稽核临时表
///
/// 返回出入库条码稽核临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Audit_Temp(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_View();
return dal.GetInfoByID_View(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表
///
/// 返回出入库条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表(领料出库)
///
/// 返回出入库条码临时表(领料出库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_New(long HInterID, string sBillType, string sWhere)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet DS = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_TempList " + HInterID.ToString() + ",'" + sBillType + "','" + sWhere + "'", "h_p_KF_PonderationBillMain_TempList");
if (DS == null || DS.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return DS;
}
}
//返回出入库条码临时表 先进先出(领料出库)
///
/// 返回出入库条码临时表 先进先出(领料出库)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_FIFO_New(long HInterID, string sBillType, long HMaterID, string sWhere)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet DS = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_TmpList " + HInterID.ToString() + ",'" + sBillType + "'," + HMaterID, "h_p_Kf_ICInventory_FIFO_TmpList");
if (DS == null || DS.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return DS;
}
}
//生产入库模块,返回源单生产汇报单扫描条码明细
///
/// 生产入库模块,返回源单生产汇报单扫描条码明细
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_ICStockBillSub_WMS_Temp(long HInterID, string sBillType, string sWhere)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet DS = oCn.RunProcReturn("exec h_p_Kf_ICStockBillSub_WMS_TempList " + HInterID.ToString() + ",'" + sBillType + "','" + sWhere + "'", "h_p_Kf_ICStockBillSub_WMS_TempList");
if (DS == null || DS.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return DS;
}
}
//出入库条码明细记录 一条条码一行
[WebMethod]
public DataSet GetKf_PonderationBillMainDetails_Temp(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByIDDetails_View(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表
///
/// 返回出入库条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_Sub(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_Sub(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表
///
/// 返回出入库条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_Sub_FIFO(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_Sub_FIFO(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表
///
/// 返回出入库条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_Sub_FIFO_Bill(string sBillNo, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_Sub_FIFO_Bill(sBillNo, sBillType, sWhere);
}
//返回出入库条码临时表
///
/// 返回出入库条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_Sum(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_Sum(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表(未上传)
///
/// 返回出入库条码临时表(未上传)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_OffLine(string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View(sBillType, sWhere);
}
//返回出入库条码临时表(先进先出)
///
/// 返回出入库条码临时表(先进先出)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_FIFO(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_FIFO(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表(先进先出)(旧)
///
/// 返回出入库条码临时表(先进先出)(旧)
///
/// 过滤条件
///
//[WebMethod]
//public DataSet GetKf_PonderationBillMain_Temp_FIFO_New(long HInterID, string sBillType, long HMaterID, string sWhere)
//{
// DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
// return dal.GetInfoByID_View_FIFO(HInterID, sBillType, HMaterID, sWhere);
//}
//返回出入库条码临时表(带仓库仓位)
///
/// 返回出入库条码临时表(带仓库仓位)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_Check(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_Check(HInterID, sBillType, sWhere);
}
//返回出入库条码临时表(盘点)
///
/// 返回出入库条码临时表(盘点)
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_PonderationBillMain_Temp_CheckStcok(long HInterID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetInfoByID_View_CheckStcok(HInterID, sBillType, sWhere);
}
//返回即时库存列表
///
/// 返回即时库存列表
///
/// 过滤条件
///
[WebMethod]
public DataSet Get_ICInventoryByBarCodeList(string sBarCode, long HWHID, long HSPID, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.Get_ICInventoryByBarCodeList(sBarCode, HWHID, HSPID, sWhere);
}
//根据物料返回即时库存列表
///
/// 根据物料返回即时库存列表
///
/// 过滤条件
///
[WebMethod]
public DataSet Get_ICInventoryByMaterID(long HMaterID,long HWhID, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.Get_ICInventoryByMaterID(HMaterID,HWhID, sWhere);
}
//返回条码对应客户表
///
/// 返回条码对应客户表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetCusAndBarCodeList(long HInterID, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetCusAndBarCodeByID_View(HInterID, sWhere);
}
//返回条码临时表
///
/// 返回条码临时表
///
/// 过滤条件
///
[WebMethod]
public DataSet GetBarCode_Temp(long HInterID, long HMaterID, Int64 HAuxPropID, string HMTONo, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, string sBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetBarCodeByID_View(HInterID, sBillType, HMaterID, HAuxPropID, HMTONo, HWhID, HSPID, HSCWhID, HSCSPID, HBatchNo, HSourceInterID, HSourceEntryID, sWhere);
}
//回填条码临时表字段 HRelationInterID=1(条码出入库记录生成成功后回填 盘点)
[WebMethod]
public bool set_UpDatePonderationBillMain_Temp_HRelationInterID(long sHInterID, string sHBillType, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
//
if (dal.UpDateByRelationInterID(sHInterID, sHBillType))
{
//sErrMsg = "更新成功!";
return true;
}
else
{
//sErrMsg = "更新失败!";
return false;
}
}
#endregion
#region 出入库条码临时表 *New
//扫描物料条码,保存到出入库条码临时表
[WebMethod]
public bool set_SavePonderationBillMain_Temp_New(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
DAL.ClsGy_BarCodeBill_View oBar = new DAL.ClsGy_BarCodeBill_View();
if (!oBar.GetInfoByNumber_View(oMain.HBarCode))
{
sErrMsg = "无效条码";
return false;
}
else
{
if (oBar.omodel_View.HBarCodeType == "托盘条码")
{
if (!dal.IsBarCode_Pack(oMain.HBarCode, oMain.HInterID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
if (dal.AddNew_More_Select(ref sErrMsg))
{
//sErrMsg = "保存成功!";
return true;
}
else
{
//sErrMsg = "保存失败!";
return false;
}
}
else
{
if (oBar.omodel_View.HBarCodeType == "唯一条码")
{
if (!dal.IsBarCode(oMain.HBarCode, oMain.HInterID, oMain.HErpClsID, oMain.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
//一次扫码控制,同一条码、同一单据类型,在WMS表和TEMP表里,只允许进行一次扫码
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_CheckBarCodeOneScan " + oMain.HInterID.ToString() + ",'" + oMain.HBarCode + "','" + oMain.HBillType + "'," + oMain.HWhID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + ",'" + oMain.HMaker + "'", "h_p_WMS_CheckBarCodeOneScan");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "对不起,您扫描的条形码已被扫描过,不符合一次扫码系统参数的要求!";
return false;
}
}
}
}
//写入出入库临时表
try
{
oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
"(HInterID,HBillNo,HBillType,HMaterID,HProcID,HWhID,HSCWHID" +
",HStockPlaceID,HOutStockPlaceID,HGroupID,HQty,HQtyMust,HPieceQty " +
",HAuxPropID,HBatchNo,HBarCode,HAddr,HMaker,HMakeDate " +
",HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HMTONo" +
",HSTOCKORGID,HOWNERID,HCusBarCode " +
",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag) " +
" Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HProcID.ToString() + "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() +
"," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HQtyMust.ToString() + "," + oMain.HPieceQty.ToString() +
"," + oMain.HAuxPropID.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "','" + oMain.HAddr + "','" + oMain.HMaker + "',getdate()" +
"," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "','" + oMain.HMTONo + "'" +
"," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'" + oMain.HCusBarCode + "'" +
"," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ")");
return true;
}
catch (Exception e)
{
sErrMsg = "物料条码写入出入库临时表失败!" + e.Message;
return false;
}
}
}
#endregion
#region 出门确认单 *
//生成出门确认单
[WebMethod]
public bool set_SaveDoorOutCheckBill_New(Model.ClsSc_DoorOutCheckBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (SaveDoorOutCheckBill(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
public bool SaveDoorOutCheckBill(Model.ClsSc_DoorOutCheckBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
oCn.BeginTran();
//生成出门确认单
//插入子表
oCn.RunProc("EXEC h_p_Sc_DoorOutCheckBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Sc_DoorOutCheckBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" +
",HGroupID,HDeptID,HDeptNumber" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMaker + "',getdate()" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "'," + oMain.HEmpID.ToString() + ",'" + oMain.HEmpNumber + "'" +
", " + oMain.HGroupID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HDeptNumber + "'" +
") ");
//审核单据
//if (oSystemParameterMain.Sc_DoorOutCheckBill_AutoCheck == "Y") //系统参数 自动审核
//{
//审核单据
oCn.RunProc("Update Sc_DoorOutCheckBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate() where HInterID= " + oMain.HInterID.ToString());
//}
sErrMsg = "新增单据成功!";
oCn.Commit();
return true;
}
catch (Exception e)
{
sErrMsg = "生成出门确认单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 汇报单
#region 产量汇报单
//生成产量汇报单(无条码出入库记录)
[WebMethod]
public bool set_SaveICMOReportBill_Add(Model.ClsSc_ICMOReportBillMain oMain, Model.ClsSc_ICMOReportBillSub oSub, ref string sErrMsg)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
dal.omodel = oMain;
dal.oSub = oSub;
dal.DetailColl.Add(oSub);
if (dal.AddBill_PDA2(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据任务单 返回 该任务单上一次产量汇报信息
///
///根据任务单 返回 该任务单上一次产量汇报信息
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOReportBill_HICMOInterID_chanliang(long HSourceInterID, string sWhere)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
return dal.GetInfoByHICMOInterID_chanliang(HSourceInterID, sWhere);
}
#endregion
#region 质量汇报单
//生成质量汇报单(无条码出入库记录)
[WebMethod]
public bool set_SaveQualityReportBill(Model.ClsSc_QualityReportBillMain oMain, Model.ClsSc_QualityReportBillSub oSub, ref string sErrMsg)
{
DAL.ClsSc_QualityReportBill dal = new DAL.ClsSc_QualityReportBill();
dal.omodel = oMain;
dal.oSub = oSub;
dal.DetailColl.Add(oSub);
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
////返回k3生产任务单列表
/////
///// 返回k3生产任务单列表
/////
///// 过滤条件
/////
//[WebMethod]
//public DataSet GetSc_ICMOBillList(string sWhere)
//{
// DAL.Cls_S_K3_ICMOBill_Lite dal = new DAL.Cls_S_K3_ICMOBill_Lite();
// sWhere = " and 未汇报数量>0 ";
// return dal.DisSourceBillList(sWhere);
//}
[WebMethod]
public string GetICMOReportBillNo()
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
return dal.GetNewBillNo();
}
//生成任务单汇报单
[WebMethod]
public bool set_SaveICMOReportBill(Model.ClsSc_ICMOReportBillMain oMain, Model.ClsSc_ICMOReportBillSub oSub, ref string sErrMsg)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
dal.omodel = oMain;
dal.oSub = oSub;
dal.DetailColl.Add(oSub);
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//批量生成任务单汇报单
[WebMethod]
public bool set_SaveICMOReportBillMul(Model.ClsSc_ICMOReportBillMain oMain, Int64 HSource, ref string sErrMsg)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
dal.omodel = oMain;
//dal.oSub = oSub;
//dal.DetailColl.Add(oSub);
if (dal.AddBillMul_PDA(HSource, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据任务单 返回 该任务单上一次汇报的机台和操作工
///
/// 根据 返回 该任务单上一次汇报的机台和操作工
///
/// 过滤条件
///
[WebMethod]
public DataSet GetSc_ICMOReportBill_HICMOInterID(long HSourceInterID, string sWhere)
{
DAL.ClsSc_ICMOReportBill dal = new DAL.ClsSc_ICMOReportBill();
return dal.GetInfoByHICMOInterID(HSourceInterID, sWhere);
}
#endregion
#region 生产汇报单 *
//生成生产汇报单
[WebMethod]
public bool set_SaveICMOReportBill_New(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
return false;
}
if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveICMOReportBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存生产汇报单失败!" + sErrMsg;
return false;
}
#endregion
#region 生产汇报单CLOUD
//生成生产汇报单
[WebMethod]
public bool set_SaveICMOReportBill_CLD_New(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
//上传前判断是否存在相同条码
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_UpLoadControl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_UpLoadControl");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//if (sHSourceType == "3710") //源单:生产订单
//{
if (SaveICMOReportBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
//}
//else
//{
// sErrMsg = "错误的源单类型";
// return false;
//}
}
///
/// 生产汇报单 源单:生产订单
///
///
///
///
public bool SaveICMOReportBill_ICMO_CLD(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
//写入WMS生产汇报单
oCn.BeginTran();
//插入子表
oCn.RunProc("EXEC h_p_Sc_ICMOReportBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Sc_ICMOReportBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HEmpID,HGroupID,HDeptID,HPRDORGID" +
") " +
" values('3711','3711'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HEmpID.ToString() + "," + oMain.HGroupID.ToString() + "," + oMain.HDeptID.ToString() + "," + oMain.HPRDORGID.ToString() +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToICMOReport_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetICMOReportBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetICMOReportBill_ICMO_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//"\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
//\"FDocumentStatus\":\"\",
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPRDORGID"]) + "\"}," +
//\"FWorkshipIdH\":{\"FNumber\":\"\"},
//\"FDescription\":\"\",
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_EntryCustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
//自定义字段处理
if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"FBILLSTATUS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLSTATUS"]) + "\","; //单据状态
}
else if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"F_QOUL_ASSISTANT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_ASSISTANT"]) + "\"},"+ //产品等级
"\"F_QOUL_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT"]) + "\","; //销售订单号
}
else
{
sJson_EntryCustom = "";
}
//
sJson_Entry = sJson_Entry + " {" +
//" \"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HEntryID"]) + "," +
" \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
" \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FPRODUCTTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\"," +
" \"FREPORTTYPE\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREPORTTYPE"]) + "\"}," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FWORKSHIPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}," +
//\"FShiftGroupId\":{\"FNumber\":\"\"},
sJson_BatchNo +
//\"FDeptId\":{\"FNumber\":\"\"},
sJson_StockPlace +
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FCHECKPRODUCT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCHECKPRODUCT"]) + "," +
" \"FISENTRUST\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISENTRUST"]) + "," +
" \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
" \"FMOBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\"," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
//\"FHumanQty\":\"0\",
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//\"FMachineQty\":\"0\",
//\"FMaterialUnitID\":{\"FNumber\":\"\"},
//\"FStartTime\":\"1900-01-01\",
//\"FEndTime\":\"1900-01-01\",
//\"FTimeUnitId\":\"\",
" \"FMOENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "," +
//" \"FSTANDHOURUNITID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTANDHOURUNITID"]) + "\"," +
" \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
" \"FSTDMANHOUR\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTDMANHOUR"]) + "," +
" \"FHRPREPARETIME\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FHRPREPARETIME"]) + "," +
//\"FHrWorkTime\":\"0\",
" \"FMACPREPARETIME\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMACPREPARETIME"]) + "," +
//\"FMacWorkTime\":\"0\",
//\"FDescriptionE\":\"\",
" \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
" \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
" \"FMOID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "," +
" \"FMOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "," +
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FSTOCKINORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKINORGID"]) + "\"}," +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
" \"FCOSTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTRATE"]) + "," +
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
//" \"FSNQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNQty"]) + "," +
//\"FProduceDate\":\"1900-01-01\",
//\"FExpiryDate\":\"1900-01-01\",
" \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
" \"FMOMAINENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "," +
" \"FQAIP\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQAIP"]) + "\"," +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\"," +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\"," +
" \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," +
" \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," +
" \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," +
" \"FBASEQUAQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEQUAQTY"]) + "," +
" \"FQUAQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQUAQTY"]) + "," +
" \"FBASEFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEFINISHQTY"]) + "," +
" \"FFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FFINISHQTY"]) + "," +
" \"FINSTOCKTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FINSTOCKTYPE"]) + "\"," +
" \"FBASEREMADEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREMADEQTY"]) + "," +
" \"FREMADEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMADEQTY"]) + "," +
sJson_EntryCustom +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FQCMaterialId\":{\"FNUMBER\":\"\"},
//\"FInspectResult\":\"\",
//\"FQcAuxPropId\":{\"FQCAUXPROPID__FF100002\":{\"FNumber\":\"\"}},
//\"FQCQty\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialId\":{\"FNUMBER\":\"\"},
//\"FQCStockInSelQty\":\"0\",
//\"FSerialNote\":\"\",
//\"FBaseQCQty\":\"0\",
//\"FBaseQCStockInSelQty\":\"0\"}]
" \"FEntity_Link\": [{" +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 生产汇报单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_MORPT", sJson }); //调用保存方式
if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_MORPT", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_MORPT", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成生产汇报单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
//韩电扫码生成生产汇报单时,回填对应条码档案源单信息
if (oSystemParameterMain.Sc_ICMOReportBill_UpdateSourceInterID == "Y")
{
oCn.RunProc("exec h_p_WMS_UpdateSourceByBarCodeBill_ICMOReportBill '" + oMain.HBillNo + "'");
}
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成生产汇报单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成生产汇报单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 生产汇报单 Layui调用*
//生成生产汇报单
[WebMethod]
public bool set_SaveICMOReportBill_Layui(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
return false;
}
if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveICMOReportBill_CLD_Layui(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存生产汇报单失败!" + sErrMsg;
return false;
}
#endregion
#region 生产汇报单CLOUD Layui调用
//生成生产汇报单
[WebMethod]
public bool set_SaveICMOReportBill_CLD_Layui(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
//if (sHSourceType == "3710") //源单:生产订单
//{
if (SaveICMOReportBill_ICMO_CLD_Layui(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo + ";" + sErrMsg;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
//}
//else
//{
// sErrMsg = "错误的源单类型";
// return false;
//}
}
///
/// 生产汇报单 源单:生产订单
///
///
///
///
public bool SaveICMOReportBill_ICMO_CLD_Layui(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
//写入WMS生产汇报单
oCn.BeginTran();
//插入子表
oCn.RunProc("EXEC h_p_Sc_ICMOReportBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Sc_ICMOReportBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HEmpID,HGroupID,HDeptID,HPRDORGID" +
") " +
" values('3711','3711'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HEmpID.ToString() + "," + oMain.HGroupID.ToString() + "," + oMain.HDeptID.ToString() + "," + oMain.HPRDORGID.ToString() +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToICMOReport_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Sc_ICMOReportBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetICMOReportBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetICMOReportBill_ICMO_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//"\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
//\"FDocumentStatus\":\"\",
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPRDORGID"]) + "\"}," +
//\"FWorkshipIdH\":{\"FNumber\":\"\"},
//\"FDescription\":\"\",
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_EntryCustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
//自定义字段处理
if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"FBILLSTATUS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLSTATUS"]) + "\","; //单据状态
}
//
sJson_Entry = sJson_Entry + " {" +
//" \"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HEntryID"]) + "," +
" \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
" \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FPRODUCTTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\"," +
" \"FREPORTTYPE\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREPORTTYPE"]) + "\"}," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FWORKSHIPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}," +
//\"FShiftGroupId\":{\"FNumber\":\"\"},
sJson_BatchNo +
//\"FDeptId\":{\"FNumber\":\"\"},
sJson_StockPlace +
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FCHECKPRODUCT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCHECKPRODUCT"]) + "," +
" \"FISENTRUST\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISENTRUST"]) + "," +
" \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
" \"FMOBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\"," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
//\"FHumanQty\":\"0\",
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//\"FMachineQty\":\"0\",
//\"FMaterialUnitID\":{\"FNumber\":\"\"},
//\"FStartTime\":\"1900-01-01\",
//\"FEndTime\":\"1900-01-01\",
//\"FTimeUnitId\":\"\",
" \"FMOENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "," +
//" \"FSTANDHOURUNITID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTANDHOURUNITID"]) + "\"," +
" \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
" \"FSTDMANHOUR\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTDMANHOUR"]) + "," +
" \"FHRPREPARETIME\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FHRPREPARETIME"]) + "," +
//\"FHrWorkTime\":\"0\",
" \"FMACPREPARETIME\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMACPREPARETIME"]) + "," +
//\"FMacWorkTime\":\"0\",
//\"FDescriptionE\":\"\",
" \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
" \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
" \"FMOID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "," +
" \"FMOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "," +
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FSTOCKINORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKINORGID"]) + "\"}," +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
" \"FCOSTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTRATE"]) + "," +
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
//\"FSNQty\":\"0\",
//\"FProduceDate\":\"1900-01-01\",
//\"FExpiryDate\":\"1900-01-01\",
" \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
" \"FMOMAINENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "," +
" \"FQAIP\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQAIP"]) + "\"," +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\"," +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\"," +
" \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," +
" \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," +
" \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," +
" \"FBASEQUAQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEQUAQTY"]) + "," +
" \"FQUAQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQUAQTY"]) + "," +
" \"FBASEFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEFINISHQTY"]) + "," +
" \"FFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FFINISHQTY"]) + "," +
" \"FInStockType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockType"]) + "\"," +
" \"FBASEREMADEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREMADEQTY"]) + "," +
" \"FREMADEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMADEQTY"]) + "," +
sJson_EntryCustom +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FQCMaterialId\":{\"FNUMBER\":\"\"},
//\"FInspectResult\":\"\",
//\"FQcAuxPropId\":{\"FQCAUXPROPID__FF100002\":{\"FNumber\":\"\"}},
//\"FQCQty\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialId\":{\"FNUMBER\":\"\"},
//\"FQCStockInSelQty\":\"0\",
//\"FSerialNote\":\"\",
//\"FBaseQCQty\":\"0\",
//\"FBaseQCStockInSelQty\":\"0\"}]
" \"FEntity_Link\": [{" +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 生产汇报单
string HReturn;
string HReturn2 = "";
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_MORPT", sJson }); //调用保存方式
if (oSystemParameterMain.Sc_ICMOReportBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_MORPT", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_MORPT", sJson3 }); //审核单据
string sJson4 = "{\"Ids\":\"\",\"Numbers\":[\"" + oMain.HBillNo + "\"],\"EntryIds\":\"\",\"RuleId\":\"PRD_MORPT2INSTOCK\",\"TargetBillTypeId\":\"\",\"TargetOrgId\":\"0\",\"TargetFormId\":\"PRD_INSTOCK\",\"IsEnableDefaultRule\":\"false\",\"IsDraftWhenSaveFail\":\"true\",\"CustomParams\":{}}";
var result4 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push",
new object[] { "PRD_MORPT", sJson4 }); //下推生产入库单
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
HReturn2 = result4.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成生产汇报单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
if (HReturn2.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成生产入库单失败!" + HReturn2 ;
}
else
{
sErrMsg = "";
}
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成生产汇报单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成生产汇报单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 调拨单(领料、销售、直接)CLOUD
//调拨单(领料
[WebMethod]
public bool set_SaveMoveBill_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
//领料调拨(源单:生产任务单-投料)
if (sHSourceType == "3720")
{
if (SaveMoveMaterOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
//sErrMsg = sErrMsg;
return false;
}
}
//发货调拨(源单:发货通知单)
else if (sHSourceType == "1402")
{
if (SaveMoveSellOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
//sErrMsg = sErrMsg;
return false;
}
}
else if (sHSourceType == "1243") //调拨申请单
{
if (SaveMoveStockBill_MoveStockRequest_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
//直接调拨
else if (sHSourceType == "-1")
{
if (SaveMoveOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
//sErrMsg = sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
//直接调拨
private bool SaveMoveOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds;
try
{
//
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
oCn.Commit();
}
catch (Exception e)
{
sErrMsg = "生成直接调拨单失败111!" + e.Message;
oCn.RollBack();
return false;
}
try
{
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
//oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\","; //出货类型
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ " +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
"\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
"\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
sJson_StockStyle +
"\"FBillEntry\": [ ";
string sJson_Entry = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
string sJson_FAUXPROPID = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_SrcStockPlace = "\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
sJson_DestStockPlace = "\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
else
{
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"])=="")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
sJson_Entry = sJson_Entry + " {\"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
sJson_FAUXPROPID +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
sJson_BatchNo +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
sJson_SrcStockPlace +
//"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
sJson_DestStockPlace +
//"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
// "\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
"\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
"\"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
"\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
"\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
"\"FPriceUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitId"]) + "\" }," +
"\"FPriceQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
"\"FPriceBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
"\"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
"\"FCheckDelivery\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "," +
//"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
//"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
//"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
//"\"FBillEntry_Link\": [ { " +
//"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
//"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
//"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
//"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
//"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
//"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
//" } ]
" } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 直接调拨 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成直接调拨单失败!" + HReturn + sJson;
//oCn.RollBack();
return false;
}
else
{
//oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成直接调拨单失败!登录失败!";
//oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成直接调拨单失败!" + e.Message;
//oCn.RollBack();
return false;
}
}
//领料调拨
private bool SaveMoveMaterOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds;
try
{
//
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateMoveStockPPBomRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//返工生产调拨 回填条码档案源单信息
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
oCn.RunProc("exec h_p_Kf_MoveMaterOut_UpdateSourceByBarCodeBill " + oMain.HInterID.ToString());
}
oCn.Commit();
}
catch(Exception e)
{
sErrMsg = "生成领料调拨单失败111!" + e.Message;
oCn.RollBack();
return false;
}
try
{
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveMaterOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveMaterOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
//oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\","; //出货类型
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ " +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
"\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
"\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
"\"FOwnerTypeIdHead \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
sJson_StockStyle +
"\"FBillEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
sJson_FAUXPROPID +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
sJson_SrcStockPlace +
//"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
sJson_DestStockPlace +
//"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
"\"FBusinessDate\":\"" +oMain.HDate.ToShortDateString()+ "\"," +
"\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
"\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
"\"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
"\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
"\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
"\"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
sJson_BatchNo +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"F_QOUL_Text1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FBillEntry_Link\": [ { " +
"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 领料调拨 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成领料调拨单失败!" + HReturn + sJson;
//oCn.RollBack();
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "生成领料调拨单失败!登录失败!";
//oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成领料调拨单失败!" + e.Message;
//oCn.RollBack();
return false;
}
}
//发货调拨
private bool SaveMoveSellOut_CLD(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds;
try
{
//
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_SeOutStock " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
oCn.Commit();
}
catch(Exception e)
{
sErrMsg = "生成发货调拨单失败111!" + e.Message;
oCn.RollBack();
return false;
}
try
{
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveSellOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveSellOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
//oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\","; //出货类型
}
else if (oSystemParameterMain.WMS_CampanyName == "四维尔")
{
sJson_StockStyle = "\"F_ABCD_ASSISTANT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT"]) + "\" }," + //收货人
"\"F_ABCD_ASSISTANT1\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT1"]) + "\" }," + //送货地址
"\"F_ABCD_ASSISTANT2\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT2"]) + "\" }," + //物流公司
"\"F_ABCD_ASSISTANT3\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT3"]) + "\" }," + //联系电话
"\"F_ABCD_DATE2\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_DATE2"]) + "\","; //要求到货日期
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ " +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
"\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
"\"FStockOutOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\" }," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FIsIncludedTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "\"," +
"\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
"\"FOwnerTypeIdHead \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
sJson_StockStyle +
"\"FBillEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
string sJson_FAUXPROPID = "";
string sJson_SWECustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_SrcStockPlace = "\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
sJson_DestStockPlace = "\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
else
{
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_SWECustom = "\"FNoteEntry\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNOTE"]) + "\"," + //备注
"\"FRANNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRANNUMBER"]) + "\"," + //RanNumber
"\"F_ABCD_DECIMAL1\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DECIMAL1"]) + "," + //箱数
"\"F_ABCD_QTY1\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_QTY1"]) + ","; //应发数量
}
sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
sJson_FAUXPROPID +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
sJson_SrcStockPlace +
//"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
sJson_DestStockPlace +
//"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
"\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
"\"FOwnerOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\" }," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
"\"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
"\"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
"\"FKeeperOutId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\" }," +
"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
"\"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
sJson_BatchNo +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FJOINUNSETTLEQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FJOINUNSETTLEQTY"]) + "\"," +
"\"FJOINBASEUNSETTQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FJOINBASEUNSETTQTY"]) + "\"," +
sJson_SWECustom +
"\"FBillEntry_Link\": [ { " +
"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 发货调拨 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
////生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成发货调拨单失败!" + HReturn + sJson;
//oCn.RollBack();
return false;
}
else
{
if (oSystemParameterMain.WMS_CampanyName == "韩电")
{
//调拨(源单发货通知单)时反写发货通知单、销售订单
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "外销")
{
//外销反写发货通知单、销售订单数量
oCn.RunProc("EXEC h_p_ToCLD_BackDataDELIVERYNOTICE_Move '" + oMain.HBillNo + "'");
}
else if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "内销"
|| Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "OEM"
|| Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "电商")
{
//内销、OEM和电商 关闭发货通知单、销售订单
oCn.RunProc("EXEC h_p_ToCLD_BackDataDELIVERYNOTICE_Move_Close '" + oMain.HBillNo + "'");
}
}
return true;
}
}
else
{
sErrMsg = "生成金蝶云发货调拨单失败!登录失败!";
//oCn.RollBack();
return false;
}
}
}
catch (Exception e1)
{
sErrMsg = "生成金蝶云发货调拨单失败!" + e1.Message;
//oCn.RollBack();
return false;
}
}
//分布式调出单
private bool SaveMoveSellOut_CLD33(Model.ClsKf_MoveStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_SeOutStock " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo," +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveSellOutBill_CLD33 " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveSellOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ " +//\"FID\":" + oMain.HInterID.ToString() + "," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FOwnerTypeIdHead \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\" }," +
"\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\" }," +
"\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
"\"FOwnerTypeInIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerInIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerInIdHead"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FIsIncludedTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "\"," +
"\"FIsPriceExcludeTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "\"," +
"\"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
"\"FSTKTRSOUTENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//自定义字段处理
sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
"\"FSrcStockLocId\":{\"FSRCSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}}," +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
"\"FDestStockLocId\":{\"FDESTSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}}," +
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
//"\"FBusinessDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FOwnerTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
"\"FOwnerInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerInId"]) + "\" }," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
"\"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
"\"FKeeperTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
"\"FKeeperInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperInId"]) + "\" }," +
"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
"\"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FBillEntry_Link\": [ { " +
"\"FBillEntry_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWID"]) + "\"," +
"\"FBillEntry_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FFLOWLINEID"]) + "\"," +
"\"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FRuleId"]) + "\"," +
"\"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSTableName"]) + "\"," +
"\"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSBillId"]) + "\"," +
"\"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBillEntry_Link_FSId"]) + "\"," +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 发货调拨 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TRANSFEROUT", sJson });
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TRANSFEROUT", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TRANSFEROUT", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成发货调拨单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成发货调拨单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成发货调拨单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 直接调拨单 源单:调拨申请单
///
///
///
///
private bool SaveMoveStockBill_MoveStockRequest_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockRequestToMoveStock_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
oCn.Commit();
}
catch (Exception e)
{
sErrMsg = "生成领料调拨单失败111!" + e.Message;
oCn.RollBack();
return false;
}
try
{
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_MoveStockRequest_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_MoveStockRequest_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
//oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\","; //出货类型
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSaleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\"}," +
"\"FStockOutOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\"}," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FIsIncludedTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "\"," +
"\"FIsPriceExcludeTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "\"," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
//\"FStockerId\":{\"FNumber\":\"\"},
//\"FStockerGroupId\":{\"FNumber\":\"\"},
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
//\"FNote\":\"\",
"\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
"\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FScanBox\":\"\",
//\"FThirdSystem\":\"\",
//\"FThirdSrcBillNo\":\"\",
//\"FThirdSrcId\":\"\",
sJson_StockStyle +
"\"FBillEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
" \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
" \"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
" \"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
" \"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
sJson_BatchNo +
" \"FSrcStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\"}," +
sJson_SrcStockPlace +
//\"FPrice\":\"0\",
" \"FDestStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\"}," +
sJson_DestStockPlace +
" \"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
" \"FSrcStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\"}," +
//\"FDeliChkQualifyType\":\"\",
//\"FAmount\":\"0\",
" \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," +
" \"FDestStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\"}," +
" \"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
" \"FBusinessDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBusinessDate"]) + "\"," +
" \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," +
" \"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
" \"FOwnerOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\"}," +
" \"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
" \"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
//\"FNoteEntry\":\"\",
//" \"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
//\"FOutJoinQty\":\"0\",
" \"FSecUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitId"]) + "\"}," +
//\"FSecQty\":\"0\",
//\"FBASEOUTJOINQTY\":\"0\",
" \"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
" \"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
" \"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
" \"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
" \"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
//\"FActQty\":\"0\",
" \"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
" \"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
" \"FKeeperOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\"}," +
//\"FDiscountRate\":\"0\",
//\"FRepairQty\":\"0\",
//\"FRETURNNOTE\":\"\",
//" \"FDestLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestLot"]) + "\"}," +
" \"FDestMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\"}," +
//" \"FDestBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestBomId"]) + "\"}," +
//\"FServiceContext\":\"\",
" \"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
" \"FPriceQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "\"," +
" \"FPriceBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "\"," +
//\"FSOEntryId\":\"0\",
" \"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
//\"FQmEntryId\":\"0\",
//\"FConvertEntryId\":\"0\",
//\"FThirdSrcEntryId\":\"\",
//
" \"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
" \"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
" \"FSrcBillTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeId"]) + "\"," +
" \"FSaleUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSaleUnitId"]) + "\"}," +
" \"FSRCBIZUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
" \"FSrcAuxUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxUnitId"]) + "\"}," +
" \"FSrcBizBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBizBaseQty"]) + "\"," +
" \"FSrcAuxBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxBaseQty"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
" \"FBillEntry_Link\": [{" +
" \"FBillEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FBillEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FBillEntry_Link_FBASEQTYOLD\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEQTYOLD"]) + "\"," +
" \"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 直接调拨
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
////生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildMove_MoveStockRequest '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成直接调拨单失败!" + HReturn + sJson;
//oCn.RollBack();
return false;
}
else
{
//oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成直接调拨单失败!登录失败!";
//oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成直接调拨单失败!" + e.Message;
//oCn.RollBack();
return false;
}
}
#endregion
#region 调拨单
//生成调拨单
[WebMethod]
public bool set_SaveMoveStockBill(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
DAL.ClsKf_MoveStockBill dal = new DAL.ClsKf_MoveStockBill();
DAL.ClsKF_PonderationBillMain_Temp_View tmp = new DAL.ClsKF_PonderationBillMain_Temp_View();
dal.omodel = oMain;
//判断扫描记录,是否按照先进先出规则
if (!tmp.CheckICInventory_FIFO_Tmp(oMain.HInterID, oMain.HBillType, ref sErrMsg))
{
return false;
}
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MoveStockBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
//上传前必填项判断
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "3720")
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else if (sHSourceType == "1402")
{
if (dal.AddBill_PDA_SeOutStock(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else if (sHSourceType == "1243")
{
if (dal.AddBill_PDA_MoveStockRequest(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_MoveStockBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (oSystemParameter.omodel.WMS_CampanyName == "卓力" || oSystemParameter.omodel.WMS_CampanyName == "韩电" || oSystemParameter.omodel.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
if (set_SaveMoveBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (set_SaveMoveStockBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
sErrMsg = "保存调拨单失败!" + sErrMsg;
return false;
}
//核对虚仓调拨K3
[WebMethod]
public bool set_CheckXCMoveStockBill(Model.ClsKf_XCMoveStockBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_XCMoveStockBill_K3 dal = new DAL.ClsKf_XCMoveStockBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对虚仓调拨K3(单行)
[WebMethod]
public bool set_CheckXCMoveStockBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_XCMoveStockBill_K3 dal = new DAL.ClsKf_XCMoveStockBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对实仓调拨K3
[WebMethod]
public bool set_CheckMoveStockBill(Model.ClsKf_MoveStockBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_MoveStockBill_K3 dal = new DAL.ClsKf_MoveStockBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对实仓调拨K3(单行)
[WebMethod]
public bool set_CheckMoveStockBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_MoveStockBill_K3 dal = new DAL.ClsKf_MoveStockBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核调拨单K3
[WebMethod]
public bool set_AuditMoveStockBill(Model.ClsKf_MoveStockBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_MoveStockBill_K3 dal = new DAL.ClsKf_MoveStockBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//得到调拨出货类型
[WebMethod]
public DataSet get_StockMoveStyle()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HName from Gy_StockMoveStyle where HStopflag=0", "Gy_StockMoveStyle");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
//得到调拨方向
[WebMethod]
public DataSet get_MoveDirect()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HName from Gy_MoveDirect where HStopflag=0", "Gy_MoveDirect");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
#endregion
#region 直接调拨单CLOUD *New
[WebMethod]
public bool set_SaveMoveStockBill_CLD_New(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "3720")//生产用料清单
{
if (SaveMoveStockBill_PPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "1402") //发货通知单
{
if (SaveMoveStockBill_SeOutStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "-1")//无源单
{
if (SaveMoveOut_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 直接调拨单 源单:生产用料清单
///
///
///
///
private bool SaveMoveStockBill_PPBom_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateMoveStockPPBomRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_PPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_PPBom_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSaleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\"}," +
"\"FStockOutOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\"}," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
//\"FStockerId\":{\"FNumber\":\"\"},
//\"FStockerGroupId\":{\"FNumber\":\"\"},
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
//\"FNote\":\"\",
"\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
"\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FScanBox\":\"\",
//\"FThirdSystem\":\"\",
//\"FThirdSrcBillNo\":\"\",
//\"FThirdSrcId\":\"\",
"\"FBillEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
" \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
" \"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
" \"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
" \"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," +
sJson_BatchNo +
" \"FSrcStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\"}," +
sJson_SrcStockPlace +
//\"FPrice\":\"0\",
" \"FDestStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\"}," +
sJson_DestStockPlace +
" \"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
" \"FSrcStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\"}," +
//\"FDeliChkQualifyType\":\"\",
//\"FAmount\":\"0\",
//\"FProduceDate\":\"1900-01-01\",
" \"FDestStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\"}," +
" \"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
" \"FBusinessDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBusinessDate"]) + "\"," +
//\"FExpiryDate\":\"1900-01-01\",
" \"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
" \"FOwnerOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\"}," +
" \"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
" \"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
//\"FNoteEntry\":\"\",
" \"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
//\"FOutJoinQty\":\"0\",
" \"FSecUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitId"]) + "\"}," +
//\"FSecQty\":\"0\",
//\"FBASEOUTJOINQTY\":\"0\",
" \"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
" \"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
" \"FBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "," +
" \"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
" \"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
//\"FActQty\":\"0\",
" \"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
" \"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
" \"FKeeperOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\"}," +
//\"FDiscountRate\":\"0\",
//\"FRepairQty\":\"0\",
//\"FRETURNNOTE\":\"\",
" \"FDestLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestLot"]) + "\"}," +
" \"FDestMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\"}," +
" \"FDestBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestBomId"]) + "\"}," +
//\"FServiceContext\":\"\",
//\"FPriceUnitID\":{\"FNumber\":\"\"},
//\"FPriceQty\":\"0\",
//\"FPriceBaseQty\":\"0\",
//\"FSOEntryId\":\"0\",
" \"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
//\"FQmEntryId\":\"0\",
//\"FConvertEntryId\":\"0\",
//\"FThirdSrcEntryId\":\"\",
" \"FOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderNo"]) + "\"," +
" \"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
" \"FORDERTYPE\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\"}," +
" \"FSrcBillTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeId"]) + "\"," +
" \"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
" \"FBillEntry_Link\": [{" +
" \"FBillEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FBillEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 直接调拨
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成直接调拨单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成直接调拨单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成直接调拨单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 直接调拨单 源单:发货通知单
///
///
///
///
private bool SaveMoveStockBill_SeOutStock_CLD(Model.ClsKf_MoveStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//写入WMS调拨单
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockBillSub_Insert_SeOutStock " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle,HTransferDirect,HShipType" +
") " +
" values('1207','1207'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "','" + oMain.HTransferDirect + "','" + oMain.HShipType + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockBill_SeOutStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockBill_SeOutStock_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSaleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrgId"]) + "\"}," +
"\"FStockOutOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOutOrgId"]) + "\"}," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeOutIdHead"]) + "\"," +
"\"FOwnerOutIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerOutIdHead"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FIsPriceExcludeTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
//\"FNote\":\"\",
"\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
"\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FScanBox\":\"\",
//\"FThirdSystem\":\"\",
//\"FThirdSrcBillNo\":\"\",
//\"FThirdSrcId\":\"\",
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
"\"FEXCHANGETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\" }," +
"\"FSettleModeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleModeId"]) + "\"}," +
"\"FRecConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRecConditionId"]) + "\"}," +
"\"FSaleDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleDeptId"]) + "\" }," +
"\"FSaleGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleGroupId"]) + "\" }," +
"\"FSalerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSalerId"]) + "\" }," +
"\"FBillEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
string sJson_FProduceDate = ""; //生产日期
string sJson_FExpiryDate = ""; //有效期至
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //是否启用保质期控制
{
sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
}
else
{
sJson_FProduceDate = "";
sJson_FExpiryDate = "";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
" \"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
" \"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
" \"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
" \"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," +
sJson_BatchNo +
" \"FSrcStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\"}," +
sJson_SrcStockPlace +
//\"FPrice\":\"0\",
" \"FDestStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\"}," +
sJson_DestStockPlace +
" \"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
" \"FSrcStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\"}," +
//\"FDeliChkQualifyType\":\"\",
//\"FAmount\":\"0\",
sJson_FProduceDate +
" \"FDestStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\"}," +
" \"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
" \"FBusinessDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBusinessDate"]) + "\"," +
sJson_FExpiryDate +
" \"FOwnerTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeOutId"]) + "\"," +
" \"FOwnerOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerOutId"]) + "\"}," +
" \"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
" \"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
//\"FNoteEntry\":\"\",
//" \"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
//\"FOutJoinQty\":\"0\",
" \"FSecUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitId"]) + "\"}," +
//\"FSecQty\":\"0\",
//\"FBASEOUTJOINQTY\":\"0\",
" \"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
" \"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
" \"FBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "," +
" \"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
" \"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
//\"FActQty\":\"0\",
" \"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
" \"FKeeperTypeOutId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeOutId"]) + "\"," +
" \"FKeeperOutId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperOutId"]) + "\"}," +
" \"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
//\"FRepairQty\":\"0\",
//\"FRETURNNOTE\":\"\",
" \"FDestLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestLot"]) + "\"}," +
" \"FDestMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\"}," +
" \"FDestBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestBomId"]) + "\"}," +
//\"FServiceContext\":\"\",
" \"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
" \"FPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceQty"]) + "," +
" \"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
" \"FSOEntryId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOEntryId"]) + "," +
" \"FTransReserveLink\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "," +
//\"FQmEntryId\":\"0\",
//\"FConvertEntryId\":\"0\",
//\"FThirdSrcEntryId\":\"\",
" \"FOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderNo"]) + "\"," +
" \"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
" \"FConsignPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FConsignPrice"]) + "," +
" \"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
" \"FTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxRate"]) + "," +
" \"FTaxNetPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxNetPrice"]) + "," +
" \"FCUSTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCUSTMATID"]) + "\"}," +
" \"FSaleUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSaleUnitId"]) + "\"}," +
" \"FSRCBIZUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
" \"FSrcAuxUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxUnitId"]) + "\"}," +
" \"FNoticeNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNoticeNo"]) + "\"," +
" \"FCheckDelivery\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "," +
" \"FORDERTYPE\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\"}," +
" \"FJoinUnSettleQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FJoinUnSettleQty"]) + "\"," +
" \"FJoinBaseUnSettQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FJoinBaseUnSettQty"]) + "\"," +
" \"FSrcBizBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBizBaseQty"]) + "\"," +
" \"FSrcAuxBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcAuxBaseQty"]) + "\"," +
" \"FSrcBillTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillTypeId"]) + "\"," +
" \"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
" \"FBillEntry_Link\": [{" +
" \"FBillEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FBillEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FBillEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FBillEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FBillEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FBillEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 直接调拨
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TransferDirect", sJson });
if (oSystemParameterMain.Kf_MoveStockBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TransferDirect", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TransferDirect", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成直接调拨单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成直接调拨单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成直接调拨单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 分步式调出单 *
//生成分步式调出单
[WebMethod]
public bool set_SaveMoveStockStepOutBill_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
string sHBillNo = "";
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//if (oSystemParameter.omodel.Kf_MoveStockStepOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
//{
if (set_SaveMoveStockStepOutBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
//}
sErrMsg = "保存分步式调出单失败!" + sErrMsg;
return false;
}
#endregion
#region 分步式调出单CLOUD *
//生成分步式调出单
[WebMethod]
public bool set_SaveMoveStockStepOutBill_CLD_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1402") //发货通知单
{
if (SaveMoveStockStepOutBill_SeOutStock_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "-1") //无源单
{
if (SaveMoveStockStepOutBill_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 分步式调出单 源单:发货通知单
///
///
///
///
public bool SaveMoveStockStepOutBill_SeOutStock_CLD_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockStepOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HSTOCKINORGID,HSTOCKOUTORGID,HStockStyle" +
") " +
" values('1250','1250'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
", " + oMain.HStockInOrgID.ToString() + "," + oMain.HStockOutOrgID.ToString() + ",'" + oMain.HStockStyle +"'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Kf_UpDateRelation_SeOutStockToMoveStockStepOut_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepOutBill_SeOutStock_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepOutBill_SeOutStock_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Custom = "";
if (oSystemParameterMain.WMS_CampanyName == "四维尔")//系统参数 客户定制化名称 空白为通用
{
sJson_Custom = "\"F_ABCD_ASSISTANT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT"]) + "\" }," + //物流公司
"\"F_ABCD_ASSISTANT1\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT1"]) + "\" }," + //送货地址
"\"F_ABCD_ASSISTANT2\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT2"]) + "\" }," + //收货人
"\"F_ABCD_ASSISTANT3\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT3"]) + "\" }," + //联系电话
"\"F_ABCD_DATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_DATE"]) + "\","; //要求到货日期
}
else
{
sJson_Custom = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
//"\"FOwnerTypeIdHead \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
//"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FOwnerTypeInIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeInID"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FOwnerInIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERINID"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
//"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
"\"FVESTONWAY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVESTONWAY"]) + "\"," +
//\"FSTOCKERID\":{\"FNumber\":\"\"},
//\"FSTOCKERGROUPID\":{\"FNumber\":\"\"},
//\"FNOTE\":\"\",
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
//\"FScanBox\":\"\",
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FSUPPLIERID\":{\"FNUMBER\":\"\"},
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEOUTID"]) + "\"," +
"\"FOwnerOutIDHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNEROUTID"]) + "\" }," +
"\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
"\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
sJson_Custom +
"\"FSTKTRSOUTENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
string sJson_EntryCustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//自定义字段处理
if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"F_ABCD_INTEGER\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_INTEGER"]) + "," + //SNP
"\"F_ABCD_DECIMAL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DECIMAL"]) + "," + //箱数
"\"F_ABCD_QTY2\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_QTY2"]) + ","; //应发数量
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
sJson_BatchNo +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
sJson_SrcStockPlace +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
sJson_DestStockPlace +
//\"FBOMID\":{\"FNumber\":\"\"},
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
//"\"FDELICHKQUALIFYTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDELICHKQUALIFYTYPE"]) + "\"," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
//\"FProduceDate\":\"1900-01-01\",
//\"FBusinessDate\":\"1900-01-01\",
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FOwnerTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEINID"]) + "\"," +
"\"FOwnerInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerInId"]) + "\" }," +
//\"FEntryNote\":\"\",
"\"FKeeperTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEINID"]) + "\"," +
"\"FKeeperInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperInId"]) + "\" }," +
//"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
//"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
//\"FExtAuxUnitId\":{\"FNumber\":\"\"},
//\"FExtAuxUnitQty\":\"0\",
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
//\"FQmEntryId\":\"0\",
//\"FConvertEntryId\":\"0\",
//"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
//"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
//"\"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
//"\"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
//"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
//"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
"\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
sJson_EntryCustom +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
"\"FSTKTSTKRANSFEROUTENTRY_Link\": [ { " +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 分步式调出单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TRANSFEROUT", sJson }); //调用保存方式
if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TRANSFEROUT", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TRANSFEROUT", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成分步式调出单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成分步式调出单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成分步式调出单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 分步式调出单 源单:无源单
///
///
///
///
public bool SaveMoveStockStepOutBill_CLD_New(Model.ClsKf_MoveStockStepOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockStepOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HSTOCKINORGID,HSTOCKOUTORGID,HStockStyle" +
") " +
" values('1250','1250'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
", " + oMain.HStockInOrgID.ToString() + "," + oMain.HStockOutOrgID.ToString() + ",'" + oMain.HStockStyle + "'" +
") ");
//更新关联数量
if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
//"\"FOwnerTypeIdHead \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
//"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FOwnerTypeInIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeInID"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FOwnerInIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERINID"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\" }," +
"\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
//"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
"\"FVESTONWAY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVESTONWAY"]) + "\"," +
//\"FSTOCKERID\":{\"FNumber\":\"\"},
//\"FSTOCKERGROUPID\":{\"FNumber\":\"\"},
//\"FNOTE\":\"\",
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
//\"FScanBox\":\"\",
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FSUPPLIERID\":{\"FNUMBER\":\"\"},
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEOUTID"]) + "\"," +
"\"FOwnerOutIDHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNEROUTID"]) + "\" }," +
"\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
"\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
"\"FSTKTRSOUTENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
sJson_BatchNo +
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
sJson_SrcStockPlace +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
sJson_DestStockPlace +
//\"FBOMID\":{\"FNumber\":\"\"},
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
//"\"FDELICHKQUALIFYTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDELICHKQUALIFYTYPE"]) + "\"," +
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
//\"FProduceDate\":\"1900-01-01\",
//\"FBusinessDate\":\"1900-01-01\",
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\" }," +
"\"FOwnerTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEINID"]) + "\"," +
"\"FOwnerInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerInId"]) + "\" }," +
//\"FEntryNote\":\"\",
"\"FKeeperTypeInId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEINID"]) + "\"," +
"\"FKeeperInId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperInId"]) + "\" }," +
//"\"FDestMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestMaterialId"]) + "\" }," +
//"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
//\"FExtAuxUnitId\":{\"FNumber\":\"\"},
//\"FExtAuxUnitQty\":\"0\",
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\" }," +
//\"FQmEntryId\":\"0\",
//\"FConvertEntryId\":\"0\",
//"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
//"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
//"\"FISFREE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "\"," +
//"\"FTransReserveLink\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTransReserveLink"]) + "\"," +
//"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//"\"FORDERTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERTYPE"]) + "\" }," +
//"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
"\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
"\"FSTKTSTKRANSFEROUTENTRY_Link\": [ { " +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FSTKTSTKRANSFEROUTENTRY_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 分步式调出单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TRANSFEROUT", sJson }); //调用保存方式
if (oSystemParameterMain.Kf_MoveStockStepOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TRANSFEROUT", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TRANSFEROUT", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成分步式调出单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成分步式调出单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成分步式调出单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 分步式调入单 *
//生成分步式调入单
[WebMethod]
public bool set_SaveMoveStockStepInBill_New(Model.ClsKf_MoveStockStepInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
string sHBillNo = "";
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//if (oSystemParameter.omodel.Kf_MoveStockStepInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
//{
if (set_SaveMoveStockStepInBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
//}
sErrMsg = "保存分步式调入单失败!" + sErrMsg;
return false;
}
#endregion
#region 分步式调入单CLOUD *
//生成分步式调入单
[WebMethod]
public bool set_SaveMoveStockStepInBill_CLD_New(Model.ClsKf_MoveStockStepInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1250") //分步式调出单
{
if (SaveMoveStockStepInBill_MoveStockStepOut_CLD_New(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
//sErrMsg = sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 分步式调入单 源单:分步式调出单
///
///
///
///
public bool SaveMoveStockStepInBill_MoveStockStepOut_CLD_New(Model.ClsKf_MoveStockStepInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_MoveStockStepInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HSTOCKINORGID,HSTOCKOUTORGID,HStockStyle" +
") " +
" values('1251','1251'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
", " + oMain.HStockInOrgID.ToString() + "," + oMain.HStockOutOrgID.ToString() + ",'" + oMain.HStockStyle + "'" +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Kf_UpDateRelation_MoveStockStepOutToMoveStockStepIn_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMoveStockStepInBill_MoveStockStepOut_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMoveStockStepInBill_MoveStockStepOut_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Custom = "";
if (oSystemParameterMain.WMS_CampanyName == "四维尔")//系统参数 客户定制化名称 空白为通用
{
sJson_Custom = "\"F_ABCD_DATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_DATE"]) + "\","; //调出日期
}
else
{
sJson_Custom = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FTransferBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\"," +
"\"FTransferDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferDirect"]) + "\"," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKINORGID"]) + "\" }," +
"\"FStockOutOrgID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKOUTORGID"]) + "\" }," +
//\"FTransferMode\":\"\",
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FOwnerTypeOutIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEOUTID"]) + "\"," +
"\"FOwnerOutIDHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNEROUTID"]) + "\" }," +
//\"FSTOCKERID\":{\"FNumber\":\"\"},
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FVESTONWAY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVESTONWAY"]) + "\"," +
//\"FSTOCKERGROUPID\":{\"FNumber\":\"\"},
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEINID"]) + "\"," +
//"\"FBaseCurrId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\" }," +
//\"FNOTE\":\"\",
//\"FScanBox\":\"\",
//\"FCustID\":{\"FNUMBER\":\"\"},
//\"FSUPPLIERID\":{\"FNUMBER\":\"\"},
//\"FThirdSrcBillNo\":\"\",
//\"FThirdSrcId\":\"\",
//\"FThirdSystem\":\"\",
"\"FOwnerTypeInIDHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEINID"]) + "\"," +
"\"FOwnerInIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERINID"]) + "\" }," +
"\"FISGENFORIOS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISGENFORIOS"]) + "\"," +
"\"FISIOSFORFIN\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISIOSFORFIN"]) + "\"," +
sJson_Custom +
"\"FSTKTRSINENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_SrcStockPlace = "";
string sJson_DestStockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//调入仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) == "")
{
sJson_SrcStockPlace = "";
}
else
{
sJson_SrcStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockLocId"]) + "\"}},";
}
//调出仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) == "")
{
sJson_DestStockPlace = "";
}
else
{
sJson_DestStockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockLocId"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FPlanTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPLANTRANSFERQTY"]) + "\"," +
"\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "\"," +
//\"FPathLossQty\":\"0\",
//\"FPathLossRespParty\":\"\",
//\"FDestLot\":{\"FNumber\":\"\"},
"\"FSrcStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockId"]) + "\" }," +
"\"FDestStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockId"]) + "\" }," +
//\"FProduceDate\":\"1900-01-01\",
sJson_SrcStockPlace +
"\"FSrcStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcStockStatusId"]) + "\" }," +
//\"FBOMID\":{\"FNumber\":\"\"},
"\"FDestStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDestStockStatusId"]) + "\" }," +
sJson_DestStockPlace +
"\"FKeeperTypeOutID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEOUTID"]) + "\"," +
"\"FKeeperOutID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPEROUTID"]) + "\" }," +
//\"FMTONO\":\"\",
//\"FProjectNo\":\"\",
"\"FOwnerTypeOutID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEOUTID"]) + "\"," +
"\"FOwnerOutID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNEROUTID"]) + "\" }," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEINID"]) + "\"," +
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERINID"]) + "\" }," +
//\"FEntryNote\":\"\",
//\"FBusinessDate\":\"1900-01-01\",
"\"FSrcMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
//"\"FSecUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecUnitID"]) + "\" }," +
//\"FSrcProduceDate\":\"1900-01-01\",
sJson_BatchNo +
//\"FSRCBOMID\":{\"FNumber\":\"\"},
//"\"FBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQty"]) + "\"," +
//\"FSRCMTONO\":\"\",
//\"FSrcExpiryDate\":\"1900-01-01\",
//\"FExtAuxUnitId\":{\"FNumber\":\"\"},
//\"FExtAuxUnitQty\":\"0\",
//\"FWayAuxUnitQty\":\"0\",
//\"FSrcProjectNo\":\"\",
//\"FBasePlanTransQty\":\"0\",
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEINID"]) + "\"," +
"\"FKeeperId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERINID"]) + "\" }," +
//\"FBasePathLossQty\":\"0\",
//"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
//\"FThirdSrcEntryId\":\"\",
//"\"FSRCBILLTYPEID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\" }," +
"\"FSRCBILLTYPE\": \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
"\"FSRCBILLNAME\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNAME"]) + "\" }," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FSTOCKOUTFLAG\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKOUTFLAG"]) + "\"," +
"\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FIsPathLoss\":\"false\",
//\"FSerialNote\":\"\"}]
"\"FSTKTSTKRANSFERINENTRY_Link\": [ { " +
"\"FSTKTSTKRANSFERINENTRY_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FSTKTSTKRANSFERINENTRY_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FSTKTSTKRANSFERINENTRY_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FSTKTSTKRANSFERINENTRY_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
"\"FSTKTSTKRANSFERINENTRY_Link_FBASETRANSFERQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASETRANSFERQTY"]) + "," +
"\"FSTKTSTKRANSFERINENTRY_Link_FBASETRANSFERQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASETRANSFERQTYOLD"]) + "" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 分步式调入单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_TRANSFERIN", sJson }); //调用保存方式
if (oSystemParameterMain.Kf_MoveStockStepInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_TRANSFERIN", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_TRANSFERIN", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成分步式调入单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成分步式调入单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成分步式调入单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 盘点单
//生成盘点单K3
[WebMethod]
public bool set_SaveCheckStockBill(Model.ClsKf_CheckStockBillMain_K3 oMain, string sHMaker, ref string sErrMsg)
{
DAL.ClsKf_CheckStockInBill_K3 dalIn = new DAL.ClsKf_CheckStockInBill_K3();
DAL.ClsKf_CheckStockOutBill_K3 dalOut = new DAL.ClsKf_CheckStockOutBill_K3();
dalIn.omodel = oMain;
dalOut.omodel = oMain;
bool iOutBool = false;
bool iInBool = false;
if (oMain.HExplanation.ToUpper() == "ALL")
{
if (dalIn.AddBill_PDA(sHMaker, ref sErrMsg))
{
iInBool = true;
}
else
{
iInBool = false;
}
if (dalOut.AddBill_PDA(sHMaker, ref sErrMsg))
{
iOutBool = true;
}
else
{
iOutBool = false;
}
if (iInBool == true && iOutBool == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else if (oMain.HExplanation.ToUpper() == "IN")
{
if (dalIn.AddBill_PDA(sHMaker, ref sErrMsg))
{
iInBool = true;
//"保存成功!";
return true;
}
else
{
iInBool = false;
//"保存失败!";
return false;
}
}
else if (oMain.HExplanation.ToUpper() == "OUT")
{
if (dalOut.AddBill_PDA(sHMaker, ref sErrMsg))
{
iOutBool = true;
//"保存成功!";
return true;
}
else
{
iOutBool = false;
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "单据新增类型错误!";
//"保存失败!";
return false;
}
}
//生成盘点单 新增到条码出入库表(K3无需生成盘点单)
[WebMethod]
public bool set_SaveCheckStockBill_WMS(Int64 sHInterID, Int64 sHWHID, Int64 sHSPID, string sHMaker, ref string sErrMsg)
{
DAL.ClsKf_CheckStockInBill_K3 dal = new DAL.ClsKf_CheckStockInBill_K3();
if (dal.AddBill_WMS_PDA(sHInterID, sHWHID, sHSPID, sHMaker, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//生成盘点单时 判断实际条码盘点数量和条码库存数量是否一致
[WebMethod]
public bool Get_IsCheckStock_ICInventory(long sHInterID)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.IsCheckStock_ICInventory(sHInterID))
{
return true;
}
else
{
return false;//实际条码盘点数量和条码库存数量不一致
}
}
#endregion
#region 销售退库 销售出库(红字) *旧
//生成销售退库单
[WebMethod]
public bool set_SaveSellOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_SellOutBackBill dal = new DAL.ClsKf_SellOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "客户没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveSellOutBackBill_CLD(oMain, "2222", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存销售退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 销售退库 销售出库(红字) *
//生成销售退库单
[WebMethod]
public bool set_SaveSellOutBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
string sHBillNo = "";
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (oSystemParameter.omodel.WMS_CampanyName == "飞龙") //系统参数 客户定制化名称 空白为通用
{
if (SaveSellOutBackBill_MulSource_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sHBillNo, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
else
{
if (SaveSellOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
}
if (oSystemParameter.omodel.Kf_SellOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveSellOutBackBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存销售退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 销售退库K3 销售出库(红字) *
///
/// 生成销售退库单K3
///
///
///
///
public bool SaveSellOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_SellOutBackBill dal = new DAL.ClsKf_SellOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "客户没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1247','1247'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1403") //退货通知单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockBackToSellOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOutStockBack " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1205") //销售出库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_SellOutToSellOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1401") //销售订单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOrder " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
//同步生成外购退料单
if (oSystemParameterMain.Kf_SellOutBackBill_AutoSavePOStockInBackBill == "Y") //系统参数 同步生成外购退料单
{
//判断所登录用户账号是否绑定了对应供应商
DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl");
if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "所登录用户账号不正确,请重新登录!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0)
{
sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购退料单,生成单据失败,请先设置对应供应商!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
long HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1239", ref sErrMsg);
string HNewBillNo = DBUtility.ClsPub.CreateBillCode_Prod("1239", ref sErrMsg, true);
string HNewSourceType = "-1"; //无源单
//新增ERP子表、主表
oCn.RunProc("exec h_p_Kf_SellOutBackBill_AutoSavePOStockInBackBill " + oMain.HInterID.ToString() + "," + HNewInterID + ",'" + HNewBillNo + "'");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HNewSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + HNewInterID);
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HNewInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HNewInterID);
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + HNewInterID, "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成销售退库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 销售退库K3 销售出库(红字) 多源单生成多张单据 *
///
/// 生成销售退库单K3 多源单生成多张单据
///
///
///
///
public bool SaveSellOutBackBill_MulSource_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sHBillNo, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_SellOutBackBill dal = new DAL.ClsKf_SellOutBackBill();
dal.omodel = oMain;
sHBillNo = "";
Int64 sHSupID = 0;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
//if (oMain.HSupID == 0)
//{
// sErrMsg = "客户没有选择!";
// return false;
//}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成外购退料单,判断用户是否绑定供应商
if (oSystemParameterMain.Kf_SellOutBackBill_AutoSavePOStockInBackBill == "Y") //系统参数 同步生成外购退料单
{
//判断所登录用户账号是否绑定了对应供应商
DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl");
if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "所登录用户账号不正确,请重新登录!";
return false;
}
else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0)
{
sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购退料单,生成单据失败,请先设置对应供应商!";
return false;
}
else
{
sHSupID = DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]);
}
}
try
{
Int64 HNewInterID = 0;
string HNewBillNo = "";
Int64 HCusID = 0;
string HSourceType = "";
string HMainSourceType = "";
string HSubBillType = "";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//根据单据ID获取条码出入库临时表中相同源单类型、不同客户有哪几个
DataSet DsCus = oCn.RunProcReturn("exec h_p_Kf_GetCusIDAndSourceTypeByTemp_SellOutBack " + oMain.HInterID.ToString() + "," + oMain.HSupID.ToString(), "h_p_Kf_GetCusIDAndSourceTypeByTemp_SellOutBack");
if (DsCus == null || DsCus.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取客户个数信息失败!";
return false;
}
else
{
for (int i = 0; i < DsCus.Tables[0].Rows.Count; i++)
{
int j = i + 1;
HCusID = Pub_Class.ClsPub.isLong(DsCus.Tables[0].Rows[i]["HCusID"]);
HSourceType = Pub_Class.ClsPub.isStrNull(DsCus.Tables[0].Rows[i]["HSourceBillType"]);
HMainSourceType = Pub_Class.ClsPub.isStrNull(DsCus.Tables[0].Rows[i]["HMainSourceBillType"]);
HSubBillType = Pub_Class.ClsPub.isStrNull(DsCus.Tables[0].Rows[i]["HSubBillType"]);
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
//只生成蓝字其他入库单
if (HSubBillType == "1203")
{
long HOtherInInterID = DBUtility.ClsPub.CreateBillID_Prod("1203", ref sErrMsg);
string HOtherInBillNo = "QT-" + oMain.HBillNo + "-" + j;
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert_FeiLong " + oMain.HInterID.ToString() + "," + HOtherInInterID + ",'" + HOtherInBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1203','1203'," + HOtherInInterID + ",'" + HOtherInBillNo + "',convert(varchar(10),getdate(),120),'" + HMainSourceType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + sHSupID + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "',0" +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Insert_New " + HOtherInInterID + ",'" + HOtherInBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateBillRelateData_New " + HOtherInInterID);
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + HOtherInInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + HOtherInInterID);
//审核单据
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HOtherInInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + HOtherInInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HOtherInInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + HOtherInInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + HOtherInInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + HOtherInInterID);
}
}
}
}
//只生成红字外购入库单
else if (HSubBillType == "1239")
{
long HPInBackInterID = DBUtility.ClsPub.CreateBillID_Prod("1239", ref sErrMsg);
string HPInBackBillNo = "TL-" + oMain.HBillNo + "-" + j;
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBackBillSub_Insert_FeiLong " + oMain.HInterID.ToString() + "," + HPInBackInterID + ",'" + HPInBackBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1239','1239'," + HPInBackInterID + ",'" + HPInBackBillNo + "',convert(varchar(10),getdate(),120),'" + HMainSourceType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + sHSupID + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + HPInBackInterID + ",'" + HPInBackBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + HPInBackInterID);
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HPInBackInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HPInBackInterID);
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPInBackInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HPInBackInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPInBackInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HPInBackInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HPInBackInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HPInBackInterID);
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
DataSet Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + HPInBackInterID, "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
}
//生成销售出库红字且同步生成外购入库红字
else
{
//重新获取销售退库单单据内码、单据号
HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1247", ref sErrMsg);
HNewBillNo = oMain.HBillNo + "-" + j;
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBackBillSub_Insert_MulCus " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + HSourceType + "'," + HNewInterID + ",'" + HNewBillNo + "'," + HCusID);
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1247','1247'," + HNewInterID + ",'" + HNewBillNo + "',convert(varchar(10),getdate(),120),'" + HMainSourceType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + HCusID + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HSourceType + "'");
//更新关联数量
if (HSourceType == "1403") //退货通知单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockBackToSellOutBack_Add " + HNewInterID);
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOutStockBack " + HNewInterID);
}
else if (HSourceType == "1205") //销售出库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_SellOutToSellOutBack_Add " + HNewInterID);
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_Blue " + HNewInterID);
}
else if (HSourceType == "1401") //销售订单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOutBack_Add " + HNewInterID);
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData_SeOrder " + HNewInterID);
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateBillRelateData " + HNewInterID);
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + HNewInterID);
//审核单据
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + HNewInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_Check " + HNewInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateStock " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBackBill_UpdateOrderStock " + HNewInterID);
}
}
}
//同步生成外购退料单
if (oSystemParameterMain.Kf_SellOutBackBill_AutoSavePOStockInBackBill == "Y") //系统参数 同步生成外购退料单
{
long HPOStockInBackInterID = DBUtility.ClsPub.CreateBillID_Prod("1239", ref sErrMsg);
string HPOStockInBackBillNo = "TL-" + oMain.HBillNo + "-" + j;
string HPOStockInBackSourceType = "-1"; //无源单
//新增ERP子表、主表
oCn.RunProc("exec h_p_Kf_SellOutBackBill_AutoSavePOStockInBackBill " + HNewInterID + "," + HPOStockInBackInterID + ",'" + HPOStockInBackBillNo + "'");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + HPOStockInBackInterID + ",'" + HPOStockInBackBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HPOStockInBackSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + HPOStockInBackInterID);
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS4 = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS4 == null || DS4.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS4.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HPOStockInBackInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HPOStockInBackInterID);
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPOStockInBackInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HPOStockInBackInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPOStockInBackInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + HPOStockInBackInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + HPOStockInBackInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + HPOStockInBackInterID);
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
DataSet Ds2 = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + HPOStockInBackInterID, "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds2.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
}
catch (Exception e)
{
sErrMsg = "生成销售退库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 销售退货CLOUD 销售出库(红字) *
[WebMethod]
public bool set_SaveSellOutBackBill_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1403") //退货通知单
{
if (SaveSellOutBackBill_SeOutStockBack_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo + sErrMsg;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
private bool SaveSellOutBackBill_SeOutStockBack_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//
oCn.BeginTran();
//写入WMS销售退货单
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1247','1247'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockBackToSellOutBack_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBackBill_SeOutStockBack_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBackBill_SeOutStockBack_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{" +
//\"FID\":" + oMain.HInterID.ToString() + "," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FSALEORGID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEORGID"]) + "\" }," +
"\"FRETCUSTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRETCUSTID"]) + "\" }," +
"\"FSALEDEPTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEDEPTID"]) + "\" }," +
"\"FRETURNREASON\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRETURNREASON"]) + "\" }," +
"\"FHEADLOCID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FHEADLOCID"]) + "\" }," +
//"FCorrespondOrgId": {"FNumber": ""},
"\"FTransferBizType\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBizType"]) + "\" }," +
"\"FSALEGROUPID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEGROUPID"]) + "\" }," +
"\"FSALESMANID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALESMANID"]) + "\" }," +
"\"FSTOCKORGID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\" }," +
"\"FSTOCKDEPTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKDEPTID"]) + "\" }," +
"\"FSTOCKERGROUPID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\" }," +
"\"FSTOCKERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\" }," +
"\"FHeadNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
"\"FRECEIVECUSTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVECUSTID"]) + "\" }," +
"\"FRECEIVEADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVEADDRESS"]) + "\"," +
"\"FSETTLECUSTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECUSTID"]) + "\" }," +
"\"FReceiveCusContact\":{ \"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECCONTACTID"]) + "\" }," +
"\"FPAYCUSTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPAYCUSTID"]) + "\" }," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEID"]) + "\"," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERID"]) + "\" }," +
//"FScanBox": "",
//"FCDateOffsetUnit": "",
//"FCDateOffsetValue": 0,
"\"FIsTotalServiceOrCost\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "," +
//"FSHOPNUMBER": "",
//"FGYDATE": "1900-01-01",
"\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
"\"SubHeadEntity\":{ \"FSETTLECURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\" }," +
//"FThirdBillNo": "",
//"FThirdBillId": "",
//"FThirdSrcType": "",
"\"FSETTLEORGID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEORGID"]) + "\" }," +
"\"FSETTLETYPEID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLETYPEID"]) + "\" }," +
//"FChageCondition": {"FNumber": ""},
//"FPriceListId": {"FNumber": ""},
//"FDiscountListId": {"FNumber": ""},
"\"FLOCALCURRID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOCALCURRID"]) + "\" }," +
"\"FEXCHANGETYPEID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\" }," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
//"FBuyerNick": "",
//"FReceiverAddress": "",
//"FReceiverName": "",
//"FReceiverMobile": "",
//"FReceiverCountry": "",
//"FReceiverState": "",
//"FReceiverCity": "",
//"FReceiverDistrict": "",
//"FReceiverPhone": ""
"\"FRECEIPTCONDITIONID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIPTCONDITIONID"]) + "\" }," +
"\"FISINCLUDEDTAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISINCLUDEDTAX"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FDELIVERYDATE = "";
string sJson_FPRODUCEDATE = "";
string sJson_FEXPIRYDATE = "";
string sJson_FVAT = "";
string sJson_FSELLERWITHHOLDING = "";
string sJson_FBUYERWITHHOLDING = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用 仓位
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDELIVERYDATE"]) == "")//退货日期
{
sJson_FDELIVERYDATE = "";
}
else
{
sJson_FDELIVERYDATE = "\"FDELIVERYDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDELIVERYDATE"]) + "\",";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) == "")//生产日期
{
sJson_FPRODUCEDATE = "";
}
else
{
sJson_FPRODUCEDATE = "\"FPRODUCEDATE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "\" },";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXPIRYDATE"]) == "")//有效期至
{
sJson_FEXPIRYDATE = "";
}
else
{
sJson_FEXPIRYDATE = "\"FEXPIRYDATE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXPIRYDATE"]) + "\" },";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) == "")//增值税
{
sJson_FVAT = "";
}
else
{
sJson_FVAT = ",\"FVAT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) == "")//卖方代扣代缴
{
sJson_FSELLERWITHHOLDING = "";
}
else
{
sJson_FSELLERWITHHOLDING = ",\"FSELLERWITHHOLDING\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) + "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) == "")//买方代扣代缴
{
sJson_FBUYERWITHHOLDING = "";
}
else
{
sJson_FBUYERWITHHOLDING = ",\"FBUYERWITHHOLDING\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) + "";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
"\"FMAPID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMAPID"]) + "\" }," +
"\"FMATERIALID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\" }," +
//"\"FAUXPROPID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "," +
"\"FUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\" }," +
//"FInventoryQty": 0,
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPARENTMATID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATID"]) + "\" }," +
"\"FPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICE"]) + "," +
"\"FTAXPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXPRICE"]) + "," +
"\"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
"\"FTAXCOMBINATION\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXCOMBINATION"]) + "\" }," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + "," +
"\"FBOMID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\" }," +
"\"FRETURNTYPE\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRETURNTYPE"]) + "\" }," +
"\"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
"\"FOWNERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\" }," +
sJson_FPRODUCEDATE +
sJson_FEXPIRYDATE +
"\"FSTOCKID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\" }," +
sJson_StockPlace +
"\"FStockStatusID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusID"]) + "\" }," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
sJson_FDELIVERYDATE +
"\"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
"\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNOTE"]) + "\"," +
"\"FDISCOUNTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDISCOUNTRATE"]) + "," +
//"FPriceDiscount": 0,
//"FAuxUnitQty": 0,
"\"FEXTAUXUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXTAUXUNITID"]) + "\" }," +
//"FExtAuxUnitQty": 0,
//"FSalCostPrice": 0,
//"FISCONSUMESUM": "",
"\"FBaseunitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseunitQty"]) + "," + //没按次序添加
"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," + //没按次序添加
sJson_BatchNo +
"\"FSALUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\" }," +
"\"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +
"\"FSALBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASEQTY"]) + "," +
"\"FPRICEBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEBASEQTY"]) + "," +
//"FProjectNo": "",
//"FQualifyType": "",
//"FEOwnerSupplierId": {"FNUMBER": ""},
"\"FIsOverLegalOrg\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsOverLegalOrg"]) + "," +
//"FESettleCustomerId": {"FNUMBER": ""},
"\"FSOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOENTRYID"]) + "," +
//"FThirdEntryId": "",
//"FPriceListEntry": {"FNUMBER": ""},
"\"FARNOTJOINQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FARNOTJOINQTY"]) + "," +
"\"FIsReturnCheck\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReturnCheck"]) + "," +
//"FETHIRDBILLID": "",
//"FETHIRDBILLNO": "",
//"F_fp": "",
"\"FSOBILLTYPEID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOBILLTYPEID"]) + "\" }," +
"\"FKEEPERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\" }," +
"\"FBASEUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\" }," +
"\"FAUXUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXUNITID"]) + "\" }," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FPRICEUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEUNITID"]) + "\" }," +
"\"FPRICECOEFFICIENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICECOEFFICIENT"]) + "," +
"\"FSYSPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSYSPRICE"]) + "," +
"\"FLIMITDOWNPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLIMITDOWNPRICE"]) + "," +
"\"FSNUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\" }," +
"\"FSRCBIZUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\" }," +
//"\"FROWID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWID"]) + "\" }," +
//"\"FPARENTROWID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTROWID"]) + "\" }," +
"\"FMustQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "," +
"\"FOUTCONTROL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOUTCONTROL"]) + "," +
"\"FSALBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASENUM"]) + "," +
"\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
"\"FTaxDetailSubEntity\": [ { " +
//"FDetailID": 0,
"\"FTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATE"]) + "," +
"\"FTAXRATEID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATEID"]) + "\" }," +
"\"FTAXAMOUNT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXAMOUNT"]) + "," +
"\"FCOSTPERCENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTPERCENT"]) + "," +
"\"FCOSTAMOUNT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTAMOUNT"]) + "" +
sJson_FVAT +
sJson_FSELLERWITHHOLDING +
sJson_FBUYERWITHHOLDING +
" } ]," +
//"\"FSerialSubEntity\": [ { " +
// "FDetailID": 0,
// "FSerialNo": "",
// "FSerialNote": ""
//" } ]," +
"\"FEntity_Link\": [ { " +
"\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 销售退货单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SAL_RETURNSTOCK", sJson });
if (oSystemParameterMain.Kf_SellOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SAL_RETURNSTOCK", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SAL_RETURNSTOCK", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成销售退货单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
sErrMsg = "999999" + HReturn + sJson;
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成销售退货单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成销售退货单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 销售出库 *旧
//生成销售出库单
[WebMethod]
public bool set_SaveSellOutBill(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg)==false)
{
sErrMsg ="获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "客户没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "发货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
return false;
}
else
{
//源单 发货通知单
if (sHSourceType == "1402"||sHSourceType == "-1")
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
// //源单 销售订单
// if (dal.AddBill_PDA_SEOrder(ref sErrMsg))
// {
// //"保存成功!";
// return true;
// }
// else
// {
// //"保存失败!";
return false;
// }
}
}
}
if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveSellOutBill_CLD(oMain, "2222", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存销售出库单失败!" + sErrMsg;
return false;
}
//稽核销售出库单K3
[WebMethod]
public bool set_AuditSellOutBill(Model.ClsKf_SellOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_SellOutBill_K3 dal = new DAL.ClsKf_SellOutBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 销售出库 *
//生成销售出库单
[WebMethod]
public bool set_SaveSellOutBill_New(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
string sHBillNo = "";
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (oSystemParameter.omodel.WMS_CampanyName == "飞龙") //系统参数 客户定制化名称 空白为通用
{
if (SaveSellOutBill_MulSource_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sHBillNo, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
else
{
if (SaveSellOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
}
if (oSystemParameter.omodel.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (oSystemParameter.omodel.WMS_CampanyName == "卓力" || oSystemParameter.omodel.WMS_CampanyName == "韩电" || oSystemParameter.omodel.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
if (set_SaveSellOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (set_SaveSellOutBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
sErrMsg = "保存销售出库单失败!" + sErrMsg;
return false;
}
#endregion
#region 销售出库K3 *
///
/// 生成销售出库单K3
///
///
///
///
public bool SaveSellOutBill_K3(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "客户没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "发货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1205','1205'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1401") //销售订单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOut_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOrder_New " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1402") //发货通知单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToSellOut_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOutStock_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
//同步生成采购入库单
if (oSystemParameterMain.Kf_SellOutBill_AutoSavePOStockInBill == "Y") //系统参数 同步生成采购入库单
{
//判断所登录用户账号是否绑定了对应供应商
DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl");
if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "所登录用户账号不正确,请重新登录!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0)
{
sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购入库单,生成单据失败,请先设置对应供应商!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
long HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1201", ref sErrMsg);
string HNewBillNo = DBUtility.ClsPub.CreateBillCode_Prod("1201", ref sErrMsg, true);
string HNewSourceType = "-1"; //无源单
//新增ERP子表、主表
oCn.RunProc("exec h_p_Kf_SellOutBill_AutoSavePOStockInBill " + oMain.HInterID.ToString() + "," + HNewInterID + ",'" + HNewBillNo + "'");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HNewSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_New " + HNewInterID);
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS4 = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS4 == null || DS4.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS4.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + HNewInterID);
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + HNewInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + HNewInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + HNewInterID);
}
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成销售出库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 销售出库K3 多源单生成多张单据 *
///
/// 生成销售出库单K3
///
///
///
///
public bool SaveSellOutBill_MulSource_K3(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sHBillNo, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_SellOutBill dal = new DAL.ClsKf_SellOutBill();
dal.omodel = oMain;
sHBillNo = "";
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "客户没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "发货没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成采购入库单,判断用户是否绑定供应商
if (oSystemParameterMain.Kf_SellOutBill_AutoSavePOStockInBill == "Y") //系统参数 同步生成采购入库单
{
//判断所登录用户账号是否绑定了对应供应商
DataSet Ds2 = oCn.RunProcReturn(" select HSupID from Gy_Czygl where Czymc= '" + oMain.HMaker + "'", "Gy_Czygl");
if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "所登录用户账号不正确,请重新登录!";
return false;
}
else if (DBUtility.ClsPub.isLong(Ds2.Tables[0].Rows[0]["HSupID"]) == 0)
{
sErrMsg = "所登录用户账号没有绑定对应供应商,无法同步生成外购入库单,生成单据失败,请先设置对应供应商!";
return false;
}
}
try
{
Int64 HNewInterID = 0;
string HNewBillNo = "";
Int64 HCusID = 0;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//根据单据ID获取条码出入库临时表中源单单据客户有哪几个
DataSet DsCus = oCn.RunProcReturn("exec h_p_Kf_GetCusIDByTemp_SellOut " + oMain.HInterID.ToString() + "," + oMain.HSupID.ToString(), "h_p_Kf_GetCusIDByTemp_SellOut");
if (DsCus == null || DsCus.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取客户个数信息失败!";
return false;
}
else
{
for (int i = 0; i < DsCus.Tables[0].Rows.Count; i++)
{
int j = i + 1;
HCusID = Pub_Class.ClsPub.isLong(DsCus.Tables[0].Rows[i][0]);
//重新获取销售出库单单据内码、单据号
if (i == 0)
{
HNewInterID = oMain.HInterID;
HNewBillNo = oMain.HBillNo + "-" + j;
}
else
{
HNewInterID = DBUtility.ClsPub.CreateBillID_Prod("1205", ref sErrMsg);
HNewBillNo = oMain.HBillNo + "-" + j;
}
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert_MulCus " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'," + HNewInterID + ",'" + HNewBillNo + "'," + HCusID);
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1205','1205'," + HNewInterID + ",'" + HNewBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + HCusID + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Insert_New " + HNewInterID + ",'" + HNewBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1401") //销售订单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOut_Add " + HNewInterID);
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOrder_New " + HNewInterID);
}
else if (sHSourceType == "1402") //发货通知单
{
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToSellOut_Add " + HNewInterID);
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_SeOutStock_New " + HNewInterID);
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateBillRelateData_New " + HNewInterID);
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + HNewInterID);
//审核单据
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + HNewInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HNewInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_Check_New " + HNewInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateStock_New " + HNewInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_SellOutBill_UpdateOrderStock_New " + HNewInterID);
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
DataSet Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + HNewInterID, "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
//同步生成采购入库单
if (oSystemParameterMain.Kf_SellOutBill_AutoSavePOStockInBill == "Y") //系统参数 同步生成采购入库单
{
long HPOStockInInterID = DBUtility.ClsPub.CreateBillID_Prod("1201", ref sErrMsg);
string HPOStockInBillNo = "CG-" + oMain.HBillNo + "-" + j;
string HPOStockInSourceType = "-1"; //无源单
//新增ERP子表、主表
oCn.RunProc("exec h_p_Kf_SellOutBill_AutoSavePOStockInBill " + HNewInterID + "," + HPOStockInInterID + ",'" + HPOStockInBillNo + "'");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Insert_New " + HPOStockInInterID + ",'" + HPOStockInBillNo + "'," + oMain.HBillerID.ToString() + ",'" + HPOStockInSourceType + "'");
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_New " + HPOStockInInterID);
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS4 = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS4 == null || DS4.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS4.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + HPOStockInInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + HPOStockInInterID);
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPOStockInInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + HPOStockInInterID + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + HPOStockInInterID);
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + HPOStockInInterID + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + HPOStockInInterID);
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + HPOStockInInterID);
}
}
}
}
//单据号
if (sHBillNo == "")
{
sHBillNo = HNewBillNo;
}
else
{
sHBillNo = sHBillNo + ",'" + HNewBillNo + "'";
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成销售出库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 销售出库CLOUD *New
[WebMethod]
public bool set_SaveSellOutBill_CLD_New(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1401") //销售订单
{
if (SaveSellOutBill_SeOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "1402") //发货通知单
{
if (SaveSellOutBill_SeOutStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 销售出库单 源单:销售订单
///
///
///
///
private bool SaveSellOutBill_SeOrder_CLD(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1205','1205'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellOut_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBill_SeOrder_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBill_SeOrder_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
"\"FSALEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEORGID"]) + "\"}," +
"\"FCUSTOMERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCUSTOMERID"]) + "\"}," +
"\"FSALEDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEDEPTID"]) + "\"}," +
"\"FHEADLOCATIONID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FHEADLOCATIONID"]) + "\"}," +
"\"FCORRESPONDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCORRESPONDORGID"]) + "\"}," +
//\"FCarrierID\":{\"FNumber\":\"\"},
//\"FCarriageNO\":\"\",
"\"FSALESGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALESGROUPID"]) + "\"}," +
"\"FSALESMANID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALESMANID"]) + "\"}," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
//\"FDeliveryDeptID\":{\"FNumber\":\"\"},
//\"FStockerGroupID\":{\"FNumber\":\"\"},
//\"FStockerID\":{\"FNumber\":\"\"},
"\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
"\"FRECEIVERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVERID"]) + "\"}," +
"\"FRECEIVEADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVEADDRESS"]) + "\"," +
"\"FSETTLEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEID"]) + "\"}," +
"\"FRECEIVERCONTACTID\":{\"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVERCONTACTID"]) + "\"}," +
"\"FPAYERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPAYERID"]) + "\"}," +
"\"FOWNERTYPEIDHEAD\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEIDHEAD"]) + "\"," +
"\"FOWNERIDHEAD\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERIDHEAD"]) + "\"}," +
//\"FScanBox\":\"\",
//\"FCDateOffsetUnit\":\"\",
//\"FCDateOffsetValue\":\"0\",
"\"FPLANRECADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPLANRECADDRESS"]) + "\"," +
"\"FIsTotalServiceOrCost\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "," +
"\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
"\"SubHeadEntity\":{ " +
//\"FEntryId\":\"0\",
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
//\"FThirdBillNo\":\"\",
//\"FThirdBillId\":\"\",
//\"FThirdSrcType\":\"\",
"\"FSETTLEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEORGID"]) + "\"}," +
"\"FSETTLETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLETYPEID"]) + "\"}," +
"\"FRECEIPTCONDITIONID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIPTCONDITIONID"]) + "\"}," +
//\"FPriceListId\":{\"FNumber\":\"\"},
//\"FDiscountListId\":{\"FNumber\":\"\"},
"\"FISINCLUDEDTAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISINCLUDEDTAX"]) + "," +
"\"FLOCALCURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOCALCURRID"]) + "\"}," +
"\"FEXCHANGETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\"}," +
"\"FEXCHANGERATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGERATE"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FENTRYID\":\"0\",
" \"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
" \"FCUSTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCUSTMATID"]) + "\"}," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
//\"FInventoryQty\":\"0\",
" \"FPARENTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATID"]) + "\"}," +
" \"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
//\"FDisPriceQty\":\"0\",
" \"FPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICE"]) + "," +
" \"FTAXPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXPRICE"]) + "," +
" \"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
" \"FPRODUCEDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "\"," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
sJson_BatchNo +
" \"FEXPIRYDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXPIRYDATE"]) + "\"," +
" \"FTAXCOMBINATION\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXCOMBINATION"]) + "\"}," +
" \"FENTRYTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FENTRYTAXRATE"]) + "," +
//\"FAuxUnitQty\":\"0\",
" \"FEXTAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXTAUXUNITID"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
" \"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," +
//\"FQualifyType\":\"\",
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FEntrynote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntrynote"]) + "\"," +
" \"FDISCOUNTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDISCOUNTRATE"]) + "," +
//\"FPriceDiscount\":\"0\",
//\"FActQty\":\"0\",
" \"FSALUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\"}," +
" \"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +
" \"FSALBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASEQTY"]) + "," +
" \"FPRICEBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEBASEQTY"]) + "," +
//\"FProjectNo\":\"\",
" \"FOUTCONTROL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOUTCONTROL"]) + "," +
//\"FRepairQty\":\"0\",
//\"FIsCreateProDoc\":\"\",
//\"FEOwnerSupplierId\":{\"FNUMBER\":\"\"},
" \"FISOVERLEGALORG\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISOVERLEGALORG"]) + "," +
//\"FESettleCustomerId\":{\"FNUMBER\":\"\"},
//\"FPriceListEntry\":{\"FNUMBER\":\"\"},
" \"FARNOTJOINQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FARNOTJOINQTY"]) + "," +
//\"FQmEntryID\":\"0\",
//\"FConvertEntryID\":\"0\",
" \"FSOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOENTRYID"]) + "," +
//\"FThirdEntryId\":\"\",
//\"FBeforeDisPriceQty\":\"0\",
//\"FSignQty\":\"0\",
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXUNITID"]) + "\"}," +
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
" \"FSOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOORDERNO"]) + "\"," +
" \"FPRICEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEUNITID"]) + "\"}," +
" \"FPRICECOEFFICIENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICECOEFFICIENT"]) + "," +
" \"FSYSPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSYSPRICE"]) + "," +
" \"FLIMITDOWNPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLIMITDOWNPRICE"]) + "," +
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
" \"FSRCBIZUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
" \"FROWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWID"]) + "\"," +
" \"FPARENTROWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTROWID"]) + "\"," +
" \"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
" \"FMustQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "\"," +
" \"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
" \"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
" \"FSALBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASENUM"]) + "," +
" \"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
" \"FTaxDetailSubEntity\": [ { " +
//"FDetailID": 0,
" \"FTAXRATEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATEID"]) + "\"}," +
" \"FTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATE"]) + "," +
" \"FCOSTPERCENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTPERCENT"]) + "," +
" \"FVAT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "\"," +
" \"FSELLERWITHHOLDING\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) + "\"," +
" \"FBUYERWITHHOLDING\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) + "\"" +
" } ]," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",\"FSerialNote\":\"\"}]}],
//\"FOutStockTrace\":[{\"FEntryID\":\"0\",
//\"FLogComId\":{\"FCODE\":\"\"},
//\"FDelTime\":\"1900-01-01\",
//\"FCarryBillNo\":\"\",
//\"FTraceStatus\":\"\",
//\"FOutStockTraceDetail\":[{\"FDetailID\":\"0\",
//\"FTraceTime\":\"\",
//\"FTraceDetail\":\"\"}]
" \"FEntity_Link\": [{" +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 销售出库
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SAL_OUTSTOCK", sJson });
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SAL_OUTSTOCK", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SAL_OUTSTOCK", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成销售出库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成销售出库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成销售出库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 销售出库单 源单:发货通知单
///
///
///
///
private bool SaveSellOutBill_SeOutStock_CLD(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1205','1205'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToSellOut_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBill_SeOutStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBill_SeOutStock_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
"\"FSALEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEORGID"]) + "\"}," +
"\"FCUSTOMERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCUSTOMERID"]) + "\"}," +
"\"FSALEDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALEDEPTID"]) + "\"}," +
"\"FHEADLOCATIONID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FHEADLOCATIONID"]) + "\"}," +
"\"FCORRESPONDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCORRESPONDORGID"]) + "\"}," +
"\"FCARRIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCARRIERID"]) + "\"}," +
"\"FCARRIAGENO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCARRIAGENO"]) + "\"," +
"\"FSALESGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALESGROUPID"]) + "\"}," +
"\"FSALESMANID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSALESMANID"]) + "\"}," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
"\"FDELIVERYDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDELIVERYDEPTID"]) + "\"}," +
"\"FSTOCKERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\"}," +
"\"FSTOCKERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\"}," +
"\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
"\"FRECEIVERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVERID"]) + "\"}," +
"\"FRECEIVEADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVEADDRESS"]) + "\"," +
"\"FSETTLEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEID"]) + "\"}," +
"\"FRECEIVERCONTACTID\":{\"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIVERCONTACTID"]) + "\"}," +
"\"FPAYERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPAYERID"]) + "\"}," +
"\"FOWNERTYPEIDHEAD\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEIDHEAD"]) + "\"," +
"\"FOWNERIDHEAD\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERIDHEAD"]) + "\"}," +
//\"FScanBox\":\"\",
//\"FCDateOffsetUnit\":\"\",
//\"FCDateOffsetValue\":\"0\",
"\"FPLANRECADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPLANRECADDRESS"]) + "\"," +
"\"FIsTotalServiceOrCost\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "," +
"\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
"\"SubHeadEntity\":{ " +
//\"FEntryId\":\"0\",
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
//\"FThirdBillNo\":\"\",
//\"FThirdBillId\":\"\",
//\"FThirdSrcType\":\"\",
"\"FSETTLEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEORGID"]) + "\"}," +
"\"FSETTLETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLETYPEID"]) + "\"}," +
"\"FRECEIPTCONDITIONID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRECEIPTCONDITIONID"]) + "\"}," +
//\"FPriceListId\":{\"FNumber\":\"\"},
//\"FDiscountListId\":{\"FNumber\":\"\"},
"\"FISINCLUDEDTAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISINCLUDEDTAX"]) + "," +
"\"FLOCALCURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOCALCURRID"]) + "\"}," +
"\"FEXCHANGETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\"}," +
"\"FEXCHANGERATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGERATE"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FENTRYID\":\"0\",
" \"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
" \"FCUSTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCUSTMATID"]) + "\"}," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
//\"FInventoryQty\":\"0\",
" \"FPARENTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATID"]) + "\"}," +
" \"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
//\"FDisPriceQty\":\"0\",
" \"FPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICE"]) + "," +
" \"FTAXPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXPRICE"]) + "," +
" \"FISFREE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISFREE"]) + "," +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
" \"FPRODUCEDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "\"," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
sJson_BatchNo +
" \"FEXPIRYDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXPIRYDATE"]) + "\"," +
" \"FTAXCOMBINATION\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXCOMBINATION"]) + "\"}," +
" \"FENTRYTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FENTRYTAXRATE"]) + "," +
//\"FAuxUnitQty\":\"0\",
" \"FEXTAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXTAUXUNITID"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
" \"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," +
//\"FQualifyType\":\"\",
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FEntrynote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntrynote"]) + "\"," +
" \"FDISCOUNTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDISCOUNTRATE"]) + "," +
//\"FPriceDiscount\":\"0\",
//\"FActQty\":\"0\",
" \"FSALUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITID"]) + "\"}," +
" \"FSALUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "," +
" \"FSALBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASEQTY"]) + "," +
" \"FPRICEBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEBASEQTY"]) + "," +
//\"FProjectNo\":\"\",
" \"FOUTCONTROL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOUTCONTROL"]) + "," +
//\"FRepairQty\":\"0\",
//\"FIsCreateProDoc\":\"\",
//\"FEOwnerSupplierId\":{\"FNUMBER\":\"\"},
" \"FISOVERLEGALORG\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISOVERLEGALORG"]) + "," +
//\"FESettleCustomerId\":{\"FNUMBER\":\"\"},
//\"FPriceListEntry\":{\"FNUMBER\":\"\"},
" \"FARNOTJOINQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FARNOTJOINQTY"]) + "," +
//\"FQmEntryID\":\"0\",
//\"FConvertEntryID\":\"0\",
" \"FSOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOENTRYID"]) + "," +
//\"FThirdEntryId\":\"\",
//\"FBeforeDisPriceQty\":\"0\",
//\"FSignQty\":\"0\",
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXUNITID"]) + "\"}," +
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
" \"FSOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOORDERNO"]) + "\"," +
" \"FPRICEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEUNITID"]) + "\"}," +
" \"FPRICECOEFFICIENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICECOEFFICIENT"]) + "," +
" \"FSYSPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSYSPRICE"]) + "," +
" \"FLIMITDOWNPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLIMITDOWNPRICE"]) + "," +
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
" \"FSRCBIZUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
" \"FROWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWID"]) + "\"," +
" \"FPARENTROWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTROWID"]) + "\"," +
" \"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
" \"FMustQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "\"," +
" \"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
" \"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
" \"FSALBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASENUM"]) + "," +
" \"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
" \"FTaxDetailSubEntity\": [ { " +
//"FDetailID": 0,
" \"FTAXRATEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATEID"]) + "\"}," +
" \"FTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATE"]) + "," +
" \"FCOSTPERCENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTPERCENT"]) + "," +
" \"FVAT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "\"," +
" \"FSELLERWITHHOLDING\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) + "\"," +
" \"FBUYERWITHHOLDING\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) + "\"" +
" } ]," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",\"FSerialNote\":\"\"}]}],
//\"FOutStockTrace\":[{\"FEntryID\":\"0\",
//\"FLogComId\":{\"FCODE\":\"\"},
//\"FDelTime\":\"1900-01-01\",
//\"FCarryBillNo\":\"\",
//\"FTraceStatus\":\"\",
//\"FOutStockTraceDetail\":[{\"FDetailID\":\"0\",
//\"FTraceTime\":\"\",
//\"FTraceDetail\":\"\"}]
" \"FEntity_Link\": [{" +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 销售出库
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SAL_OUTSTOCK", sJson });
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SAL_OUTSTOCK", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SAL_OUTSTOCK", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成销售出库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成销售出库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成销售出库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 销售出库CLOUD *
[WebMethod]
public bool set_SaveSellOutBill_CLD(Model.ClsKf_SellOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (SaveSellOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
private bool SaveSellOutBill_CLD(Model.ClsKf_SellOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds;
try
{
//
oCn.BeginTran();
//写入WMS销售出库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_SellOutBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1205','1205'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Xs_UpDateSeOutStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
oCn.Commit();
}
catch (Exception e)
{
sErrMsg = "生成销售出库单失败1!" + e.Message;
oCn.RollBack();
return false;
}
try
{
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetSellOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetSellOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
string sJson_Custom = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_Custom = "\"F_QOUL_Text\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CPH"]) + "\"," + //车牌号
"\"F_QOUL_Text1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_THR"]) + "\"," + //提货人
"\"F_QOUL_Text2\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_THDH"]) + "\"," + //提货电话
"\"F_QOUL_COMBO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_QOUL_COMBO"]) + "\"," + //出货类型
"\"F_QOUL_COMBO1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_QOUL_COMBO1"]) + "\"," + //售后配件
"\"F_QOUL_COMBO2\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_QOUL_COMBO2"]) + "\"," + //广告配件
"\"F_QOUL_COMBO3\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_QOUL_COMBO3"]) + "\"," + //是否扫描
"\"F_QOUL_Text3\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_QOUL_Text3"]) + "\","; //交货地
}
else if (oSystemParameterMain.WMS_CampanyName == "四维尔")
{
sJson_Custom = "\"F_ABCD_ASSISTANT1\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT1"]) + "\" }," + //物流公司
"\"F_ABCD_ASSISTANT2\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT2"]) + "\" }," + //送货地址
"\"F_ABCD_ASSISTANT3\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT3"]) + "\" }," + //收货人
"\"F_ABCD_ASSISTANT4\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_ASSISTANT4"]) + "\" }," + //联系电话
"\"F_ABCD_DATE3\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_DATE3"]) + "\","; //要求到货日期
}
else
{
sJson_Custom = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ " +
//\"FID\":" + oMain.HInterID.ToString() + "," +
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FSaleOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSaleOrgID"]) + "\" }," +
"\"FCustomerID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCusNumber"]) + "\" }," +
"\"FSalesManID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSalesManID"]) + "\" }," +
"\"FSaleDeptID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleDeptID"]) + "\" }," +
"\"FSalesGroupID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSalesGroupID"]) + "\" }," +
"\"FDELIVERYDEPTID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDELIVERYDEPTID"]) + "\" }," +
"\"FStockOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HStockOrgID"]) + "\" }," +
"\"FReceiverID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HReceiverNumber"]) + "\" }," +
"\"FSettleID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSettleNumber"]) + "\" }," +
//"\"FPayerID\":{ \"FNumber\":\"" + oMain.HSupID.ToString() + "\" }," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FOwnerIdHead\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\" }," +
"\"FIsTotalServiceOrCost\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsTotalServiceOrCost"]) + "," +
sJson_Custom +
"\"SubHeadEntity\":{ \"FSettleCurrID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrID"]) + "\" }," +
"\"FSettleOrgID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSettleOrgID"]) + "\" }," +
//"\"FIsIncludedTax\": true ," +
"\"FLocalCurrID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrID"]) + "\" }," +
"\"FExchangeTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeID"]) + "\" }," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "}," +
//"\"FIsPriceExcludeTax\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsPriceExcludeTax"]) + "\"," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_F_PPPL = "";
string sJson_FAUXPROPID = "";
string sJson_SWECustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else if (oSystemParameterMain.WMS_CampanyName == "韩电")
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_F_PPPL = "\"F_PPPL\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PPPL"]) + "\" },"; //品牌品类
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_SWECustom = "\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNOTE"]) + "\"," + //备注
"\"FRANNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRANNUMBER"]) + "\"," + //RanNumber
"\"F_ABCD_TEXT2\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_TEXT2"]) + "\"," + //送货时间
"\"F_ABCD_INTEGER\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_INTEGER"]) + "," + //SNP
"\"F_ABCD_DATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DATE"]) + "\"," + //建议到货日期
"\"F_ABCD_DATE1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DATE1"]) + "\"," + //建议交货日期
"\"F_ABCD_DECIMAL\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DECIMAL"]) + "," + //箱数
"\"F_ABCD_DATE2\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ABCD_DATE2"]) + "\","; //交货日期
}
//
sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
sJson_FAUXPROPID +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FRealQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "\"," +
"\"FMustQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "\"," +
"\"FIsFree\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsFree"]) + "\"," +
"\"FOwnerTypeID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeID"]) + "\"," +
"\"FOwnerID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HOwnerID"]) + "\" }," +
"\"FEntryTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + "\"," +
"\"FStockID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockID"]) + "\" }," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
"\"FStockStatusID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusID"]) + "\" }," +
"\"FSalUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSalUnitID"]) + "\" }," +
"\"FSALUNITQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALUNITQTY"]) + "\"," +
"\"FSALBASEQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASEQTY"]) + "\"," +
"\"FPRICEBASEQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEBASEQTY"]) + "\"," +
"\"FOUTCONTROL\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOUTCONTROL"]) + "\"," +
"\"FIsOverLegalOrg\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsOverLegalOrg"]) + "\"," +
"\"FARNOTJOINQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FARNOTJOINQTY"]) + "\"," +
//"\"F_PAEZ_Text\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_Text"]) + "\"," +
//"\"F_PAEZ_Text1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_Text1"]) + "\"," +
sJson_BatchNo +
//"\"FLot\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\" }," +
//"\"FCheckDelivery\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckDelivery"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FSOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOORDERNO"]) + "\"," +
"\"FSRCTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCTYPE"]) + "\"," +
"\"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
"\"FSALBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSALBASENUM"]) + "," +
"\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
"\"FPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HPrice"]) + "\"," +
"\"FTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HTaxPrice"]) + "\"," +
"\"FOWNERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HOWNERID"]) + "\" }," +
"\"FSOENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSOENTRYID"]) + "\"," +
sJson_F_PPPL +
sJson_SWECustom +
"\"FEntity_Link\": [ { " +
"\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 销售出库
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SAL_OUTSTOCK", sJson });
////生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildSellOut '" + oMain.HBillNo + "'");
//
if (oSystemParameterMain.Kf_SellOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SAL_OUTSTOCK", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SAL_OUTSTOCK", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成销售出库单失败!" + HReturn + sJson;
//oCn.RollBack();
return false;
}
else
{
if (oSystemParameterMain.WMS_CampanyName == "韩电")
{
//销售出库时反写发货通知单、销售订单
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "外销")
{
//外销反写发货通知单、销售订单数量
oCn.RunProc("EXEC h_p_ToCLD_BackDataDELIVERYNOTICE '" + oMain.HBillNo + "'");
}
else if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "内销"
|| Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "OEM"
|| Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_XSLX"]) == "电商")
{
//内销、OEM和电商 关闭发货通知单、销售订单
oCn.RunProc("EXEC h_p_ToCLD_BackDataDELIVERYNOTICE_Close '" + oMain.HBillNo + "'");
}
}
return true;
}
}
else
{
sErrMsg = "生成销售出库单失败!登录失败!";
//oCn.RollBack();
return false;
}
}
}
catch (Exception e1)
{
sErrMsg = "生成销售出库单失败!" + e1.Message;
//oCn.RollBack();
return false;
}
}
#endregion
#region 进站记录
//进站记录表
[WebMethod]
public bool set_SaveStationInBill(Model.ClsSc_StationInBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_StationInBill dal = new DAL.ClsSc_StationInBill();
dal.omodel = oMain;
if (dal.AddBill(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 开工单
//开工单
[WebMethod]
public bool set_SaveMESBeginWorkBill(Model.ClsSc_MESBeginWorkBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_MESBeginWorkBill dal = new DAL.ClsSc_MESBeginWorkBill();
dal.omodel = oMain;
if (dal.AddBill(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 模具产能表
//模具产能表
[WebMethod]
public bool set_SaveStdWorkQtyBill(Model.ClsSc_StdWorkQtyBillMain oMain, ref string sErrMsg)
{
DAL.ClsSc_StdWorkQtyBill dal = new DAL.ClsSc_StdWorkQtyBill();
dal.omodel = oMain;
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据物料返回产能信息
//
// 根据物料返回产能信息
//
// 过滤条件
//
[WebMethod]
public DataSet GetSc_StdWorkQtyBill_HMaterID(long HMaterID, string sWhere)
{
DAL.ClsSc_StdWorkQtyBill dal = new DAL.ClsSc_StdWorkQtyBill();
return dal.GetInfoByHMaterID(HMaterID, sWhere);
}
//根据任务单返回产能信息
//
// 根据任务单返回产能信息
//
// 过滤条件
//
[WebMethod]
public DataSet GetSc_StdWorkQtyBill_HICMOInterID(long HICMOInterID, string sWhere)
{
DAL.ClsSc_StdWorkQtyBill dal = new DAL.ClsSc_StdWorkQtyBill();
return dal.GetInfoByHICMOInterID(HICMOInterID, sWhere);
}
#endregion
#region 领料出库核对CLOUD
[WebMethod]
public bool set_CheckMateOutBill_CLD(Model.ClsKf_MateOutBillMain_CLD oMain, ref string sErrMsg)
{
if (CheckMateOutBill_CLD(oMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
///
/// 生产领料
///
///
///
///
public bool CheckMateOutBill_CLD(Model.ClsKf_MateOutBillMain_CLD oMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//根据TMP表 返回 信息
Ds = oCn.RunProcReturn("exec h_p_Kf_CheckMateOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\", " +
//\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}, " +
"\"FPRDORGID\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FBillType\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" " +
" }, \"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
sJson_Entry = sJson_Entry + "{ \"FSEQ\":\"" + Convert.ToString(i + 1) + "\", " +
" \"FPARENTMATERIALID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATERIALID"]) + "\" } , " +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}, " +
"\"FBASEUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"} , " +
sJson_BatchNo+
" \"FBASESTOCKACTUALQTY\": " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASESTOCKACTUALQTY"]) + " ," +
"\"FSTOCKUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"} , " +
" \"FMOBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\" , " +
" \"FMOID\" :\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "\" , " +
" \"FMOENTRYID\" :\" " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "\" , " +
" \"FMOENTRYSEQ\" :\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "\" , " +
//" \"F_PAEZ_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_TEXT1"]) + "\", " +
" \"FPPBOMBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMBILLNO"]) + "\" , " +
" \"FPPBOMENTRYID\" : " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FPPBOMENTRYID"]) + " , " +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"} , " +
" \"FWORKSHOPID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}, " +
" \"FSTOCKID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
"\"FAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPPQTY"]) + ", " +
" \"FACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FACTUALQTY"]) + ", " +
" \"FSRCBILLTYPE\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\" , " +
"\"FSRCBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\" , " +
" \"FSRCINTERID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + " , " +
" \"FSRCENTRYID\" : " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + " , " +
" \"FSRCENTRYSEQ\" :\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "\" , " +
//" \"FOPERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOPERID"]) + ", " +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\", " +
" \"FREQBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "\", " +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\", " +
" \"FREQENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "\", " +
" \"FREQENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "\", " +
" \"FPARENTOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERTYPEID"]) + "\" , " +
" \"FPARENTOWNERID\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"} , " +
" \"FOWNERID\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"} , " +
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\" , " +
" \"FEntity_Link_FFlowLineId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + " , " +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\" , " +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\" , " +
" \"FEntity_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + " , " +
" \"FEntity_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + " " +
" } ] } ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单 1个物料1单
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
//string sJson1= "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
//var result1 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit",
//new object[] { "PRD_PickMtrl", sJson1 });
string sJson4 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result4 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Delete",
new object[] { "PRD_PickMtrl", sJson4 });
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_PickMtrl", sJson });
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_PickMtrl", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_PickMtrl", sJson3 });
string HReturn = result4.ToString() + "," + result.ToString() +"," + result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生产领料单失败!" + HReturn + sJson;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "生产领料单失败!登录失败!";
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生产领料单失败!" + e.Message;
return false;
}
}
#endregion
#region 生产退料 生产领料(红字) *旧
//生成生产退料单
[WebMethod]
public bool set_SaveMateOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_MateOutBackBill dal = new DAL.ClsKf_MateOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存生产退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 生产退料 生产领料(红字) *
//生成生产退料单
[WebMethod]
public bool set_SaveMateOutBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveMateOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_MateOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存生产退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 生产退料K3 生产领料(红字) *
///
/// 生成生产退料单K3
///
///
///
///
public bool SaveMateOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_MateOutBackBill dal = new DAL.ClsKf_MateOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_MateOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1244','1244'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3720") //生产任务单-投料
{
oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData_PPBom " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1204") //生产领料单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_MateOutToMateOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_MateOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成生产退料单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 领料出库 *旧
//生成领料出库单
[WebMethod]
public bool set_SaveMateOutBill(Model.ClsKf_MateOutBillMain oMain, ref string sErrMsg)
{
DAL.ClsKf_MateOutBill dal = new DAL.ClsKf_MateOutBill();
DAL.ClsKF_PonderationBillMain_Temp_View tmp = new DAL.ClsKF_PonderationBillMain_Temp_View();
dal.omodel = oMain;
//判断扫描记录,是否按照先进先出规则
//if (!tmp.CheckICInventory_FIFO_Tmp(oMain.HInterID, oMain.HBillType, ref sErrMsg))
//{
// return false;
//}
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "发料没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
if (dal.AddBill_PDA_Red(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveMateOutBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存生产领料单失败!" + sErrMsg;
return false;
}
//核对生单领料出库单K3
[WebMethod]
public bool set_CheckAddMateOutBill(Model.ClsKf_MateOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_MateOutBill_K3 dal = new DAL.ClsKf_MateOutBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.CheckAddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
//核对领料出库单K3
[WebMethod]
public bool set_CheckMateOutBill(Model.ClsKf_MateOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_MateOutBill_K3 dal = new DAL.ClsKf_MateOutBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对领料出库单K3
[WebMethod]
public bool set_CheckMateOutBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_MateOutBill_K3 dal = new DAL.ClsKf_MateOutBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核领料出库单K3
[WebMethod]
public bool set_AuditMateOutBill(Model.ClsKf_MateOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_MateOutBill_K3 dal = new DAL.ClsKf_MateOutBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据部门、物料、指令单号、销售订单号返回源单信息
///
/// 根据部门、物料、指令单号、销售订单号返回源单信息
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_MateOutBill_K3_Source(long HDeptID, long HMaterID, long HInstructID, long HSeOrderBillID, string sWhere)
{
DAL.ClsKf_MateOutBill_K3 dal = new DAL.ClsKf_MateOutBill_K3();
return dal.GetInfoBySource(HDeptID, HMaterID, HInstructID, HSeOrderBillID, sWhere);
}
#endregion
#region 领料出库 *
//生成领料出库单
[WebMethod]
public bool set_SaveMateOutBill_New(Model.ClsKf_MateOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveMateOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_MateOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveMateOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存领料出库单失败!" + sErrMsg;
return false;
}
#endregion
#region 领料出库K3 *
///
/// 生成领料出库单K3
///
///
///
///
public bool SaveMateOutBill_K3(Model.ClsKf_MateOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_MateOutBill dal = new DAL.ClsKf_MateOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "发料没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_MateOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1204','1204'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3720") //生产任务单-投料
{
oCn.RunProc("exec h_p_Sc_UpDateRelation_PPBomToMateOut_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateBillRelateData_PPBom_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_MateOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成领料出库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 领料出库CLOUD *
[WebMethod]
public bool set_SaveMateOutBill_CLD(Model.ClsKf_MateOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (SaveMateOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
///
/// 生产领料
///
///
///
///
public bool SaveMateOutBill_CLD(Model.ClsKf_MateOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//写入WMS生产领料单
oCn.BeginTran();
//插入子表
oCn.RunProc("EXEC h_p_Kf_MateOutBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1204','1204'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDatePPBomRelation_Add " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_WMS_UpdateBarCodeByMateOut " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetMateOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSTOCKORGID"]) + "\"}," +
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HPRDORGID"]) + "\"}," +
//"\"FWorkShopId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FWorkShopId"]) + "\"}, " +
"\"FPickerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPickerId"]) + "\"}, " +
"\"FSTOCKERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\"}, " +
"\"FBillType\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
//
sJson_Entry = sJson_Entry + "{ \"FSEQ\":\"" + Convert.ToString(i + 1) + "\", " +
"\"FPARENTMATERIALID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATERIALID"]) + "\" } , " +
"\"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}, " +
"\"FBASEUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"} , " +
sJson_BatchNo +
//"\"FLOT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\" }," +
//"\"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\" , " +
"\"FBASESTOCKACTUALQTY\": " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASESTOCKACTUALQTY"]) + " ," +
"\"FSTOCKUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"} , " +
"\"FMOBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\" , " +
"\"FMOID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + " , " +
"\"FMOENTRYID\" : " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + " , " +
"\"FMOENTRYSEQ\" :" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + " , " +
//" \"F_PAEZ_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_TEXT1"]) + "\", " +
"\"FPPBOMBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMBILLNO"]) + "\" , " +
"\"FPPBOMENTRYID\" : " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FPPBOMENTRYID"]) + " , " +
"\"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"} , " +
"\"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
sJson_BatchNo +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
"\"FAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPPQTY"]) + ", " +
"\"FACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FACTUALQTY"]) + ", " +
"\"FEntryWorkShopId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}, " +
sJson_FAUXPROPID +
"\"FSRCBILLTYPE\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\" , " +
"\"FSRCBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\" , " +
"\"FSRCINTERID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + " , " +
"\"FSRCENTRYID\" : " + Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + " , " +
"\"FSRCENTRYSEQ\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + " , " +
//" \"FOPERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOPERID"]) + ", " +
"\"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\", " +
"\"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + ", " +
"\"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\", " +
"\"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + ", " +
"\"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + ", " +
"\"FEntrySrcEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntrySrcEntrySeq"]) + "\" , " +
"\"FPARENTOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERTYPEID"]) + "\" , " +
"\"FPARENTOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HPARENTOWNERID"]) + "\"} , " +
"\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HOWNERID"]) + "\"} , " +
"\"FEntity_Link\": [ { " +
"\"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\" , " +
"\"FEntity_Link_FFlowLineId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + " , " +
"\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\" , " +
"\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\" , " +
"\"FEntity_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + " , " +
"\"FEntity_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + " " +
" } ] } ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_PickMtrl", sJson });
////生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildMateOut '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_MateOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_PickMtrl", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_PickMtrl", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生产领料单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生产领料单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生产领料单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 委外退料CLOUD *
//生成外购入库单
[WebMethod]
public bool set_SaveEntrustInBackBill_CLD(Model.ClsKf_EntrustInBackBillMain_CLD oMain, string sHSourceType, ref string sErrMsg)
{
if (SaveEntrustInBackBill_CLD(oMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
//委外退料
private bool SaveEntrustInBackBill_CLD(Model.ClsKf_EntrustInBackBillMain_CLD oMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustInBackBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustInBackBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
//string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"Model\": { \"FID\":\"0\", \"FBILLNO\":\"" + oMain.HBillNo + "\", \"FStockOrgId\":{\"FNumber\":\"201\"}, " +
// "\"FPRDORGID\":{\"FNumber\":\"201\"}, \"FBillType\": {\"FNumber\":\"SCLLD01_SYS\" " +
// " }, \"FEntity\": [ ";
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"Model\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillNo"]) + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\", " +
"\"FMRTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRTYPE"]) + "\", " +
"\"FMRMODE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRMODE"]) + "\", " +
"\"FMRDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRDeptId"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FRequireOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FDESCRIPTION\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDESCRIPTION"]) + "\"}," +
"\"FACCEPTORID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTORID"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}, " +
"\"FMRREASON\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRREASON"]) + "\"}, " +
"\"FAcceptAddress\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptAddress"]) + "\"}, " +
"\"FDemandOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FCorrespondOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FPurchaseDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseDeptId"]) + "\"}, " +
"\"FPurchaserGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserGroupId"]) + "\"}," +
"\"FPurchaserId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}, " +
"\"FSupplyAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyAddress"]) + "\"," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FChargeId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\", " +
"\"FOwnerIdHead\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FScanPoint\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanPoint"]) + "\"}," +
"\"FConfirmerId\":{\"FUserID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmerId"]) + "\"}," +
"\"FConfirmDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmDate"]) + "\"," +
"\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
"\"FCDateOffsetUnit\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetUnit"]) + "\", " +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
"\"FPURMRBFIN FSettleOrgId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURMRBFIN FSettleOrgId"]) + "," +
"\"FAcceptorContactID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptorContactID"]) + "," +
"\"FProviderContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProviderContactID"]) + "\"}," +
"\"FInStockFin\":{\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSettleTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleTypeId"]) + "\"}, " +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "\"," +
"\"FPriceListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceListId"]) + "\"}," +
"\"FDiscountListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDiscountListId"]) + "\"}," +
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "" +
" }, \"FPURMRBENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FWWInType\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWWInType"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}, " +
"\"FMaterialDesc\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialDesc"]) + "\"}, " +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + ", " +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
"\"FDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDisPriceQty"]) + ", " +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FRECEIVESTOCKSTATUS\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRECEIVESTOCKSTATUS"]) + "\"}," +
"\"fpoorderentryid\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["fpoorderentryid"]) + ", " +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FPOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERNO"]) + "\", " +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "," +
"\"FNote\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + ", " +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + ", " +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "," +
"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}, " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," +
"\"FREMAININSTOCKBASEQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTYOLD"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
"\"FCostPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "," +
"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
"\"FSupplierLot\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "," +
"\"FExpiryDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
"\"FBASEREPLAYQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREPLAYQTY"]) + "," +
"\"FREPLENISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREPLENISHQTY"]) + "," +
"\"FKEAPAMTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEAPAMTQTY"]) + "," +
"\"FSTOCKID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "," +
"\"FStockStatusId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "," +
"\"FREQTRACENO\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQTRACENO"]) + "," +
"\"FChargeProjectID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FChargeProjectID"]) + "," +
"\"FCarryUnitId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryUnitId"]) + "," +
"\"FCarryQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryQty"]) + "," +
"\"FCarryBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryBaseQty"]) + "," +
"\"FPriceListEntry\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceListEntry"]) + "," +
"\"FRMMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMMUSTQTY"]) + "," +
"\"FRMREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMREALQTY"]) + "," +
"\"FIsStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsStock"]) + "," +
"\"FBeforeDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBeforeDisPriceQty"]) + ", " +
"\"FInStockEntry_Link\": [ { " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSBillId"]) + " , " +
"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + " " +
" } ] }, ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单 1个物料1单
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SUB_RETURNMTRL", sJson });
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SUB_RETURNMTRL", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SUB_RETURNMTRL", sJson3 });
string HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成采购退料单失败!" + HReturn;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "生成采购入退料失败!登录失败!";
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成采购入退料失败!" + e.Message;
return false;
}
}
#endregion
#region 委外退料 委外出库(红字) *旧
//生成委外退料单
[WebMethod]
public bool set_SaveEntrustOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_EntrustOutBackBill dal = new DAL.ClsKf_EntrustOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "加工单位没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存委外退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外退料 委外出库(红字) *
//生成委外退料单
[WebMethod]
public bool set_SaveEntrustOutBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveEntrustOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存委外退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外退料K3 委外出库(红字) *
///
/// 生成委外退料单K3
///
///
///
///
public bool SaveEntrustOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_EntrustOutBackBill dal = new DAL.ClsKf_EntrustOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "加工单位没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1238','1238'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3720") //委外订单-退料
{
oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData_EntrustOrder " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1211") //委外出库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_EntrustOutToEntrustOutBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_EntrustOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成委外退料单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 委外出库 *旧
//生成委外出库单
[WebMethod]
public bool set_SaveEntrustOutBill(Model.ClsKf_EntrustOutBillMain oMain, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HSupID == 0)
{
sErrMsg = "加工单位没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "发料没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
//if (dal.AddBill_PDA_Red(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
// //"保存失败!";
return false;
//}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveEntrustOutBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存委外出库单失败!" + sErrMsg;
return false;
}
//核对生单委外出库单K3
[WebMethod]
public bool set_CheckAddEntrustOutBill(Model.ClsKf_EntrustOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustOutBill_K3 dal = new DAL.ClsKf_EntrustOutBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.CheckAddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
//核对委外出库单K3
[WebMethod]
public bool set_CheckEntrustOutBill(Model.ClsKf_EntrustOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustOutBill_K3 dal = new DAL.ClsKf_EntrustOutBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对委外出库单K3(单行提交)
[WebMethod]
public bool set_CheckEntrustOutBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_EntrustOutBill_K3 dal = new DAL.ClsKf_EntrustOutBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核委外出库单K3
[WebMethod]
public bool set_AuditEntrustOutBill(Model.ClsKf_EntrustOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustOutBill_K3 dal = new DAL.ClsKf_EntrustOutBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//根据供应商、物料、指令单号、销售订单号返回源单信息
///
/// 根据供应商、物料、指令单号、销售订单号返回源单信息
///
/// 过滤条件
///
[WebMethod]
public DataSet GetKf_EntrustOutBill_K3_Source(long HSupID, long HMaterID, long HInstructID, long HSeOrderBillID, string sWhere)
{
DAL.ClsKf_EntrustOutBill_K3 dal = new DAL.ClsKf_EntrustOutBill_K3();
return dal.GetInfoBySource(HSupID, HMaterID, HInstructID, HSeOrderBillID, sWhere);
}
#endregion
#region 委外出库 *
//生成委外出库单
[WebMethod]
public bool set_SaveEntrustOutBill_New(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveEntrustOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveEntrustOutBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存委外出库单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外出库K3 *
///
/// 生成委外出库单K3
///
///
///
///
public bool SaveEntrustOutBill_K3(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_EntrustOutBill dal = new DAL.ClsKf_EntrustOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HSupID == 0)
{
sErrMsg = "加工单位没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "发料没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3720") //委外订单-投料
{
oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_WWPPBom_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成委外出库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 委外出库CLOUD *New
[WebMethod]
public bool set_SaveEntrustOutBill_CLD_New(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1604") //委外用料清单
{
if (SaveEntrustOutBill_WWPPBom_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 委外出库单 源单:委外用料清单
///
///
///
///
private bool SaveEntrustOutBill_WWPPBom_CLD(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_WW_UpDateRelation_WWPPBomToEntrustOut_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBill_WWPPBom_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\":{ " +
//\"FID\":\"0\",
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
"\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
"\"FSUBORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUBORGID"]) + "\"}," +
"\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
//\"FPICKERID\":{},
//\"FSTOCKERID\":{\"FNAME\":\"\"},
//\"FDescription\":\"\",
"\"FISCROSSTRADE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISCROSSTRADE"]) + "\"," +
"\"FVMIBUSINESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVMIBUSINESS"]) + "\"," +
//\"FScanBox\":\"\",
//\"FSourceType\":\"\",
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FENTRYID\":\"0\",
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPPQTY"]) + "," +
" \"FACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FACTUALQTY"]) + "," +
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
sJson_BatchNo +
//\"FSRCBIZENTRYSEQ\":\"0\",
//\"FSRCBIZBILLTYPE\":{\"FID\":\"\"},
//\"FSRCBIZBILLNO\":\"\",
" \"FPICKINGSTATUS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPICKINGSTATUS"]) + "\"," +
" \"FPARENTMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATERIALID"]) + "\"}," +
" \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
" \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
//\"FSRCBIZINTERID\":\"0\",
//\"FConsome\":\"\",
" \"FSUBREQID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQID"]) + "," +
" \"FRESERVETYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRESERVETYPE"]) + "\"," +
" \"FSETTLEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSETTLEORGID"]) + "\"}," +
" \"FBASESTOCKACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASESTOCKACTUALQTY"]) + "," +
//\"FSRCBIZENTRYID\":\"0\",
" \"FPPBOMBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMBILLNO"]) + "\"," +
" \"FSUBREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQENTRYID"]) + "," +
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FBASEAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEAPPQTY"]) + "," +
" \"FBASEACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEACTUALQTY"]) + "," +
//\"FBaseAllowOverQty\":\"0\",
//\"FBaseSelPrcdReturnQty\":\"0\",
//\"FPrice\":\"0\",
//\"FAmount\":\"0\",
" \"FSTOCKUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"}," +
" \"FSTOCKAPPQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKAPPQTY"]) + "," +
//\"FStockAllowOverQty\":\"0\",
//\"FStockSelPrcdReturnQty\":\"0\",
//\"FSecAllowOverQty\":\"0\",
//\"FSecSelPrcdReturnQty\":\"0\",
" \"FENTRYVMIBUSINESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FENTRYVMIBUSINESS"]) + "\"," +
//\"FPMBillNo\":\"\",
" \"FGROUPROW\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGROUPROW"]) + "\"," +
" \"FPOORDERBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERBILLNO"]) + "\"," +
" \"FPOORDERSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERSEQ"]) + "," +
" \"FSupplierId0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierId0"]) + "\"}," +
" \"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
" \"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," +
" \"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," +
//\"FProduceDate\":\"1900-01-01\",
//\"FExpiryDate\":\"1900-01-01\",
//\"FAllowOverQty\":\"0\",
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
" \"FPARENTOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERTYPEID"]) + "\"," +
" \"FPARENTOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTOWNERID"]) + "\"}," +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
" \"FMTONO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FPROJECTNO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
" \"FOPERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOPERID"]) + "," +
" \"FPROCESSID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROCESSID"]) + "\" } , " +
" \"FMEMO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMEMO"]) + "\"," +
" \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
" \"FSUBREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQBILLNO"]) + "\"," +
" \"FSUBREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUBREQENTRYSEQ"]) + "," +
" \"FPPBOMENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPBOMENTRYID"]) + "," +
" \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," +
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\" , " +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\" , " +
" \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," +
" \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," +
" \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," +
" \"FSTOCKACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKACTUALQTY"]) + "," +
" \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialId\":{\"FNumber\":\"\"},
//\"FSerialNote\":\"\"}]}]}}
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFLOWID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFLOWID"]) + "\"," +
" \"FEntity_Link_FFLOWLINEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFLOWLINEID"]) + "\"," +
" \"FEntity_Link_FRULEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRULEID"]) + "\"," +
" \"FEntity_Link_FSTABLENAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTABLENAME"]) + "\"," +
" \"FEntity_Link_FSBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBILLID"]) + "\"," +
" \"FEntity_Link_FSID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSID"]) + "\"," +
" \"FEntity_Link_FBASEACTUALQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEACTUALQTYOLD"]) + "," +
" \"FEntity_Link_FBASEACTUALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBASEACTUALQTY"]) + "" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 委外出库
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SUB_PickMtrl", sJson });
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SUB_PickMtrl", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SUB_PickMtrl", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成委外出库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成委外出库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成委外出库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 委外出库CLOUD
//委外出库(领料
[WebMethod]
public bool set_SaveEntrustOutBill_CLD(Model.ClsKf_EntrustOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (SaveEntrustOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
///
/// 委外出库单
///
///
///
///
private bool SaveEntrustOutBill_CLD(Model.ClsKf_EntrustOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS委外出库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1211','1211'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDatePPBomRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[]," +
"\"Model\":{ "+ //\"FID\":" + oMain.HInterID.ToString() + "," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FBillType\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" }," +
// "\"FDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FSubOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
//"\"FPICKERID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPICKERID"]) + "\"," +
"\"FSTOCKERID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\" }," +
"\"FDescription\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDescription"]) + "\"," +
"\"FIsCrossTrade\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsCrossTrade"]) + "\"," +
//"\"FVmiBusiness \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FVmiBusiness"]) + "\"," +
"\"FScanBox \":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
sJson_Entry = sJson_Entry + " { \"FSEQ\":\"" + Convert.ToString(i + 1) + "\"," +
"\"FMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" }," +
"\"FUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" }," +
"\"FAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAppQty"]) + "\"," +
"\"FActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FActualQty"]) + "\"," +
"\"FStockId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\" }," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
// "\"FLOT\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" }," +
sJson_BatchNo+
"\"FSRCBIZENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZENTRYSEQ"]) + "\"," +
"\"FSRCBIZBILLTYPE\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZBILLTYPE"]) + "\" }," +
"\"FSRCBIZBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZBILLNO"]) + "\"," +
"\"FPickingStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPickingStatus"]) + "\"," +
"\"FParentMaterialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMaterialId"]) + "\" }," +
"\"FSrcInterId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcInterId"]) + "\"," +
"\"FSrcEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntryId"]) + "\"," +
"\"FSRCBIZINTERID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZINTERID"]) + "\"," +
"\"FConsome\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FConsome"]) + "\"," +
"\"FSubReqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqId"]) + "\"," +
"\"FReserveType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReserveType"]) + "\"," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSettleOrgId"]) + "\"}," +
"\"FBaseStockActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseStockActualQty"]) + "\"," +
"\"FSRCBIZENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZENTRYID"]) + "\"," +
"\"FPPbomBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPPbomBillNo"]) + "\"," +
"\"FSubReqEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqEntryId"]) + "\"," +
"\"FSubReqEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSubReqEntrySeq"]) + "\"," +
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\" }," +
"\"FBaseAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseAppQty"]) + "\"," +
"\"FBaseActualQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseActualQty"]) + "\"," +
"\"FBaseAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseAllowOverQty"]) + "\"," +
"\"FBaseSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseSelPrcdReturnQty"]) + "\"," +
"\"FPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + "\"," +
"\"FAmount\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAmount"]) + "\"," +
"\"FStockUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockUnitId"]) + "\" }," +
"\"FStockAppQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockAppQty"]) + "\"," +
"\"FStockAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockAllowOverQty"]) + "\"," +
"\"FStockSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockSelPrcdReturnQty"]) + "\"," +
"\"FSecAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecAllowOverQty"]) + "\"," +
"\"FSecSelPrcdReturnQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSecSelPrcdReturnQty"]) + "\"," +
"\"FEntryVmiBusiness\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryVmiBusiness"]) + "\"," +
"\"FPMBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPMBillNo"]) + "\"," +
"\"FGroupRow\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGroupRow"]) + "\"," +
"\"FPOOrderBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderBillNo"]) + "\"," +
"\"FPOOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderSeq"]) + "\"," +
"\"FSupplierId0\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierId0"]) + "\" }," +
//"\"FKeeperTypeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\" }," +
//"\"FKeeperId\":{ \"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\" }," +
"\"FStockStatusId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\" }," +
"\"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," +
"\"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," +
"\"FAllowOverQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAllowOverQty"]) + "\"," +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\"," +
"\"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
sJson_FAUXPROPID +
//"\"FParentOwnerTypeId\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"," +
//"\"FParentOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentOwnerId"]) + "\" }," +
//"\"FSerialSubEntity\":{ \"FDetailID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialSubEntity"]) + "\" }," +
//"\"FSerialNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialNo"]) + "\"," +
//"\"FSerialId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialId"]) + "\" }," +
//"\"FSerialNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSerialNote"]) + "\"," +
"\"FEntity_Link\": [ { " +
"\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
"\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
"\"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
"\"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 委外领料 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SUB_PickMtrl", sJson });
if (oSystemParameterMain.Kf_EntrustOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SUB_PickMtrl", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SUB_PickMtrl", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成委外领料单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成委外领料单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成委外领料单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 其他出库(红字) *旧
//生成其他出库单(红字)
[WebMethod]
public bool set_SaveOtherOutBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_OtherOutBackBill dal = new DAL.ClsKf_OtherOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存其他出库单(红字)失败!" + sErrMsg;
return false;
}
#endregion
#region 其他出库(红字) *
//生成其他出库单(红字)
[WebMethod]
public bool set_SaveOtherOutBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveOtherOutBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherOutBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存其他出库单(红字)失败!" + sErrMsg;
return false;
}
#endregion
#region 其他出库(红字)K3 *
///
/// 生成其他出库单(红字)K3
///
///
///
///
public bool SaveOtherOutBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_OtherOutBackBill dal = new DAL.ClsKf_OtherOutBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "收料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherOutBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1249','1249'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_OtherOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_OtherOutBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成其他出库单(红字)失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 其他出库 *旧
//生成其他出库单
[WebMethod]
public bool set_SaveOtherOutBill(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_OtherOutBill dal = new DAL.ClsKf_OtherOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
//if (dal.AddBill_PDA_Red(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
//"保存失败!";
return false;
//}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
//同步生成CLOUD单据
if (set_SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存其他出库单失败!" + sErrMsg;
return false;
}
//核对生单其他出库单K3
[WebMethod]
public bool set_CheckAddOtherOutBill(Model.ClsKf_OtherOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherOutBill_K3 dal = new DAL.ClsKf_OtherOutBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.CheckAddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
//核对其他出库单K3
[WebMethod]
public bool set_CheckOtherOutBill(Model.ClsKf_OtherOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherOutBill_K3 dal = new DAL.ClsKf_OtherOutBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对其他出库单K3 (单行)
[WebMethod]
public bool set_CheckOtherOutBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_OtherOutBill_K3 dal = new DAL.ClsKf_OtherOutBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核其他出库单K3
[WebMethod]
public bool set_AuditOtherOutBill(Model.ClsKf_OtherOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherOutBill_K3 dal = new DAL.ClsKf_OtherOutBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//得到其他出库类型
[WebMethod]
public DataSet get_StockOutStyle()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HName from Gy_StockOutStyle where HStopflag=0", "Gy_StockOutStyle");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
#endregion
#region 其他出库 *
//生成其他出库单
[WebMethod]
public bool set_SaveOtherOutBill_New(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveOtherOutBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherOutBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
//同步生成CLOUD单据
if (set_SaveOtherOutBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存其他出库单失败!" + sErrMsg;
return false;
}
#endregion
#region 其他出库K3 *
///
/// 生成其他出库单K3
///
///
///
///
public bool SaveOtherOutBill_K3(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_OtherOutBill dal = new DAL.ClsKf_OtherOutBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "领料没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherOutBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1206','1206'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherOutBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成其他出库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 其他出库CLOUD *
//其他出库
[WebMethod]
public bool set_SaveOtherOutBill_CLD(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1242")
{
if (SaveOtherOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "-1")
{
if (SaveOtherOutBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 其他出库单
///
///
///
///
public bool SaveOtherOutBill_CLD(Model.ClsKf_OtherOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS其他出库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherOutBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle" +
") " +
" values('1206','1206'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "'" +
") ");
//更新关联数量
if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherOutBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherOutBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_CHLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_CHLX"]) + "\","; //出库类型
}
else if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_ABCD_COMBO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_COMBO"]) + "\","; //其他出库业务类型
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{ \"FBillNo\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPickOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPickOrgId"]) + "\"}," +
"\"FStockDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDirect"]) + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
//"\"FCustId\":{\"FNumber\":\"" + oMain.HSupplyID.ToString() + "\"}," +
"\"FDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptId"]) + "\"}," +
"\"FPickerId\":{\"FSTAFFNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPickerId"]) + "\"}," +
"\"FStockerId\":{\"FName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FBizType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBizType"]) + "\"," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
"\"FNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNote"]) + "\"," +
"\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
"\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
sJson_StockStyle +
"\"FEntity\":[";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
sJson_FAUXPROPID +
//"\"FAuxPropId\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}," +
//"\"FAUXPROPID__FF100030\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100030"]) + "\"}," +
//"\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100002"]) + "\"}}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," +
"\"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
sJson_BatchNo+
"\"FPRODUCTGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTGROUPID"]) + "\"}," +
"\"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
"\"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerId"]) + "\"}," +
//"\"FEntryNote\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryNote"]) + "," +
//"\"FBomId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\"}," +
//"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
//"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "," +
//"\"FServiceContext\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FServiceContext"]) + "," +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
//"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
"\"FCostItem\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostItem"]) + "\"}," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
//"\"FDistribution\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDistribution"]) + "," +
"\"FKeeperId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperId"]) + "\"}," +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "} ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 其他出库单 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_MisDelivery", sJson });
if (oSystemParameterMain.Kf_OtherOutBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_MisDelivery", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_MisDelivery", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "其他出库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "其他出库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "其他出库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 外购退料 外购入库(红字) *旧
//生成外购退料单
[WebMethod]
public bool set_SavePOStockInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_POStockInBackBill dal = new DAL.ClsKf_POStockInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存外购退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 外购退料 外购入库(红字) *
//生成外购退料单
[WebMethod]
public bool set_SavePOStockInBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SavePOStockInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_POStockInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SavePOStockInBackBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存外购退料单失败!" + sErrMsg;
return false;
}
#endregion
#region 外购退料K3 外购入库(红字) *
///
/// 生成外购退料单K3
///
///
///
///
public bool SavePOStockInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_POStockInBackBill dal = new DAL.ClsKf_POStockInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1239','1239'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1105") //退料通知单
{
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockBackToPOStockInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData_POInStockBack " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1201") //外购入库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_POStockInToPOStockInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成外购退料单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 外购退料CLOUD 外购入库(红字) *
//生成外购退料单
[WebMethod]
public bool set_SavePOStockInBackBill_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1102") //采购订单
{
if (SavePOStockInBackBill_POOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 外购退料单 (源单:采购订单)
///
///
///
///
public bool SavePOStockInBackBill_POOrder_CLD(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS外购退料单
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1239','1239'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockInBack_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBackPOOrderBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBackPOOrderBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{" +
//"\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FMRTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRTYPE"]) + "\", " +
"\"FMRMODE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRMODE"]) + "\", " +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
"\"FMRDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRDEPTID"]) + "\"}," +
//"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FCORRESPONDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCORRESPONDORGID"]) + "\"}," +
//"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}, " +
//"\"FMRREASON\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRREASON"]) + "\"}, " +
"\"FREQUIREORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FREQUIREORGID"]) + "\"}," +
"\"FPURCHASEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASEORGID"]) + "\"}," +
"\"FPURCHASEDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASEDEPTID"]) + "\"}, " +
"\"FPURCHASERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASERGROUPID"]) + "\"}," +
"\"FPURCHASERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASERID"]) + "\"}," +
"\"FSUPPLIERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}," +
//"\"FDESCRIPTION\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDESCRIPTION"]) + "\", " +
"\"FACCEPTORID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTORID"]) + "\"}," +
//"\"FAcceptAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptAddress"]) + "\", " +
"\"FSETTLEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEID"]) + "\"}," +
"\"FCHARGEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCHARGEID"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\", " +
"\"FOWNERIDHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERIDHead"]) + "\"}," +
//"\"FScanPoint\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanPoint"]) + "\"}," +
//"\"FConfirmerId\":{\"FUserID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmerId"]) + "\"}," +
//"\"FConfirmDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmDate"]) + "\"," +
//"\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
//"\"FCDateOffsetUnit\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetUnit"]) + "\", " +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
"\"FACCEPTORCONTACTID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTORCONTACTID"]) + "\"}," +
//"F_QIMB_PrintTimes": 0,
//"F_QIMB_PrintDateTime": "1900-01-01",
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FACCEPTORADDRESS\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTORADDRESS"]) + "\", " +
//"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandOrgId"]) + "\"}, " +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSUPPLIERID"]) + "\"}, " +
//"\"FSupplyAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyAddress"]) + "\"," +
"\"FPURMRBFIN\":{\"FSETTLEORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLEORGID"]) + "\"}," +
"\"FPAYORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPAYORGID"]) + "\"}," +
"\"FSETTLETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLETYPEID"]) + "\"}, " +
"\"FSETTLECURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSETTLECURRID"]) + "\"}," +
"\"FPAYCONDITIONID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPAYCONDITIONID"]) + "\"}," +
"\"FISINCLUDEDTAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISINCLUDEDTAX"]) + "," +
"\"FPriceTimePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "\"," +
//"\"FPriceListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceListId"]) + "\"}," +
//"\"FDiscountListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDiscountListId"]) + "\"}," +
"\"FLOCALCURRID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOCALCURRID"]) + "\"}," +
"\"FEXCHANGETYPEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGETYPEID"]) + "\"}," +
"\"FEXCHANGERATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FEXCHANGERATE"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "" +
" }, \"FPURMRBENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FVAT = "";
string sJson_FSELLERWITHHOLDING = "";
string sJson_FBUYERWITHHOLDING = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用 仓位
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) == "")//增值税
{
sJson_FVAT = "";
}
else
{
sJson_FVAT = ",\"FVAT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) == "")//卖方代扣代缴
{
sJson_FSELLERWITHHOLDING = "";
}
else
{
sJson_FSELLERWITHHOLDING = ",\"FSELLERWITHHOLDING\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSELLERWITHHOLDING"]) + "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) == "")//买方代扣代缴
{
sJson_FBUYERWITHHOLDING = "";
}
else
{
sJson_FBUYERWITHHOLDING = ",\"FBUYERWITHHOLDING\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBUYERWITHHOLDING"]) + "";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "," +
"\"FROWTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FROWTYPE"]) + "\"," +
"\"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}, " +
"\"FMATERIALDESC\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALDESC"]) + "\"," +
"\"FPARENTMATID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPARENTMATID"]) + "\"}," +
//"\"FProjectNo\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
"\"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
"\"FRMREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMREALQTY"]) + "," +
"\"FREPLENISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREPLENISHQTY"]) + "," +
"\"FKEAPAMTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEAPAMTQTY"]) + "," +
"\"FPRICEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEUNITID"]) + "\"}," +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
sJson_StockPlace +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
"\"FNote\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNote"]) + "\"," +
"\"FTAXCOMBINATION\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXCOMBINATION"]) + "\"}," +
"\"FPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICE"]) + ", " +
"\"FEXTAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXTAUXUNITID"]) + "\"}," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FREQTRACENO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQTRACENO"]) + "\"," +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
"\"FGIVEAWAY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGIVEAWAY"]) + "," +
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
//"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FCARRYUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCARRYUNITID"]) + "\"}," +
"\"FCarryQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryQty"]) + "," +
"\"FCarryBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryBaseQty"]) + "," +
"\"FPOORDERENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERENTRYID"]) + ", " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FPRICELISTENTRY\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICELISTENTRY"]) + "\"}," +
//"FAuxPropID": {},
"\"FRMMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMMUSTQTY"]) + "," +
"\"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
"\"FSUPPLIERLOT\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSUPPLIERLOT"]) + "\"," +
sJson_BatchNo +
//"\"FProduceDate\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," +
//"\"FExpiryDate\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
//"FOWNERTYPEID": "",
//"FOWNERID": {"FNumber": ""},
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
"\"FDISCOUNTRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDISCOUNTRATE"]) + "," +
"\"FTAXPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXPRICE"]) + "," +
"\"FPRICEDISCOUNT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICEDISCOUNT"]) + "," +
"\"FIsStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsStock"]) + "," +
//"\"FChargeProjectID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FChargeProjectID"]) + "\"}," +
"\"FMTONO\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
"\"FPRILSTENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRILSTENTRYID"]) + "," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FCOSTPRICE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTPRICE"]) + "," +
"\"FPRICECOEFFICIENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICECOEFFICIENT"]) + "," +
"\"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," +
"\"FAUXUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXUNITID"]) + "\"}," +
"\"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
"\"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"} , " +
"\"FPOREQUIREORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOREQUIREORGID"]) + "\"}," +
"\"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
"\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
"\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
"\"FSRCBIZUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
"\"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
//"\"FEntryPruCost\": [ { " +
// //"FDetailID": 0
//" } ]," +
"\"FTaxDetailSubEntity\": [ { " +
//"FDetailID": 0,
"\"FTAXRATEID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATEID"]) + "\"}," +
"\"FTAXRATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXRATE"]) + "," +
"\"FTAXAMOUNT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTAXAMOUNT"]) + "," +
"\"FCOSTPERCENT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTPERCENT"]) + "," +
"\"FCOSTAMOUNT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTAMOUNT"]) + "" +
sJson_FVAT +
sJson_FSELLERWITHHOLDING +
sJson_FBUYERWITHHOLDING +
" } ]," +
//"\"FSerialSubEntity\": [ { " +
// //"FDetailID": 0,
// //"FSerialNo": "",
// //"FSerialNote": ""
//" } ]," +
"\"FPURMRBENTRY_Link\": [ { " +
"\"FPURMRBENTRY_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURMRBENTRY_Link_FRuleId"]) + "\"," +
"\"FPURMRBENTRY_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURMRBENTRY_Link_FSTableName"]) + "\"," +
"\"FPURMRBENTRY_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURMRBENTRY_Link_FSBillId"]) + "\"," +
"\"FPURMRBENTRY_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURMRBENTRY_Link_FSId"]) + "\"" +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成外购退料单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PUR_MRB", sJson });
if (oSystemParameterMain.Kf_POStockInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PUR_MRB", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PUR_MRB", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成外购退料单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成外购退料单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成外购退料单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
//采购退料
private bool SavePOStockInBackBill_CLD(Model.ClsKf_POStockInBackBillMain_CLD oMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBackBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBackBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
//string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"Model\": { \"FID\":\"0\", \"FBILLNO\":\"" + oMain.HBillNo + "\", \"FStockOrgId\":{\"FNumber\":\"201\"}, " +
// "\"FPRDORGID\":{\"FNumber\":\"201\"}, \"FBillType\": {\"FNumber\":\"SCLLD01_SYS\" " +
// " }, \"FEntity\": [ ";
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"Model\":{\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillTypeID"]) + "\"}," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FMRTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRTYPE"]) + "\", " +
"\"FMRMODE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRMODE"]) + "\", " +
"\"FMRDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRDeptId"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FRequireOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FDESCRIPTION\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDESCRIPTION"]) + "\"}," +
"\"FACCEPTORID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FACCEPTORID"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}, " +
"\"FMRREASON\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMRREASON"]) + "\"}, " +
"\"FAcceptAddress\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptAddress"]) + "\"}, " +
"\"FDemandOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FCorrespondOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FPurchaseDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseDeptId"]) + "\"}, " +
"\"FPurchaserGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserGroupId"]) + "\"}," +
"\"FPurchaserId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}, " +
"\"FSupplyAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyAddress"]) + "\"," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FChargeId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\", " +
"\"FOwnerIdHead\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FScanPoint\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanPoint"]) + "\"}," +
"\"FConfirmerId\":{\"FUserID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmerId"]) + "\"}," +
"\"FConfirmDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConfirmDate"]) + "\"," +
"\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
"\"FCDateOffsetUnit\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetUnit"]) + "\", " +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
"\"FPURMRBFIN\":{\"FSettleOrgId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0][" FPURMRBFIN"]) + "," +
"\"FAcceptorContactID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FAcceptorContactID"]) + "," +
"\"FProviderContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProviderContactID"]) + "\"}," +
"\"FInStockFin\":{\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSettleTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleTypeId"]) + "\"}, " +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "\"," +
"\"FPriceListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceListId"]) + "\"}," +
"\"FDiscountListId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDiscountListId"]) + "\"}," +
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "" +
" }, \"FPURMRBENTRY\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FWWInType\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWWInType"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}, " +
"\"FMaterialDesc\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialDesc"]) + "\"}, " +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + ", " +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
"\"FDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDisPriceQty"]) + ", " +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FRECEIVESTOCKSTATUS\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRECEIVESTOCKSTATUS"]) + "\"}," +
"\"fpoorderentryid\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["fpoorderentryid"]) + ", " +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FORDERNO"]) + "\"," +
"\"FPOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERNO"]) + "\", " +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
"\"FNote\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNote"]) + "," +
"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + ", " +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + ", " +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}, " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," +
"\"FREMAININSTOCKBASEQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTYOLD"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
"\"FCostPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "," +
"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
"\"FSupplierLot\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "," +
"\"FExpiryDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
"\"FBASEREPLAYQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREPLAYQTY"]) + "," +
"\"FREPLENISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREPLENISHQTY"]) + "," +
"\"FKEAPAMTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEAPAMTQTY"]) + "," +
"\"FSTOCKID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "," +
"\"FStockStatusId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "," +
"\"FREQTRACENO\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQTRACENO"]) + "," +
"\"FChargeProjectID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FChargeProjectID"]) + "," +
"\"FCarryUnitId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryUnitId"]) + "," +
"\"FCarryQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryQty"]) + "," +
"\"FCarryBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCarryBaseQty"]) + "," +
"\"FPriceListEntry\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceListEntry"]) + "," +
"\"FRMMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMMUSTQTY"]) + "," +
"\"FRMREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRMREALQTY"]) + "," +
"\"FIsStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsStock"]) + "," +
"\"FBeforeDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBeforeDisPriceQty"]) + ", " +
"\"FInStockEntry_Link\": [ { " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSBillId"]) + " , " +
"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + " " +
" } ] }, ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//生成 入库单 1个物料1单
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, Pub_Class.ClsPub.sCLOUDUseName, Pub_Class.ClsPub.sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PUR_MRB", sJson });
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PUR_MRB", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PUR_MRB", sJson3 });
string HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成采购退料单失败!" + HReturn;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "生成采购退料失败!登录失败!";
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成采购退料失败!" + e.Message;
return false;
}
}
#endregion
#region 外购入库 *旧
//生成外购入库单
[WebMethod]
public bool set_SavePOStockInBill(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg)==false)
{
sErrMsg ="获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_POStockInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_POStockInBill dal = new DAL.ClsKf_POStockInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "1103") //收料通知单
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else if (sHSourceType == "1102") //采购订单
{
if (dal.AddBill_PDA_POOrder(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_POStockInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SavePOStockInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存外购入库单失败!" + sErrMsg;
return false;
}
//核对生单外购入库单K3
[WebMethod]
public bool set_CheckAddPOStockInBill(Model.ClsKf_POStockInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_POStockInBill_K3 dal = new DAL.ClsKf_POStockInBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
//if (dal.CheckAddBill_PDA(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
// //"保存失败!";
// return false;
//}
return false;
}
}
//核对外购入库单K3
[WebMethod]
public bool set_CheckPOStockInBill(Model.ClsKf_POStockInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_POStockInBill_K3 dal = new DAL.ClsKf_POStockInBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核外购入库单K3
[WebMethod]
public bool set_AuditPOStockInBill(Model.ClsKf_POStockInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_POStockInBill_K3 dal = new DAL.ClsKf_POStockInBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 外购入库 *
//生成外购入库单
[WebMethod]
public bool set_SavePOStockInBill_New(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_POStockInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SavePOStockInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_POStockInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (oSystemParameter.omodel.WMS_CampanyName == "卓力" || oSystemParameter.omodel.WMS_CampanyName == "韩电" || oSystemParameter.omodel.WMS_CampanyName == "四维尔" || oSystemParameter.omodel.WMS_CampanyName == "雅琪诺") //系统参数 客户定制化名称 空白为通用
{
if (set_SavePOStockInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (set_SavePOStockInBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
sErrMsg = "保存外购入库单失败!" + sErrMsg;
return false;
}
#endregion
#region 外购入库K3 *
///
/// 生成外购入库单K3
///
///
///
///
public bool SavePOStockInBill_K3(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_POStockInBill dal = new DAL.ClsKf_POStockInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1201','1201'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1102") //采购订单
{
oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_POOrder_New " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1103") //收料通知单
{
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToPOStockIn_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_POInStock_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_POStockInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成外购入库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 外购入库CLOUD *New
//生成外购入库单
[WebMethod]
public bool set_SavePOStockInBill_CLD_New(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1103") //收料通知单
{
if (SavePOStockInBill_POInStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
//else if (sHSourceType == "1102") //采购订单
//{
// if (SavePOStockInBill_POOrder_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
// {
// //"保存成功!";
// sErrMsg = "保存成功!" + oMain.HBillNo;
// return true;
// }
// else
// {
// //"保存失败!";
// sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
// return false;
// }
//}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 外购入库单 (源单:收料通知单)
///
///
///
///
public bool SavePOStockInBill_POInStock_CLD(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1201','1201'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToPOStockIn_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_POInStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_POInStock_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Custom = ""; //自定义字段
if (oSystemParameterMain.WMS_CampanyName == "圣龙") //系统参数 客户定制化名称
{
sJson_Custom = "\"F_PAEZ_Combo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_PAEZ_Combo"]) + "\", "; //送货单号
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
//\"FBillNo\":\"\",
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandOrgId"]) + "\"}," +
"\"FCorrespondOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCorrespondOrgId"]) + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseOrgId"]) + "\"}," +
"\"FPurchaseDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseDeptId"]) + "\"}," +
"\"FPurchaserGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserGroupId"]) + "\"}," +
"\"FPurchaserId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSupplyAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyAddress"]) + "\"," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FChargeId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
//\"FConfirmerId\":{\"FUserID\":\"\"},
//\"FConfirmDate\":\"1900-01-01\",
//\"FScanBox\":\"\",
//\"FCDateOffsetUnit\":\"\",
//\"FCDateOffsetValue\":\"0\",
"\"FProviderContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProviderContactID"]) + "\"}," +
"\"FDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeliveryBill"]) + "\"," +
"\"FTakeDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTakeDeliveryBill"]) + "\"," +
"\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
"\"FInStockFin\":{" +
//\"FEntryId\":\"0\",
"\"FPayOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayOrgId"]) + "\"}," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSettleTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleTypeId"]) + "\"}," +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "\"," +
//\"FPriceListId\":{\"FNumber\":\"\"},
//\"FDiscountListId\":{\"FNumber\":\"\"},
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
"\"FInStockEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_Entry = sJson_Entry + "{" +
//{\"FEntryID\":\"0\",
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
//\"FWWInType\":\"\",
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + "," +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
sJson_BatchNo +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
//\"FDisPriceQty\":\"0\",
sJson_StockPlace +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
//\"FMtoNo\":\"\",
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
//\"FNote\":\"\",
"\"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
"\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + "," +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
//\"FInvoicedJoinQty\":\"0\",
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
//\"FSetPriceUnitID\":{\"FNumber\":\"\"},
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}," +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + "," +
"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
//\"FCostPrice\":\"0\",
"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
"\"FSupplierLot\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "\"," +
"\"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
//\"FBeforeDisPriceQty\":\"0\",
"\"FReqTraceNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqTraceNo"]) + "\"," +
"\"FPriceCoefficient\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceCoefficient"]) + "," +
"\"FPriceUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitQty"]) + "," +
"\"FBaseUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitID"]) + "\"}," +
"\"FAuxUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitID"]) + "\" }," +
"\"FPOOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderNo"]) + "\"," +
"\"FReceiveStockStatus\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveStockStatus"]) + "\"}," +
"\"FSRCBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBillNo"]) + "\"," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperID"]) + "\"}," +
"\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
"\"FReceiveOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveOwnerTypeId"]) + "\"," +
"\"FReceiveOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveOwnerId"]) + "\"}," +
"\"FReceiveStockID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveStockID"]) + "\"}," +
"\"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
"\"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
"\"FReceiveMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveMtoNo"]) + "\"," +
"\"FSRCBIZUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
"\"FPOORDERENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERENTRYID"]) + "," +
"\"FPriceListEntry\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceListEntry"]) + "\"}," +
"\"FBaseUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitQty"]) + "," +
"\"FMustQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "," +
"\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
"\"FStockBaseDen\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockBaseDen"]) + "," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
//\"FEntryPruCost\":[{\"FDetailID\":\"0\"}],
"\"FTaxDetailSubEntity\":[{" +
//\"FDetailID\":\"0\",
"\"FTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxRate"]) + "," +
"\"FTaxAmount\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxAmount"]) + "," +
"\"FTaxRateId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxRateId"]) + "\" }," +
"\"FCostPercent\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPercent"]) + "," +
"\"FTaxCostAmount\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCostAmount"]) + "," +
"\"FVAT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "\"," +
"\"FSellerWithholding\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSellerWithholding"]) + "\"," +
"\"FBuyerWithholding\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBuyerWithholding"]) + "\"" +
" } ]," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
" \"FInStockEntry_Link\": [ { " +
" \"FInStockEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FInStockEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FInStockEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FInStockEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FInStockEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLowId"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成采购入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_InStock", sJson });
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_InStock", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_InStock", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成采购入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成采购入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成采购入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 外购入库CLOUD *
//生成外购入库单
[WebMethod]
public bool set_SavePOStockInBill_CLD(Model.ClsKf_POStockInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1103") //收料通知单
{
if (SavePOStockInBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "1102") //采购订单
{
if (SavePOStockInBill_POOrder_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 外购入库单 (源单:收料通知单)
///
///
///
///
public bool SavePOStockInBill_CLD(Model.ClsKf_POStockInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS外购入库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1201','1201'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Cg_UpDatePOInStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Custom = ""; //自定义字段
if (oSystemParameterMain.WMS_CampanyName == "圣龙") //系统参数 客户定制化名称
{
sJson_Custom = "\"F_PAEZ_Combo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_PAEZ_Combo"]) + "\", "; //送货单号
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"Model\":{" +
//\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
//"\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
// "\"FDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPURCHASEDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASEDEPTID"]) + "\"}," +
"\"FPURCHASERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASERID"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\", " +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
sJson_Custom +
"\"FInStockFin\":{\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "," +
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "" +
//"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + " " +
" }, \"FInStockEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FWWInType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWWInType"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
sJson_FAUXPROPID +
"\"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FMUSTQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQty"]) + "\", " +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + ", " +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
//"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
sJson_BatchNo +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
//"\"FDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDisPriceQty"]) + ", " +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FRECEIVESTOCKSTATUS\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRECEIVESTOCKSTATUS"]) + "\"}," +
"\"fpoorderentryid\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["fpoorderentryid"]) + ", " +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FPOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERNO"]) + "\"," +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
//"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
"\"FNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNote"]) + "\"," +
//"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + ", " +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
//"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
//"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
//"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + ", " +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
//"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
//"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}, " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
//"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
//"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
//"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
//"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," +
//"\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
//"\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
//"\"FREMAININSTOCKBASEQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTYOLD"]) + "," +
"\"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
"\"FREMAININSTOCKBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTY"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
//"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
//"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
//"\"FCostPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "," +
//"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
//"\"FSupplierLot\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "," +
//"\"FExpiryDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "," +
//"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
// "\"FBeforeDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBeforeDisPriceQty"]) + ", " +
"\"FPRICELISTENTRY\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRICELISTENTRY"]) + "\"}," +
"\"FInStockEntry_Link\": [ { " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSTableName"]) + "\" , " +
"\"FInStockEntry_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSBillId"]) + " , " +
"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + " " +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成采购入库单 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_InStock", sJson });
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_InStock", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_InStock", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成采购入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成采购入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成采购入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 外购入库单 (源单:采购订单)
///
///
///
///
public bool SavePOStockInBill_POOrder_CLD(Model.ClsKf_POStockInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS外购入库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_POStockInBillSub_Insert_POOrder " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1201','1201'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Kf_UpDatePOOrderRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInPOOrderBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInPOOrderBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Custom = ""; //自定义字段
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称
{
sJson_Custom = "\"FDELIVERYBILL\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDELIVERYBILL"]) + "\", "; //送货单号
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{" +
//"\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDEMANDORGID"]) + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASEORGID"]) + "\"}," +
"\"FPurchaseDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASEDEPTID"]) + "\"}," +
"\"FPURCHASERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPURCHASERID"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
sJson_Custom +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\", " +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERIDHead"]) + "\"}," +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
"\"FInStockFin\":{\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "," +
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "" +
" }, \"FInStockEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用 仓位
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FWWInType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWWInType"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FMUSTQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "\", " +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + ", " +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
//"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
sJson_BatchNo +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
"\"FDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDisPriceQty"]) + ", " +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FRECEIVESTOCKSTATUS\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRECEIVESTOCKSTATUS"]) + "\"}," +
"\"fpoorderentryid\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["fpoorderentryid"]) + ", " +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FPOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERNO"]) + "\"," +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
"\"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
"\"FNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNote"]) + "\"," +
"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + ", " +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
"\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + ", " +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}, " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
//"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," +
//"\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
//"\"FSTOCKBASEDEN\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKBASEDEN"]) + "," +
//"\"FREMAININSTOCKBASEQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTYOLD"]) + "," +
"\"FBASEUNITQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTY"]) + "," +
"\"FREMAININSTOCKBASEQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTY"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
"\"FCostPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "," +
"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
"\"FSupplierLot\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "," +
"\"FExpiryDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
"\"FBeforeDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBeforeDisPriceQty"]) + ", " +
"\"FInStockEntry_Link\": [ { " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSTableName"]) + "\" , " +
"\"FInStockEntry_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSBillId"]) + " , " +
"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + " " +
" } ] } ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成采购入库单 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_InStock", sJson });
if (oSystemParameterMain.Kf_POStockInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_InStock", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_InStock", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成采购入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成采购入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成采购入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 产品入库CLOUD 多源单
//生产订单扫码记录列表 调用
[WebMethod]
public bool set_SaveProductInBill_Caiji_CLD(Model.ClsKf_ProductInBillMain oMain, ref string sHBillNo, ref string sErrMsg)
{
sHBillNo = oMain.HBillNo;
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (SaveProductInBill_MulSource_CLD(oMain, oSystemParameter.omodel, ref sHBillNo, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + sHBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
sErrMsg = "同步模式设置错误,保存产品入库单失败!" + sErrMsg;
return false;
}
//生成产品入库单 多源单
[WebMethod]
public bool set_SaveProductInBill_MulSource_CLD(Model.ClsKf_ProductInBillMain oMain, ref string sHBillNo, ref string sErrMsg)
{
sHBillNo = oMain.HBillNo;
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//上传前判断是否存在相同条码
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_UpLoadControl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_UpLoadControl");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//产品入库单保存前进行倒冲仓负库存控制
DataSet ds2 = oCn.RunProcReturn("exec h_p_IFCLD_CheckDaochong_Handian " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "'", "h_p_IFCLD_CheckDaochong_Handian");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "产品入库单保存前进行倒冲仓负库存控制发生错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) == 2)
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
return false;
}
}
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (SaveProductInBill_MulSource_CLD(oMain, oSystemParameter.omodel, ref sHBillNo, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + sHBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
sErrMsg = "同步模式设置错误,保存产品入库单失败!" + sErrMsg;
return false;
}
///
/// 产品入库单 多源单
///
///
///
///
public bool SaveProductInBill_MulSource_CLD(Model.ClsKf_ProductInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sHBillNo, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
string sJson_Main_PL = "";
string sJson_Model_PL = "";
string sJson_Entry_PL = "";
string sJson_End_PL = "";
string HBillNo_PL = "";
string HBillNo = "";
long HOrgID = 0;
DataSet Ds;
DataSet Ds1;
//写入WMS产品入库单
oCn.BeginTran();
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateICMORelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据单据ID获取扫描的组织有哪几个
string tt = "";
Ds1 = oCn.RunProcReturn("exec h_p_Kf_GetOrgIDByTemp_CLD " + oMain.HInterID.ToString(), "h_p_Kf_GetOrgIDByTemp_CLD");
if (Ds1 == null || Ds1.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
sJson_Main_PL = "{\"NumberSearch\":\"true\",\"ValidateFlag\":\"true\",\"IsDeleteEntry\":\"true\"," +
"\"IsEntryBatchFill\":\"false\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[], \"SubSystemId\": \"\"," +
"\"InterationFlags\": \"\",\"IsAutoSubmitAndAudit\":\"false\", \"Model\":[";
for (int y = 0; y < Ds1.Tables[0].Rows.Count; y++)
{
HOrgID = Pub_Class.ClsPub.isLong(Ds1.Tables[0].Rows[y][0]);
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBillByOrgID_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + HOrgID.ToString(), "h_p_Kf_GetProductInBillByOrgID_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
continue;
//return false;
}
else
{
if (sJson_Model_PL != "")
{
sJson_Model_PL = sJson_Model_PL + ",";
}
int s = y + 1;
HBillNo = oMain.HBillNo + "-" + s;
sJson_Model_PL = sJson_Model_PL + "{ \"FBILLNO\":\"" + HBillNo + "\"," +
/*\"FID\":\"" + oMain.HInterID.ToString() + "\"," +*/
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HStockORGID"]) + "\"}, " +
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HPRDORGID"]) + "\"}, " +
"\"FOwnerId0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOWNERID"]) + "\"}," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBillType\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" " +
" }, \"FEntity\": [ ";
sJson_Entry_PL = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry_PL != "")
{
sJson_Entry_PL = sJson_Entry_PL + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_Custom = ""; //韩电
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用 仓位
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_Custom = "\"F_QOUL_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT"]) + "\"," + //销售订单号
"\"F_QOUL_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT"]) + "\"," + //销售订单号
"\"F_QOUL_ASSISTANT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_ASSISTANT"]) + "\"},"; //产品等级
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
sJson_Entry_PL = sJson_Entry_PL + " { \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HOWNERID"]) + "\"}," +
// "\"FSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSEQ"]) + "\", " +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"} , " +
" \"FMOBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\" , " +
" \"FMOID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "\" , " +
" \"FMOENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + " , " +
" \"FMOENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "\" , " +
// " \"F_PAEZ_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_TEXT"]) + "\", " +
" \"FSRCBILLTYPE\" : \"PRD_MO\" , \"FSRCBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\" , " +
" \"FSRCINTERID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "\" , " +
" \"FSRCENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + " , " +
" \"FSRCENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "\" , " +
" \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"} , " +
" \"FInStockType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockType"]) + "\"," +
" \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}," +
" \"FUNITID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FBASEUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"} , " +
" \"FSTOCKID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}, " +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
" \"FPRODUCTTYPE\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\" , " +
" \"FMUSTQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQty"]) + "\", " +
" \"FRealQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "\", " +
" \"FCOSTRATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTRATE"]) + "\", " +
sJson_BatchNo +
//"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
" \"FMOMAINENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "\" , " +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\" , " +
" \"FREQBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "\" , " +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\" , " +
" \"FREQENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "\" , " +
" \"FREQENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "\" , " +
sJson_Custom +
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\" , " +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\" , " +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\" , " +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\" , " +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\" , " +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HICMOEntryID"]) + "\" " +
" } ]} ";
}
sJson_Entry_PL = sJson_Entry_PL + "]}";
sJson_Model_PL = sJson_Model_PL + sJson_Entry_PL;
//单据号
if (HBillNo_PL != "")
{
HBillNo_PL = HBillNo_PL + " , ";
}
HBillNo_PL = HBillNo_PL + "'" + HBillNo + "'";
}
sHBillNo = HBillNo_PL;
///////////////////
}
sJson_End_PL = " ], \"BatchCount\":\"0\"}";
string sJson = sJson_Main_PL + sJson_Model_PL + sJson_End_PL;
tt = tt + HBillNo_PL + "----";
//
//生成 入库单
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.BatchSave",
new object[] { "PRD_INSTOCK", sJson }); //调用保存方式
////生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn_MulICMO '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[" + HBillNo_PL + "]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_INSTOCK", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[" + HBillNo_PL + "]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_INSTOCK", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = sErrMsg + "产品入库单失败!" + HReturn + "999" + tt + "888" + sJson;
oCn.RollBack();
return false;
}
else
{
sErrMsg = sErrMsg + "999" + tt + "888" + HReturn;
oCn.Commit();
return true;
}
}
else
{
sErrMsg = sErrMsg + "产品入库单失败!登录失败!";
oCn.RollBack();
return false;
}
sErrMsg = sErrMsg + "999" + tt + "888" + HReturn;
return true;
}
}
catch (Exception e)
{
sErrMsg = sErrMsg + "产品入库单失败!" + e.Message;
return false;
}
}
#endregion
#region 产品入库核对CLOUD
//生成产品入库单
[WebMethod]
public bool set_CheckProductInBill_CLD(Model.ClsKf_ProductInBillMain_CLD oMain, string sHSourceType, ref string sErrMsg)
{
if (CheckProductInBill_CLD(oMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
///
/// 产品入库单
///
///
///
///
public bool CheckProductInBill_CLD(Model.ClsKf_ProductInBillMain_CLD oMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_CheckProductInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[], \"IsEntryBatchFill\": \"false\", \"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
/*\"FID\":\"" + oMain.HInterID.ToString() + "\"," +*/
"\"FStockOrgId\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}, " +
"\"FPRDORGID\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}, " +
"\"FOwnerId0\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
"\"FBillType\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" " +
" }, \"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
sJson_Entry = sJson_Entry + " { \"FOWNERID\":{\"FNumber\":\"" + oMain.HORGANIZATIONSNO.ToString() + "\"}," +
// "\"FSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSEQ"]) + "\", " +
" \"FMOBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\" , " +
" \"FMOID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "\" , " +
" \"FMOENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + " , " +
" \"FMOENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "\" , " +
// " \"F_PAEZ_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_TEXT"]) + "\", " +
" \"FSRCBILLTYPE\" : \"PRD_MO\" , \"FSRCBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\" , " +
" \"FSRCINTERID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "\" , " +
" \"FSRCENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + " , " +
" \"FSRCENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "\" , " +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"} , " +
" \"FWORKSHOPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}," +
" \"FUNITID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FBASEUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"} , " +
" \"FSTOCKID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}, " +
"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
" \"FPRODUCTTYPE\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\" , " +
" \"FMUSTQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQty"]) + "\", " +
" \"FRealQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "\", " +
sJson_BatchNo +
//"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
" \"FMOMAINENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "\" , " +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\" , " +
" \"FREQBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "\" , " +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\" , " +
" \"FREQENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "\" , " +
" \"FREQENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "\" , " +
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\" , " +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\" , " +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\" , " +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\" , " +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\" , " +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HICMOEntryID"]) + "\" " +
" } ] } ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_INSTOCK", sJson });
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_INSTOCK", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_INSTOCK", sJson3 });
string HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "产品入库单失败!" + HReturn + sJson;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "产品入库单失败!登录失败!";
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "产品入库单失败!" + e.Message;
return false;
}
}
#endregion
#region 产品退库 产品入库(红字) *旧
//生成产品退库单
[WebMethod]
public bool set_SaveProductInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_ProductInBackBill dal = new DAL.ClsKf_ProductInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存产品退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 产品退库 产品入库(红字) *
//生成产品退库单
[WebMethod]
public bool set_SaveProductInBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveProductInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_ProductInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存产品退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 产品退库K3 产品入库(红字) *
///
/// 生成产品退库单K3
///
///
///
///
public bool SaveProductInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_ProductInBackBill dal = new DAL.ClsKf_ProductInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1245','1245'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3710") //生产任务单-退库
{
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData_ICMO " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1202") //产品入库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_ProductInToProductInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_ProductInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_ProductInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成产品退库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 产品入库 *旧
//生成产品入库单
[WebMethod]
public bool set_SaveProductInBill(Model.ClsKf_ProductInBillMain oMain, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
//
DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
if (dal.AddBill_PDA_Red(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveProductInBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存产品入库单失败!" + sErrMsg;
return false;
}
//核对生单产品入库单K3
[WebMethod]
public bool set_CheckAddProductInBill(Model.ClsKf_ProductInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_ProductInBill_K3 dal = new DAL.ClsKf_ProductInBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
//if (dal.CheckAddBill_RedPDA(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
// //"保存失败!";
// return false;
//}
return false;
}
else
{
if (dal.CheckAddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
//核对产品入库单K3
[WebMethod]
public bool set_CheckProductInBill(Model.ClsKf_ProductInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_ProductInBill_K3 dal = new DAL.ClsKf_ProductInBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核产品入库单K3
[WebMethod]
public bool set_AuditProductInBill(Model.ClsKf_ProductInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_ProductInBill_K3 dal = new DAL.ClsKf_ProductInBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//每个条码只能进行一次产品入库,如果入库单删除,则可以进行再次入库
///
/// 每个条码只能进行一次产品入库,如果入库单删除,则可以进行再次入库
///
/// 过滤条件
///
[WebMethod]
public DataSet GetProductInBill(string HBarCode, string sWhere)
{
DAL.ClsKf_ProductInBill_K3 dal = new DAL.ClsKf_ProductInBill_K3();
return dal.GetInfoByHBarCode(HBarCode, sWhere);
}
#endregion
#region 产品入库 *
//生成产品入库单
[WebMethod]
public bool set_SaveProductInBill_New(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveProductInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_ProductInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (oSystemParameter.omodel.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
if (set_SaveProductInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (set_SaveProductInBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
sErrMsg = "保存产品入库单失败!" + sErrMsg;
return false;
}
#endregion
#region 产品入库K3 *
///
/// 生成产品入库单K3
///
///
///
///
public bool SaveProductInBill_K3(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_ProductInBill dal = new DAL.ClsKf_ProductInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "3710") //生产任务单
{
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateBillRelateData_ICMO_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_ProductInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成产品入库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 产品入库CLOUD *New
//生成生产入库单
[WebMethod]
public bool set_SaveProductInBill_CLD_New(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
//上传前判断是否存在相同条码
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_UpLoadControl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_UpLoadControl");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
if (sHSourceType == "3710") //生产订单
{
//产品入库单保存前进行倒冲仓负库存控制
DataSet ds2 = oCn.RunProcReturn("exec h_p_IFCLD_CheckDaochong_Handian " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "'", "h_p_IFCLD_CheckDaochong_Handian");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "产品入库单保存前进行倒冲仓负库存控制发生错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) == 2)
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
return false;
}
}
if (SaveProductInBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "3711") //生产汇报单
{
if (SaveProductInBill_ICMOReport_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 生产入库单 源单:生产订单
///
///
///
///
public bool SaveProductInBill_ICMO_CLD(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMO_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
"\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
//\"FStockId0\":{\"FNumber\":\"\"},
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPRDORGID"]) + "\"}," +
//\"FWorkShopId\":{\"FNumber\":\"\"},
"\"FOWNERTYPEID0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEID0"]) + "\"," +
"\"FOWNERID0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERID0"]) + "\"}," +
//\"FSTOCKERID\":{\"FNAME\":\"\"},
//\"FDescription\":\"\",
"\"FISENTRUST\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISENTRUST"]) + "," +
//\"FCurrId\":{\"FNumber\":\"\"},
//\"FEntrustInStockId\":\"0\",
//\"FScanBox\":\"\",
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_EntryCustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"F_QOUL_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\"," + //销售订单号
"\"F_QOUL_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\"," + //销售订单号
"\"F_QOUL_ASSISTANT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_ASSISTANT"]) + "\"},"; //产品等级
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
" \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
" \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FCHECKPRODUCT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCHECKPRODUCT"]) + "," +
" \"FINSTOCKTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FINSTOCKTYPE"]) + "\"," +
" \"FPRODUCTTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\"," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQTY"]) + "," +
" \"FREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREALQTY"]) + "," +
" \"FCostRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTWEIGHT"]) + "," +
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
" \"FBASEREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREALQTY"]) + "," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
sJson_BatchNo +
" \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
//" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
" \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID1"]) + "\"}," +
//\"FShiftGroupId\":{\"FNumber\":\"\"},
" \"FMOBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\"," +
" \"FMOID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "," +
" \"FMOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "," +
" \"FMOENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "," +
//\"FMemo\":\"\",
" \"FSTOCKUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"}," +
" \"FSTOCKREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKREALQTY"]) + "," +
" \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," +
//\"FSecRealQty\":\"0\",
" \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
" \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
" \"FBASEPRDREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEPRDREALQTY"]) + "," +
//\"FIsFinished\":\"false\",
//\"FStockStatusId\":{\"FNumber\":\"\"},
" \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
" \"FMOMAINENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "," +
" \"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
" \"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," +
//\"FProduceDate\":\"1900-01-01\",
//\"FSelReStkQty\":\"0\",
//\"FExpiryDate\":\"1900-01-01\",
//\"FBaseSelReStkQty\":\"0\",
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
" \"FQAIP\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQAIP"]) + "\"," +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\"," +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\"," +
" \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," +
" \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," +
" \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," +
sJson_EntryCustom +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialId\":{\"FNumber\":\"\"},
//\"FSerialNote\":\"\"}]
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
" \"FEntity_Link_FBasePrdRealQtyOld\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQtyOld"]) + "," +
" \"FEntity_Link_FBasePrdRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQty"]) + "" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_INSTOCK", sJson }); //调用保存方式
//生成单据后更新自定义字段
oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn_ICMO '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_INSTOCK", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_INSTOCK", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成生产入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成生产入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成生产入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
///
/// 生产入库单 源单:生产汇报单
///
///
///
///
public bool SaveProductInBill_ICMOReport_CLD(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOReportToProductIn_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMOReport_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMOReport_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
"\"FBillType\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\"}," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FSTOCKORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKORGID"]) + "\"}," +
//\"FStockId0\":{\"FNumber\":\"\"},
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPRDORGID"]) + "\"}," +
//\"FWorkShopId\":{\"FNumber\":\"\"},
"\"FOWNERTYPEID0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERTYPEID0"]) + "\"," +
"\"FOWNERID0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOWNERID0"]) + "\"}," +
//\"FSTOCKERID\":{\"FNAME\":\"\"},
//\"FDescription\":\"\",
"\"FISENTRUST\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISENTRUST"]) + "," +
//\"FCurrId\":{\"FNumber\":\"\"},
//\"FEntrustInStockId\":\"0\",
//\"FScanBox\":\"\",
"\"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_EntryCustom = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
//仓位
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},";
}
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_EntryCustom = "\"F_QOUL_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\"," + //销售订单号
"\"F_QOUL_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\"," + //销售订单号
"\"F_QOUL_ASSISTANT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_ASSISTANT"]) + "\"},"; //产品等级
}
//
sJson_Entry = sJson_Entry + " {" +
//\"FEntryID\":\"0\",
" \"FSRCENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + "," +
" \"FIsNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsNew"]) + "," +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
" \"FCHECKPRODUCT\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCHECKPRODUCT"]) + "," +
" \"FINSTOCKTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FINSTOCKTYPE"]) + "\"," +
" \"FPRODUCTTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\"," +
" \"FUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQTY"]) + "," +
" \"FREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREALQTY"]) + "," +
" \"FCostRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTWEIGHT"]) + "," +
" \"FBASEUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"}," +
" \"FBASEMUSTQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEMUSTQTY"]) + "," +
" \"FBASEREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEREALQTY"]) + "," +
" \"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
" \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
" \"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
" \"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
sJson_BatchNo +
" \"FISBACKFLUSH\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISBACKFLUSH"]) + "," +
" \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}}," +
" \"FMTONO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "\"," +
" \"FPROJECTNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPROJECTNO"]) + "\"," +
" \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID1"]) + "\"}," +
" \"FSHIFTGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSHIFTGROUPID"]) + "\"}," +
" \"FMOBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\"," +
" \"FMOID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "," +
" \"FMOENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + "," +
" \"FMOENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "," +
//\"FMemo\":\"\",
" \"FSTOCKUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKUNITID"]) + "\"}," +
" \"FSTOCKREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKREALQTY"]) + "," +
" \"FSECUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSECUNITID"]) + "\"}," +
//\"FSecRealQty\":\"0\",
" \"FSRCBILLTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPE"]) + "\"," +
" \"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
" \"FSRCINTERID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "," +
" \"FBASEPRDREALQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEPRDREALQTY"]) + "," +
//\"FIsFinished\":\"false\",
//\"FStockStatusId\":{\"FNumber\":\"\"},
" \"FSRCENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "," +
" \"FMOMAINENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "," +
" \"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
" \"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}," +
" \"FPRODUCEDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "\"," +
//\"FSelReStkQty\":\"0\",
" \"FEXPIRYDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEXPIRYDATE"]) + "\"," +
//\"FBaseSelReStkQty\":\"0\",
" \"FSNUNITID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUNITID"]) + "\"}," +
" \"FQAIP\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQAIP"]) + "\"," +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\"," +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\"," +
" \"FREQBILLID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "," +
" \"FREQENTRYSEQ\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "," +
" \"FREQENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "," +
//" \"FQUAQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQUAQTY"]) + "," +
//" \"FBASEFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEFINISHQTY"]) + "," +
//" \"FFINISHQTY\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FFINISHQTY"]) + "," +
//" \"FINSTOCKTYPE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FINSTOCKTYPE"]) + "," +
sJson_EntryCustom +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialId\":{\"FNumber\":\"\"},
//\"FSerialNote\":\"\"}]
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
" \"FEntity_Link_FBasePrdRealQtyOld\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQtyOld"]) + "," +
" \"FEntity_Link_FBasePrdRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBasePrdRealQty"]) + "" +
" } ]," +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_INSTOCK", sJson }); //调用保存方式
////生成单据后更新自定义字段
//oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "'");
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_INSTOCK", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_INSTOCK", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成生产入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成生产入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成生产入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 产品入库CLOUD
//生成产品入库单
[WebMethod]
public bool set_SaveProductInBill_CLD(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
////上传前判断是否存在相同条码
//SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
//DataSet ds = oCn.RunProcReturn("exec h_p_WMS_UpLoadControl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_UpLoadControl");
//if (ds == null || ds.Tables[0].Rows.Count == 0)
//{
//}
//else
//{
// if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
//}
if (sHSourceType == "3710") //生产订单
{
if (SaveProductInBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else if (sHSourceType == "3711") //生产汇报单
{
if (SaveProductInBill_ICMOReport_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 产品入库单 源单:生产订单
///
///
///
///
public bool SaveProductInBill_CLD(Model.ClsKf_ProductInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //建立一个 事务;
try
{
DataSet Ds;
//写入WMS产品入库单
oCn.BeginTran();
//插入子表
oCn.RunProc("EXEC h_p_Kf_ProductInBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1202','1202'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Sc_UpDateICMORelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[], \"IsEntryBatchFill\": \"false\", \"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
/*\"FID\":\"" + oMain.HInterID.ToString() + "\"," +*/
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HStockORGID"]) + "\"}, " +
"\"FPRDORGID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HPRDORGID"]) + "\"}, " +
"\"FOwnerId0\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOWNERID"]) + "\"}," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FBillType\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" " +
" }, \"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_Custom = ""; //卓力
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用 仓位
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
sJson_Custom = " \"F_ZBH\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_ZBH"]) + "\" , " + //栈板数
" \"F_QIMB_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QIMB_TEXT"]) + "\" , " + //需求单号
" \"F_DDQTY\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_DDQTY"]) + "\", "; //订单数量
}
else if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_Custom = "\"F_QOUL_TEXT1\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_QOUL_TEXT1"]) + "\","; //销售订单号
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
//自定义字段处理
//
sJson_Entry = sJson_Entry + " { \"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HOWNERID"]) + "\"}," +
// "\"FSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSEQ"]) + "\", " +
" \"FBFLOWID\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLOWID"]) + "\"} , " +
" \"FMOBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOBILLNO"]) + "\" , " +
" \"FMOID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOID"]) + "\" , " +
" \"FMOENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYID"]) + " , " +
" \"FMOENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOENTRYSEQ"]) + "\" , " +
// " \"F_PAEZ_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["F_PAEZ_TEXT"]) + "\", " +
" \"FSRCBILLTYPE\" : \"PRD_MO\" , \"FSRCBILLNO\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\" , " +
" \"FSRCINTERID\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCINTERID"]) + "\" , " +
" \"FSRCENTRYID\" : " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYID"]) + " , " +
" \"FSRCENTRYSEQ\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCENTRYSEQ"]) + "\" , " +
" \"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"} , " +
" \"FWORKSHOPID1\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWORKSHOPID"]) + "\"}," +
" \"FUNITID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUNITID"]) + "\"}," +
" \"FBASEUNITID\" : {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITID"]) + "\"} , " +
" \"FSTOCKID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}, " +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
" \"FPRODUCTTYPE\" : \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCTTYPE"]) + "\" , " +
" \"FMUSTQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMUSTQty"]) + "\", " +
" \"FRealQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "\", " +
" \"FCOSTRATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCOSTRATE"]) + "\", " +
sJson_BatchNo +
//"\"FLot\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLot"]) + "\"}," +
" \"FMOMAINENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMOMAINENTRYID"]) + "\" , " +
" \"FREQSRC\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQSRC"]) + "\" , " +
" \"FREQBILLID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLID"]) + "\" , " +
" \"FREQBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQBILLNO"]) + "\" , " +
" \"FREQENTRYID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYID"]) + "\" , " +
" \"FREQENTRYSEQ\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREQENTRYSEQ"]) + "\" , " +
sJson_Custom +
" \"FEntity_Link\": [ { " +
" \"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\" , " +
" \"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\" , " +
" \"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\" , " +
" \"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\" , " +
" \"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\" , " +
" \"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HICMOEntryID"]) + "\" " +
" } ] } ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "PRD_INSTOCK", sJson }); //调用保存方式
if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PRD_INSTOCK", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PRD_INSTOCK", sJson3 }); //审核单据
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "产品入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "产品入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "产品入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 委外退库 委外入库(红字) *旧
//生成委外退库单
[WebMethod]
public bool set_SaveEntrustInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_EntrustInBackBill dal = new DAL.ClsKf_EntrustInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存委外退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外退库 委外入库(红字) *
//生成委外退库单
[WebMethod]
public bool set_SaveEntrustInBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveEntrustInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存委外退库单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外退库K3 委外入库(红字) *
///
/// 生成委外退库单K3
///
///
///
///
public bool SaveEntrustInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_EntrustInBackBill dal = new DAL.ClsKf_EntrustInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1246','1246'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1601") //委外订单-退库
{
oCn.RunProc("exec h_p_WW_UpDateRelation_EntrustOrderToEntrustInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_EntrustOrder " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1210") //委外入库单-蓝字
{
oCn.RunProc("exec h_p_Kf_UpDateRelation_EntrustInToEntrustInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_Blue " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1105") //退料通知单
{
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockBackToEntrustInBack_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData_POInStockBack " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_EntrustInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_EntrustInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成委外退库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 委外入库 *旧
//生成委外入库单
[WebMethod]
public bool set_SaveEntrustInBill(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_EntrustInBill dal = new DAL.ClsKf_EntrustInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
//if (dal.AddBill_PDA_Red_ByWWOrder(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
// //"保存失败!";
// return false;
//}
return false;
}
else
{
if (sHSourceType == "1103") //收料通知单
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else if (sHSourceType == "1601") //委外订单
{
if (dal.AddBill_PDA_ByWWOrder(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
return false;
}
}
}
if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveEntrustInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存委外入库单失败!" + sErrMsg;
return false;
}
//核对生单委外入库单K3
[WebMethod]
public bool set_CheckAddEntrustInBill(Model.ClsKf_EntrustInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustInBill_K3 dal = new DAL.ClsKf_EntrustInBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
//if (dal.CheckAddBill_PDA(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
// //"保存失败!";
// return false;
//}
return false;
}
}
//核对委外入库单K3
[WebMethod]
public bool set_CheckEntrustInBill(Model.ClsKf_EntrustInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustInBill_K3 dal = new DAL.ClsKf_EntrustInBill_K3();
dal.omodel = oMain;
if (dal.CheckBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核委外入库单K3
[WebMethod]
public bool set_AuditEntrustInBill(Model.ClsKf_EntrustInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_EntrustInBill_K3 dal = new DAL.ClsKf_EntrustInBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
////生成委外入库单K3
//[WebMethod]
//public bool set_SaveEntrustInBill(Model.ClsKf_EntrustInBillMain_K3 oMain, string sHSourceType, ref string sErrMsg)
//{
// DAL.ClsKf_EntrustInBill_K3 dal = new DAL.ClsKf_EntrustInBill_K3();
// dal.omodel = oMain;
// if (sHSourceType == "72") //判断源单类型
// {
// if (dal.AddBill_PDA(ref sErrMsg))
// {
// //"保存成功!";
// return true;
// }
// else
// {
// //"保存失败!";
// return false;
// }
// }
// else if (sHSourceType == "1007105")
// {
// if (oMain.HRedBlueFlag)
// {
// if (dal.AddBill_PDA_Red_ByWWOrder(ref sErrMsg))
// {
// //"保存成功!";
// return true;
// }
// else
// {
// //"保存失败!";
// return false;
// }
// }
// else
// {
// if (dal.AddBill_PDA_ByWWOrder(ref sErrMsg))
// {
// //"保存成功!";
// return true;
// }
// else
// {
// //"保存失败!";
// return false;
// }
// }
// }
// else
// {
// return false;
// }
//}
#endregion
#region 委外入库 *
//生成委外入库单
[WebMethod]
public bool set_SaveEntrustInBill_New(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveEntrustInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_EntrustInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
if (set_SaveEntrustInBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存委外入库单失败!" + sErrMsg;
return false;
}
#endregion
#region 委外入库K3 *
///
/// 生成委外入库单K3
///
///
///
///
public bool SaveEntrustInBill_K3(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_EntrustInBill dal = new DAL.ClsKf_EntrustInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HSupID == 0)
{
sErrMsg = "供应商没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1210','1210'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
if (sHSourceType == "1601") //委外订单
{
oCn.RunProc("exec h_p_WW_UpDateRelation_EntrustOrderToEntrustIn_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_EntrustOrder_New " + oMain.HInterID.ToString());
}
else if (sHSourceType == "1103") //收料通知单
{
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToEntrustIn_Add " + oMain.HInterID.ToString());
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_POInStock_New " + oMain.HInterID.ToString());
}
else //无源单
{
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
}
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_EntrustInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成委外入库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 委外入库CLOUD *New
//生成委外入库单
[WebMethod]
public bool set_SaveEntrustInBill_CLD_New(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1103") //收料通知单
{
if (SaveEntrustInBill_POInStock_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 委外入库单 (源单:收料通知单)
///
///
///
///
public bool SaveEntrustInBill_POInStock_CLD(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
oCn.BeginTran();
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1210','1210'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Cg_UpDateRelation_POInStockToEntrustIn_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
DataSet Ds;
Ds = oCn.RunProcReturn("exec h_p_Kf_GetPOStockInBill_POInStock_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetPOStockInBill_POInStock_CLD_New");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
"\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
"\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," +
//\"FID\":\"0\",
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
//\"FBillNo\":\"\",
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FStockerGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerGroupId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandOrgId"]) + "\"}," +
"\"FCorrespondOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCorrespondOrgId"]) + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseOrgId"]) + "\"}," +
"\"FPurchaseDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaseDeptId"]) + "\"}," +
"\"FPurchaserGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserGroupId"]) + "\"}," +
"\"FPurchaserId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPurchaserId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplierId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSupplyAddress\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyAddress"]) + "\"," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FChargeId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
//\"FConfirmerId\":{\"FUserID\":\"\"},
//\"FConfirmDate\":\"1900-01-01\",
//\"FScanBox\":\"\",
//\"FCDateOffsetUnit\":\"\",
//\"FCDateOffsetValue\":\"0\",
"\"FProviderContactID\":{\"FCONTACTNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProviderContactID"]) + "\"}," +
"\"FDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeliveryBill"]) + "\"," +
"\"FTakeDeliveryBill\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTakeDeliveryBill"]) + "\"," +
"\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
"\"FInStockFin\":{" +
//\"FEntryId\":\"0\",
"\"FPayOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayOrgId"]) + "\"}," +
"\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleOrgId"]) + "\"}," +
"\"FSettleTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleTypeId"]) + "\"}," +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "\"," +
//\"FPriceListId\":{\"FNumber\":\"\"},
//\"FDiscountListId\":{\"FNumber\":\"\"},
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}," +
"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + "," +
"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + "}," +
"\"FInStockEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_Entry = sJson_Entry + "{" +
//{\"FEntryID\":\"0\",
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
//\"FWWInType\":\"\",
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FAuxPropId\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + "," +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
sJson_BatchNo +
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
//\"FDisPriceQty\":\"0\",
sJson_StockPlace +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
//\"FMtoNo\":\"\",
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
//\"FNote\":\"\",
"\"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\"," +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//\"FExtAuxUnitQty\":\"0\",
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
"\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "\"," +
"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + "," +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
//\"FInvoicedJoinQty\":\"0\",
"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
//\"FSetPriceUnitID\":{\"FNumber\":\"\"},
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}," +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + "," +
"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
//\"FCostPrice\":\"0\",
"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
"\"FSupplierLot\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "\"," +
"\"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\"," +
"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
//\"FBeforeDisPriceQty\":\"0\",
"\"FReqTraceNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReqTraceNo"]) + "\"," +
"\"FPriceCoefficient\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceCoefficient"]) + "," +
"\"FPriceUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitQty"]) + "," +
"\"FBaseUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitID"]) + "\"}," +
"\"FAuxUnitID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitID"]) + "\" }," +
"\"FPOOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOOrderNo"]) + "\"," +
"\"FReceiveStockStatus\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveStockStatus"]) + "\"}," +
"\"FSRCBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBillNo"]) + "\"," +
"\"FKeeperTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperTypeId"]) + "\"," +
"\"FKeeperID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKeeperID"]) + "\"}," +
"\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
"\"FReceiveOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveOwnerTypeId"]) + "\"," +
"\"FReceiveOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveOwnerId"]) + "\"}," +
"\"FReceiveStockID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveStockID"]) + "\"}," +
"\"FMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "\"," +
"\"FSNUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNUnitID"]) + "\"}," +
"\"FReceiveMtoNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReceiveMtoNo"]) + "\"," +
"\"FSRCBIZUNITID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBIZUNITID"]) + "\"}," +
"\"FPOORDERENTRYID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERENTRYID"]) + "," +
"\"FPriceListEntry\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceListEntry"]) + "\"}," +
"\"FBaseUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitQty"]) + "," +
"\"FMustQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMustQty"]) + "," +
"\"FPURBASENUM\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPURBASENUM"]) + "," +
"\"FStockBaseDen\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockBaseDen"]) + "," +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
//\"FEntryPruCost\":[{\"FDetailID\":\"0\"}],
"\"FTaxDetailSubEntity\":[{" +
//\"FDetailID\":\"0\",
"\"FTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxRate"]) + "," +
"\"FTaxAmount\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxAmount"]) + "," +
"\"FTaxRateId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxRateId"]) + "\" }," +
"\"FCostPercent\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPercent"]) + "," +
"\"FTaxCostAmount\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCostAmount"]) + "," +
"\"FVAT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FVAT"]) + "\"," +
"\"FSellerWithholding\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSellerWithholding"]) + "\"," +
"\"FBuyerWithholding\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBuyerWithholding"]) + "\"" +
" } ]," +
//\"FSerialSubEntity\":[{\"FDetailID\":\"0\",
//\"FSerialNo\":\"\",
//\"FSerialNote\":\"\"}]
" \"FInStockEntry_Link\": [ { " +
" \"FInStockEntry_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
" \"FInStockEntry_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
" \"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
" \"FInStockEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
" \"FInStockEntry_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
" \"FInStockEntry_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"" +
" } ]," +
" \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLowId"]) + "\"}}";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成委外入库单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_InStock", sJson });
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_InStock", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_InStock", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成委外入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成委外入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成委外入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 委外入库CLOUD
//生成外购入库单
[WebMethod]
public bool set_SaveEntrustInBill_CLD(Model.ClsKf_EntrustInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (sHSourceType == "1103") //收料通知单
{
if (SaveEntrustInBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
else
{
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";错误的源单类型";
return false;
}
}
///
/// 委外入库
///
///
///
///
public bool SaveEntrustInBill_CLD(Model.ClsKf_EntrustInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS委外入库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_EntrustInBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1210','1210'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HMangerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//更新关联数量
oCn.RunProc("exec h_p_Cg_UpDatePOInStockRelation_Add " + oMain.HInterID.ToString());
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetEntrustInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetEntrustInBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\", " +
"\"IsEntryBatchFill\":\"True\",\"Model\":{"+
//\"FID\":\"" + oMain.HInterID.ToString() + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FBUSINESSTYPE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBUSINESSTYPE"]) + "\"," +
"\"FBillNo\":\"" + oMain.HBillNo + "\"," +
// "\"FDate\":\"" + oMain.HDate.ToShortDateString() + "\"," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FStockDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDeptId"]) + "\"}," +
"\"FStockerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockerId"]) + "\"}," +
"\"FDemandOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPurchaseOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSupplyId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FSettleId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FChargeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSupplyId"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\", " +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
"\"FCDateOffsetValue\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCDateOffsetValue"]) + "," +
"\"FInStockFin\":{\"FSettleOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FPayConditionId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPayConditionId"]) + "\"}," +
"\"FSettleCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSettleCurrId"]) + "\"}," +
"\"FIsIncludedTax\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsIncludedTax"]) + "," +
"\"FPriceTimePoint\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FPriceTimePoint"]) + "," +
"\"FLocalCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLocalCurrId"]) + "\"}," +
"\"FExchangeTypeId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeTypeId"]) + "\"}" +
//"\"FExchangeRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExchangeRate"]) + ", " +
//"\"FISPRICEEXCLUDETAX\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FISPRICEEXCLUDETAX"]) + " " +
" }, \"FInStockEntry\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "") //仓位
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FRowType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRowType"]) + "\"," +
"\"FWWInType\":\" " + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWWInType"]) + "\"," +
"\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FParentMatId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FParentMatId"]) + "\"}," +
"\"FRealQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRealQty"]) + "," +
"\"FPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceUnitID"]) + "\"}," +
"\"FPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrice"]) + ", " +
"\"FTaxCombination\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxCombination"]) + "\"}," +
sJson_BatchNo+
"\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
//"\"FDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDisPriceQty"]) + ", " +
"\"FSRCBILLTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLTYPEID"]) + "\"," +
"\"FRECEIVESTOCKSTATUS\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRECEIVESTOCKSTATUS"]) + "\"}," +
"\"fpoorderentryid\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["fpoorderentryid"]) + ", " +
"\"FSRCBILLNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSRCBILLNO"]) + "\"," +
"\"FPOORDERNO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPOORDERNO"]) + "\"," +
"\"FStockStatusId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockStatusId"]) + "\"}," +
//"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
"\"FGiveAway\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FGiveAway"]) + "," +
"\"FNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FNote"]) + "\"," +
//"\"FProduceDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + ", " +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FCheckInComing\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCheckInComing"]) + "," +
//"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
//"\"FSampleDamageQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageQty"]) + "," +
//"\"FSampleDamageBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBaseQty"]) + ", " +
"\"FIsReceiveUpdateStock\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReceiveUpdateStock"]) + "," +
//"\"FInvoicedJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInvoicedJoinQty"]) + "," +
//"\"FPriceBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPriceBaseQty"]) + "," +
"\"FSetPriceUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSetPriceUnitID"]) + "\"}," +
"\"FRemainInStockUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockUnitId"]) + "\"}, " +
"\"FBILLINGCLOSE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBILLINGCLOSE"]) + "," +
//"\"FRemainInStockQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockQty"]) + "," +
//"\"FAPNotJoinQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAPNotJoinQty"]) + "," +
//"\"FRemainInStockBaseQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRemainInStockBaseQty"]) + "," +
//"\"FBASEUNITQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBASEUNITQTYOLD"]) + "," +
//"\"FREMAININSTOCKBASEQTYOLD\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FREMAININSTOCKBASEQTYOLD"]) + "," +
//"\"FTaxPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTaxPrice"]) + "," +
//"\"FEntryTaxRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryTaxRate"]) + ", " +
//"\"FDiscountRate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDiscountRate"]) + "," +
//"\"FCostPrice\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCostPrice"]) + "," +
//"\"FBOMId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMId"]) + "\"}," +
//"\"FSupplierLot\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierLot"]) + "," +
//"\"FExpiryDate\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "," +
//"\"FAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxUnitQty"]) + "," +
// "\"FBeforeDisPriceQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBeforeDisPriceQty"]) + ", " +
"\"FInStockEntry_Link\": [ { " +
"\"FInStockEntry_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FRuleId"]) + "\" , " +
"\"FInStockEntry_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSTableName"]) + "\" , " +
"\"FInStockEntry_Link_FSBillId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSBillId"]) + " , " +
"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) + " " +
" } ] }, ";
}
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成委外入库单 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_InStock", sJson });
if (oSystemParameterMain.Kf_EntrustInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_InStock", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_InStock", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "生成委外入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "生成委外入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "生成委外入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 其他入库(红字) *旧
//生成其他入库单(红字)
[WebMethod]
public bool set_SaveOtherInBackBill(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_OtherInBackBill dal = new DAL.ClsKf_OtherInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (sHSourceType == "-1") //无源单
{
if (dal.AddBill_PDA_NoSource(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
sErrMsg = "没有找到对应的源单方法!";
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存其他入库单(红字)失败!" + sErrMsg;
return false;
}
#endregion
#region 其他入库(红字) *
//生成其他入库单(红字)
[WebMethod]
public bool set_SaveOtherInBackBill_New(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveOtherInBackBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherInBackBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
}
sErrMsg = "保存其他入库单(红字)失败!" + sErrMsg;
return false;
}
#endregion
#region 其他入库(红字)K3 *
///
/// 生成其他入库单(红字)K3
///
///
///
///
public bool SaveOtherInBackBill_K3(Model.ClsKf_ICStockBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_OtherInBackBill dal = new DAL.ClsKf_OtherInBackBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherInBackBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1248','1248'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateBillRelateData " + oMain.HInterID.ToString());
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1)
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_OtherInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else
{
//审核单据
if (oSystemParameterMain.Kf_OtherInBackBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_Check " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateStock " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBackBill_UpdateOrderStock " + oMain.HInterID.ToString());
}
}
}
//K3负库存判断
if (oSystemParameterMain.WMS_ERPStockCtl == "Y") //系统参数 提交后ERP负库存控制
{
//判断条码库存是否异常(负库存、库存大于条码初始化)
Ds = oCn.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + oMain.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
{
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成其他入库单(红字)失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 其它入库 *旧
//[WebMethod]
////根据条码得到相应信息(其它入库单)
//public WMSWebs.Model.ClsKf_ICStockBillEntry get_OtherInInfoByBarCode(string sBarCode, ref string sErrMsg)
//{
// WMSWebs.BLL.ClsKf_OtherInBill bll = new WMSWebs.BLL.ClsKf_OtherInBill();
// WMSWebs.Model.ClsKf_ICStockBillEntry model;
// model = bll.get_OtherInInfoByrBarCode(sBarCode);
// if (model == null)
// {
// sErrMsg = WMSWebs.DBUtility.ClsPub.ErrStr;
// return null;
// }
// else
// {
// sErrMsg = "";
// return model;
// }
//}
//生成其它入库单
[WebMethod]
public bool set_SaveOtherInBill(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
DAL.ClsKf_OtherInBill dal = new DAL.ClsKf_OtherInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
//同步生成K3单据
if (oMain.HRedBlueFlag)
{
//if (dal.AddBill_PDA_Red(ref sErrMsg))
//{
// //"保存成功!";
// return true;
//}
//else
//{
//"保存失败!";
return false;
//}
}
else
{
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
//同步生成CLOUD单据
if (set_SaveOtherInBill_CLD(oMain, "1111", oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存其他入库单失败!" + sErrMsg;
return false;
}
//核对生单其他入库单K3
[WebMethod]
public bool set_CheckAddOtherInBill(Model.ClsKf_OtherInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherInBill_K3 dal = new DAL.ClsKf_OtherInBill_K3();
dal.omodel = oMain;
if (oMain.HRedBlueFlag)
{
if (dal.CheckAddBill_RedPDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
else
{
if (dal.CheckAddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
}
//核对其它入库单K3
[WebMethod]
public bool set_CheckOtherInBill(Model.ClsKf_OtherInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherInBill_K3 dal = new DAL.ClsKf_OtherInBill_K3();
dal.omodel = oMain;
if (dal.AddBill_PDA_Check(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//稽核其他入库单K3
[WebMethod]
public bool set_AuditOtherInBill(Model.ClsKf_OtherInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_OtherInBill_K3 dal = new DAL.ClsKf_OtherInBill_K3();
dal.omodel = oMain;
if (dal.Audit_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//得到其他入库类型
[WebMethod]
public DataSet get_StockInStyle()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HName from Gy_StockInStyle where HStopflag=0", "Gy_StockInStyle");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
#endregion
#region 其他入库 *
//生成其他入库单
[WebMethod]
public bool set_SaveOtherInBill_New(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//
if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
if (SaveOtherInBill_K3(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
if (oSystemParameter.omodel.Kf_OtherInBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
//同步生成CLOUD单据
if (set_SaveOtherInBill_CLD(oMain, sHSourceType, oSystemParameter.omodel, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
sErrMsg = "保存其他入库单失败!" + sErrMsg;
return false;
}
#endregion
#region 其他入库K3 *
///
/// 生成其他入库单K3
///
///
///
///
public bool SaveOtherInBill_K3(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKf_OtherInBill dal = new DAL.ClsKf_OtherInBill();
dal.omodel = oMain;
//上传前必填项判断
if (oMain.HDeptID == 0)
{
sErrMsg = "部门没有选择!";
return false;
}
if (oMain.HSecManagerID == 0)
{
sErrMsg = "验收没有选择!";
return false;
}
if (oMain.HKeeperID == 0)
{
sErrMsg = "保管没有选择!";
return false;
}
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
oMain.HYear = sYear;
oMain.HPeriod = sPeriod;
DataSet Ds;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.BeginTran();
}
//生成出入库单据
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + sHSourceType + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
") " +
" values('1203','1203'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
") ");
//新增K3子表、主表
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'," + oMain.HBillerID.ToString() + ",'" + sHSourceType + "'");
//更新关联数量
//回填K3关联数量
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateBillRelateData_New " + oMain.HInterID.ToString());
//判断库存更新控制状态(0为审核改变库存,1为保存改变库存)
DataSet DS = oCn.RunProcReturn("exec h_p_IFK3_SaveUpdateStock ", "h_p_IFK3_SaveUpdateStock");
if (DS == null || DS.Tables[1].Rows.Count == 0)
{
sErrMsg = "判断库存更新控制状态,未知错误!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[1].Rows[0][0]) == 1) //1为保存改变库存
{
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
//审核单据
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
}
}
else//0为审核改变库存
{
//审核单据
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString());
//审核K3单据
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_Check_New " + oMain.HInterID.ToString() + "," + oMain.HBillerID.ToString());
//更新K3库存
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateStock_New " + oMain.HInterID.ToString());
oCn.RunProc("exec h_p_IFK3_ToERP_OtherInBill_UpdateOrderStock_New " + oMain.HInterID.ToString());
}
}
}
sErrMsg = "新增单据成功!";
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.Commit();
}
return true;
}
catch (Exception e)
{
sErrMsg = "生成其他入库单失败!" + e.Message;
if (oSystemParameterMain.WMS_CampanyName == "杭州智见" || oSystemParameterMain.WMS_CampanyName == "杭州斯莫尔") //系统参数 客户定制化名称 空白为通用
{
}
else
{
oCn.RollBack();
}
return false;
}
}
#endregion
#region 其它入库CLOUD *
//生成入库单
[WebMethod]
public bool set_SaveOtherInBill_CLD(Model.ClsKf_OtherInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
if (SaveOtherInBill_CLD(oMain, oSystemParameterMain, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" + oMain.HBillNo;
return true;
}
else
{
//"保存失败!";
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + sErrMsg;
return false;
}
}
///
/// 其他入库单
///
///
///
///
public bool SaveOtherInBill_CLD(Model.ClsKf_OtherInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
oCn.BeginTran();
//写入WMS其他入库单
//插入子表
oCn.RunProc("EXEC h_p_Kf_OtherInBillSub_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'");
//插入主表
oCn.RunProc("Insert Into Kf_ICStockBillMain " +
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMainSourceBillType" +
",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
",HSupID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" +
",HKeeperID,HDeptID,HExplanation,HInnerBillNo,HRedBlueFlag" +
",HStockStyle" +
") " +
" values('1203','1203'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',convert(varchar(10),getdate(),120),'" + oMain.HMainSourceBillType + "'" +
",2012,1,'" + oMain.HRemark + "','" + oMain.HMaker + "',convert(varchar(10),getdate(),120)" +
", " + oMain.HSupID.ToString() + "," + oMain.HWHID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HEmpID.ToString() + "," + oMain.HManagerID.ToString() + "," + oMain.HSecManagerID.ToString() +
", " + oMain.HKeeperID.ToString() + "," + oMain.HDeptID.ToString() + ",'" + oMain.HExplanation + "','" + oMain.HInnerBillNo + "'," + DBUtility.ClsPub.BoolToString(oMain.HRedBlueFlag) +
",'" + oMain.HStockStyle + "'" +
") ");
//更新关联数量
//审核单据
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
//审核单据
oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
}
//根据TMP表 返回 子表信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetOtherInBill_CLD " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherInBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
oCn.RollBack();
return false;
}
else
{
string sJson_StockStyle = "";
if (oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_RKLX\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_RKLX"]) + "\","; //入库类型
}
else if (oSystemParameterMain.WMS_CampanyName == "四维尔") //系统参数 客户定制化名称 空白为通用
{
sJson_StockStyle = "\"F_ABCD_COMBO\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["F_ABCD_COMBO"]) + "\","; //其他入库业务类型
}
else
{
sJson_StockStyle = "";
}
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" +oMain.HBillNo+ "\"," +
//\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," +
"\"FBillTypeID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\"}," +
"\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockOrgId"]) + "\"}," +
"\"FStockDirect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockDirect"]) + "\"," +
"\"FDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDate"]) + "\"," +
//"\"FSUPPLIERID\":{\"FNumber\":\"" + oMain.HSupplyID.ToString() + "\"}," +
"\"FDEPTID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDEPTID"]) + "\"}," +
//"\"FSTOCKERID\":{\"FName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERID"]) + "\"}," +
//"\"FSTOCKERGROUPID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSTOCKERGROUPID"]) + "\"}," +
"\"FOwnerTypeIdHead\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeIdHead"]) + "\"," +
"\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerIdHead"]) + "\"}," +
"\"FNOTE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNOTE"]) + "\"," +
"\"FBaseCurrId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseCurrId"]) + "\"}," +
"\"FScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FScanBox"]) + "\"," +
sJson_StockStyle +
"\"FEntity\":[";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
string sJson_BatchNo = "";
string sJson_StockPlace = "";
string sJson_FAUXPROPID = "";
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //是否启用批次管理
{
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , ";
}
else
{
sJson_BatchNo = "";
}
if (oSystemParameterMain.WMS_CampanyName == "卓力") //系统参数 客户定制化名称 空白为通用
{
sJson_StockPlace = "\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
else
{
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
{
sJson_StockPlace = "";
}
else
{
sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
}
}
//辅助属性
if (oSystemParameterMain.WMS_CampanyName == "卓力" || oSystemParameterMain.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
sJson_FAUXPROPID = "";
}
else
{
sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
}
//自定义字段处理
sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryID"]) + "\"," +
"\"FMATERIALID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMATERIALID"]) + "\"}," +
sJson_FAUXPROPID +
//"\"FAuxPropId\":{\"FAUXPROPID__FF100001\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAuxPropId"]) + "\"}," +
//"\"FAUXPROPID__FF100030\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100030"]) + "\"}," +
//"\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID__FF100002"]) + "\"}}," +
"\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
"\"FSTOCKSTATUSID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKSTATUSID"]) + "\"}," +
"\"FQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQty"]) + "," +
"\"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
"\"FSTOCKID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKID"]) + "\"}," +
sJson_StockPlace +
//"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
//"\"FLOT\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}," +
sJson_BatchNo +
"\"FEntryNote\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntryNote"]) + "\"," +
//"\"FBOMID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBOMID"]) + "\"}," +
//"\"FPRODUCEDATE\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPRODUCEDATE"]) + "," +
//"\"FMTONO\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMTONO"]) + "," +
"\"FExtAuxUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitId"]) + "\"}," +
//"\"FProjectNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProjectNo"]) + "," +
"\"FExtAuxUnitQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExtAuxUnitQty"]) + "," +
"\"FOWNERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERTYPEID"]) + "\"," +
"\"FOWNERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOWNERID"]) + "\"}," +
"\"FKEEPERTYPEID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERTYPEID"]) + "\"," +
"\"FKEEPERID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FKEEPERID"]) + "\"}} ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
//生成 其他入库单 1个物料1单
string HReturn;
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "STK_MISCELLANEOUS", sJson });
if (oSystemParameterMain.Kf_OtherInBill_AutoCheck == "Y") //系统参数 自动审核
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "STK_MISCELLANEOUS", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "STK_MISCELLANEOUS", sJson3 });
HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString();
}
else
{
HReturn = result.ToString();
}
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "其他入库单失败!" + HReturn + sJson;
oCn.RollBack();
return false;
}
else
{
oCn.Commit();
return true;
}
}
else
{
sErrMsg = "其他入库单失败!登录失败!";
oCn.RollBack();
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "其他入库单失败!" + e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 收料通知单(审核) *
//审核收料通知单
[WebMethod]
public bool set_CheckPOInStockBill_New(Model.ClsCg_POInStockBillMain oMain, ref string sErrMsg)
{
if (set_CheckPOInStockBill_CLD(oMain, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
sErrMsg = "审核收料通知单失败!" + sErrMsg;
return false;
}
#endregion
#region 审核收料通知单CLOUD *
//审核收料通知单CLOUD
[WebMethod]
public bool set_CheckPOInStockBill_CLD(Model.ClsCg_POInStockBillMain oMain, ref string sErrMsg)
{
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
{
}
else
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
}
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "PUR_ReceiveBill", sJson2 }); //提交单据
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "PUR_ReceiveBill", sJson3 }); //审核单据
string HReturn = result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "审核收料通知单失败!单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + HReturn;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "审核收料通知单失败!登录失败!";
return false;
}
}
#endregion
#region 收料通知单 *
//审核收料通知单K3
[WebMethod]
public bool set_CheckPOInStockBill(Model.ClsCg_POInStockBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsCg_POInStockBill_K3 dal = new DAL.ClsCg_POInStockBill_K3();
if (dal.CheckBill(oMain.HInterID, oMain.HBillerID, ref sErrMsg))
{
//sErrMsg = "审核成功!";
return true;
}
else
{
//sErrMsg = "审核失败!";
return false;
}
}
#endregion
#region 受托加工入库 *
//生成受托加工入库K3
[WebMethod]
public bool set_SaveSTJGInBill(Model.ClsKf_STJGInBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_STJGInBill_K3 dal = new DAL.ClsKf_STJGInBill_K3();
dal.omodel = oMain;
if (dal.AddBill_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 受托加工领料出库 *
//核对受托加工领料出库K3
[WebMethod]
public bool set_CheckSTJGOutBill(Model.ClsKf_STJGOutBillMain_K3 oMain, ref string sErrMsg)
{
DAL.ClsKf_STJGOutBill_K3 dal = new DAL.ClsKf_STJGOutBill_K3();
dal.omodel = oMain;
if (dal.AddBill_WMS_PDA(ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
//核对受托加工领料出库K3
[WebMethod]
public bool set_CheckSTJGOutBill_Row(Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
{
DAL.ClsKf_STJGOutBill_K3 dal = new DAL.ClsKf_STJGOutBill_K3();
if (dal.AddBill_WMS_PDA(HSourceInterID, HSourceEntryID, ref sErrMsg))
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
}
#endregion
#region 工序汇报单CLOUD
[WebMethod]
public bool set_SaveProExchReport_CLD(double HQty, double HProcessFailQty, double HMaterialFailQty, double HFReworkQty, double HQuaQty, string HProcNo, string HProcExchBillNo, string HEmpID, string HTime, string HORGANIZATIONSNO, string HBillNo, ref string sErrMsg)
{
if (SaveProExchReport_CLD(HQty, HProcessFailQty, HMaterialFailQty, HFReworkQty, HQuaQty, HProcNo, HProcExchBillNo, HEmpID, HTime, HORGANIZATIONSNO, HBillNo, ref sErrMsg))
{
//"保存成功!";
sErrMsg = "保存成功!" ;
return true;
}
else
{
//"保存失败!";
sErrMsg = sErrMsg;
return false;
}
}
///
/// 工序汇报单CLOUD
///
///
///
///
public bool SaveProExchReport_CLD(double HQty, double HProcessFailQty, double HMaterialFailQty, double HFReworkQty, double HQuaQty, string HProcNo, string HProcExchBillNo, string HEmpID, string HTime, string HORGANIZATIONSNO, string HBillNo, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet Ds;
//根据TMP表 返回 信息
Ds = oCn.RunProcReturn("exec h_p_Kf_GetProExchReportBill_CLD " + HQty.ToString() + "," + HProcessFailQty.ToString() + "," + HMaterialFailQty.ToString() + "," + HFReworkQty.ToString() + "," + HQuaQty.ToString() + ",'" + HProcNo + "','" + HProcExchBillNo + "','" + HEmpID + "','" + HTime + "','" + HORGANIZATIONSNO + "','" + HBillNo + "'", "h_p_Kf_GetProExchReportBill_CLD");
if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
{
sErrMsg = "获取子表信息失败!";
return false;
}
else
{
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"Model\": { \"FBILLNO\":\"" + HBillNo + "\", " +
"\"FPRDORGID\":{\"FNumber\":\"" + HORGANIZATIONSNO.ToString() + "\"}," +
"\"FWorkShopID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FWorkShopID"]) + "\"}," +
"\"FBillTypeID\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillType"]) + "\" }," +
"\"FIsEntrust\": " + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsEntrust"]) + " ," +
"\"FBillGenType\": \"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillGenType"]) + "\" ," +
" \"FEntity\": [ ";
string sJson_Entry = "";
for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
{
if (sJson_Entry != "")
{
sJson_Entry = sJson_Entry + " , ";
}
sJson_Entry = sJson_Entry + "{ \"FSEQ\":\"" + Convert.ToString(i + 1) + "\", " +
"\"FSourceBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSourceBillType"]) + "\" , " +
"\"FSourceBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSourceBillNo"]) + "\" , " +
"\"FSrcInterId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcInterId"]) + " , " +
"\"FSrcEntrySeq\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntrySeq"]) + " , " +
"\"FSrcEntryId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntryId"]) + " , " +
"\"FMoId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMoId"]) + " , " +
"\"FMoEntryId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMoEntryId"]) + " , " +
"\"FOptPlanId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOptPlanId"]) + " , " +
"\"FOptPlanSeqId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOptPlanSeqId"]) + " , " +
"\"FSeqType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSeqType"]) + "\" , " +
"\"FOptPlanOptId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOptPlanOptId"]) + " , " +
"\"FMoNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMoNumber"]) + "\" , " +
"\"FMoRowNumber\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMoRowNumber"]) + " , " +
"\"FSeqNumber\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSeqNumber"]) + " , " +
"\"FOperNumber\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOperNumber"]) + " , " +
"\"FMaterialId\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\" } , " +
"\"FUnitID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\" } , " +
"\"FProcessFailQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProcessFailQty"]) + " , " +
"\"FMaterialFailQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialFailQty"]) + " , " +
"\"FFailQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FFailQty"]) + " , " +
"\"FReworkQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReworkQty"]) + " , " +
"\"FIsReworkRpt\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReworkRpt"]) + " , " +
"\"FFinishQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FFinishQty"]) + " , " +
"\"FQuaQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQuaQty"]) + " , " +
"\"FPrdType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrdType"]) + "\" , " +
"\"FOperDescription\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOperDescription"]) + "\" , " +
"\"FReportType\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReportType"]) + "\" } , " +
"\"FConfOptStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FConfOptStatus"]) + "\" , " +
"\"FTotalQuaQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTotalQuaQty"]) + " , " +
"\"FPlanningQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPlanningQty"]) + " , " +
"\"FActivity1Id\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FActivity1Id"]) + "\" } , " +
"\"FActivity1UnitID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FActivity1UnitID"]) + "\" } , " +
//,\"FSetStartTime\":\"2018-12-31 11:20:07\"
//,\"FSetEndTime\":\"2018-12-31 11:20:07\"
//,\"FProcessStartTime\":\"2018-12-31 11:20:07\"
//,\"FProcessEndTime\":\"2018-12-31 00:00:00\"
//,\"FTeardownStartTime\":\"2018-12-31 00:00:00\"
//,\"FTeardownEndTime\":\"2018-12-31 00:00:00\",
"\"FStockInOrgId\" : { \"FNumber\":\"" + HORGANIZATIONSNO.ToString() + "\" } , " +
"\"FMoPrdOrgId\" : { \"FNumber\":\"" + HORGANIZATIONSNO.ToString() + "\" } , " +
"\"FMoPrdDept\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMoPrdDept"]) + "\" } , " +
"\"FOptBillCreatType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOptBillCreatType"]) + "\" , " +
"\"FBaseUnitID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitID"]) + "\" } , " +
"\"FBaseFinishQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseFinishQty"]) + " , " +
"\"FPrdUnitID\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrdUnitID"]) + "\" } , " +
"\"FPrdFinishQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPrdFinishQty"]) + "\" , " +
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOwnerTypeId"]) + "\" , " +
"\"FOwnerId\" : { \"FNumber\":\"" + HORGANIZATIONSNO.ToString() + "\" } , " +
"\"FBomId\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBomId"]) + "\" } , " +
"\"FOptPlanNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOptPlanNo"]) + "\", " +
"\"FBFLowId\" : { \"Fid\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBFLowId"]) + "\" } , " +
"\"FRouteId\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FRouteId"]) + "\" } , " +
"\"FUnitTransHeadQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitTransHeadQty"]) + " , " +
"\"FUnitTransOperQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitTransOperQty"]) + " , " +
"\"FQualityCheck\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQualityCheck"]) + " , " +
"\"FWorkCenterId\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FWorkCenterId"]) + "\" } , " +
"\"FProcessId\" : { \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProcessId"]) + "\" } , " +
"\"FIsFirstPieceInspect\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsFirstPieceInspect"]) + " , " +
"\"FIsInputPrd\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsInputPrd"]) + ", " +
"\"FManualAddNew\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FManualAddNew"]) + ", " +
"\"FReworkType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FReworkType"]) + "\" " +
" } ";
}
//"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
string sJson_End = " ] }}";
string sJson = sJson_Main + sJson_Entry + sJson_End;
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
//DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
//if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
//{
//}
//else
//{
// sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
// sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
//}
//生成 入库单 1个物料1单
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
var result = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
new object[] { "SFC_OperationReport", sJson });
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + HBillNo + "\"]}";
var result2 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
new object[] { "SFC_OperationReport", sJson2 });
string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + HBillNo + "\"]}";
var result3 = client.Execute("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
new object[] { "SFC_OperationReport", sJson3 });
string HReturn = result.ToString()+"," + result2.ToString() + "," + result3.ToString();
if (HReturn.Contains("\"IsSuccess\":false") == true)
{
sErrMsg = "工序汇报单失败!" + HReturn + sJson;
return false;
}
else
{
return true;
}
}
else
{
sErrMsg = "工序汇报单失败!登录失败!";
return false;
}
}
}
catch (Exception e)
{
sErrMsg = "工序汇报单失败!" + e.Message;
return false;
}
}
#endregion
#region 不良评审单 *
//生成不良评审单
[WebMethod]
public bool set_SaveNoPassProdCheckBill_New(Model.ClsQC_NoPassProdCheckBillMain oMain, string sHSourceType, string BadReasonList, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
//if (oSystemParameter.ShowBill(ref sErrMsg) == false)
//{
// sErrMsg = "获取系统参数失败! " + sErrMsg;
// return false;
//}
//
//if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
//{
// return false;
//}
//if (oSystemParameter.omodel.Sc_ICMOReportBill_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
//{
if (SaveNoPassProdCheckBill_CLD_New(oMain, sHSourceType, oSystemParameter.omodel,BadReasonList, ref sErrMsg) == true)
{
//"保存成功!";
return true;
}
else
{
//"保存失败!";
return false;
}
//}
sErrMsg = "保存生产汇报单失败!" + sErrMsg;
return false;
}
public bool SaveNoPassProdCheckBill_CLD_New(Model.ClsQC_NoPassProdCheckBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain,string BadReasonList, ref string sErrMsg)
{
try
{
//判断会计期是否合理
string s = "";
int sYear = 0;
int sPeriod = 0;
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
{
sErrMsg = s;
return false;
}
//获取单号
string sBillNo = "";
Int64 sInterID = 0;
if (get_MaxBillNoAndID_New("7509", ref sBillNo, ref sInterID, ref DBUtility.ClsPub.sExeReturnInfo)==false)
{
sErrMsg = "获取单号失败";
return false;
}
//保存完毕后处理
DAL.ClsQC_NoPassProdCheckBill BillNew = new DAL.ClsQC_NoPassProdCheckBill();
BillNew.omodel.HYear = sYear;
BillNew.omodel.HPeriod = sPeriod;
//固定赋值=================================
BillNew.omodel.HBillNo = sBillNo; //在赋值类前就处理好字符串和数字
BillNew.omodel.HDate = DateTime.Today;
BillNew.omodel.HRemark = "在线检验";
//====================================================
BillNew.omodel.HSourceID = oMain.HSourceID;
BillNew.omodel.HMaterID = oMain.HMaterID;
BillNew.omodel.HProcID = oMain.HProcID;
BillNew.omodel.HWorkCenterID = oMain.HWorkCenterID;
BillNew.omodel.HICMOInterID = oMain.HICMOInterID;
BillNew.omodel.HICMOBillNo = oMain.HICMOBillNo;
BillNew.omodel.HInStockQty = oMain.HInStockQty;
BillNew.omodel.HCheckQty = oMain.HCheckQty;
BillNew.omodel.HRightQty = oMain.HRightQty;
BillNew.omodel.HBadQty = oMain.HBadQty;
BillNew.omodel.HPlanQty = oMain.HPlanQty;
BillNew.omodel.HBadPNL = oMain.HBadPNL;
BillNew.omodel.HPlanPNL = oMain.HPlanPNL;
BillNew.omodel.HFirstCheckEmp = oMain.HFirstCheckEmp;
BillNew.omodel.HCheckerResult = oMain.HCheckerResult;
BillNew.omodel.HNote = oMain.HNote;
//BillNew.omodel.HRedBlueFlag = redblue.Checked;
BillNew.omodel.HProcExchInterID = oMain.HProcExchInterID;//源单主内码
BillNew.omodel.HProcExchEntryID = oMain.HProcExchEntryID;//源单子内码
BillNew.omodel.HProcExchBillNo = oMain.HProcExchBillNo;//源单类型
BillNew.omodel.HMainSourceInterID = oMain.HMainSourceInterID;
BillNew.omodel.HGroupName = oMain.HGroupName;
BillNew.omodel.HOrderProcNo = oMain.HOrderProcNo;
BillNew.omodel.HProcExchQty = oMain.HProcExchQty;
//根据分号拆分不良原因
string[] sBadReason;
sBadReason = BadReasonList.Split(Convert.ToChar(";"));
//明细类赋值
DAL.ClsGy_Source_View oSource = new DAL.ClsGy_Source_View();
BillNew.DetailColl = new List();
for (int i = 0; i < sBadReason.Length; i++)
{
if (DBUtility.ClsPub.isStrNull(sBadReason[i]) != "")
{
Model.ClsQC_NoPassProdCheckBillSub oSub = new Model.ClsQC_NoPassProdCheckBillSub();
//固定赋值========================================
oSub.HEntryID = i + 1;
oSub.HRemark = "";
oSub.HSourceInterID = 0;
oSub.HSourceEntryID = 0;
oSub.HSourceBillType = "";
oSub.HSourceBillNo = "";
//oSub.HRelationQty = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HRelationQtyCol].Value);
//oSub.HRelationMoney = DBUtility.ClsPub.isDoule(grdMain.Rows[i].Cells[HRelationMoneyCol].Value);
//oSub.HCloseMan = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HCloseManCol].Value);
//oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(grdMain.Rows[i].Cells[HEntryCloseDateCol].Value);
//oSub.HCloseType = DBUtility.ClsPub.isBool(grdMain.Rows[i].Cells[HCloseTypeCol].Value);
//=============================
oSub.HMaterID = oMain.HMaterID;
oSub.HUnitID = 0;
oSub.HMustQty = 1;
oSub.HBadQty = 1;
oSub.HBadPCSQty = 1;
if(oSource.GetInfoByName(sBadReason[i]))
{
oSub.HBadReasonID = oSource.omodel.HItemID;
}
oSub.HDisposeNote = "";
oSub.HWasterReasonName = "";
oSub.HPunishmentBillNo = "";
oSub.HEmpName = "";
oSub.HProcID = 0;
oSub.HMRBChecker = "";
oSub.HSQProcName = "";
oSub.HZRProcName = "";
oSub.HPSProcName = "";
oSub.HQCResultID = 0;
BillNew.DetailColl.Add(oSub);
}
}
//
if (BillNew.AddBill(ref DBUtility.ClsPub.sExeReturnInfo))
{
sErrMsg = "生成不良评审单成功!";
return true;
}
else
{
sErrMsg = "生成不良评审单失败!" + DBUtility.ClsPub.sExeReturnInfo;
return false;
}
}
catch (Exception e)
{
sErrMsg = "生成不良评审单失败!" + e.Message;
return false;
}
}
#endregion
#region 单据缓存列表 *
//返回缓存列表信息 同步资料
[WebMethod]
public DataSet GetKf_PonderationBillMain_TempList(string sHBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetKf_PonderationBillMain_TempList(sHBillType, sWhere);
}
//返回缓存列表信息 同步资料(生产入库多源单箱发专用)
[WebMethod]
public DataSet GetKf_PonderationBillMain_TempList_XF(string sHBillType,string HMaker,long HOWNERID,int sXFFlag)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds = oCn.RunProcReturn("exec h_p_KF_GetPonderationBillMain_TempList_XFHanDian '" + sHBillType + "','" + HMaker + "'," + HOWNERID + "," + sXFFlag , "h_p_KF_GetPonderationBillMain_TempList_XFHanDian");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return Ds;
}
}
//返回缓存列表信息 同步资料(倒箱单)
[WebMethod]
public DataSet GetKf_PonderationBillMain_TempList_ChangeBox(string sHBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetKf_PonderationBillMain_TempList_ChangeBox(sHBillType, sWhere);
}
//返回缓存列表信息 同步资料(稽核模块)
[WebMethod]
public DataSet GetKF_PonderationBillMain_Audit_TempList(string sHBillType, string sWhere)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_View();
return dal.GetKF_PonderationBillMain_Audit_TempList(sHBillType, sWhere);
}
//删除缓存列表单据 同步资料
[WebMethod]
public bool DeleteBillList(Int64 sHInterID, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.DeleteBillList(sHInterID))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//删除缓存列表单据 同步资料(稽核模块)
[WebMethod]
public bool DeleteBillList_Audit(Int64 sHInterID, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl();
if (dal.DeleteBillList(sHInterID))
{
sErrMsg = "删除成功!";
return true;
}
else
{
sErrMsg = "删除失败!";
return false;
}
}
//流水线多组织产品入库模块 选择仓库时返回该仓库下第一个仓位信息,并更新缓存列表单据中仓库仓位信息 (韩电专用)
[WebMethod]
public bool GetKf_PonderationBillMain_Temp_Update_WHandSP(Int64 sHInterID, string sBarCode, Int64 sHWHID, ref Int64 HSPID, ref string HSPName, ref string sErrMsg)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Update_WHandSP " + sHInterID.ToString() + ",'" + sBarCode + "'," + sHWHID.ToString(), "h_p_KF_PonderationBillMain_Temp_Update_WHandSP");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "更新临时表单据中仓库仓位信息,未知错误!";
return false;
}
else
{
HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSPID"]);
HSPName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSPName"]);
return true;
}
}
//流水线多组织产品入库模块 选择仓位时更新缓存列表单据中仓位信息 (韩电专用)
[WebMethod]
public bool GetKf_PonderationBillMain_Temp_Update_SP(Int64 sHInterID, string sBarCode, Int64 sHSPID)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
oCN.RunProc("Update KF_PonderationBillMain_Temp Set HStockPlaceID=" + sHSPID + " where HInterID=" + @sHInterID + "and HBarCode='" + sBarCode + "'");
return true;
}
//流水线多组织产品入库模块 返回选择行条码在临时表中仓库、仓位、组织、物料名称信息 (韩电专用)
[WebMethod]
public bool GetKf_PonderationBillMain_Temp_OrgandWHSP(Int64 sHInterID, string sBarCode, ref Int64 HOWNERID, ref string HOWNERNAME, ref Int64 HWhID, ref string HWhName, ref Int64 HSPID, ref string HSPName, ref string HMaterName, ref string sErrMsg)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("exec h_p_Kf_GetOrgandWHSPByTemp_CLD " + sHInterID.ToString() + ",'" + sBarCode + "'", "h_p_Kf_GetOrgandWHSPByTemp_CLD");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取临时表单据中仓库仓位信息失败,未知错误!";
return false;
}
else
{
HOWNERID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HOWNERID"]);
HOWNERNAME = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HOWNERNAME"]);
HWhID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HWhID"]);
HWhName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HWhName"]);
HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSPID"]);
HSPName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSPName"]);
HMaterName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HMaterName"]);
return true;
}
}
//获取 本日昨日已上传的单据列表信息
[WebMethod]
public DataSet GetKf_ICStockBillList(string sHBillType, string sHMaker)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds = oCn.RunProcReturn("exec h_p_Kf_ICStockBillList '" + sHBillType + "','" + sHMaker + "'", "h_p_Kf_ICStockBillList");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return Ds;
}
}
//删除WMS表和本地出入库单记录,并更新TEMP表中的上传字段 HRelationInterID=0
[WebMethod]
public bool DeleteICStockBillAndWMS(Int64 sHInterID, string sHBillNo, string sHBillType, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.BeginTran();
DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_ICStockBillAndWMS_Delete " + sHInterID + ",'" + sHBillNo + "','" + sHBillType + "'", "h_p_WMS_ICStockBillAndWMS_Delete");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "撤销单据失败,数据库连接失败!";
oCn.RollBack();
return false;
}
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0)
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
oCn.Commit();
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
oCn.RollBack();
return false;
}
}
catch (Exception e)
{
sErrMsg = e.Message;
oCn.RollBack();
return false;
}
}
//缓存列表选择编辑时,判断所选单据是否一存在上传记录
[WebMethod]
public bool TempList_Modify(Int64 sHInterID, string sHBillNo, string sHBillType, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.BeginTran();
DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_TempList_Modify " + sHInterID + ",'" + sHBillNo + "','" + sHBillType + "'", "h_p_WMS_TempList_Modify");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "缓存列表编辑前判断失败,数据库连接失败!";
oCn.RollBack();
return false;
}
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0)
{
oCn.Commit();
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
oCn.RollBack();
return false;
}
}
catch (Exception e)
{
sErrMsg = e.Message;
oCn.RollBack();
return false;
}
}
#endregion
#region 查询条码库存 *
//根据物料条码,返回物料库存信息
///
/// 根据物料条码,返回物料库存信息
///
/// 过滤条件
///
[WebMethod]
public DataSet Get_ICInventoryByMaterIDList(string sBarCode, long HWHID, long HSPID, long HOWNERID, string sWhere)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds = oCn.RunProcReturn("exec h_p_KF_ICInventoryByMaterIDList '" + sBarCode + "'," + HWHID + "," + HSPID + "," + HOWNERID + ",'" + sWhere + "'", "ICInventoryByMaterIDList");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return Ds;
}
}
//查询条码库存
[WebMethod]
public bool Get_CheckQtyByBarCode(string sBarcode, long HWHID, long HSPID, long HAuxPropID, string sBatchNo, string HMTONo, double sQty, ref double sRelQty)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (dal.CheckQtyByBarCode(sBarcode, HWHID, HSPID, HAuxPropID, sBatchNo, HMTONo, sQty, ref sRelQty))
{
return true;
}
else
{
return false;
}
}
//查询条码库存 并且带出 仓库仓位
[WebMethod]
public bool Get_CheckQtyByBarCode_GetWhAndSP(long InterID, string sBillType, string sBarcode, ref long HWHID, ref long HSPID, double sQty, ref double sRelQty)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (dal.CheckQtyByBarCode(InterID, sBillType, sBarcode, ref HWHID, ref HSPID, sQty, ref sRelQty))
{
return true;
}
else
{
return false;
}
}
//查询条码库存 并且带出 仓库仓位(稽核时)
[WebMethod]
public bool Get_CheckQtyByBarCode_GetWhAndSP_Audit(long InterID, string sBillType, string sBarcode, ref long HWHID, ref long HSPID, double sQty, ref double sRelQty)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_View();
if (dal.CheckQtyByBarCode(InterID, sBillType, sBarcode, ref HWHID, ref HSPID, sQty, ref sRelQty))
{
return true;
}
else
{
return false;
}
}
//根据扫描条码 数量 判断条码档案数量
[WebMethod]
public bool Get_CheckQtyByBarCodeBill(long InterID, string sBillType, string sBatchNo, string sBarCode, ref double sRelQty)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (dal.CheckQtyByBarCodeBill(InterID, sBillType, sBatchNo, sBarCode, ref sRelQty))
{
return true;
}
else
{
return false;
}
}
//根据条码 判断条码库存中物料仓库仓位是否与所选源单一致
[WebMethod]
public bool Get_CheckQtyByBarCode_WHAndSP(long InterID, string sBarCode)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (dal.CheckQtyByBarCode_WHAndSP(InterID, sBarCode))
{
return true;
}
else
{
return false;
}
}
//根据条码 判断稽核列表中的条码 是否一致
[WebMethod]
public bool Get_CheckQtyByBarCode_Audit(long InterID, string sBarCode)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_View();
if (dal.CheckInfoByBarCode_Audit(InterID, sBarCode))
{
return true;
}
else
{
return false;
}
}
//根据扫描条码 与传票进行验证
[WebMethod]
public bool Get_CheakBarCodeAndCP(long HCusID, string sCPStr, string sBarCode, ref string sReturn)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (dal.CheakBarCodeAndCP(HCusID,sCPStr,sBarCode,ref sReturn))
{
return true;
}
else
{
return false;
}
}
//判断条码 入库数量是否超过条码本身额定数量
[WebMethod]
public bool Get_IsBarCodeQty(string sBarcode, string sBillType, bool sRedBlueFlag, ref double sQty, ref string sErrMsg)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.IsBarCode(sBarcode, sBillType, sRedBlueFlag, ref sQty, ref sErrMsg))
{
return true;
}
else
{
return false;
}
}
////判断条码扫描数量是否超过条码本身额定数量
//[WebMethod]
//public bool Get_IsBarCodeQtyBySub(long HInterID, string sBillType, long HMaterID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, ref string sErrMsg)
//{
// DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
// if (dal.IsBarCode_Sub(HInterID, sBillType, HMaterID, HBatchNo, HSourceInterID, HSourceEntryID, ref sErrMsg))
// {
// return true;
// }
// else
// {
// return false;
// }
//}
////判断明细表中条码库存、K3库存 是否充足 (仓库仓位批次)
//[WebMethod]
//public bool Get_CheckQtyBySubBarCode(long HInterID, string sBillType, long HMaterID, Int64 HWhID, Int64 HSPID, Int64 HSCWhID, Int64 HSCSPID, string HBatchNo, Int64 HSourceInterID, Int64 HSourceEntryID, string sWhere, ref string sErrMsg)
//{
// DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
// if (dal.CheckQtyByBarCode_Sub(HInterID, sBillType, HMaterID, HWhID, HSPID, HSCWhID, HSCSPID, HBatchNo, HSourceInterID, HSourceEntryID, sWhere, ref sErrMsg))
// {
// return true;
// }
// else
// {
// return false;
// }
//}
//判断源单是否已核对过
[WebMethod]
public bool Get_IsSourceBill(long sHInterID, string sBillType)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
if (dal.IsSourceBill(sHInterID, sBillType))
{
return true;
}
else
{
return false;
}
}
//判断源单是否稽核过
[WebMethod]
public bool Get_IsAuditBill(long sHInterID, string sBillType)
{
DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Audit_Temp_Ctl();
if (dal.IsAuditBill(sHInterID, sBillType))
{
return true;
}
else
{
return false;
}
}
//删除条码出入库记录
[WebMethod]
public bool DeleteByICStockBill(long sHInterID, string sBillType)
{
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
return dal.DeleteByICStockBill(sHInterID, sBillType);
}
#endregion
#region 公用方法
//从远程服务器获取条码档案
[WebMethod]
public DataSet get_SaveBarCodeFormServer(Int64 Days, ref string sErr)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetServerBarCodeBill " + Days.ToString(), "h_p_WMS_GetServerBarCodeBill");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
sErr = "没有返回条码档案记录!";
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
sErr = "获取条码档案记录失败," + e.Message;
return null;
}
}
//保存扫码记录至数据库
[WebMethod]
public bool set_SaveScanToServer(Int64 lInterID, DataSet ds, ref string sErr)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//将DATASET通过WEBS上传至远程服务器
string str = " INSERT INTO KF_PonderationBillMain_Temp (HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID,HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID " +
" ,HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack,HAddr,HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType " +
" ,HSourceBillNo,HRelationInterID,HRelationEntryID,HRelationBillNo,HSourceLine,HRedBlueFlag,HCheckStatus,HMTONo,HPlanMode,HSTOCKORGID " +
" ,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber) ";
string strValuesSum = "";
int n = 0;
string strValues = "";
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
n = n + 1;
strValues = " select ";
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
if (j == 0)
{
strValues = strValues + " '" + Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[i][j]) + "'";
}
else
{
strValues = strValues + ",'" + Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[i][j]) + "'";
}
}
//
if (n == ds.Tables[0].Rows.Count)
{
strValuesSum = strValuesSum + " \r\n " + strValues + " ";
}
else
{
strValuesSum = strValuesSum + " \r\n " + strValues + " union all ";
}
}
//远程服务器中,将DATASET保存至 数据库扫码TEMP表 (保存前,先删除该 内码的记录)(特别注意:本地服务器单据内码和远程服务器单据内码不能重复)
oCn.BeginTran();
oCn.RunProc(" delete from KF_PonderationBillMain_Temp where HinterID=" + lInterID.ToString());
oCn.RunProc(str + " " + strValuesSum);
oCn.Commit();
return true;
}
catch (Exception e)
{
sErr = "上传扫码记录失败," + e.Message;
oCn.RollBack();
return false;
}
}
//获取更新服务器文件清单
[WebMethod]
public DataSet get_ServerFileList()
{
try
{
DataSet ds;
SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
ds = oCN.RunProcReturn("select FItemid,fnumber,fname from HX_UPdateForWInce", "HX_UPdateForWInce");
if (ds != null && ds.Tables[0].Rows.Count != 0)
{
return ds;
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
//获取更新服务器文件清单
[WebMethod]
public DataSet get_ServerFileListForWMS()
{
try
{
DataSet ds;
SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
ds = oCN.RunProcReturn("select FItemid,fnumber,fname from HX_UPdateForWMS", "HX_UPdateForWMS");
if (ds != null && ds.Tables[0].Rows.Count != 0)
{
return ds;
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
//获取更新服务器文件清单 韩电内网条码
[WebMethod]
public DataSet get_ServerFileListForNBWMS()
{
try
{
DataSet ds;
SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
ds = oCN.RunProcReturn("select FItemid,fnumber,fname from HX_UPdate ", "HX_UPdate");
if (ds != null && ds.Tables[0].Rows.Count != 0)
{
return ds;
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
//获取更新服务器文件清单 韩电内网JIT
[WebMethod]
public DataSet get_ServerFileListForNBLMES()
{
try
{
DataSet ds;
SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
ds = oCN.RunProcReturn("select FItemid,fnumber,fname from HX_UPdate2 ", "HX_UPdate2");
if (ds != null && ds.Tables[0].Rows.Count != 0)
{
return ds;
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
//获取更新服务器文件
[WebMethod]
public bool get_ServerFile(string sSQL, ref byte[] FileItem)
{
try
{
//DataSet ds;
//SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
//oCN.CheckOpen();
//List InformatoinCollection = new List();
//SqlConnection ocn = new SqlConnection(@"Data Source=192.168.10.61\MSSQLSERVER2;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//韩电
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.1.72;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//飞龙
//SqlConnection ocn = new SqlConnection(@"Data Source=192.168.1.51;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
return false;
}
}
catch (Exception e)
{
FileItem = null;
sSQL = e.Message;
return false;
}
}
//获取更新服务器文件
[WebMethod]
public bool get_ServerFileForWMS(string sSQL, ref byte[] FileItem)
{
try
{
//获取系统参数
string sErrMsg="";
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//DataSet ds;
//SQLHelper.ClsCNmaster oCN = new SQLHelper.ClsCNmaster();
//oCN.CheckOpen();
//List InformatoinCollection = new List();
if (oSystemParameter.omodel.WMS_CampanyName == "韩电") //系统参数 客户定制化名称 空白为通用
{
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.10.61\MSSQLSERVER2;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767"); //韩电
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
else if (oSystemParameter.omodel.WMS_CampanyName == "飞龙")
{
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.1.72;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//飞龙
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
else if (oSystemParameter.omodel.WMS_CampanyName == "四维尔")
{
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.0.200;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//四维尔
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
else if (oSystemParameter.omodel.WMS_CampanyName == "雅琪诺")
{
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.0.175;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//雅琪诺
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
else if (oSystemParameter.omodel.WMS_CampanyName == "圣龙")
{
SqlConnection ocn = new SqlConnection(@"Data Source=192.168.1.34;DataBase=master;User ID=HX_USER;PWD=lc@841022;max pool size=32767");//圣龙
ocn.Open();
SqlCommand cm = new SqlCommand(sSQL, ocn);
cm.CommandTimeout = 600;
SqlDataReader dr = cm.ExecuteReader();
//byte[] oFile = null;
if (dr.Read())
{
FileItem = (byte[])dr["FFile"];
return true;
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
else
{
FileItem = null;
sSQL = "";
return false;
}
}
catch (Exception e)
{
FileItem = null;
sSQL = e.Message;
return false;
}
}
//得到登入组织信息(ID、代码、名称)
[WebMethod]
public DataSet get_ORGANIZATIONS(string HDataCenterName)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("select * from h_v_CLD_ORGANIZATIONSList where HName='" + HDataCenterName + "'", "h_v_CLD_ORGANIZATIONSList");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
//判断用户对应组织权限,得到登入组织信息(ID、代码、名称)
[WebMethod]
public DataSet get_ORGANIZATIONS_UserByOrgRelation(string HUserNumber, string HOrgName)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_Xt_UserRelationOrg_Check '" + HUserNumber + "','" + HOrgName + "'", "h_p_Xt_UserRelationOrg_Check");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
//得到CLOUD组织 new
[WebMethod]
public Int64 get_ORGANIZATIONSIDByName(string HDataCenterName)
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HItemID from h_v_CLD_ORGANIZATIONSList where Hname='" + HDataCenterName + "'", "h_v_CLD_ORGANIZATIONSList");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return -1;
}
else
{
return DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HItemID"]);
}
}
catch (Exception e)
{
return -1;
}
}
//得到CLOUD组织 new
[WebMethod]
public string get_ORGANIZATIONSNOByName(string HDataCenterName)
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HNumber from h_v_CLD_ORGANIZATIONSList where Hname='" + HDataCenterName + "'", "h_v_CLD_ORGANIZATIONSList");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return "";
}
else
{
return DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HNumber"]);
}
}
catch (Exception e)
{
return "";
}
}
//得到CLOUD账套 new
[WebMethod]
public string get_DataCenterIDByName(string HDataCenterName)
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("select HItemID from h_v_CLD_DataCenterList where Hname='" + HDataCenterName + "'", "h_v_CLD_DataCenterList");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
return "";
}
else
{
return DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HItemID"]);
}
}
catch (Exception e)
{
return null;
}
}
//得到CLOUD账套列表 new
[WebMethod]
public DataSet get_DataCenterList()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
return oCN.RunProcReturn("select * from h_v_CLD_DataCenterList", "h_v_CLD_DataCenterList");
}
catch (Exception e)
{
return null;
}
}
[WebMethod]
public bool getRunProcByMul_Back(string[] sSQL, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.BeginTran();
if (sSQL.Length > 0)
{
for (int i = 0; i < sSQL.Length; i++)
{
oCn.RunProc(sSQL[i]);
}
}
else
{
sErrMsg = "没有数据!";
oCn.Commit();
return false;
}
oCn.Commit();
return true;
}
catch (Exception e)
{
sErrMsg = e.Message;
oCn.RollBack();
return false;
}
}
//得到CLOUD组织列表 new
[WebMethod]
public DataSet get_ORGANIZATIONSList()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
return oCN.RunProcReturn("select * from h_v_CLD_ORGANIZATIONSList", "h_v_CLD_ORGANIZATIONSList");
}
catch (Exception e)
{
return null;
}
}
//获取CLOUD账号密码
[WebMethod]
public DataSet get_SaveCLOUDUseNameandPsd(Int64 HInterID)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_GetCloudUserByBill " + HInterID.ToString(), "h_p_WMS_GetCloudUserByBill");
if (ds == null && ds.Tables[0].Rows.Count == 0)
{
return null;
}
else
{
return ds;
}
}
catch (Exception e)
{
return null;
}
}
//单据上传前判断(物料属性判断 丸井)
[WebMethod]
public bool CheckAllowBeforeSave(Int64 HInterID, ref string sMsg)
{
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_CheckAllowBeforeSave_K3 " + HInterID.ToString(), "HX_UPdateForWInce");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sMsg = "上传前判断失败!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
return true;
}
else
{
sMsg = "上传前判断!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
return false;
}
}
}
catch (Exception e)
{
sMsg = "上传前判断失败2!" + e.Message;
return false;
}
}
//获取系统参数
[WebMethod]
public bool get_SystemParameter(Pub_Class.ClsXt_SystemParameterMain omodel)
{
try
{
Pub_Class.ClsXt_SystemParameter oXt_SystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oXt_SystemParameter.ShowBill(ref DBUtility.ClsPub.sExeReturnInfo))
{
omodel = oXt_SystemParameter.omodel;
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
[WebMethod]
//根据条码得到相应信息(条码档案)
public Model.ClsGy_BarCodeBill_WMS_Model_View get_InfoByBarCode(string sBarCode, ref string sErrMsg)
{
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
sErrMsg = "";
return dal.omodel_View;
}
else
{
sErrMsg = "无效条码";
return null;
}
}
[WebMethod]
//扫码入库时获取仓库仓位信息
public bool Get_CheckWhAndSP(Int64 sHInterID, string sHBillType, string sBarCode, Int64 sHWHID, Int64 sHSPID, ref Int64 HWHID, ref Int64 HSPID, ref string sErrMsg)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("exec h_p_WMS_GetBillWHID " + sHInterID.ToString() + ",'" + sHBillType + "','" + sBarCode + "'," + sHWHID.ToString() + "," + sHSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
HWHID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSPID"]);
sErrMsg = "";
return true;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = "仓位没有选择,请先选择仓位!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2)
{
sErrMsg = "所选仓位不在该仓库下,请重新选择!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 6)
{
sErrMsg = "物料默认仓位没有设置,请在物料基础资料中维护仓位信息!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 7)
{
sErrMsg = "物料默认仓位信息设置错误,获取仓位信息失败,请在物料基础资料中设置正确仓位信息!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 8)
{
sErrMsg = "物料默认仓库信息设置错误,获取仓库信息失败,请在物料基础资料中设置正确仓库信息!";
return false;
}
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 9)
{
sErrMsg = "仓库没有选择,请先选择仓库!或在物料基础资料中维护相应仓库、仓位信息!";
return false;
}
else
{
sErrMsg = "未知错误2!";
return false;
}
}
}
[WebMethod]
//扫描物料条码存入临时表时判断仓库仓位是否正确
public bool Get_CheckWhAndSP_BeUpdate(Int64 sHWHID, Int64 sHSPID, ref string sErrMsg)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DataSet ds = oCN.RunProcReturn("exec h_p_WMS_CheckWHandSP " + sHWHID.ToString() + "," + sHSPID.ToString(), "h_p_WMS_CheckWHandSP");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
[WebMethod]
//根据条码得到相应信息(条码档案)
public Model.ClsGy_BarCodeBill_WMS_Model_View get_InfoByBarCode_Source(string sBarCode,Int64 sInterID,ref bool sBool, ref string sErrMsg)
{
sBarCode = sBarCode.Trim();
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
sErrMsg = "";
//-------------获取TMP中的原单主内码和子内码
DataSet ds = oCN.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + sInterID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID");
if(ds==null || ds.Tables[0].Rows.Count==0 )
{
}
else
{
if(DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0])==0)
{
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceEntryID"]);
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSourceInterID"]);
dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HQtyMust"]);
sBool = true;
}
}
return dal.omodel_View;
}
else
{
sErrMsg = "无效条码";
return null;
}
}
//根据条码得到相应信息For汇报(条码档案)
///
/// 根据条码得到相应信息For汇报(条码档案)
///
///
///
///
[WebMethod]
public Model.ClsGy_BarCodeBill_WMS_Model_View get_InfoByBarCodeForReport(string sBarCode, ref string sErrMsg)
{
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoForReportByNumber_View(sBarCode))
{
sErrMsg = "";
return dal.omodel_View;
}
else
{
sErrMsg = "无效条码";
return null;
}
}
[WebMethod]
//根据流转卡单号得到相应信息
public DataSet get_InfoByStationInBill(string lngBillKey, ref string sReturn)
{
DAL.ClsSc_StationInBill dal = new DAL.ClsSc_StationInBill();
return dal.GetInfo(lngBillKey, ref sReturn);
}
[WebMethod]
//根据流转卡单号得到相应信息
public DataSet get_InfoByStationOutBill(string lngBillKey, ref string sReturn)
{
DAL.ClsSc_StationOutBill dal = new DAL.ClsSc_StationOutBill();
return dal.GetInfo(lngBillKey, ref sReturn);
}
//根据流转卡单号得到相应信息
public DataSet get_InfoByProcExchReport(string lngBillKey, ref string sReturn)
{
//DAL.ClsSc_ProcExchReport dal = new DAL.ClsSc_ProcExchReport();
//return dal.GetInfo(lngBillKey, ref sReturn);
return null;
}
[WebMethod]
//得到 最大单据ID和单据号
public bool get_MaxBillNoAndID(string HTranType, ref string HBillNo, ref Int64 HInterID, ref string sErrMsg)
{
HInterID = DBUtility.ClsPub.CreateBillID_Prod(HTranType, ref sErrMsg);
HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HTranType, ref sErrMsg, true);
//原先获取方法
//HInterID = DBUtility.ClsPub.CreateBillID(HTranType, ref sErrMsg);
//HBillNo = DBUtility.ClsPub.CreateBillCode(HTranType, ref sErrMsg, true);
//判断是否存在相同单据内码或单据号
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_IF_CheckBillIDExists_WMS " + HInterID + ",'" + HBillNo+"'", "h_p_IF_CheckBillIDExists_WMS");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
return false;
}
else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "1")
{
sErrMsg = "存在重复单据内码或单据号的单据,不允许新增,请退出后重新登录!";
return false;
}
}
catch (Exception e)
{
sErrMsg = "重复单据内码判断失败!" + e.Message;
return false;
}
return true;
}
[WebMethod]
//得到K3 最大单据ID和单据号
public bool get_MaxBillNoAndID_K3(string sBillCode, string HTranType, ref string HBillNo, ref Int64 HInterID, ref string sErrMsg)
{
HInterID = DBUtility.Xt_BaseBillFun.CreateBillID_K3(sBillCode, ref sErrMsg);
HBillNo = DBUtility.Xt_BaseBillFun.get_MaxBillNo_K3(HTranType, ref sErrMsg);
//判断是否存在相同单据内码
try
{
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_WMS_CheckBillIDExists " + HInterID, "h_p_WMS_CheckBillIDExists");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "存在重复单据内码的单据,不允许新增,请退出后重新登录!";
return false;
}
else if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][0]) == "1")
{
sErrMsg = "存在重复单据内码的单据,不允许新增,请退出后重新登录!";
return false;
}
}
catch (Exception e)
{
sErrMsg = "重复单据内码判断失败!" + e.Message;
return false;
}
return true;
}
[WebMethod]
//得到K3 最大单据ID和单据号 CLOUD
public bool get_MaxBillNoAndID_CLD(string sBillCode, string HTranType, ref string HBillNo, ref Int64 HInterID, ref string sErrMsg)
{
HInterID = DBUtility.ClsPub.CreateBillID(HTranType, ref sErrMsg);
HBillNo = DBUtility.ClsPub.CreateBillCode(HTranType, ref sErrMsg, true);
return true;
}
[WebMethod]
//得到 最大单据ID和单据号
public bool get_MaxBillNoAndID_New(string HTranType, ref string HBillNo, ref Int64 HInterID, ref string sErrMsg)
{
HInterID = DBUtility.ClsPub.CreateBillID_Prod(HTranType, ref sErrMsg);
HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(HTranType, ref sErrMsg, true);
return true;
}
[WebMethod]
//得到 最大单据ID
public bool get_MaxBillID(string HTranType, ref Int64 HInterID, ref string sErrMsg)
{
HInterID = DBUtility.ClsPub.CreateBillID_Prod(HTranType, ref sErrMsg);
return true;
}
//判断用户权限
[WebMethod]
public bool CheckModRight(string ModRightName, string sUserName, ref string sErrMsg)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//判断权限
if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, sUserName))
{
sErrMsg = "您没有权限,请与管理员联系!";
return false;
}
//
if (oSystemParameter.omodel.WMS_WMSStockCtl_ERPMode.ToUpper() == "WISE") //判断同步模式是金蝶WISE
{
//判断用户是否绑定金蝶账号
DataSet ds;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
ds = oCN.RunProcReturn("exec h_p_K3_User '" + sUserName + "'", "K3_User");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "您的用户没有绑定金蝶账号,请与管理员联系!";
return false;
}
}
else
{
//判断用户账号密码(WISE、CLOUD)是否正确
if (!CheckUser(sUserName, ref sErrMsg))
{
sErrMsg = sErrMsg;
return false;
}
}
return true;
}
[WebMethod]
//得到操作员信息
public DataSet get_User(string sUserName, string sUserPsd)
{
DAL.ClsUser oUser = new DAL.ClsUser();
return oUser.CheckMainID(sUserName, DBUtility.ClsPub.StrToPsd(sUserPsd));
}
//判断用户账号密码(WISE、CLOUD)是否正确
[WebMethod]
public bool CheckUser(string sUserName, ref string sErrMsg)
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
if (oSystemParameter.omodel.WMS_WMSStockCtl_ERPMode.ToUpper() == "CLOUD") //判断同步模式是金蝶CLOUD
{
//从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码
if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
{
sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
return false;
}
//获取CLOUD账号密码
string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
DataSet ds = oCN.RunProcReturn("select top 1 HCloudUserName,HCloudUserPsd from Gy_Czygl with(nolock) Where Czymc='" + sUserName + "'", "Gy_Czygl");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "所输入的用户名不存在! ";
return false;
}
else
{
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCloudUserName"]) != "")
{
sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCloudUserName"]);
sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HCloudUserPsd"]);
}
}
//验证CLOUD登入账号密码是否正确
ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
if (bLogin)
{
return true;
}
else
{
sErrMsg = "登入账号所绑定的对应CLOUD账号、密码错误,登录失败!";
return false;
}
}
return true;
}
//测试连接
[WebMethod]
public bool get_TestStr()
{
try
{
return true;
}
catch
{
return false;
}
}
//数据库连接测试
[WebMethod]
public void get_ServerCon(ref string sErrMsg)
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (oCN.CheckOpen())
{
sErrMsg = "";
}
else
{
sErrMsg = "数据库连接失败";
}
}
catch (Exception e)
{
sErrMsg = "数据库连接失败" + e.Message;
}
}
//数据库连接测试
[WebMethod]
public string get_ServerCon2()
{
try
{
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (oCN.CheckOpen())
{
return "true" + oCN.sDataBase + "," + oCN.sServer;
}
else
{
return "数据库连接失败";
}
}
catch (Exception e)
{
return "数据库连接失败" + e.Message;
}
}
//判断扫码后,模块子表是否自动刷新(Y为自动刷新)
[WebMethod]
public bool get_SubDisplay(string sBillType)
{
DataSet DS;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
DS = oCN.RunProcReturn("exec h_p_WMS_DisBillEntryList '" + sBillType + "'", "h_p_WMS_DisBillEntryList");
if (DS == null || DS.Tables[0].Rows.Count == 0)
{
return true;
}
else if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HDisplay"]) == "N")
{
return false;
}
else
{
return true;
}
}
#endregion
#region 电子看板
#region 获取当前产线信息
//获取当前产线信息
[WebMethod]
public DataSet GetWorkProcInfoBoard(string sSourceID, ref string sErr)
{
return null;
}
#endregion
#endregion
#region 条码查询
[WebMethod]
public DataSet GetICInventoryByBarCode_View(string sWhere, ref string sErr)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetICInventoryByBarCode_View(sWhere);
}
[WebMethod]
public DataSet GetMaterByBarCode_View(string sWhere, ref string sErr)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetMaterByBarCode_View(sWhere);
}
[WebMethod]
public DataSet GetICInventoryByBarCodeSP_View(string sWhere, ref string sErr)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetICInventoryByBarCodeSP_View(sWhere);
}
[WebMethod]
public DataSet GetMaterByBarCodeSP_View(string sWhere, ref string sErr)
{
DAL.ClsKF_PonderationBillMain_Temp_View dal = new DAL.ClsKF_PonderationBillMain_Temp_View();
return dal.GetMaterByBarCodeSP_View(sWhere);
}
#endregion
#region 先进先出生成
[WebMethod]
public bool SetFIFOPonderationBillMain_Temp(string HBillNo, Int64 HInterID,long HUserOrgID, ref string sErr)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
//根据源单
DataSet ds;
DataSet ds2;
ds = oCn.RunProcReturn("exec h_p_Kf_GetMateOutInfoByInterID " + HInterID.ToString() + " ", "h_p_Kf_GetMateOutInfoByInterID");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErr = "获取源单信息失败!";
return false;
}
double NeedQty = 0;//需求数量
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
NeedQty = DBUtility.ClsPub.isDoule(ds.Tables[0].Rows[0]["HQTY"]);
int HWHID=DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["HWHID"]);
ds2 = oCn.RunProcReturn("exec h_p_Kf_GetCanUseICInventory " + HInterID.ToString()+","+HWHID.ToString()+","+HUserOrgID.ToString(), "h_p_Kf_GetCanUseICInventory");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErr = "可用库存不足!";
//清理本次FIFO临时表记录的存储过程
return false;
}
else
{
int HEntryID = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["领料单子内码"]);
int HMaterID = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[0]["物料内码"]);
string HBatchNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBatchNo"]);
int HSPID = DBUtility.ClsPub.isInt(ds2.Tables[0].Rows[0]["HSPID"]);
for (int j = 0; j < ds2.Tables[0].Rows.Count; j++)
{
if (DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HKFQTY"]) >= NeedQty)//如本条库库存 大于等于 需求数量 则 直接保存需求数量, 跳出本循环
{
oCn.RunProc("exec h_p_Kf_SetFIFOTmpBill " + HInterID.ToString() + ",'" + HBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + "," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HWHID.ToString() + "," + HSPID.ToString() + "," + NeedQty.ToString());
NeedQty = 0;
break;
}
else //如本条库库存 小于 需求数量 则 直接保存库存数量 继续下个库存循环
{
double sNeedQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HKFQTY"]);
oCn.RunProc("exec h_p_Kf_SetFIFOTmpBill " + HInterID.ToString() + ",'" + HBillNo + "'," + HInterID.ToString() + "," + HEntryID.ToString() + "," + HMaterID.ToString() + ",'" + HBatchNo + "'," + HWHID.ToString() + "," + HSPID.ToString() + "," + sNeedQty.ToString());
NeedQty = NeedQty - DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HKFQTY"]);
}
}
if (NeedQty > 0)
{
sErr = "可用库存不足!不能进行先进先出分解";
//清理本次FIFO临时表记录的存储过程
return false;
}
}
}
return true;
}
#endregion
#region 一键扫码
#region 扫描物料条码 根据物料条码得到对应源单信息 入库模块
//扫描物料条码 保存到出入库条码临时表(物料) 入库模块
[WebMethod]
public bool set_SavePonderationBillMain_Temp_BarCode_Fast(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
double sRelQty = 0;
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//根据物料条码得到对应源单信息,非多源单模式,判断是否已有源单记录(单据类型=1203,其他入库单除外)
if (SourceFlag || HBillType == "1203")
{
}
else
{
//根据物料条码得到对应源单信息并将源单信息新增到条码出入库临时表,带出表头部门、供应商
DataSet ds = oCn.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 0)
{
sHSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]);
sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillNo"]);
sHSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]);
sHSupName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSupName"]);
sHDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]);
sHDeptName = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HDeptName"]);
HSourceBillType = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSourceBillType"]);
//存在源单信息,将源单信息写入条码临时表
if (sHSourceBillNo != "")
{
// 将源单信息写入 临时缓存表
if (tem.AddNew_Source(HBillID, HBillNo, HBillType, sHSourceBillNo, sHSourceBillType, sRedBlue, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg;
return false;
}
}
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
//根据条码获取条码信息,存在相同物料时自动获取一行源单信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//获取TMP中的原单主内码和子内码
DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!";
return false;
}
else
{
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]);
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]);
dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]);
//所扫描物料条码的物料不属于该源单下
if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) != 0)
{
if (HSourceBillNo != "" && SourceFlag == true)
{
sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!";
return false;
}
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
//判断并获取 仓库 仓位信息
DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty)
{
sRelQty = dal.omodel_View.HQty;
}
else if (HQty > 0)
{
sRelQty = HQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
if (HRedBlueFlag)
{
//判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
}
else
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return false;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
else
{
//判断条码扫描数量 返回剩余未扫描数量
if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
}
else
{
sErrMsg = sErrMsg;
return false;
}
}
}
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = dal.omodel_View.HinitQty;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = HOWNERID;
model.HOWNERID = HOWNERID;
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
return true;
}
#endregion
#region 一键扫码 入库模块
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) 入库模块
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
string sHSourceBillType = "";
string sHSourceBillNo = "";
Int64 sHSupID = 0;
string sHSupName = "";
Int64 sHDeptID = 0;
string sHDeptName = "";
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return null;
}
//判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码
if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_Fast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
{
oBar.HSourceBillType = sHSourceBillType;
oBar.HSourceBillNo = sHSourceBillNo;
oBar.HSupID = sHSupID;
oBar.HSupName = sHSupName;
oBar.HDeptID = sHDeptID;
oBar.HDeptName = sHDeptName;
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
else
{
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
DataSet Dss;
//根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码)
Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType");
//无返回数据则为物料条码
if (Dss == null || Dss.Tables[0].Rows.Count == 0)
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_Fast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
{
oBar.HSourceBillType = sHSourceBillType;
oBar.HSourceBillNo = sHSourceBillNo;
oBar.HSupID = sHSupID;
oBar.HSupName = sHSupName;
oBar.HDeptID = sHDeptID;
oBar.HDeptName = sHDeptName;
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
else
{
string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
//判断条码类型为 基础资料条码 或 源单条码
if (sBarBillType == "基础资料条码")
{
//仓库条码
if (sBarBillName == "仓库")
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
//将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓库条码";
oBar.HWhID = dal.omodel.HItemID;
oBar.HWhNumber = dal.omodel.HNumber;
oBar.HWhName = dal.omodel.HName;
oBar.HSPFlag = dal.omodel.HIsStockMgr;
return oBar;
}
else
{
sErrMsg = "无效仓库条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓库条码!";
return null;
}
}
//仓位条码
else if (sBarBillName == "仓位")
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓位条码";
oBar.HSPID = dal.omodel.HItemID;
oBar.HSPNumber = dal.omodel.HNumber;
oBar.HSPName = dal.omodel.HName;
oBar.HWhID = dal.omodel.HWHID;
oBar.HWhNumber = dal.omodel.HWhNumber;
oBar.HWhName = dal.omodel.HWhName;
return oBar;
}
else
{
sErrMsg = "无效仓位条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓位条码!";
return null;
}
}
//部门条码
else if (sBarBillName == "部门")
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "部门条码";
oBar.HDeptID = dal.omodel.HItemID;
oBar.HDeptNumber = dal.omodel.HNumber;
oBar.HDeptName = dal.omodel.HName;
return oBar;
}
else
{
sErrMsg = "无效部门条码!";
return null;
}
}
else
{
sErrMsg = "错误的部门条码!";
return null;
}
}
else
{
sErrMsg = "无效基础资料条码!";
return null;
}
}
//源单条码
else if (sBarBillType == "源单条码")
{
DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "所扫源单条码不属于此模块源单范围!";
return null;
}
else
{
sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
//扫描源单条码时判断是否已经扫描过源单信息
if (SourceFlag)
{
sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!";
return null;
}
else
{
//产品入库单 源单:生产任务单
if (sBarBillName == "生产任务单" && HBillType == "1202")
{
DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//外购入库单 源单:采购订单
else if (sBarBillName == "采购订单" && HBillType == "1201")
{
DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//外购入库单 源单:收料通知单
else if (sBarBillName == "收料通知单" && HBillType == "1201")
{
DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "' and isnull(HBillSubType,0)=12510 ";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//委外入库单 源单:委外订单
else if (sBarBillName == "委外订单" && HBillType == "1210")
{
DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//委外入库单 源单:收料通知单-委外
else if (sBarBillName == "收料通知单-委外" && HBillType == "1210")
{
DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "' and isnull(HBillSubType,0)=12511 ";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
else
{
sErrMsg = "源单类型名称设置不正确!";
return null;
}
// 将源单信息写入 临时缓存表
if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg))
{
return oBar;
}
else
{
sErrMsg = "保存源单信息失败!" + sErrMsg;
return null;
}
}
}
}
else
{
sErrMsg = "无效条码类型!";
return null;
}
}
}
}
#endregion
#region 扫描物料条码 出库模块
//扫描物料条码 保存到出入库条码临时表(物料) 出库模块
[WebMethod]
public bool set_SavePonderationBillMain_Temp_BarCode_OutFast(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
double sRelQty = 0;
//无源单状态,设置源单类型为-1
if (SourceFlag == false)
{
if (HBillType == "1205")
{
sErrMsg = "不允许无源单出库,请先扫描源单!";
return false;
}
HSourceBillType = "-1";
}
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//根据条码获取条码信息,存在相同物料时自动获取一行源单信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//获取TMP中的原单主内码和子内码
DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID");
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!";
return false;
}
else
{
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQtyMust"]);
//所扫描物料条码的物料不属于该源单下
if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) != 0)
{
if (HSourceBillNo != "" && SourceFlag == true)
{
sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!";
return false;
}
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty)
{
sRelQty = dal.omodel_View.HQty;
}
else if (HQty > 0)
{
sRelQty = HQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
if (HRedBlueFlag == false)
{
//非唯一条码扫描时判断仓库仓位是否已选择
if (dal.omodel_View.HBarCodeType != "唯一条码")
{
if (HWhID == 0)
{
sErrMsg = "仓库没有选择!";
return false;
}
else
{
//根据仓库ID,判断是否启用仓位
DataSet Ds2 = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse where HItemID= " + HWhID.ToString(), "Gy_Warehouse");
//无返回数据则为物料条码
if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "仓库内码错误!";
return false;
}
else if (HSPID == 0 && DBUtility.ClsPub.isBool(Ds2.Tables[0].Rows[0]["HSPFlag"]) == true)
{
sErrMsg = "仓位没有选择!";
return false;
}
}
}
else
{
//判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
}
else
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return false;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
}
else
{
//判断并获取 仓库 仓位信息
DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//判断条码扫描数量 返回剩余未扫描数量
if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
}
else
{
sErrMsg = sErrMsg;
return false;
}
}
}
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = dal.omodel_View.HinitQty;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = HOWNERID;
model.HOWNERID = HOWNERID;
//物料条码写入临时表时,判断仓库仓位是否正确
DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_CheckWHandSP");
if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
return true;
}
#endregion
#region 一键扫码 出库模块
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) 出库模块
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_Out(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return null;
}
//判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码
if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_OutFast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
else
{
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
DataSet Dss;
//根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码)
Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType");
//无返回数据则为物料条码
if (Dss == null || Dss.Tables[0].Rows.Count == 0)
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_OutFast(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
else
{
string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
//判断条码类型为 基础资料条码 或 源单条码
if (sBarBillType == "基础资料条码")
{
//仓库条码
if (sBarBillName == "仓库")
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
//将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓库条码";
oBar.HWhID = dal.omodel.HItemID;
oBar.HWhNumber = dal.omodel.HNumber;
oBar.HWhName = dal.omodel.HName;
oBar.HSPFlag = dal.omodel.HIsStockMgr;
return oBar;
}
else
{
sErrMsg = "无效仓库条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓库条码!";
return null;
}
}
//仓位条码
else if (sBarBillName == "仓位")
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓位条码";
oBar.HSPID = dal.omodel.HItemID;
oBar.HSPNumber = dal.omodel.HNumber;
oBar.HSPName = dal.omodel.HName;
oBar.HWhID = dal.omodel.HWHID;
oBar.HWhNumber = dal.omodel.HWhNumber;
oBar.HWhName = dal.omodel.HWhName;
return oBar;
}
else
{
sErrMsg = "无效仓位条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓位条码!";
return null;
}
}
//部门条码
else if (sBarBillName == "部门")
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "部门条码";
oBar.HDeptID = dal.omodel.HItemID;
oBar.HDeptNumber = dal.omodel.HNumber;
oBar.HDeptName = dal.omodel.HName;
return oBar;
}
else
{
sErrMsg = "无效部门条码!";
return null;
}
}
else
{
sErrMsg = "错误的部门条码!";
return null;
}
}
else
{
sErrMsg = "无效基础资料条码!";
return null;
}
}
//源单条码
else if (sBarBillType == "源单条码")
{
DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "所扫源单条码不属于此模块源单范围!";
return null;
}
else
{
sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
//扫描源单条码时判断是否已经扫描过源单信息
if (SourceFlag)
{
sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!";
return null;
}
else
{
//领料出库 源单:生产任务单-投料
if (sBarBillName == "生产任务单-投料" && HBillType == "1204")
{
DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//销售出库 源单:销售订单
else if (sBarBillName == "销售订单" && HBillType == "1205")
{
DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//销售出库 源单:发货通知单
else if (sBarBillName == "发货通知单" && HBillType == "1205")
{
DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
//委外出库单 源单:委外订单-投料
else if (sBarBillName == "委外订单-投料" && HBillType == "1211")
{
DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite();
DataSet DS;
//根据单据号获取过滤条件
string sWhere = " Where 单据号 like '%" + sBarCode + "'";
DS = dal.DisSourceBillList(sWhere);
if (DS == null || DS.Tables[0].Rows.Count <= 0)
{
sErrMsg = "没有返回任何记录!";
return null;
}
oBar.HBarType = "源单条码";
oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
}
else
{
sErrMsg = "源单类型名称设置不正确!";
return null;
}
// 将源单信息写入 临时缓存表
if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg))
{
return oBar;
}
else
{
sErrMsg = "保存源单信息失败!" + sErrMsg;
return null;
}
}
}
}
else
{
sErrMsg = "无效条码类型!";
return null;
}
}
}
}
#endregion
#region 扫描物料条码 产品入库多源单模式
//扫描物料条码 保存到出入库条码临时表(物料) 产品入库多源单模块
[WebMethod]
public bool set_SavePonderationBillMain_Temp_BarCode_MulSource(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, string HSourceBillType, Int64 HOWNERID, bool sXFFlag, bool sJDPFlag, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
double sRelQty = 0;
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//根据条码获取条码信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//从条码表中获取条码源单类型信息
DataSet ds2 = oCn.RunProcReturn(" select HSourceBillType from Gy_BarCodeBill where HBarCodeType='唯一条码' and HBarCode='" + sBarCode + "'", "Gy_BarCodeBill");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "条码类型不正确!";
return false;
}
else
{
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0][0]) != "3710")
{
sErrMsg = "条码源单信息错误,所扫条码源单类型必须为生产订单!";
return false;
}
}
if (sXFFlag)
{
//箱发
DataSet dsxf = oCn.RunProcReturn("exec h_p_WMS_GetICMOBillandHMaterID_XF '" + sBarCode + "' ", "h_p_WMS_GetICMOBillandHMaterID_XF");
if (dsxf == null || dsxf.Tables[0].Rows.Count == 0)
{
sErrMsg = "所扫描成品码无相关箱发生产订单,不允许箱发入库!";
return false;
}
else if (dsxf.Tables[0].Rows.Count != 1)
{
sErrMsg = "所扫描成品码相关箱发生产订单不唯一,不允许箱发入库!";
return false;
}
else
{
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsxf.Tables[0].Rows[0]["HInterID"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsxf.Tables[0].Rows[0]["HEntryID"]);
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsxf.Tables[0].Rows[0]["HBillNo"]);
dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsxf.Tables[0].Rows[0]["HMaterID"]);
dal.omodel_View.HBarCode = sBarCode + "-XF";
HWhID = DBUtility.ClsPub.isLong(dsxf.Tables[0].Rows[0]["HWhID"]);
HSPID = 0;
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
if (sXFFlag)
{
////判断并获取 仓库 仓位信息 箱发
//DataSet dsxf3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID_XF " + HBillID.ToString() + ",'" + HBillType + "'," + dal.omodel_View.HMaterID + "," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID_XF");
//if (dsxf3 == null || dsxf3.Tables[0].Rows.Count == 0)
//{
// sErrMsg = "判断并获取仓库仓位信息,未知错误!";
// return false;
//}
//else
//{
// if (DBUtility.ClsPub.isLong(dsxf3.Tables[0].Rows[0][0]) == 0)
// {
// HWhID = DBUtility.ClsPub.isLong(dsxf3.Tables[0].Rows[0]["HWHID"]);
// HSPID = DBUtility.ClsPub.isLong(dsxf3.Tables[0].Rows[0]["HSPID"]);
// }
// else
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(dsxf3.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
//}
}
else
{
//判断并获取 仓库 仓位信息
DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID_ProductIn_HD '" + sBarCode + "'", "h_p_WMS_GetBillWHID_ProductIn_HD");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//原优等品、一等品仓库仓位获取方法
//if (sJDPFlag)
//{
// //降等品
// DataSet dsJDP = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID_JDP '" + sBarCode + "'", "h_p_WMS_GetBillWHID_JDP");
// if (dsJDP == null || dsJDP.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "判断并获取降等品仓库信息,未知错误!";
// return false;
// }
// else
// {
// HWhID = DBUtility.ClsPub.isLong(dsJDP.Tables[0].Rows[0]["HWHID"]);
// HSPID = DBUtility.ClsPub.isLong(dsJDP.Tables[0].Rows[0]["HSPID"]);
// }
//}
//else
//{
// //判断并获取 仓库 仓位信息
// DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
// if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "判断并获取仓库仓位信息,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0)
// {
// HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
// HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
// }
// else
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
// }
//}
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
if (dal.omodel_View.HBarCodeType == "唯一条码" && HQty > 0 && dal.omodel_View.HQty < HQty)
{
sRelQty = dal.omodel_View.HQty;
}
else if (HQty > 0)
{
sRelQty = HQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
if (HRedBlueFlag)
{
//判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
}
else
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return false;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
else
{
//判断条码扫描数量 返回剩余未扫描数量
if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
}
else
{
sErrMsg = sErrMsg;
return false;
}
}
}
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = 0;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = dal.omodel_View.HSTOCKORGID;
model.HOWNERID = dal.omodel_View.HOWNERID;
if (sXFFlag)
{
//箱发
tem.oModel = model;
if (dal.omodel_View.HBarCodeType == "唯一条码")
{
if (!tem.IsBarCode(model.HBarCode, model.HInterID, model.HErpClsID, model.HBillType))
{
sErrMsg = "存在相同条码,请勿重复扫描!";
return false;
}
}
if (tem.AddNew_Source(ref sErrMsg))
{
return true;
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
}
else
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
}
return true;
}
#endregion
#region 一键扫码 产品入库多源单模式
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) 产品入库多源单模块
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_MulSource(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, string HSourceBillType, Int64 HOWNERID, bool sXFFlag, bool sJDPFlag, ref string sErrMsg)
{
sBarCode = sBarCode.Trim();
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return null;
}
//判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码
if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_MulSource(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, HSourceBillType, HOWNERID, sXFFlag, sJDPFlag, ref sErrMsg))
{
if (sXFFlag)
{
//箱发
sBarCode = sBarCode + "-XF";
}
//从条码出入库临时表 中获取该单据下该条码的仓库仓位信息
DataSet dsWS = oCn.RunProcReturn("exec h_p_Kf_GetOrgandWHSPByTemp_CLD " + HBillID.ToString() + ",'" + sBarCode + "'", "h_p_Kf_GetOrgandWHSPByTemp_CLD");
if (dsWS == null || dsWS.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取所扫描条码入库仓库仓位信息失败!";
return null;
}
else
{
oBar.HOWNERID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HOWNERID"]);
oBar.HOWNERNAME = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HOWNERNAME"]);
oBar.HWhID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HWhID"]);
oBar.HWhName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HWhName"]);
oBar.HSPID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HSPID"]);
oBar.HSPName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HSPName"]);
}
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
else
{
DataSet Dss;
//根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码)
Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType");
//无返回数据则为物料条码
if (Dss == null || Dss.Tables[0].Rows.Count == 0)
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_MulSource(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, HSourceBillType, HOWNERID, sXFFlag, sJDPFlag, ref sErrMsg))
{
if (sXFFlag)
{
//箱发
sBarCode = sBarCode + "-XF";
}
//从条码出入库临时表 中获取该单据下该条码的仓库仓位信息
DataSet dsWS = oCn.RunProcReturn("exec h_p_Kf_GetOrgandWHSPByTemp_CLD " + HBillID.ToString() + ",'" + sBarCode + "'", "h_p_Kf_GetOrgandWHSPByTemp_CLD");
if (dsWS == null || dsWS.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取所扫描条码入库仓库仓位信息失败!";
return null;
}
else
{
oBar.HOWNERID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HOWNERID"]);
oBar.HOWNERNAME = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HOWNERNAME"]);
oBar.HWhID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HWhID"]);
oBar.HWhName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HWhName"]);
oBar.HSPID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HSPID"]);
oBar.HSPName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HSPName"]);
}
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
else
{
string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
//判断条码类型为 基础资料条码 或 源单条码
if (sBarBillType == "基础资料条码")
{
//仓库条码
if (sBarBillName == "仓库")
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
//将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓库条码";
oBar.HWhID = dal.omodel.HItemID;
oBar.HWhNumber = dal.omodel.HNumber;
oBar.HWhName = dal.omodel.HName;
oBar.HSPFlag = dal.omodel.HIsStockMgr;
return oBar;
}
else
{
sErrMsg = "无效仓库条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓库条码!";
return null;
}
}
//仓位条码
else if (sBarBillName == "仓位")
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "仓位条码";
oBar.HSPID = dal.omodel.HItemID;
oBar.HSPNumber = dal.omodel.HNumber;
oBar.HSPName = dal.omodel.HName;
oBar.HWhID = dal.omodel.HWHID;
oBar.HWhNumber = dal.omodel.HWhNumber;
oBar.HWhName = dal.omodel.HWhName;
return oBar;
}
else
{
sErrMsg = "无效仓位条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓位条码!";
return null;
}
}
//部门条码
else if (sBarBillName == "部门")
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "部门条码";
oBar.HDeptID = dal.omodel.HItemID;
oBar.HDeptNumber = dal.omodel.HNumber;
oBar.HDeptName = dal.omodel.HName;
return oBar;
}
else
{
sErrMsg = "无效部门条码!";
return null;
}
}
else
{
sErrMsg = "错误的部门条码!";
return null;
}
}
else
{
sErrMsg = "无效基础资料条码!";
return null;
}
}
//源单条码
else if (sBarBillType == "源单条码")
{
sErrMsg = "多源单模块,无须扫描源单条码!";
return null;
}
else
{
sErrMsg = "无效条码类型!";
return null;
}
}
}
}
#endregion
#region 扫描源单条码 存入出入库条码临时表 生产领料模块专用
//保存到出入库条码临时表(源单) 领料出库 根据计划模式、配套数量、仓库 批量新增源单信息
[WebMethod]
public bool set_SavePonderationBillMain_Temp_SourceBill_MateOut(long sNewInterID, string sNewBillNo, string sNewBillType, string sSourceBillNo, string sSourceBillType, bool sRedBlueflag, string sMaker, Double sPPQty, Int64 sPlanMode, Int64 sHWhID, Int64 sHOWNERID, ref long sHDeptID, ref string sHDeptName, ref string sHSourceBillNo, ref string sHSourceBillType, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
string sRedBlue = "蓝字";
if (sRedBlueflag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
DataSet DS = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_AddSourceBill_MateOut " + sNewInterID.ToString() + ",'" + sNewBillNo + "','" + sNewBillType + "','" + sSourceBillNo + "','" + sSourceBillType + "','" + sRedBlue + "','" + sMaker + "'," + sPPQty.ToString() + "," + sPlanMode.ToString() + "," + sHWhID.ToString() + "," + sHOWNERID.ToString(), "h_p_KF_PonderationBillMain_Temp_AddSourceBill_MateOut");
if (DS == null || DS.Tables[0].Rows.Count == 0)
{
sErrMsg = "源单信息存入出入库条码临时表,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0][0]) == 0)
{
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//生产领料单-先进先出控制
if (oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y") //系统参数 生产领料单-先进先出控制
{
DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_Add " + sNewInterID.ToString() + ",'" + sNewBillType + "','" + sSourceBillNo + "','" + sSourceBillType + "'," + sHWhID.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_Add");
if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
{
sErrMsg = "存入先进先出表,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
sHSourceBillNo = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HSourceBillNo"]);
sHSourceBillType = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HSourceBillType"]);
sHDeptID = DBUtility.ClsPub.isLong(DS.Tables[0].Rows[0]["HDeptID"]);
sHDeptName = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HDeptName"]);
return true;
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
#endregion
#region 一键扫码 多源单模式
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_MulSourceBill(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
//判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码
if (oSystemParameterMain.WMS_OneKeyMode.ToUpper() == "N")
{
oBar = get_SavePonderationBillMain_Temp_MulSource(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameterMain, ref sErrMsg);
if (oBar == null)
{
sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
return null;
}
else
{
return oBar;
}
}
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
else
{
DataSet Dss;
//根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码)
Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType");
//无返回数据则为物料条码
if (Dss == null || Dss.Tables[0].Rows.Count == 0)
{
//将物料条码信息写入出入库条码临时表
oBar = get_SavePonderationBillMain_Temp_MulSource(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameterMain, ref sErrMsg);
if (oBar == null)
{
sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
return null;
}
else
{
return oBar;
}
}
else
{
string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
//判断条码类型为 基础资料条码 或 源单条码
if (sBarBillType == "基础资料条码")
{
oBar = get_BaseSet(sBarCode, HOWNERID, sBarBillName, ref sErrMsg);
if(oBar==null)
{
return null;
}
else
{
return oBar;
}
}
//源单条码
else if (sBarBillType == "源单条码")
{
oBar = getSourceBillList(sBarCode, HBillID, HBillType, HBillNo, HMaker, HRedBlueFlag, SourceFlag, HOWNERID, oSystemParameterMain, ref sErrMsg);
if (oBar == null)
{
sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描源单失败!" + sErrMsg;
return null;
}
else
{
return oBar;
}
}
else
{
sErrMsg = "无效条码类型!";
return null;
}
}
}
}
#endregion
#region 一键扫码 扫描物料条码 存入条码出入库临时表(多源单模式)
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_SavePonderationBillMain_Temp_MulSource(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
double sRelQty = 0;
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//根据条码获取条码信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//有源单模式,产品入库(1202)模块,唯一条码,根据条码获取源单信息,并判断此源单是否已存在临时表中,不存在将源单信息存入临时表中
if (HSourceBillType != "-1" && HBillType == "1202" && dal.omodel_View.HBarCodeType == "唯一条码")
{
DataSet ds1 = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Add_MulSource " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "','" + sRedBlue + "'," + HOWNERID, "h_p_KF_PonderationBillMain_Temp_Add_MulSource");
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
{
sErrMsg = "多源单模式扫描物料带出源单信息失败,数据库连接失败!";
return null;
}
else
{
if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
{
oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
oBar.HSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
return null;
}
}
}
//有源单,判断条码对应物料是否存在于此源单中,存在相同物料时自动获取一行源单信息
DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID_New " + HBillID.ToString() + ",'" + HBillType + "','" + HSourceBillType + "','" + sBarCode + "'", "h_p_WMS_GetBarCodeSourceInterID_New");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断条码对应物料是否存在于此明细信息中失败,数据库连接失败!";
return null;
}
else
{
if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) == 0)
{
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]);
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]);
dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]); //源单数量
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HRemark"]);
return null;
}
}
}
else
{
sErrMsg = "无效条码";
return null;
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
if (dal.omodel_View.HBarCodeType != "唯一条码")
{
if (DBUtility.ClsPub.isDoule(HQty) < 0)
{
sErrMsg = "输入的数量不能小于0!";
return null;
}
else if (DBUtility.ClsPub.isDoule(HQty) == 0)
{
sRelQty = dal.omodel_View.HinitQty;
}
else
{
sRelQty = HQty;
}
}
else if (HQty > 0 && dal.omodel_View.HQty > HQty)
{
sRelQty = HQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
//生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)
//外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246)
if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211"
|| HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246")
{
//非唯一条码扫描时判断仓库仓位是否已选择
if (dal.omodel_View.HBarCodeType != "唯一条码")
{
if (HWhID == 0)
{
sErrMsg = "仓库没有选择!";
return null;
}
else
{
//根据仓库ID,判断是否启用仓位
DataSet ds3 = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse where HItemID= " + HWhID.ToString(), "Gy_Warehouse");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "仓库内码错误!";
return null;
}
else if (HSPID == 0 && DBUtility.ClsPub.isBool(ds3.Tables[0].Rows[0]["HSPFlag"]) == true)
{
sErrMsg = "仓位没有选择!";
return null;
}
}
}
else
{
//蓝字出库、红字入库,唯一条码,判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (!Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return null;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
}
//采购入库(1201)、产品入库(1202)、其他入库蓝字(1203)、委外入库(1210)
//生产退料(1244)、销售退库(1247)、其他出库红字(1249)、委外退料(1238)
else
{
//判断并获取 仓库 仓位信息(界面上设置了仓库仓位信息,取界面上设置的仓库仓位;界面上没有设置仓库仓位信息,则取物料表中该物料对应仓库仓位信息)
DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息失败,数据库连接失败!";
return null;
}
else
{
if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
return null;
}
}
//判断条码扫描数量 返回剩余未扫描数量
if (!tem.IsBarCode_New(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
sErrMsg = sErrMsg;
return null;
}
}
}
//
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = 0;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = HOWNERID;
model.HOWNERID = HOWNERID;
model.HCusBarCode = HExpressNumber;
//物料条码写入临时表时,判断仓库仓位是否正确
DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + model.HWhID.ToString() + "," + model.HStockPlaceID.ToString(), "h_p_WMS_CheckWHandSP");
if (ds5 == null || ds5.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确失败,数据库连接失败!";
return null;
}
else
{
if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]);
return null;
}
}
//将物料条码信息写入出入库条码临时表
if (!set_SavePonderationBillMain_Temp_New(model, ref sErrMsg))
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
#endregion
#region 一键扫码 扫描源单条码 存入条码出入库临时表
[WebMethod]
public Model.ClsKf_ICStockBill_WMS getSourceBillList(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, bool HRedBlueFlag, bool SourceFlag, Int64 HOWNERID, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
//第一次扫描源单,根据单据内码清空条码临时表记录
if (!SourceFlag)
{
oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HBillID.ToString() + " and HBillType='" + HBillType + "'", ref DBUtility.ClsPub.sExeReturnInfo);
}
//多源单模式时,SourceFlag=false
if (HBillType == "1202" && oSystemParameterMain.Kf_ProductInBill_MulSourceBill == "Y")
{
SourceFlag = false;
}
DataSet ds1 = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Add_Source " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "','" + sRedBlue + "'," + Convert.ToString(SourceFlag ? 1 : 0) + "," + HOWNERID, "h_p_KF_PonderationBillMain_Temp_Add_Source");
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描源单信息失败,数据库连接失败!";
return null;
}
else
{
if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
{
oBar.HBarType = "源单条码";
oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
oBar.HSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
oBar.HSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
return null;
}
}
return oBar;
}
#endregion
#region 一键扫码 扫描基础资料条码 返回基础资料信息
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_BaseSet(string sBarCode, Int64 HOWNERID, string sBarBillName, ref string sErrMsg)
{
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
//仓库条码
if (sBarBillName == "仓库")
{
DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
//将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID, HOWNERID))
{
oBar.HBarType = "仓库条码";
oBar.HWhID = dal.omodel.HItemID;
oBar.HWhNumber = dal.omodel.HNumber;
oBar.HWhName = dal.omodel.HName;
oBar.HSPFlag = dal.omodel.HIsStockMgr;
return oBar;
}
else
{
sErrMsg = "无效仓库条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓库条码!";
return null;
}
}
//仓位条码
else if (sBarBillName == "仓位")
{
DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
//将递入的条码去掉前三位后转化成整形
int sHSPID;
int sHWHID;
string[] sArray = sBarCode.Remove(0, 3).Split(';');
if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID))
{
if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID))
{
oBar.HBarType = "仓位条码";
oBar.HSPID = dal.omodel.HItemID;
oBar.HSPNumber = dal.omodel.HNumber;
oBar.HSPName = dal.omodel.HName;
oBar.HWhID = dal.omodel.HWHID;
oBar.HWhNumber = dal.omodel.HWhNumber;
oBar.HWhName = dal.omodel.HWhName;
return oBar;
}
else
{
sErrMsg = "无效仓位条码!";
return null;
}
}
else
{
sErrMsg = "错误的仓位条码!";
return null;
}
}
//部门条码
else if (sBarBillName == "部门")
{
DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
//将递入的条码去掉前三位后转化成整形
int ID;
if (int.TryParse(sBarCode.Remove(0, 3), out ID))
{
if (dal.GetInfoByID(ID))
{
oBar.HBarType = "部门条码";
oBar.HDeptID = dal.omodel.HItemID;
oBar.HDeptNumber = dal.omodel.HNumber;
oBar.HDeptName = dal.omodel.HName;
return oBar;
}
else
{
sErrMsg = "无效部门条码!";
return null;
}
}
else
{
sErrMsg = "错误的部门条码!";
return null;
}
}
else
{
sErrMsg = "无效基础资料条码!";
return null;
}
}
#endregion
#region 扫描物料条码 存入出入库条码临时表
//扫描物料条码 保存到出入库条码临时表(物料)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_BarCode(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
double sRelQty = 0;
string sRedBlue = "蓝字";
if (HRedBlueFlag)
{
sRedBlue = "红字";
}
else
{
sRedBlue = "蓝字";
}
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return false;
}
//当单据参数是 多原单模式时, 则 SourceFlag 设置为 TRUE Sc_ICMOReportBill_MulSourceBill(韩电是)
if (HBillType == "3711" && oSystemParameter.omodel.Sc_ICMOReportBill_MulSourceBill=="Y")
{
SourceFlag = true;
sHSourceBillType = "3710"; //返回
sHSourceBillNo = ""; //返回
sHSupID = 0; //返回
sHSupName = ""; //返回
sHDeptID = 0; //返回
sHDeptName = ""; //返回
HSourceBillType = "3710";
}
//蓝字产品入库、外购入库、委外入库、生产汇报,根据物料条码得到对应源单信息,非多源单模式
//未扫描源单的情况下,第一次扫描物料条码获取源单信息并存入临时表
//采购入库(1201)、产品入库(1202)、委外入库(1210)、生产汇报(3711)
if (SourceFlag == false && (HBillType == "1201" || HBillType == "1202" || HBillType == "1210" || HBillType == "3711"))
{
if (HSourceBillType != "-1")
{
//根据物料条码得到对应源单信息并将源单信息新增到条码出入库临时表,带出表头部门、供应商
//h_p_WMS_BarCode_SourceBillType 带出原单信息
DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_BarCode_SourceBillType " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'", "h_p_WMS_BarCode_SourceBillType");
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后判断条码源单信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
{
sHSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
sHSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
sHSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
sHDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
sHDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
//存在源单信息,将源单信息写入条码临时表
if (sHSourceBillNo != "")
{
// 将源单信息写入 临时缓存表
if (tem.AddNew_Source(HBillID, HBillNo, HBillType, sHSourceBillNo, sHSourceBillType, sRedBlue, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描物料条码后保存源单信息失败!" + sErrMsg;
return false;
}
}
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
}
}
else
{
//无源单状态,设置源单类型为-1
if (SourceFlag == false)
{
//销售出库不允许无源单出库
if (HBillType == "1205")
{
sErrMsg = "不允许无源单出库,请先扫描源单!";
return false;
}
HSourceBillType = "-1";
}
}
//销售出库h和退库、领料出库时,如果条码档案找不到就从 旧条码从获取并同步至本地
if (HBillType == "1205" || HBillType == "1205" || HBillType == "1204")
{
DataSet dstt = oCn.RunProcReturn("exec h_p_WMS_GetOldBarCode " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetOldBarCode");
if (dstt == null || dstt.Tables[0].Rows.Count == 0)
{
sErrMsg = "同步条码失败!";
return false;
}
else
{
}
}
//根据条码获取条码信息,存在相同物料时自动获取一行源单信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//当单据参数是 多原单模式时, 则 不进行 条码物料是否在 原单列表 内的判断
if (HBillType == "3711" && oSystemParameter.omodel.Sc_ICMOReportBill_MulSourceBill == "Y")
{
//再判断 条码 档案里 原单类型是否正确; 原单内码 是否存在
if(dal.omodel_View.HSourceBillType!="3710"
|| dal.omodel_View.HSourceInterID <= 0
|| dal.omodel_View.HSourceEntryID <= 0 )
{
sErrMsg = "多源单模式下,扫描物料条码的原单信息必须正确!";
return false;
}
}
else //非多原单
{
//获取TMP中的原单主内码和子内码 //判断该条码是否在原单列表中h_p_WMS_GetBarCodeSourceInterID
DataSet ds2 = oCn.RunProcReturn("exec h_p_WMS_GetBarCodeSourceInterID " + HBillID.ToString() + ",'" + sBarCode + "' ", "h_p_WMS_GetBarCodeSourceInterID");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码后有源单自动获取一行源单信息,未知错误!";
return false;
}
else
{
if (HBillType == "1202") //成品入库时 必须条码主内码和源单主内码必须一致
{
if(dal.omodel_View.HSourceInterID != DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]))
{
sErrMsg = "该条码的源单与扫描的源单不一致,请确认无误后重新扫描!";
return false;
}
}
dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HSourceBillNo"]);
dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceEntryID"]);
dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HSourceInterID"]);
dal.omodel_View.HinitQty = DBUtility.ClsPub.isDoule(ds2.Tables[0].Rows[0]["HQtyMust"]);//原单数量
dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HMaterID"]);
dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0]["HAuxPropID"]);
//所扫描物料条码的物料不属于该源单下
if (DBUtility.ClsPub.isLong(ds2.Tables[0].Rows[0][0]) != 0)
{
if (HSourceBillNo != "" && SourceFlag == true)
{
sErrMsg = "该物料并不存在于此明细信息中,请确认物料无误后重新扫描!";
return false;
}
}
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
if (dal.omodel_View.HBarCodeType != "唯一条码")
{
if (DBUtility.ClsPub.isDoule(HQty) < 0)
{
sErrMsg = "输入的数量不能小于0!";
return false;
}
else if (DBUtility.ClsPub.isDoule(HQty) == 0)
{
if(dal.omodel_View.HinitQty > 0)
{
sRelQty = dal.omodel_View.HinitQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
}
else
{
sRelQty = HQty;
}
}
else if (HQty > 0 && dal.omodel_View.HQty > HQty)
{
sRelQty = HQty;
}
else
{
sRelQty = dal.omodel_View.HQty;
}
//采购入库(1201)、产品入库(1202)、其他入库蓝字(1203)、委外入库(1210)
//生产退料(1244)、销售退库(1247)、其他出库红字(1249)、委外退料(1238)
//生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)
//外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246)
if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211"
|| HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246")
{
//生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)
//外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246)
//非唯一条码扫描时判断仓库仓位是否已选择
if (dal.omodel_View.HBarCodeType != "唯一条码")
{
if (HWhID == 0)
{
sErrMsg = "仓库没有选择!";
return false;
}
else
{
//根据仓库ID,判断是否启用仓位
DataSet ds3 = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HWhID.ToString(), "Gy_Warehouse");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "仓库内码错误!";
return false;
}
else if (HSPID == 0 && DBUtility.ClsPub.isBool(ds3.Tables[0].Rows[0]["HSPFlag"]) == true)
{
sErrMsg = "仓位没有选择!";
return false;
}
}
}
else
{
//判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
}
else
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return false;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
}
else
{
//判断并获取 仓库 仓位信息(降等品 找到 降等品库)
DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//判断条码扫描数量 返回剩余未扫描数量
if (tem.IsBarCode_New(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
}
else
{
sErrMsg = sErrMsg;
return false;
}
}
}
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = dal.omodel_View.HinitQty;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = HOWNERID;
model.HOWNERID = HOWNERID;
model.HCusBarCode = HExpressNumber;
////获取系统参数
//Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
//if (oSystemParameter.ShowBill(ref sErrMsg) == false)
//{
// sErrMsg = "获取系统参数失败! " + sErrMsg;
// return false;
//}
//生产领料单-先进先出控制
//if (HBillType == "1204" && oSystemParameter.omodel.Kf_MateOutBill_FIFOCtl == "Y") //系统参数 生产领料单-先进先出控制
//{
// DataSet FIFO = oCn.RunProcReturn("exec h_p_Kf_ICInventory_FIFO_Tmp_BarCode " + HBillID.ToString() + ",'" + HBillType + "','" + model.HBatchNo + "','" + model.HBarCode + "'," + model.HQty.ToString(), "h_p_Kf_ICInventory_FIFO_Tmp_BarCode");
// if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "请根据先进先出清单扫码!";
// return false;
// }
// else
// {
// model.HWhID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HWHID"]);
// model.HStockPlaceID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSPID"]);
// model.HQty = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HQty"]);
// model.HQtyMust = DBUtility.ClsPub.isDoule(FIFO.Tables[0].Rows[0]["HSumQtyMust"]);
// model.HSourceInterID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceInterID"]);
// model.HSourceEntryID = DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0]["HSourceEntryID"]);
// model.HSourceBillNo = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillNo"]);
// model.HSourceBillType = DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HSourceBillType"]);
// }
//}
//物料条码写入临时表时,判断仓库仓位是否正确
DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + model.HWhID.ToString() + "," + model.HStockPlaceID.ToString(), "h_p_WMS_CheckWHandSP");
if (ds5 == null || ds5.Tables[0].Rows.Count == 0)
{
sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1)
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_Select_Qty(model, HQty, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
return true;
}
#endregion
#region 一键扫码
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_All(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
string sHSourceBillType = "";
string sHSourceBillNo = "";
Int64 sHSupID = 0;
string sHSupName = "";
Int64 sHDeptID = 0;
string sHDeptName = "";
string sHBarType = "";
sBarCode = sBarCode.Trim();
//获取系统参数
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
if (oSystemParameter.ShowBill(ref sErrMsg) == false)
{
sErrMsg = "获取系统参数失败! " + sErrMsg;
return null;
}
//销售出库、销售退库模块扫码流程 飞龙专用
if ((HBillType == "1205" || HBillType == "1247") && oSystemParameter.omodel.WMS_CampanyName == "飞龙") //系统参数 客户定制化名称 空白为通用
{
////将物料条码信息写入出入库条码临时表
//if (set_SavePonderationBillMain_Temp_FeiLong(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sHBarType, ref sErrMsg))
//{
// oBar.HBarType = sHBarType;
// oBar.HSourceBillType = sHSourceBillType;
// oBar.HSourceBillNo = sHSourceBillNo;
// oBar.HSupID = sHSupID;
// oBar.HSupName = sHSupName;
// oBar.HDeptID = sHDeptID;
// oBar.HDeptName = sHDeptName;
//}
//else
//{
// sErrMsg = "!" + sErrMsg;
return null;
//}
//return oBar;
}
//生产入库 多源单模式
else if (HBillType == "1202" && oSystemParameter.omodel.Kf_ProductInBill_MulSourceBill == "Y")
{
//oBar = get_CheckTypeByBarCode_MulSourceBill(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameter.omodel, ref sErrMsg);
//if (oBar == null)
//{
return null;
//}
//else
//{
// return oBar;
//}
}
else
{
//判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码(是)
if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N")
{
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
{
oBar.HSourceBillType = sHSourceBillType;
oBar.HSourceBillNo = sHSourceBillNo;
oBar.HSupID = sHSupID;
oBar.HSupName = sHSupName;
oBar.HDeptID = sHDeptID;
oBar.HDeptName = sHDeptName;
}
else
{
sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
//一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码)
else
{
//string sRedBlue = "蓝字";
//if (HRedBlueFlag)
//{
// sRedBlue = "红字";
//}
//else
//{
// sRedBlue = "蓝字";
//}
//DataSet Dss;
////根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码)
//Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "'", "Xt_BarCodeType");
////无返回数据则为物料条码
//if (Dss == null || Dss.Tables[0].Rows.Count == 0)
//{
// //将物料条码信息写入出入库条码临时表
// if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg))
// {
// oBar.HSourceBillType = sHSourceBillType;
// oBar.HSourceBillNo = sHSourceBillNo;
// oBar.HSupID = sHSupID;
// oBar.HSupName = sHSupName;
// oBar.HDeptID = sHDeptID;
// oBar.HDeptName = sHDeptName;
// }
// else
// {
// sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
// //sErrMsg = "扫描失败!" + sErrMsg;
// return null;
// }
// return oBar;
//}
//else
//{
// string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]);
// string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]);
// //判断条码类型为 基础资料条码 或 源单条码
// if (sBarBillType == "基础资料条码")
// {
// //仓库条码
// if (sBarBillName == "仓库")
// {
// DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View();
// //将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0
// int ID;
// if (int.TryParse(sBarCode.Remove(0, 3), out ID))
// {
// if (dal.GetInfoByID(ID, HOWNERID))
// {
// oBar.HBarType = "仓库条码";
// oBar.HWhID = dal.omodel.HItemID;
// oBar.HWhNumber = dal.omodel.HNumber;
// oBar.HWhName = dal.omodel.HName;
// oBar.HSPFlag = dal.omodel.HIsStockMgr;
// return oBar;
// }
// else
// {
// sErrMsg = "无效仓库条码!";
// return null;
// }
// }
// else
// {
// sErrMsg = "错误的仓库条码!";
// return null;
// }
// }
// //仓位条码
// else if (sBarBillName == "仓位")
// {
// DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View();
// //将递入的条码去掉前三位后转化成整形
// int sHSPID;
// int sHWHID;
// string[] sArray = sBarCode.Remove(0, 3).Split(';');
// if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID))
// {
// if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID))
// {
// oBar.HBarType = "仓位条码";
// oBar.HSPID = dal.omodel.HItemID;
// oBar.HSPNumber = dal.omodel.HNumber;
// oBar.HSPName = dal.omodel.HName;
// oBar.HWhID = dal.omodel.HWHID;
// oBar.HWhNumber = dal.omodel.HWhNumber;
// oBar.HWhName = dal.omodel.HWhName;
// return oBar;
// }
// else
// {
// sErrMsg = "无效仓位条码!";
// return null;
// }
// }
// else
// {
// sErrMsg = "错误的仓位条码!";
// return null;
// }
// }
// //部门条码
// else if (sBarBillName == "部门")
// {
// DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View();
// //将递入的条码去掉前三位后转化成整形
// int ID;
// if (int.TryParse(sBarCode.Remove(0, 3), out ID))
// {
// if (dal.GetInfoByID(ID))
// {
// oBar.HBarType = "部门条码";
// oBar.HDeptID = dal.omodel.HItemID;
// oBar.HDeptNumber = dal.omodel.HNumber;
// oBar.HDeptName = dal.omodel.HName;
// return oBar;
// }
// else
// {
// sErrMsg = "无效部门条码!";
// return null;
// }
// }
// else
// {
// sErrMsg = "错误的部门条码!";
// return null;
// }
// }
// else
// {
// sErrMsg = "无效基础资料条码!";
// return null;
// }
// }
// //源单条码
// else if (sBarBillType == "源单条码")
// {
// //当该单据类型的系统参数:多源单模式 时,不允许扫描原单
// //=======================
// DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCode.Substring(0, 3) + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType");
// if (Ds == null || Ds.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "所扫源单条码不属于此模块源单范围!";
// return null;
// }
// else
// {
// sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]);
// //扫描源单条码时判断是否已经扫描过源单信息
// if (SourceFlag)
// {
// sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!";
// return null;
// }
// else
// {
// //产品入库单 源单:生产任务单
// if (sBarBillName == "生产任务单" && HBillType == "1202")
// {
// DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //产品入库单 源单:生产汇报单
// else if (sBarBillName == "生产汇报单" && HBillType == "1202")
// {
// DAL.Cls_S_IF_ICMOReportBill_Lite dal = new DAL.Cls_S_IF_ICMOReportBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //外购入库单 源单:采购订单
// else if (sBarBillName == "采购订单" && HBillType == "1201")
// {
// DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //外购入库单 源单:收料通知单
// else if (sBarBillName == "收料通知单" && HBillType == "1201")
// {
// DAL.Cls_S_IF_POInStockBill_Lite dal = new DAL.Cls_S_IF_POInStockBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "' and isnull(HBillSubType,0)=12510 ";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //委外入库单 源单:委外订单
// else if (sBarBillName == "委外订单" && HBillType == "1210")
// {
// DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //委外入库单 源单:收料通知单-委外
// else if (sBarBillName == "收料通知单-委外" && HBillType == "1210")
// {
// DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "' and isnull(HBillSubType,0)=12511 ";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //领料出库 源单:生产任务单-投料
// else if (sBarBillName == "生产任务单-投料" && HBillType == "1204")
// {
// DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// //销售出库 源单:销售订单
// else if (sBarBillName == "销售订单" && HBillType == "1205")
// {
// DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]);
// }
// //销售出库 源单:发货通知单
// else if (sBarBillName == "发货通知单" && HBillType == "1205")
// {
// DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]);
// }
// //委外出库单 源单:委外订单-投料
// else if (sBarBillName == "委外订单-投料" && HBillType == "1211")
// {
// DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite();
// DataSet DS;
// //根据单据号获取过滤条件
// string sWhere = " Where 单据号 like '" + sBarCode + "'";
// DS = dal.DisSourceBillList(sWhere);
// if (DS == null || DS.Tables[0].Rows.Count <= 0)
// {
// sErrMsg = "没有返回任何记录!";
// return null;
// }
// oBar.HBarType = "源单条码";
// oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]);
// oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]);
// oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]);
// oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]);
// oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]);
// oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]);
// }
// else
// {
// sErrMsg = "源单类型名称设置不正确!";
// return null;
// }
// // 将源单信息写入 临时缓存表
// if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg))
// {
// return oBar;
// }
// else
// {
// sErrMsg = "保存源单信息失败!" + sErrMsg;
// return null;
// }
// }
// }
// }
// else
// {
// sErrMsg = "无效条码类型!";
return null;
// }
//}
}
}
}
#endregion
#region 一键扫码 销售出库、销售退库模块 飞龙专用
//[WebMethod]
//public bool set_SavePonderationBillMain_Temp_FeiLong(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sHBarType, ref string sErrMsg)
//{
// SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
// //获取系统参数
// Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
// if (oSystemParameter.ShowBill(ref sErrMsg) == false)
// {
// sErrMsg = "获取系统参数失败! " + sErrMsg;
// return false;
// }
// string sRedBlue = "蓝字";
// if (HRedBlueFlag)
// {
// sRedBlue = "红字";
// }
// else
// {
// sRedBlue = "蓝字";
// }
// DataSet Dss;
// //根据递入的条码,判断条码为物料条码 或源单条码
// //Dss = oCn.RunProcReturn(" select 1 from h_v_IF_SEOrderBillList_Lite where HBillNo= '" + sBarCode + "'", "h_v_IF_SEOrderBillList_Lite");
// Dss = oCn.RunProcReturn("exec h_p_WMS_SellOutBarCodeType_FeiLong '" + sBarCode + "'", "h_p_WMS_SellOutBarCodeType_FeiLong");
// if (Dss == null || Dss.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "获取条码类型,未知错误!";
// return false;
// }
// else
// {
// //返回0为物料条码
// if (DBUtility.ClsPub.isLong(Dss.Tables[0].Rows[0][0]) == 0)
// {
// //销售退货模块,根据物料条码直接获取对应源单信息存入临时表
// if (HBillType == "1247")
// {
// //判断并获取 仓库 仓位信息
// DataSet ds4 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
// if (ds4 == null || ds4.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "判断并获取仓库仓位信息,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0][0]) == 0)
// {
// HWhID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HWHID"]);
// HSPID = DBUtility.ClsPub.isLong(ds4.Tables[0].Rows[0]["HSPID"]);
// }
// else
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(ds4.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
// }
// //将物料条码信息写入出入库条码临时表
// DataSet dsf = oCn.RunProcReturn("exec h_p_Kf_SellOutBackBill_AddTemp_FeiLong " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "'," + HQty + "," + HWhID + "," + HSPID + ",'" + HRedBlueFlag + "'," + HOWNERID + ",'" + HExpressNumber + "'", "h_p_Kf_SellOutBackBill_AddTemp_FeiLong");
// if (dsf == null || dsf.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "销售退货扫描物料,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(dsf.Tables[0].Rows[0][0]) == 0)
// {
// sHBarType = "源单条码";
// sHSourceBillNo = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HSourceBillNo"]);
// sHSourceBillType = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HSourceBillType"]);
// sHSupID = DBUtility.ClsPub.isLong(dsf.Tables[0].Rows[0]["HSupID"]);
// sHSupName = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HSupName"]);
// sHDeptID = DBUtility.ClsPub.isLong(dsf.Tables[0].Rows[0]["HDeptID"]);
// sHDeptName = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HDeptName"]);
// }
// else
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
// }
// }
// else
// {
// //销售出库不允许无源单出库
// if (SourceFlag == false)
// {
// sErrMsg = "销售出库不允许无源单出库,请先扫描源单!";
// return false;
// }
// //物料条码写入临时表时,判断仓库仓位是否正确
// DataSet ds5 = oCn.RunProcReturn("exec h_p_WMS_CheckWHandSP " + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_CheckWHandSP");
// if (ds5 == null || ds5.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "扫描物料条码存入临时表时判断仓库仓位是否正确,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(ds5.Tables[0].Rows[0][0]) == 1)
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(ds5.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
// }
// //将物料条码信息写入出入库条码临时表
// DataSet dsf = oCn.RunProcReturn("exec h_p_Kf_SellOutBill_AddTemp_FeiLong " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "'," + HWhID + "," + HSPID + ",'" + HRedBlueFlag + "'," + HOWNERID, "h_p_Kf_SellOutBill_AddTemp_FeiLong");
// if (dsf == null || dsf.Tables[0].Rows.Count == 0)
// {
// sErrMsg = "销售出库扫描物料,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(dsf.Tables[0].Rows[0][0]) == 1)
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(dsf.Tables[0].Rows[0]["HRemark"]);
// return false;
// }
// }
// }
// }
// else
// {
// string sSourceBillType = "1401";
// if (HBillType == "1205" && oSystemParameter.omodel.Kf_SellOutBill_MulSourceBill == "Y") //系统参数 销售出库单-多源单模式
// {
// DataSet ds1 = oCn.RunProcReturn("exec h_p_IF_MulSourceBill_Add_SellOut " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + sBarCode + "','" + sSourceBillType + "','" + sRedBlue + "'", "h_p_IF_MulSourceBill_Add_SellOut");
// if (ds1 == null || ds1.Tables[1].Rows.Count == 0)
// {
// sErrMsg = "销售出库多源单模式扫描源单,未知错误!";
// return false;
// }
// else
// {
// if (DBUtility.ClsPub.isLong(ds1.Tables[1].Rows[0][0]) == 0)
// {
// sHBarType = "源单条码";
// sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[1].Rows[0]["HSourceBillNo"]);
// sHSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[1].Rows[0]["HSourceBillType"]);
// sHSupID = DBUtility.ClsPub.isLong(ds1.Tables[1].Rows[0]["HSupID"]);
// sHSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[1].Rows[0]["HSupName"]);
// sHDeptID = DBUtility.ClsPub.isLong(ds1.Tables[1].Rows[0]["HDeptID"]);
// sHDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[1].Rows[0]["HDeptName"]);
// }
// else
// {
// sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[1].Rows[0]["HRemark"]);
// return false;
// }
// }
// }
// else
// {
// sErrMsg = "所扫源单条码不属于此模块源单范围!";
// return false;
// }
// }
// return true;
// }
//}
#endregion
#region 销售出库模块 所扫物料条码对应物料与源单物料不一致,取物料条码信息,更新出入库临时表中源单物料信息(飞龙专用)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_DifferentMater_FeiLong(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, bool HRedBlueFlag, Int64 HOWNERID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.RunProc("EXEC h_p_Kf_SellOutBill_AddTemp_DifferentMater_FeiLong " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "'," + HWhID + "," + HSPID + ",'" + HRedBlueFlag + "'," + HOWNERID);
return true;
}
catch (Exception e)
{
sErrMsg = "物料条码对应物料与源单物料不一致时,写入条码出入库临时表失败!" + e.Message;
return false;
}
}
#endregion
#region 销售退货模块 所扫物料条码对应物料与源单物料不一致,取物料条码信息(飞龙专用)
[WebMethod]
public bool set_SavePonderationBillMain_Temp_DifferentMater_SellOutBack_FeiLong(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, bool HRedBlueFlag, Int64 HOWNERID, string HExpressNumber, ref string sHSourceBillNo, ref string sHSourceBillType, ref long sHSupID, ref string sHSupName, ref long sHDeptID, ref string sHDeptName, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
//物料条码对应物料与源单物料不一致,取物料条码信息,新增到条码出入库临时表,带出表头源单信息、部门、客户
DataSet ds1 = oCn.RunProcReturn("exec h_p_Kf_SellOutBackBill_AddTemp_DifferentMater_FeiLong " + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HMaker + "','" + sBarCode + "'," + HWhID + "," + HSPID + ",'" + HRedBlueFlag + "'," + HOWNERID + ",'" + HExpressNumber + "'", "h_p_Kf_SellOutBackBill_AddTemp_DifferentMater_FeiLong");
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
{
sHSourceBillType = "1403";
sHSourceBillNo = "";
sHSupID = 0;
sHSupName = "";
sHDeptID = 0;
sHDeptName = "";
return true;
}
else
{
sHSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
sHSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
sHSupID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSupID"]);
sHSupName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSupName"]);
sHDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
sHDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
return true;
}
}
catch (Exception e)
{
sErrMsg = "物料条码对应物料与源单物料不一致时,写入条码出入库临时表失败!" + e.Message;
return false;
}
}
#endregion
#region 扫描物料条码返回源单生产汇报单信息 出门确认单模块专用
//扫描物料条码返回源单生产汇报单信息
[WebMethod]
public bool set_SaveDoorOutCheck_BarCode(Model.ClsKF_PonderationBillMain_Temp oMain, ref string sHSourceBillNo, ref string sHSourceBillType, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl dal = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
dal.oModel = oMain;
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (oMain.HBarCode.CompareTo("#") > 0)
{
NewBarCode = oMain.HBarCode.Split(Convert.ToChar("#"));
oMain.HBarCode = NewBarCode[0];
}
DataSet Ds = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Add_DoorOutCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oMain.HMaker + "','" + oMain.HBarCode + "'", "h_p_KF_PonderationBillMain_Temp_Add_DoorOutCheck");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "返回源单生产汇报单信息失败,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0)
{
sHSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillNo"]);
sHSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillType"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
return true;
}
#endregion
#region 扫描条码返回未审核收料通知单信息 收料通知单审核模块专用
//扫描条码返回未审核收料通知单信息
[WebMethod]
public bool set_SavePOInStockCheck_BarCode(string sBarCode, ref long sHBillID, ref string sHBillNo, ref string sHSup, ref string sHDept, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DataSet Ds = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Add_POInStockCheck '" + sBarCode + "'", "h_p_KF_PonderationBillMain_Temp_Add_POInStockCheck");
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
{
sErrMsg = "返回收料通知单信息失败,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0)
{
sHBillID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
sHBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
sHSup = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSupName"]);
sHDept = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeptName"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
return true;
}
#endregion
#region 扫描物料条码 流水线采集专用
[WebMethod]
public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_Caiji(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, bool HRedBlueFlag, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
{
sBarCode = sBarCode.Trim();
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_BarCode_Caiji(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HRedBlueFlag, HSourceBillType, HOWNERID, ref sErrMsg))
{
//从条码出入库临时表 中获取该单据下该条码的仓库仓位信息
DataSet dsWS = oCn.RunProcReturn("exec h_p_Kf_GetOrgandWHSPByTemp_CLD " + HBillID.ToString() + ",'" + sBarCode + "'", "h_p_Kf_GetOrgandWHSPByTemp_CLD");
if (dsWS == null || dsWS.Tables[0].Rows.Count == 0)
{
sErrMsg = "获取所扫描条码入库仓库仓位信息失败!";
return null;
}
else
{
oBar.HOWNERID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HOWNERID"]);
oBar.HOWNERNAME = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HOWNERNAME"]);
oBar.HWhID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HWhID"]);
oBar.HWhName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HWhName"]);
oBar.HSPID = DBUtility.ClsPub.isLong(dsWS.Tables[0].Rows[0]["HSPID"]);
oBar.HSPName = DBUtility.ClsPub.isStrNull(dsWS.Tables[0].Rows[0]["HSPName"]);
}
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return null;
}
return oBar;
}
#endregion
#region 扫描物料条码 流水线采集专用
//扫描物料条码 保存到出入库条码临时表(物料) 流水线采集模块
[WebMethod]
public bool set_SavePonderationBillMain_Temp_BarCode_Caiji(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, bool HRedBlueFlag, string HSourceBillType, Int64 HOWNERID, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp();
double sRelQty = 0;
//判断条码是否含特殊符号 # ,如果含有则 拆分
string[] NewBarCode;
if (sBarCode.CompareTo("#") > 0)
{
NewBarCode = sBarCode.Split(Convert.ToChar("#"));
sBarCode = NewBarCode[0];
}
//根据条码获取条码信息
DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View();
if (dal.GetInfoByNumber_View(sBarCode))
{
//从条码表中获取条码源单类型信息
DataSet ds2 = oCn.RunProcReturn(" select HSourceBillType from Gy_BarCodeBill where HBarCodeType='唯一条码' and HBarCode='" + sBarCode + "'", "Gy_BarCodeBill");
if (ds2 == null || ds2.Tables[0].Rows.Count == 0)
{
sErrMsg = "条码类型不正确!";
return false;
}
else
{
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0][0]) != "3710")
{
sErrMsg = "条码源单信息错误,所扫条码源单类型必须为生产订单!";
return false;
}
}
}
else
{
sErrMsg = "无效条码";
return false;
}
//判断并获取 仓库 仓位信息
DataSet ds3 = oCn.RunProcReturn("exec h_p_WMS_GetBillWHID " + HBillID.ToString() + ",'" + HBillType + "','" + sBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString(), "h_p_WMS_GetBillWHID");
if (ds3 == null || ds3.Tables[0].Rows.Count == 0)
{
sErrMsg = "判断并获取仓库仓位信息,未知错误!";
return false;
}
else
{
if (DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0][0]) == 0)
{
HWhID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HWHID"]);
HSPID = DBUtility.ClsPub.isLong(ds3.Tables[0].Rows[0]["HSPID"]);
}
else
{
sErrMsg = DBUtility.ClsPub.isStrNull(ds3.Tables[0].Rows[0]["HRemark"]);
return false;
}
}
//获取条码数量
if (dal.omodel_View.HBarCodeType != "托盘条码")
{
sRelQty = dal.omodel_View.HQty;
if (HRedBlueFlag)
{
//判断条码库存 返回库存数量 仓库 仓位
DAL.ClsKF_PonderationBillMain_Temp_View Tempdal = new DAL.ClsKF_PonderationBillMain_Temp_View();
if (Tempdal.CheckQtyByBarCode(HBillID, HBillType, sBarCode, ref HWhID, ref HSPID, sRelQty, ref sRelQty))
{
}
else
{
if (sRelQty == 0)
{
sErrMsg = "无库存!";
return false;
}
else
{
sErrMsg = "库存不足,已获取实际库存数量!";
}
}
}
else
{
//判断条码扫描数量 返回剩余未扫描数量
if (tem.IsBarCode(sBarCode, HBillType, HRedBlueFlag, ref sRelQty, ref sErrMsg))
{
}
else
{
sErrMsg = sErrMsg;
return false;
}
}
}
model.HInterID = HBillID;
model.HBillNo = HBillNo;
model.HBillType = HBillType;
model.HMaker = HMaker;
//
model.HMaterID = dal.omodel_View.HMaterID;
model.HAuxPropID = dal.omodel_View.HAuxPropID;
model.HErpClsID = dal.omodel_View.HErpClsID;
model.HQty = sRelQty;
model.HQtyMust = 0;
model.HBarCode = dal.omodel_View.HBarCode;
model.HBatchNo = dal.omodel_View.HBatchNo;
model.HMTONo = dal.omodel_View.HMTONo;
model.HWhID = HWhID;
model.HStockPlaceID = HSPID;
model.HSourceInterID = dal.omodel_View.HSourceInterID;
model.HSourceEntryID = dal.omodel_View.HSourceEntryID;
model.HSourceBillNo = dal.omodel_View.HSourceBillNo;
model.HSourceBillType = HSourceBillType;
model.HRedBlueFlag = HRedBlueFlag;
model.HPieceQty = 1;
model.HSTOCKORGID = dal.omodel_View.HSTOCKORGID;
model.HOWNERID = dal.omodel_View.HOWNERID;
//将物料条码信息写入出入库条码临时表
if (set_SavePonderationBillMain_Temp_Select_Qty(model, 0, ref sErrMsg))
{
}
else
{
sErrMsg = "扫描失败!" + sErrMsg;
return false;
}
return true;
}
#endregion
#endregion
#region 桌面条码生成外网版
[WebMethod]
public DataSet getDataSetByMasterSQL(string sSQL, string sTable, ref string sErrMsg)
{
SQLHelper.ClsCNmaster oCn = new SQLHelper.ClsCNmaster();
try
{
DataSet ds = oCn.RunProcReturn(sSQL, sTable);
return ds;
}
catch (Exception e)
{
sErrMsg = "查询失败!" + e.Message;
return null;
}
}
//检查服务器名正确性
[WebMethod]
public bool getCheckOpen()
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
return oCn.CheckOpen();
}
catch (Exception e)
{
return false;
}
}
[WebMethod]
public string getGetDataBase(string sItem, ref string sK3)
{
SQLHelper.ClsCNmaster oCn = new SQLHelper.ClsCNmaster();
try
{
return oCn.GetDataBase(sItem, ref sK3);
}
catch (Exception e)
{
return "";
}
}
//登入账号判断
[WebMethod]
public DataSet getCheckCzymc(string sUser, string sPsd)
{
DAL.ClsUser oUser = new DAL.ClsUser();
try
{
return oUser.CheckCzymc(sUser, sPsd);
}
catch (Exception e)
{
return null;
}
}
//得到当前会计期间
[WebMethod]
public bool getSub_GetCurPeriod(ref int sYear, ref int sPeriod)
{
try
{
return Pub_Class.ClsPub.Sub_GetCurPeriod(ref sYear, ref sPeriod);
}
catch (Exception e)
{
return false;
}
}
[WebMethod]
public DataSet getDataSetBySQL(string sSQL, string sTable, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
DataSet ds = oCn.RunProcReturn(sSQL, sTable);
return ds;
}
catch (Exception e)
{
sErrMsg = "查询失败!" + e.Message;
return null;
}
}
[WebMethod]
public void getRunProc(string sSQL, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
oCn.RunProc(sSQL);
return;
}
catch (Exception e)
{
sErrMsg = e.Message;
return;
}
}
[WebMethod]
public void getRunProcByMul(string[] sSQL, ref string sErrMsg)
{
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
try
{
if (sSQL.Length > 0)
{
for (int i = 0; i < sSQL.Length; i++)
{
oCn.RunProc(sSQL[i]);
}
}
return;
}
catch (Exception e)
{
sErrMsg = e.Message;
return;
}
}
//权限判断
[WebMethod]
public bool getSecurity_Log(string ModRightNameCheck, string CurUserName, ref string sErrMsg)
{
try
{
if (DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
{
return true;
}
else
{
return false;
}
}
catch (Exception e)
{
return false;
}
}
//作废条码
[WebMethod]
public bool set_CancelltionBarCodeBill(string sBarCode)
{
DAL.ClsGy_BarCodeBill_Ctl dal = new DAL.ClsGy_BarCodeBill_Ctl();
if (dal.Cancelltion(sBarCode))
{
return true;
}
else
{
return false;
}
}
//反作废条码
[WebMethod]
public bool set_UnCancelltionBarCodeBill(string sBarCode)
{
DAL.ClsGy_BarCodeBill_Ctl dal = new DAL.ClsGy_BarCodeBill_Ctl();
if (dal.UnCancelltion(sBarCode))
{
return true;
}
else
{
return false;
}
}
//条码打印前,判断条码是否已打印过
[WebMethod]
public bool Set_BPrintQtyBarCode(string sBarCode, ref string sReturn)
{
DAL.ClsGy_BarCodeBill_Ctl dal = new DAL.ClsGy_BarCodeBill_Ctl();
if (dal.Set_BPrintQty(sBarCode, ref sReturn))
{
return true;
}
else
{
return false;
}
}
#endregion
}
}