using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using Pub_Class;
|
using SyntacticSugar.constant;
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Data.SqlClient;
|
using System.Web.Http;
|
using WebAPI.Models;
|
using Model;
|
|
namespace WebAPI.Controllers
|
{
|
//委外工序发出单Controller
|
public class Cj_StationEntrustInBillController : ApiController
|
{
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
DataSet ds;
|
|
|
#region 返回委外工序发出单列表
|
[Route("Cj_StationEntrustInBill/list")]
|
[HttpGet]
|
public object list(string sWhere,string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
//判断是否有查询权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查询权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList", "h_v_MES_StationEntrustInBillList");
|
// order by hmainid desc 排序丢到数据库里进行处理
|
}
|
else
|
{
|
string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by hmainid desc";
|
ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList");
|
}
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 返回委外工序发出单列表
|
[Route("Cj_StationEntrustInBill/list_Eng")]
|
[HttpGet]
|
public object list_Eng(string sWhere, string user)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
//判断是否有查询权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查询权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList_Eng", "h_v_MES_StationEntrustInBillList_Eng");
|
// order by hmainid desc 排序丢到数据库里进行处理
|
}
|
else
|
{
|
string sql1 = "select * from h_v_MES_StationEntrustInBillList_Eng where 1 = 1 ";
|
string sql = sql1 + sWhere + " order by hmainid desc";
|
ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList_Eng");
|
}
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 委外发出单 分页列表
|
[Route("Cj_StationEntrustInBill/getStationEntrustInBillPage")]
|
[HttpGet]
|
public json getStationEntrustInBillPage(string sWhere, string user, int page, int size)
|
{
|
DataSet ds;
|
json res = new json();
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
//判断权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限查询!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
sWhere = sWhere.Replace("'", "''");
|
if (sWhere == null || sWhere.Equals(""))
|
{
|
ds = oCN.RunProcReturn("exec h_p_Sc_StationEntrustInBillList " + page + "," + size + ",''", "h_p_Sc_StationEntrustInBillList");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("exec h_p_Sc_StationEntrustInBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_StationEntrustInBillList");
|
}
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
res.code = CodeConstant.SUCCEED;
|
res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
|
res.Message = "Sucess!";
|
res.list = columnNameList;
|
res.data = ds.Tables[0];
|
return res;
|
}
|
catch (Exception e)
|
{
|
res.code = CodeConstant.FAIL;
|
res.count = CountConstant.FAIL;
|
res.Message = "Exception!" + e.ToString();
|
res.data = null;
|
return res;
|
}
|
}
|
#endregion
|
|
|
|
#region 委外工序发出单流水号回车获取流转卡信息(委外工序接收、工序进站接收通用)
|
[Route("Cj_StationEntrustInBill/txtHBarCode_KeyDown")]
|
[HttpGet]
|
public object txtHBarCode_KeyDown(string HBarCode)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//拆分条形码
|
string sBillBarCode = HBarCode.Trim();
|
string[] NewBarCode;
|
if (sBillBarCode.CompareTo("#") > 0)
|
{
|
NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
|
sBillBarCode = NewBarCode[0];
|
}
|
string sBillNo = sBillBarCode;
|
//得到信息
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "'", "h_v_Sc_ProcessExchangeBillList");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "未查询到流水号信息!工序号错误或者当前工序号不允许进站,请添加!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 委外工序发出单流水号回车获取条码信息2
|
[Route("Cj_StationBill/txtHBarCode_KeyDown2")]
|
[HttpGet]
|
public object txtHBarCode_KeyDown2(string HBarCode,string HInterID,string UserID,string HBillType)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-019]空白码,条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//拆分条形码
|
string sBillBarCode = HBarCode.Trim();
|
string[] NewBarCode;
|
if (sBillBarCode.CompareTo("#") > 0)
|
{
|
NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
|
sBillBarCode = NewBarCode[0];
|
}
|
string sBillNo = sBillBarCode; //条形码
|
|
string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码
|
string BillNo_PGD = arr[0]; //单据号
|
string entryid_PGD = "";//子id
|
if(arr.Length > 1)
|
{
|
entryid_PGD = arr[1];
|
}
|
|
//截取条码类型 前两位
|
string BillNoType1 = BillNo_PGD.Substring(0, Math.Min(2, BillNo_PGD.Length));
|
//截取条码类型 前三位
|
string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
|
//截取条码类型2 前四位
|
string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
|
//截取内码
|
string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
|
switch (BillNoType1)
|
{
|
case "20"://流转卡
|
string sErr = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
break;
|
case "OP"://流转卡
|
sErr = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "海诚")
|
{
|
//同步工序流转卡
|
oCN.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_ProcExchAndRouting '" + BillNo_PGD + "'");
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
else
|
{
|
//同步工序流转卡
|
oCN.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_ProcExchAndRouting '" + BillNo_PGD + "'");
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
|
break;
|
case "MO"://流转卡
|
sErr = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "华舟")
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
break;
|
}
|
|
switch (BillNoType2)
|
{
|
case "GXLZ"://工序流转派工
|
ds = oCN.RunProcReturn("select * from h_v_Sc_ProcExchSendWorkBill where 派工单据号 = '" + BillNo_PGD + "'" + " and HEntryID ='" + entryid_PGD + "'", "h_v_Sc_ProcExchSendWorkBill");
|
break;
|
case "GXLX"://流转卡
|
string sErr = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{ //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y")
|
{
|
ds = oCN.RunProcReturn($"exec h_p_ProcessExchangeBillLastHProNo '{BillNo_PGD}','{UserID}','{HBillType}'", "h_v_Gy_ProcessList_GetProcNoByUser");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
else if (entryid_PGD != "") //如果子id不为空则加入子id过滤;
|
{
|
ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'" + " and hsubid ='" + entryid_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
break;
|
case "P202"://流转卡
|
case "P203"://流转卡
|
case "P204"://流转卡
|
case "P205"://流转卡
|
case "P201"://流转卡
|
case "MO26"://华舟流转卡
|
case "MO27"://华舟流转卡
|
case "MO28"://华舟流转卡
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
break;
|
}
|
switch (BillNoType)
|
//得到信息
|
{
|
case "HCX"://生产资源码
|
case "htt"://生产资源码
|
|
string sErr = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
|
{
|
ds = oCN.RunProcReturn(@"select s.HItemID,s.HName 生产资源名称,s.HNumber from Gy_EquipFileBillMain a
|
left join Gy_Source s on a.HSourceID = s.HItemID
|
where HBarCode = '" + BillNo_PGD + "'", "Gy_EquipFileBillMain");
|
}
|
else {
|
ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList");
|
}
|
}
|
|
break;
|
case "SBM"://设备码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList");
|
break;
|
case "JYM"://员工码--检验员
|
ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
|
break;
|
case "GRM"://员工码--操作员,接收人
|
ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
|
break;
|
//case "CGM"://员工码
|
// ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where HItemID = '" + BillNo + "'", "h_v_Gy_EmployeeList_New");
|
// break;
|
case "HWH"://仓库码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_WareHouseList where 条码编号 = '" + HBarCode + "'", "h_v_Gy_WareHouseList");
|
break;
|
case "HSP"://仓位码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_StockPlaceList where 条码编号 = '" + HBarCode + "'", "h_v_Gy_StockPlaceList");
|
break;
|
case "WKM"://工作中心码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_WorkCenterList where HItemID = '" + BillNo + "'", "h_v_Gy_WorkCenterList");
|
break;
|
case "BZM"://班组码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_GroupList where 条码编号 = '" + BillNo + "'", "h_v_Gy_GroupList");
|
break;
|
case "PRO"://工序码
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if(HBillType == "In")
|
{
|
//系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
if (oSystemParameter.omodel.MES_StationInBill_ShowUSERProcess == "Y")
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo where HItemID = '" + BillNo + "' and HInterID = '" +
|
HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo");
|
}
|
}
|
else if(HBillType == "Out")
|
{
|
//系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
if (oSystemParameter.omodel.MES_StationOutBill_ShowUSERProcess == "Y")
|
{
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_ProcessList_GetProcNoByUser where HItemID = '" + BillNo + "' and HInterID = '" + HInterID + "' and 用户编码 = '" + UserID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNoByUser");
|
}
|
else
|
{
|
ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList_GetProcNo where HItemID = '" + BillNo + "' and HInterID = '" +
|
HInterID + "'" + " order by 序号 asc", "h_v_Gy_ProcessList_GetProcNo");
|
}
|
}
|
}
|
break;
|
case "WLM"://物料码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_MaterialList where HItemID = '" + BillNo + "'", "h_v_Gy_MaterialList");
|
break;
|
}
|
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-020]未查询到条码信息!";
|
objJsonResult.data = null;
|
if(BillNoType == "PRO")
|
{
|
ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList where HItemID = '" + BillNo + "'", "h_v_Gy_ProcessList");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.Message = "[0000-2-020]未查询到条码信息!";
|
}
|
else
|
{
|
objJsonResult.Message = "[3790-2-010]用户未关联相关工序或流转卡无此工序,如有需要请维护";
|
}
|
}
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "[0000-1-037]Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序出站汇报单PDA扫操作员
|
[Route("Cj_StationBill/txtHBarCode_KeyDown_Operator")]
|
[HttpGet]
|
public object txtHBarCode_KeyDown_Operator(string HBarCode, string HInterID, string UserID, string HBillType)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "空白码,条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New where 职员代码 = '" + HBarCode + "'", "h_v_Gy_EmployeeList_New");
|
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "未查询到条码信息!";
|
objJsonResult.data = null;
|
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 工序进站扫配件码
|
[Route("Cj_StationBill/txtHBarCode_Mater_KeyDown")]
|
[HttpGet]
|
public object txtHBarCode_Mater_KeyDown(string HBarCode, string HInterID)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-019]空白码,条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//判断条形码是否在条码档案中,判断条形码是否合理
|
//先判断 临时表中是否有数据,条形码的物料是否在清单中,写入 扫码记录表
|
//得到信息
|
ds = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindBarCode " + HInterID.ToString() + " ,'" + HBarCode + "'", "h_p_MES_StationInBillSub_BindBarCode");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-020]未查询到条形码信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-038]错误!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
DataSet Dsplay = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindDisplay " + HInterID.ToString() + " ", "h_p_MES_StationInBillSub_BindDisplay");
|
|
//写入信息
|
if (Dsplay == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-045]刷新失败,无数据显示!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else if (Dsplay.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-045]查无数据!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "[0000-1-037]绑定成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 指引卡扫码获取信息
|
[Route("MES_SampleRecordBill_PDA/SampleRecordBillHBarCode_KeyDown")]
|
[HttpGet]
|
public object SampleRecordBillHBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "空白码,条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//拆分条形码
|
string sBillBarCode = HBarCode.Trim();
|
string[] NewBarCode;
|
if (sBillBarCode.CompareTo("#") > 0)
|
{
|
NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
|
sBillBarCode = NewBarCode[0];
|
}
|
string sBillNo = sBillBarCode; //条形码
|
|
string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码
|
string BillNo_PGD = arr[0]; //单据号
|
string entryid_PGD = "";//子id
|
if (arr.Length > 1)
|
{
|
entryid_PGD = arr[1];
|
}
|
|
//截取条码类型 前三位
|
string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
|
//截取条码类型2 前四位
|
string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
|
//截取内码
|
string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
|
|
string sErr = "";
|
|
switch (BillNoType2)
|
{
|
case "GXLX"://流转卡
|
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{ //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
if (HBillType == "7505")
|
{
|
ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill__ProcList '" + BillNo_PGD + "' ", "h_p_Sc_ProcessExchangeBill__ProcList");
|
}
|
else {
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
}
|
else
|
{
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'工序','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'物料','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'工艺路线','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
|
break;
|
}
|
|
}
|
}
|
}
|
break;
|
case "GXJZ":
|
//截取条码类型 前三位
|
string HBillNo = HBarCode.Substring(4, HBarCode.Length - 4);
|
ds = oCN.RunProcReturn("select * from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain");
|
Int64 HStationInInterID = 0;
|
|
if (ds != null || ds.Tables[0].Rows.Count > 0)
|
{
|
HStationInInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
|
}
|
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'工序','" + HStationInInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'物料','" + HStationInInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'工艺路线','" + HStationInInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
|
break;
|
}
|
|
}
|
break;
|
case "MO00":
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工序','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'物料','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工艺路线','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
}
|
|
}
|
break;
|
default:
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{ //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条码错误!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
break;
|
}
|
}
|
|
switch (BillNoType)
|
//得到信息
|
{
|
case "HCX"://生产资源码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList");
|
break;
|
}
|
|
if (ds != null)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回数据,条码前缀错误。";
|
objJsonResult.data = "";
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region PDA工序检验单扫码获取信息
|
[Route("MES_ProcessBill_PDA/HBarCode_KeyDown")]
|
[HttpGet]
|
public object HBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType)
|
{
|
try
|
{
|
if (HBarCode == null || HBarCode.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "空白码,条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//拆分条形码
|
string sBillBarCode = HBarCode.Trim();
|
string[] NewBarCode;
|
if (sBillBarCode.CompareTo("#") > 0)
|
{
|
NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
|
sBillBarCode = NewBarCode[0];
|
}
|
string sBillNo = sBillBarCode; //条形码
|
|
string[] arr = sBillNo.Split('&'); //以符号‘&’分割条形码
|
string BillNo_PGD = arr[0]; //单据号
|
string entryid_PGD = "";//子id
|
if (arr.Length > 1)
|
{
|
entryid_PGD = arr[1];
|
}
|
|
//截取条码类型 前三位
|
string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
|
//截取条码类型2 前四位
|
string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
|
//截取内码
|
string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
|
|
string sErr = "";
|
|
switch (BillNoType2)
|
{
|
case "GXLX"://流转卡
|
|
string sql = "";
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{ //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
|
}
|
else
|
{
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'工序','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'物料','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'工艺路线','" + BillNo_PGD + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
|
break;
|
}
|
|
}
|
}
|
}
|
break;
|
case "GXCZ":
|
ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain");
|
Int64 HStationOutInterID = 0;
|
|
if (ds != null || ds.Tables[0].Rows.Count > 0)
|
{
|
HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
|
}
|
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工序','" + HStationOutInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'物料','" + HStationOutInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'工艺路线','" + HStationOutInterID + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
|
break;
|
}
|
|
}
|
break;
|
case "MO00":
|
if (oSystemParameter.ShowBill(ref sErr))
|
{
|
switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
|
{
|
case "工序":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工序','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
case "物料":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'物料','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
case "工艺路线":
|
sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'工艺路线','" + HBarCode + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
|
break;
|
}
|
|
}
|
break;
|
default:
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{ //系统参数是否为只显示当前登录用户关联的工序信息,N为否,Y为是
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条码错误!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
break;
|
}
|
}
|
|
switch (BillNoType)
|
//得到信息
|
{
|
case "HCX"://生产资源码
|
ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList where 条码编号 = '" + BillNo + "'", "h_v_Gy_SourceList");
|
break;
|
}
|
|
if (ds != null)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有返回数据,条码前缀错误。";
|
objJsonResult.data = "";
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 试样记录 查询列表
|
[Route("MES_SampleRecordBill_PDA/SampleRecordList")]
|
[HttpGet]
|
public object SampleRecordList(string sWhere,string user)
|
{
|
try
|
{
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查询权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
string sql = "select * from h_v_QC_TestSampleCheckBillList where 1=1 " + sWhere + " order by 日期 ";
|
|
ds = oCN.RunProcReturn(sql, "h_v_QC_TestSampleCheckBillList");
|
|
DataTable dt = ds.Tables[0];
|
|
//获取列名
|
List<object> columnNameList = new List<object>();
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = dt;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 试样记录新增保存
|
[Route("MES_SampleRecordBill_PDA/SampleRecordAddBill")]
|
[HttpPost]
|
public object SampleRecordAddBill([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
try
|
{
|
//反序列化
|
string msg2 = "[" + sArray[0].ToString() + "]";
|
string user = sArray[1].ToString();//用户名
|
string OperationType = sArray[2].ToString();//类型
|
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Edit", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无编辑权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
List<Model.ClsQC_TestSampleCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_TestSampleCheckBillMain>>(msg2);
|
string BillType = "7510";
|
string HBillSubType = "7510";
|
string eventType = list[0].eventType;
|
long HInterID = list[0].HInterID;//递入type得到的单据ID
|
string HBillNo = list[0].HBillNo;//递入type得到的单据号
|
int HBillStatus = 1;
|
string HMaker = user;//制单人
|
int HYear = DateTime.Now.Year;
|
double HPeriod = DateTime.Now.Month;
|
long HSourceID = list[0].HSourceID;//生产资源
|
long HICMOInterID = list[0].HICMOInterID;//任务单ID
|
string HICMOBillNo = list[0].HICMOBillNo;//任务单
|
string HProcExchBillNo = list[0].HProcExchBillNo;//指引卡
|
long HMaterID = list[0].HMaterID;//产品ID
|
long HUnitID = list[0].HUnitID;//计量单位
|
long HProcID = list[0].HProcID;//工序ID
|
long HPRDORGID = list[0].HPRDORGID;//组织ID
|
long HLastResult = list[0].HLastResult;//试样结论
|
|
//单据完整性判断
|
if (HProcExchBillNo =="")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
var num = 0;
|
|
oCN.BeginTran();
|
if ("Add".Equals(eventType))
|
{
|
num = 1;
|
|
ds = oCN.RunProcReturn("select * from QC_TestSampleCheckBillMain where HBillNo='" + HBillNo + "'", "QC_TestSampleCheckBillMain");
|
if (ds.Tables[0].Rows.Count == 1)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据号重复!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oCN.RunProc("Insert Into QC_TestSampleCheckBillMain " +
|
"(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
|
",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo,HUnitID" +
|
",HPRDORGID,HLastResult)" +
|
" values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
|
"," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'," + HUnitID +
|
"," + HPRDORGID + ",'" + HLastResult + "') ");
|
}
|
else
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "操作类型无效!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.Commit();
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "新增单据成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 试样记录 审核/反审核功能
|
[Route("MES_SampleRecordBill_PDA/CheckSampleRecordBill")]
|
[HttpGet]
|
public object CheckSampleRecordBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有删除权限
|
if (!DBUtility.ClsPub.Security_Log("QC_TestSampleCheckBill_Check", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
BillOld.MvarItemKey = "QC_TestSampleCheckBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 审核 2 反审核
|
if (Type == 1)
|
{
|
//判断单据是否已经审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不需要再审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//审核单据
|
oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString());
|
|
}
|
else
|
{
|
//判断单据是否已经反审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已反审核!不需要再反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//反审核单据
|
oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + HInterID.ToString());
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 试样记录 删除功能
|
[Route("MES_SampleRecordBill_PDA/DelSampleRecordBill")]
|
[HttpGet]
|
public object DelSampleRecordBill(Int64 lngBillKey, string user)
|
{
|
DataSet ds;
|
string ModRightNameCheck = "QC_TestSampleCheckBill_Detete";
|
try
|
{
|
//删除权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
if (lngBillKey == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据id为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
oCN.BeginTran();//开始事务
|
ds = oCN.RunProcReturn("select * from QC_TestSampleCheckBillMain where HInterID=" + lngBillKey, "QC_TestSampleCheckBillMain");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有数据,无法删除!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
}
|
string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]);
|
if (HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已经审核,不能删除!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.RunProc("delete from QC_TestSampleCheckBillMain where HInterID=" + lngBillKey);
|
|
oCN.Commit();//提交事务
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "* 数据删除成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 对色记录 查询列表
|
[Route("ColorRecord/ColorRecordList")]
|
[HttpGet]
|
public object ColorRecordList(string sWhere,string user)
|
{
|
try
|
{
|
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无查询权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ds = oCN.RunProcReturn("select ManagerFlag from gy_czygl where czymc='" + user.Trim() + "'", "gy_czygl");
|
string sErr = "";
|
oSystemParameter.ShowBill(ref sErr);
|
if (oSystemParameter.omodel.WMS_CampanyName == "乔一")
|
{
|
}
|
else
|
{
|
if (!(bool)ds.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员
|
{
|
//不是管理员
|
sWhere += " and 制单人 = '" + user + "'";
|
}
|
}
|
|
string sql = "select * from h_v_QC_FirstPieceCheckBillMainList where 1=1 " + sWhere ;
|
|
ds = oCN.RunProcReturn(sql, "h_v_QC_FirstPieceCheckBillMainList");
|
|
DataTable dt = ds.Tables[0];
|
|
//获取列名
|
List<object> columnNameList = new List<object>();
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.list = columnNameList;
|
objJsonResult.data = dt;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 对色记录新增保存
|
[Route("MES_SampleRecordBill_PDA/ColorRecordAddBill")]
|
[HttpPost]
|
public object ColorRecordAddBill([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
try
|
{
|
//反序列化
|
string msg2 = "[" + sArray[0].ToString() + "]";
|
string user = sArray[1].ToString();//用户名
|
string OperationType = sArray[2].ToString();//类型
|
string msg_entry = sArray[3].ToString(); //明细行信息
|
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Edit", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无编辑权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
DAL.ClsQC_FirstPieceCheckBill BillNew = new DAL.ClsQC_FirstPieceCheckBill();
|
|
List<Model.ClsQC_FirstPieceCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillMain>>(msg2);
|
string BillType = "7505";
|
string HBillSubType = "7505";
|
long HInterID = list[0].HInterID;//递入type得到的单据ID
|
string HBillNo = list[0].HBillNo;//递入type得到的单据号
|
int HBillStatus = 1;
|
string HMaker = user;//制单人
|
int HYear = DateTime.Now.Year;
|
double HPeriod = DateTime.Now.Month;
|
long HSourceID = list[0].HSourceID;//生产资源
|
long HICMOInterID = list[0].HICMOInterID;//任务单ID
|
long HICMOEntryID = list[0].HICMOEntryID;//任务单子ID
|
string HICMOBillNo = list[0].HICMOBillNo;//任务单
|
string HProcExchBillNo = list[0].HProcExchBillNo;//指引卡
|
long HMaterID = list[0].HMaterID;//产品ID
|
//long HUnitID = list[0].HUnitID;//计量单位
|
long HProcID = list[0].HProcID;//工序ID
|
long HPRDORGID = list[0].HPRDORGID;//组织ID
|
bool HLastResult = list[0].HLastResult;//试样结论
|
long HQCSchemeID = list[0].HQCSchemeID;//检验方案
|
long HProcExchInterID = list[0].HProcExchInterID;//流转卡ID
|
long HProcExchEntryID = list[0].HProcExchEntryID;//流转卡子ID
|
string HBatchNo = list[0].HBatchNo;//流转卡批次号
|
long HMainSourceInterID = list[0].HMainSourceInterID;//源单ID
|
long HMainSourceEntryID = list[0].HMainSourceEntryID;//源单子ID
|
string HMainSourceBillNo = list[0].HMainSourceBillNo;//源单单号
|
string HMainSourceBillType = list[0].HMainSourceBillType;//源单类型
|
|
//表体数据
|
List<Model.ClsQC_FirstPieceCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub>>(msg_entry);
|
for (int i = 0; i < subList.ToArray().Length; i++)
|
{
|
if (subList.ToArray().Length >= 0)
|
{
|
Model.ClsQC_FirstPieceCheckBillSub oSub = new Model.ClsQC_FirstPieceCheckBillSub();
|
oSub.HEntryID = i + 1;
|
oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
|
oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
|
oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
|
oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType);
|
oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
|
oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
|
oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
|
oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
|
oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
|
oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
|
oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
|
oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
|
//oSub.HProcCheckTime = HDate;
|
//oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
|
//oSub.HProcCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
|
oSub.HSampleSchemeID = DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
|
oSub.HSampleQty = DBUtility.ClsPub.isLong(subList[i].HSampleQty);
|
oSub.HSampleDamageQty = DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
|
oSub.HAcceptQty = DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
|
oSub.HRejectQty = DBUtility.ClsPub.isLong(subList[i].HRejectQty);
|
oSub.HSampleUnRightQty = DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
|
oSub.HStatus = DBUtility.ClsPub.isStrNull(subList[i].HStatus);
|
oSub.HUnitID = DBUtility.ClsPub.isLong(subList[i].HUnitID);
|
oSub.HInspectVal = DBUtility.ClsPub.isStrNull(subList[i].HInspectVal);
|
oSub.HTargetVal = DBUtility.ClsPub.isStrNull(subList[i].HTargetVal);
|
oSub.HUpLimit = DBUtility.ClsPub.isStrNull(subList[i].HUpLimit);
|
oSub.HDownLimit = DBUtility.ClsPub.isStrNull(subList[i].HDownLimit);
|
oSub.HUpOffSet = DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
|
oSub.HDownOffSet = DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
|
oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
|
oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
|
oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
|
oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult == "True" ? 1 : 0);
|
|
oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);//检验记录
|
oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
|
oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
|
oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
|
|
|
|
BillNew.DetailColl.Add(oSub);
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无明细行信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//单据完整性判断
|
if (HProcExchBillNo == "" && HMainSourceBillNo.Substring(0, Math.Min(2, HMainSourceBillNo.Length)) != "MO" )
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
var num = 0;
|
|
oCN.BeginTran();
|
if (OperationType=="1")
|
{
|
num = 1;
|
|
ds = oCN.RunProcReturn("select * from QC_FirstPieceCheckBillMain where HBillNo='" + HBillNo + "'", "QC_FirstPieceCheckBillMain");
|
if (ds.Tables[0].Rows.Count == 1)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据号重复!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " +
|
"(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
|
",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchBillNo" +
|
",HPRDORGID,HLastResult,HProcID,HQCSchemeID,HBatchNo," +
|
"HProcExchInterID,HProcExchEntryID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType)" +
|
" values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
|
"," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +
|
"," + HPRDORGID + ",'" + HLastResult + "','" + HProcID + "','" + HQCSchemeID + "','" + HBatchNo + "'," +
|
"" + HProcExchInterID + "," + HProcExchEntryID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'" + ") ");
|
|
//插入子表
|
foreach (Model.ClsQC_FirstPieceCheckBillSub oSub in BillNew.DetailColl)
|
{
|
string sql = "Insert into QC_FirstPieceCheckBillSub " +
|
" (HInterID,HBillNo_bak,HEntryID" +
|
",HRemark,HSourceInterID" +
|
",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
|
",HQCCheckItemID,HQCStd,HResult" +
|
",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
|
"HQCNote,HMax,HMin,HAvg" +
|
") values("
|
+ HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
|
"," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
|
"," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
|
",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
|
",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
|
")";
|
|
oCN.RunProc("Insert into QC_FirstPieceCheckBillSub " +
|
" (HInterID,HBillNo_bak,HEntryID" +
|
",HRemark,HSourceInterID" +
|
",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
|
",HQCCheckItemID,HQCStd,HResult" +
|
",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
|
"HQCNote,HMax,HMin,HAvg" +
|
") values("
|
+ HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
|
"," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
|
"," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
|
",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
|
",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
|
") ");
|
}
|
}
|
else
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "操作类型无效!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.Commit();
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "新增单据成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 对色记录 审核/反审核功能
|
[Route("ColorRecord/CheckColorRecordBill")]
|
[HttpGet]
|
public object CheckColorRecordBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有删除权限
|
if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Query", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
BillOld.MvarItemKey = "QC_FirstPieceCheckBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 审核 2 反审核
|
if (Type == 1)
|
{
|
//判断单据是否已经审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不需要再审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//审核单据
|
oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 Where HInterID=" + HInterID.ToString());
|
|
}
|
else
|
{
|
//判断单据是否已经反审核
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已反审核!不需要再反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
//反审核单据
|
oCN.RunProc(" Update " + BillOld.MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + HInterID.ToString());
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 对色记录 删除功能
|
[Route("ColorRecord/DelColorRecordBill")]
|
[HttpGet]
|
public object DelColorRecordBill(Int64 lngBillKey, string user)
|
{
|
DataSet ds;
|
string ModRightNameCheck = "QC_FirstPieceCheckBill_Delete";
|
try
|
{
|
//删除权限
|
if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
if (lngBillKey == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据id为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
|
oCN.BeginTran();//开始事务
|
ds = oCN.RunProcReturn("select * from QC_FirstPieceCheckBillMain where HInterID=" + lngBillKey, "QC_FirstPieceCheckBillMain");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "没有数据,无法删除!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
}
|
string HChecker = Convert.ToString(ds.Tables[0].Rows[0]["HChecker"]);
|
if (HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已经审核,不能删除!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.RunProc("delete from QC_FirstPieceCheckBillMain where HInterID=" + lngBillKey);
|
|
oCN.Commit();//提交事务
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "* 数据删除成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 根据登录用户获取工序
|
[Route("Sc_StationInBill/autoGetProcNo")]
|
[HttpGet]
|
public object autoGetProcNo(string HUserID, string HInterID, string BillType)
|
{
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if(BillType == "In")//工序进站接收单
|
{
|
//系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配
|
if (oSystemParameter.omodel.MES_StationInBill_AutoFindSNO == "Y")
|
{
|
try
|
{
|
if (HUserID == null || HUserID.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-021]用户编码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//得到信息
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计进站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-022]未查询到工序信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "[0000-1-037]Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-024]手动输入模式";
|
objJsonResult.data = "";
|
return objJsonResult;
|
}
|
}
|
else if(BillType == "Out")//工序出站汇报单
|
{
|
//系统参数是否为自动匹配流水号,N为手动输入,Y为自动匹配
|
if (oSystemParameter.omodel.MES_StationOutBill_AutoFindSNO == "Y")
|
{
|
try
|
{
|
if (HUserID == null || HUserID.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-021]用户编码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//得到信息
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_StationBill_autoGetProcNo where HInterID = '" + HInterID + "' and 用户编码 ='" + HUserID + "'" + " and 累计出站数量 < 计划数量 and 下道流转工序<>'转' and 委外标记=0 order by 序号 asc", "h_v_Sc_StationBill_autoGetProcNo");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-022]未查询到工序信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-1-038]Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-024]手动输入模式";
|
objJsonResult.data = "";
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
return 0;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "[0000-2-023]系统参数异常";
|
objJsonResult.data = "";
|
return objJsonResult;
|
}
|
|
|
}
|
#endregion
|
|
#region 指引卡变更单 新增保存
|
[Route("MES_Sc_ProcessExchangeBillMain_Note_PDA/ProcessExchangeBillMain_NoteAddBill")]
|
[HttpPost]
|
public object ProcessExchangeBillMain_NoteAddBill([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
try
|
{
|
//反序列化
|
string msg2 = "[" + sArray[0].ToString() + "]";
|
string user = sArray[1].ToString();//用户名
|
string OperationType = sArray[2].ToString();//类型
|
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Change", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无变更权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
List<Model.Sc_ProcessExchangeBillMain_Note> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Sc_ProcessExchangeBillMain_Note>>(msg2);
|
|
long HSouceID_Original = list[0].HSouceID_Original;
|
long HSouceID_Now = list[0].HSouceID_Now;
|
long HOrgID = list[0].HOrgID;//组织ID
|
String HICMOBillNo = list[0].HICMOBillNo;//任务单
|
long HICMOInterID = list[0].HICMOInterID;//任务单ID
|
long HProcExchInterID = list[0].HProcExchInterID;
|
long HProcExchEntryID = list[0].HProcExchEntryID;
|
String HProcExchBillNo = list[0].HProcExchBillNo;
|
String HBillNo_Note = list[0].HBillNo_Note;//指引卡
|
long HMaterID = list[0].HMaterID;//产品ID
|
long HUnitID = list[0].HUnitID;//计量单位
|
long HProcID = list[0].HProcID;//工序ID
|
string HMaker = user;//制单人
|
string HMakeDate = list[0].HMakeDate;//制单日期
|
|
//单据完整性判断
|
if (HProcExchBillNo == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流转卡没有选择!请扫描条形码或输入条形码后回车";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.BeginTran();
|
if (OperationType == "1")
|
{
|
oCN.RunProc("Insert Into Sc_ProcessExchangeBillMain_Note " +
|
"(HBillNo_Note,HSouceID_Original,HSouceID_Now,HOrgID,HICMOInterID,HICMOBillNo,HProcExchBillNo,HProcExchInterID" +
|
",HProcExchEntryID,HMaterID,HUnitID,HProcID,HMaker,HMakeDate)" +
|
" values('" + HBillNo_Note + "','" + HSouceID_Original + "'," + HSouceID_Now + ",'" + HOrgID + "'," + HICMOInterID + ",'"+ HICMOBillNo + "','" + HProcExchBillNo + "' ," + HProcExchInterID +
|
"," + HProcExchEntryID + ",'" + HMaterID + "','" + HUnitID + "'," + HProcID + ",'" + HMaker + "','" + HMakeDate + "')" );
|
|
oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSouceID_Now + " where HInterID=" + HProcExchInterID + " and HEntryID=" + HProcExchEntryID);
|
}
|
else
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "操作类型无效!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
oCN.Commit();
|
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "新增单据成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
|
#region 出站汇报单显示表体明细
|
[Route("Cj_StationEntrustInBill/DisBillEntryList")]
|
[HttpGet]
|
public object DisBillEntryList(Int64 HProcExchHinteID)
|
{
|
try
|
{
|
List<object> columnNameList = new List<object>();
|
//得到信息
|
ds = oCN.RunProcReturn("exec h_p_Sc_ProcExchBilltransRelationQty " + HProcExchHinteID + "", "h_p_Sc_ProcExchBilltransRelationQty");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "未查询到出站单明细信息!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//添加列名
|
foreach (DataColumn col in ds.Tables[0].Columns)
|
{
|
Type dataType = col.DataType;
|
string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
|
columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
|
}
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
objJsonResult.list = columnNameList;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 新增单据-保存按钮
|
[Route("Cj_StationEntrustInBill/AddBill")]
|
[HttpPost]
|
public object AddBill([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
try
|
{
|
//委外工序发出反序列化
|
string msg2 = "[" + sArray[0].ToString() + "]";
|
string user = sArray[1].ToString();
|
|
//判断是否有编辑权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Edit", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无编辑权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg2);
|
DBUtility.ClsPub.CurUserName = user;
|
long HMainInterID = 0;
|
HMainInterID = list[0].HMainInterID;
|
string eventType = list[0].eventType;
|
long HInterID = list[0].HInterID;//递入type得到的单据ID
|
int HYear = 2021;
|
double HPeriod = list[0].HPeriod;//单价
|
string HBillNo = list[0].HBillNo;//递入type得到的单据号
|
int HBillStatus = 0;
|
string HInnerBillNo = list[0].HInnerBillNo;//送货单号
|
string HICMOBillNo = list[0].HICMOBillNo;//生产订单号
|
long HICMOInterID = list[0].HICMOInterID;//生产订单号ID
|
long HProcExchInterID = list[0].lngBillKey;
|
long HProcExchEntryID = list[0].lngBillSubKey;
|
string HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
|
long HProcID = list[0].HProcID;//当前工序
|
long HMaterID = list[0].HMaterID;//产品ID
|
DateTime HStationInTime = list[0].HStationInTime;//
|
long HEmpID = list[0].HEmpID;//操作员ID
|
long HSourceID = list[0].HSourceID;//生产资源ID
|
long HGroupID = list[0].HGroupID;//班组ID
|
double HICMOQty = list[0].HICMOQty;//任务单数量
|
double HPlanQty = list[0].HPlanQty;//流转卡数量
|
double HQty = list[0].HQty;//发出数量
|
long HSupID = list[0].HSupID;//供应商ID
|
double HPieceQty = list[0].HPieceQty;//发出件数
|
string HSourceName = list[0].HSourceName;//
|
double HPrice = list[0].HPrice;//单价
|
double HMoney = list[0].HMoney;//金额
|
string HRemark = list[0].HRemark;//备注
|
double HTaxRate = list[0].HTaxRate;//税率
|
string HProcNo = list[0].HProcNo;//流水号
|
string HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
|
int HWWWorkOrderInterID = 0;//委外工单号子内码
|
int HWWWorkOrderEntryID = 0;//委外工单号主内吗
|
string HWWWorkOrderBillNo = list[0].HWWWorkOrderBillNo;//委外工单号
|
string HMaker = list[0].HMaker;//制单人
|
int HProcPlanInterID = 0;
|
int HProcPlanEntryID = 0;
|
string HProcPlanBillNo = "";
|
long HDeptID = list[0].HDeptID;//部门ID
|
string HBarCode = list[0].HBarCode;//条形码
|
string HAddr = "";
|
string HBarCodeMaker = "";
|
long HPRDOrgID = list[0].HPRDOrgID;//组织ID
|
if (HProcExchInterID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流转卡没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HProcExchEntryID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流水号2没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HProcNo == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流水号没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HProcExchBillNo == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "流转卡号没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HMaterID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "产品没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HSupID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "供应商没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HProcID <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "当前工序没有选择!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (HQty <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "发出数量不能为0!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//若MAINDI重复则重新获取
|
oCN.BeginTran();
|
|
if ("Add".Equals(eventType))
|
{
|
if (!AllowbillNo(HBillNo))
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据号重复!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//保存前控制=========================================
|
string HBillNote = "";
|
ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl ");
|
if (ds == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存前判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//=========================================================
|
|
//主表
|
oCN.RunProc("Insert Into Sc_StationInBillMain " +
|
"(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
|
",HYear,HPeriod,HRemark,HInnerBillNo" +
|
",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
|
",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" +
|
",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
|
",HSupID,HTaxRate,HQty,HPrice,HMoney,HPieceQty" +
|
",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" +
|
") " +
|
" values('3792','3792'," + HInterID.ToString() + ",'" + HBillNo + "','" + HBillStatus.ToString() + "',getdate(),'" + HMaker + "',getdate()" +
|
",'" + HYear.ToString() + "','" + HPeriod.ToString() + "','" + HRemark + "','" + HInnerBillNo + "'" +
|
"," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
|
",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID +
|
"," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" +
|
"," + HSupID + "," + HTaxRate + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty +
|
",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "," + HMainInterID + "," + HPRDOrgID +
|
") ");
|
|
//=========================保存后控制 ============================
|
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',2 ", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
|
if (ds2 == null)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存后控制判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
}
|
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//=======================================================
|
|
}
|
else if ("Modify".Equals(eventType))
|
{
|
|
//保存前控制=========================================
|
string HBillNote = "";
|
ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',2 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl ");
|
if (ds == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存前判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//=========================================================
|
|
//删除关联
|
oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID + ",-1");
|
oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + HInterID + ",-1");
|
|
//更新主表
|
oCN.RunProc("UpDate Sc_StationInBillMain set " +
|
"HBillNo='" + HBillNo + "'" +
|
",HRemark='" + HRemark + "'" +
|
",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
|
",HUpDateDate=getdate()" +
|
",HInnerBillNo='" + HInnerBillNo + "'" +
|
",HSupID=" + HSupID +
|
",HQty=" + HQty +
|
",HPieceQty=" + HPieceQty +
|
",HPrice=" + HPrice +
|
",HMoney=" + HMoney +
|
",HTaxRate=" + HTaxRate +
|
",HMaterID=" + HMaterID +
|
",HProcID=" + HProcID +
|
",HEmpID=" + HEmpID +
|
",HProcNo=" + HProcNo +
|
",HOrderProcNO='" + HOrderProcNO + "'" +
|
" where HInterID=" + HInterID);
|
|
//=========================保存后控制 ============================
|
DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',2", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
|
if (ds2 == null)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存后控制判断失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
}
|
if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//=======================================================
|
|
}
|
else
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "操作类型无效!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl");
|
if (ds == null)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "判断数量失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows.Count == 0)
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "判断数量失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2")
|
{
|
oCN.RollBack();
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID.ToString() + ",1");
|
oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + HInterID.ToString() + ",1");
|
|
|
|
oCN.Commit();
|
string sReturn = "";
|
if (oSystemParameter.ShowBill(ref sReturn) == true)
|
{
|
if (oSystemParameter.omodel.MES_StationEntrustInBill_SaveAutoAddnew == "Y") //系统参数 自动审核
|
{
|
objJsonResult.Verify = "Y";
|
}
|
else
|
{
|
objJsonResult.Verify = "N";
|
}
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "操作单据成功!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.Message;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
private bool AllowbillNo(string HBillNo)
|
{
|
ds = oCN.RunProcReturn("select HBillNo from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
return true;
|
}
|
return false;
|
}
|
#endregion
|
|
#region 编辑页面根据id获取委外工序接收单信息
|
[Route("Cj_StationEntrustInBill/GetStationEntrustInBill")]
|
[HttpGet]
|
public object GetStationEntrustInBill(int HInterID)
|
{
|
try
|
{
|
ds = oCN.RunProcReturn("select * from h_v_GetStationInBill where HInterID = " + HInterID, "h_v_GetStationOutBill");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "委外工序接收单信息获取失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 委外工序发出单流水号回车获取工序信息
|
[Route("Cj_StationEntrustInBill/txtHProcNo_KeyDown")]
|
[HttpGet]
|
public object txtHProcNo_KeyDown(string sBillNo, string sProcNo)
|
{
|
try
|
{
|
if (sBillNo.Equals("") || sProcNo.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//得到信息(委外标记为0时,流转标记为1时)
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 下道流转工序<>'转' and 委外标记=1 and 流转标记=1 and 工序号='" + sProcNo + "'", "h_v_Sc_ProcessExchangeBillList");
|
//Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 工序号='" + sProcNo + "' and 委外标记=0 and 流转标记=1 ", "h_v_Sc_ProcessExchangeBillList");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "工序号错误或者当前工序号不允许进站,请重新输入!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 委外工序发出单流水号回车获取工序信息(序列号)
|
[Route("Cj_StationEntrustInBill/txtHProcNo_KeyDown_Sec")]
|
[HttpGet]
|
public object txtHProcNo_KeyDown_Sec(string sBillNo, string sProcNo, string HSEQNumber)
|
{
|
try
|
{
|
if (sBillNo.Equals("") || sProcNo.Equals(""))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "条形码不能为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//得到信息(委外标记为0时,流转标记为1时)
|
ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList_Sec where 单据号= '" + sBillNo + "' and 下道流转工序<>'转' and 委外标记=1 and 流转标记=1 and 工序号='" + sProcNo + "' and 序列号='" + HSEQNumber + "'", "h_v_Sc_ProcessExchangeBillList_Sec");
|
//Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList where 单据号= '" + sBillNo + "' and 工序号='" + sProcNo + "' and 委外标记=0 and 流转标记=1 ", "h_v_Sc_ProcessExchangeBillList");
|
//写入信息
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "工序号错误或者当前工序号不允许进站,请重新输入!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 编辑前判断
|
[Route("Cj_StationEntrustInBill/set_ShowBillJudge")]
|
[HttpGet]
|
public object set_ShowBillJudge(string HBillNo, string CurUserName,long HInterID)
|
{
|
try
|
{
|
|
//判断权限
|
if (!ClsPub.Security_Log_second("MES_StationEntrustInBill_Edit", 1, false, CurUserName))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
////判断该用户名是否有该工站权限
|
//if (BillNew.CheckCenterIDByUser(DBUtility.ClsPub.isLong(66865)) == false)
|
//{
|
// MessageBox.Show("没有该工站权限!", "提示");
|
// return;
|
//}
|
////检查是否开票
|
//string d = "";
|
//if (BillOld.CheckIsKP(BillOld.omodel.HInterID, ref d) == false)
|
//{
|
// MessageBox.Show(d, "提示");
|
// return;
|
//}
|
string s = "";
|
DAL.ClsSc_StationEntrustInBill BillOld = new DAL.ClsSc_StationEntrustInBill();
|
if (BillOld.ShowBill(HInterID, ref s) == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据有错误!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//判断是否可编辑
|
if (BillOld.omodel.HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此单据已经被审核,不允许修改!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 审核
|
[Route("Cj_StationEntrustInBill/set_CheckBill")]
|
[HttpGet]
|
public object set_CheckBill(int HInterID, string CurUserName)
|
{
|
try
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Check", 1, false, CurUserName))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (HInterID == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据ID为0,不能审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已审核!不能再次审核";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//审核前控制================================================================================
|
string sql = "exec h_p_Sc_StationInBill_WW_BeforeCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_BeforeCheckCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//================================================================================
|
|
//审核
|
if (Cj_StationEntrustInBillCheckBill(HInterID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "审核成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "审核失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//审核
|
public bool Cj_StationEntrustInBillCheckBill(Int64 lngBillKey, string HBillNo, string CurUserName, ref string sReturn)
|
{
|
try
|
{
|
string HChecker = CurUserName;
|
string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
|
oCN.BeginTran();
|
ds = oCN.RunProcReturn("Select * from Sc_StationInBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationInBillMain");
|
if (ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "单据未找到!";
|
return false;
|
}
|
|
oCN.RunProc(" Update Sc_StationInBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
|
oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1");
|
|
|
|
//审核后控制================================================================================
|
string sql = "exec h_p_Sc_StationInBill_WW_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_AfterCheckCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "审核过程中出错,请与网络管理人员联系";
|
oCN.RollBack();
|
return false;
|
}
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
|
oCN.RollBack();
|
return false;
|
}
|
//================================================================================
|
|
sReturn = sReturn + " 审核功能!";
|
oCN.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCN.RollBack();
|
return false; ;
|
}
|
}
|
#endregion
|
|
#region 反审核
|
[Route("Cj_StationEntrustInBill/set_AbandonCheck")]
|
[HttpGet]
|
public object set_AbandonCheck(int HInterID, string CurUserName)
|
{
|
try
|
{
|
//审核权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Check", 1, false, CurUserName))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (HInterID == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据ID为0,不能反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
//查看是否已审核,关闭,作废
|
if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HChecker.Trim() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未审核!不需要反审核!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//反审核前控制=============================================================
|
string sql = "exec h_p_Sc_StationInBill_WW_BeforeUnCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_BeforeUnCheckCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
|
}
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//================================================================================
|
|
//反审核
|
if (Cj_StationEntrustInBillAbandonCheckBill(HInterID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反审核成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "反审核失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//反审核
|
public bool Cj_StationEntrustInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
|
{
|
try
|
{
|
string HChecker = CurUserName;
|
string HCheckDate = DBUtility.ClsPub.GetServerDate(-1);
|
oCN.BeginTran();
|
ds = oCN.RunProcReturn("Select * from Sc_StationInBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationInBillMain");
|
if (ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "单据未找到!";
|
return false;
|
}
|
|
oCN.RunProc(" Update Sc_StationInBillMain set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString());
|
//oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",-1");
|
|
|
//反审核后控制=============================================================================
|
string sql = "exec h_p_Sc_StationInBill_WW_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
|
ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_AfterUnCheckCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "反审核过程中出错,请与网络管理人员联系";
|
oCN.RollBack();
|
return false;
|
}
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
|
oCN.RollBack();
|
return false;
|
}
|
//=============================================================================
|
sReturn = sReturn + "反审核功能!";
|
oCN.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCN.RollBack();
|
return false; ;
|
}
|
}
|
#endregion
|
|
|
#region 工序委外发出单关闭/反关闭功能
|
[Route("Cj_StationEntrustInBill/CloseCj_StationEntrustInBill")]
|
[HttpGet]
|
public object CloseCj_StationEntrustInBill(string HInterID, int Type, string user)
|
{
|
try
|
{
|
//判断是否有删除权限
|
if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Close", 1, false, user))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (string.IsNullOrWhiteSpace(HInterID))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "HInterID为空!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
ClsPub.CurUserName = user;
|
BillOld.MvarItemKey = "Sc_StationInBillMain";
|
oCN.BeginTran();//开始事务
|
|
//Type 1 关闭 2 反关闭
|
if (Type == 1)
|
{
|
//判断单据是否已经关闭
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已关闭!不需要再关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
|
//关闭前控制=========================================
|
string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
|
ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_BeforeCloseCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:关闭前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//==================================================================================
|
|
//关闭单据
|
if (!BillOld.CloseBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_StationInBill_WW_AfterCloseCtrl", user, ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
//判断单据是否已经反关闭
|
DataSet ds;
|
string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
|
ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
|
if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
|
{
|
if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已反关闭!不需要再反关闭!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
|
//反关闭前控制=========================================
|
string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeUnCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
|
ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_BeforeUnCloseCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:反关闭前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//==================================================================================
|
|
|
//反关闭单据
|
if (!BillOld.CancelClose(Int64.Parse(HInterID), HBillNo, "h_p_Sc_StationInBill_WW_AfterUnCloseCtrl", user, ref ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
oCN.Commit();//提交事务
|
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "执行成功!";
|
objJsonResult.data = null;
|
return objJsonResult; ;
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "执行失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
|
#region 根据id删除委外发出单
|
[Route("Cj_StationEntrustInBill/del_StationEntrustInBill")]
|
[HttpGet]
|
public object del_StationEntrustInBill(long HInterID, string HDeleteMan)
|
{
|
try
|
{
|
|
//编辑权限
|
if (!DBUtility.ClsPub.Security_Log_second("MES_StationEntrustInBill_Delete", 1, false, HDeleteMan))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "无权限!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
DAL.ClsSc_StationEntrustInBill oBill = new DAL.ClsSc_StationEntrustInBill();
|
if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
if (oBill.omodel.HMaker != HDeleteMan && (HDeleteMan != "admin" && HDeleteMan != "Admin"))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "只能删除本人的单据!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (oBill.omodel.HChecker != "")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据已经审核,不能删除!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DataSet ds;
|
//判断是否存在 相同单据号 的领料单 判断生产订单是否已结案,要求计划手工反结案
|
ds = oCn.RunProcReturn("exec h_p_MES_StationInBill_DelCtrl '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationInBill_DelCtrl");
|
if (ds == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "判断关联失败!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
//删除前控制=========================================
|
string HBillNo = oBill.omodel.HBillNo;
|
string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'";
|
ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_BeforeDelCtrl");
|
if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
//==================================================================================
|
|
//写入删除日志
|
string WorkList = "删除委外发出单:" + oBill.omodel.HBillNo;
|
if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_WW_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "删除成功!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "单据未找到!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "异常!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
#endregion
|
//
|
|
#region 委外工序发出单 上传生成金蝶云单据
|
|
/// <summary>
|
/// 新增上传
|
/// </summary>
|
/// <returns></returns>
|
[Route("Cj_StationEntrustInBillController/set_SaveStationEntrustInBill_Json")]
|
[HttpPost]
|
public object set_SaveStationEntrustInBill_Json([FromBody] JObject oMain)
|
{
|
var _value = oMain["oMain"].ToString();
|
string msg1 = _value.ToString();
|
try
|
{
|
msg1 = "[" + msg1.ToString() + "]";
|
List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
|
ClsSc_StationInBillMain oMain2 = new ClsSc_StationInBillMain();
|
|
oMain2.HInterID = list[0].HInterID;
|
oMain2.HBillNo = list[0].HBillNo;
|
oMain2.HBillType = "3792";
|
oMain2.HDate = DateTime.Today;
|
oMain2.HMaker = list[0].HMaker;//制单人
|
oMain2.HRemark = list[0].HRemark;//备注
|
oMain2.HInnerBillNo = list[0].HInnerBillNo;//送货单号
|
oMain2.HICMOInterID = list[0].HICMOInterID;//生产订单号ID
|
oMain2.HICMOBillNo = list[0].HICMOBillNo;//生产订单号
|
oMain2.HProcPlanInterID = 0;
|
oMain2.HProcPlanEntryID = 0;
|
oMain2.HProcPlanBillNo = "";
|
oMain2.HProcExchInterID = list[0].lngBillKey;
|
oMain2.HProcExchEntryID = list[0].lngBillSubKey;
|
oMain2.HProcExchBillNo = list[0].HProcExchBillNo;//流转卡
|
oMain2.HMaterID = list[0].HMaterID;//产品ID
|
oMain2.HProcID = list[0].HProcID;//当前工序
|
oMain2.HICMOQty = list[0].HICMOQty;//任务单数量
|
oMain2.HPlanQty = list[0].HPlanQty;//流转卡数量
|
oMain2.HSourceID = list[0].HSourceID;//生产资源ID
|
oMain2.HGroupID = list[0].HGroupID;//班组ID
|
oMain2.HDeptID = list[0].HDeptID;//部门ID
|
oMain2.HEmpID = list[0].HEmpID;//操作员ID
|
oMain2.HBarCode = list[0].HBarCode;//条形码
|
oMain2.HBarCodeMaker = "";
|
oMain2.HAddr = "";
|
oMain2.HSupID = list[0].HSupID;//供应商ID
|
oMain2.HTaxRate = list[0].HTaxRate;//税率
|
oMain2.HQty = list[0].HQty;//发出数量
|
oMain2.HPrice = list[0].HPrice;//单价
|
oMain2.HMoney = list[0].HMoney;//金额
|
oMain2.HPieceQty = list[0].HPieceQty;//发出件数
|
oMain2.HProcNo = Pub_Class.ClsPub.isLong(list[0].HProcNo);//流水号
|
oMain2.HOrderProcNO = list[0].HOrderProcNO;//订单跟踪号
|
oMain2.HWWWorkOrderBillNo = list[0].HWWWorkOrderBillNo;//委外工单号
|
oMain2.HWWWorkOrderInterID = 0;//委外工单号子内码
|
oMain2.HWWWorkOrderEntryID = 0;//委外工单号主内吗
|
oMain2.HMainInterID = list[0].HMainInterID;
|
oMain2.HPRDOrgID = list[0].HPRDOrgID;//组织ID
|
|
//获取系统参数
|
string sErrMsg = "";
|
Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
|
if (oSystemParameter.ShowBillByOrgID(oMain2.HPRDOrgID, ref sErrMsg) == true)
|
{
|
if (oSystemParameter.omodel.MES_StationEntrustInBill_SaveAutoAddnew == "Y") //系统参数 自动审核
|
{
|
objJsonResult.Verify = "Y";
|
}
|
else
|
{
|
objJsonResult.Verify = "N";
|
}
|
|
if (set_SaveStationEntrustInBill(oMain2, oSystemParameter.omodel, ref DBUtility.ClsPub.sErrInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //成功!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //失败!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "委外工序发出单上传失败!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//生成委外工序发出单
|
public bool set_SaveStationEntrustInBill(Model.ClsSc_StationInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
|
{
|
string sRemark = "";
|
string HReturn;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
|
//上传前判断
|
if (oMain.HProcExchInterID <= 0)
|
{
|
sErrMsg = "流转卡没有选择!";
|
return false;
|
}
|
if (oMain.HProcExchBillNo == "")
|
{
|
sErrMsg = "流转卡号没有选择!";
|
return false;
|
}
|
if (oMain.HProcNo <= 0)
|
{
|
sErrMsg = "流水号没有选择!";
|
return false;
|
}
|
if (oMain.HProcID <= 0)
|
{
|
sErrMsg = "当前工序没有选择!";
|
return false;
|
}
|
if (oMain.HQty <= 0)
|
{
|
sErrMsg = "发出数量不允许为0!";
|
return false;
|
}
|
string HBillNote = "";
|
DataSet BfDs = oCn.RunProcReturn("exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl");
|
if (BfDs == null || BfDs.Tables[0].Rows.Count == 0)
|
{
|
sErrMsg = "上传前判断数据完整性失败!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
|
return false;
|
}
|
}
|
sRemark = sRemark + " ;上传前判断" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
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("Insert Into Sc_StationInBillMain " +
|
"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
|
",HYear,HPeriod,HRemark,HInnerBillNo" +
|
",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
|
",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" +
|
",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
|
",HSupID,HTaxRate,HQty,HPrice,HMoney,HPieceQty" +
|
",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" +
|
") " +
|
" values('" + oMain.HBillType + "','" + oMain.HBillType + "'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HDate.ToShortDateString() + "','" + oMain.HMaker + "',getdate()" +
|
", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HInnerBillNo + "'" +
|
"," + oMain.HICMOInterID + ",'" + oMain.HICMOBillNo + "'," + oMain.HProcPlanInterID + "," + oMain.HProcPlanEntryID + ",'" + oMain.HProcPlanBillNo + "'," + oMain.HProcExchInterID + "," + oMain.HProcExchEntryID +
|
",'" + oMain.HProcExchBillNo + "'," + oMain.HMaterID + "," + oMain.HProcID + "," + oMain.HICMOQty + "," + oMain.HPlanQty + ",getdate()," + oMain.HSourceID +
|
"," + oMain.HGroupID + "," + oMain.HDeptID + "," + oMain.HEmpID + ",'" + oMain.HBarCode + "','" + oMain.HAddr + "','" + oMain.HBarCodeMaker + "',getdate()" +
|
"," + oMain.HSupID + "," + oMain.HTaxRate + "," + oMain.HQty + "," + oMain.HPrice + "," + oMain.HMoney + "," + oMain.HPieceQty +
|
",'" + oMain.HProcNo + "','" + oMain.HOrderProcNO + "'" + ",'" + oMain.HWWWorkOrderBillNo + "'" + "," + oMain.HWWWorkOrderInterID + "" + "," + oMain.HWWWorkOrderEntryID + "," + oMain.HMainInterID + "," + oMain.HPRDOrgID +
|
") ");
|
|
sRemark = sRemark + " ;生成委外工序发出单单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
DataSet AfDs = oCn.RunProcReturn("exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',2 ", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
|
if (AfDs == null || AfDs.Tables[0].Rows.Count == 0)
|
{
|
sErrMsg = "保存后控制判断失败!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(AfDs.Tables[0].Rows[0]["HBack"]) != "0")
|
{
|
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
|
return false;
|
}
|
}
|
|
DataSet QtyDs = oCn.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + oMain.HInterID.ToString(), "h_p_MES_StationInBill_QtyCtrl");
|
if (QtyDs == null || QtyDs.Tables[0].Rows.Count == 0)
|
{
|
sErrMsg = "判断数量失败!";
|
return false;
|
}
|
else
|
{
|
if (DBUtility.ClsPub.isStrNull(QtyDs.Tables[0].Rows[0]["HBack"]) == "2")
|
{
|
sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
|
return false;
|
}
|
}
|
|
oCn.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + oMain.HInterID.ToString() + ",1");
|
oCn.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + oMain.HInterID.ToString() + ",1");
|
|
sRemark = sRemark + " ;保存后控制" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
//返回API递入所需数据
|
DataSet Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_ProdMateRequest_CLD " + oMain.HProcExchInterID.ToString() + "," + oMain.HProcExchEntryID.ToString() + "," + oMain.HProcNo.ToString() + "," + oMain.HQty.ToString(), "h_p_MES_StationEntrustInBill_ProdMateRequest_CLD");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
sErrMsg = "未获取到API所需递入数据!";
|
return false;
|
}
|
sRemark = sRemark + " ;获取CLOUD单据API递入值" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
//生成金蝶云对应单据
|
//获取金蝶云API所需递入数据
|
string sJson_MainCustom = ""; //自定义字段
|
string sJson_BatchNo = "";
|
string sJson_FAUXPROPID = "";
|
sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
|
|
//是否启用批次管理
|
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HISBATCHMANAGE"]) == "1")
|
{
|
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\" , ";
|
}
|
else
|
{
|
sJson_BatchNo = "";
|
}
|
|
//辅助属性
|
sJson_FAUXPROPID = " \"FProAuxPropId\":{\"FPROAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProAuxPropId"]) + "\"}},";
|
|
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + oMain.HBillNo + "\"," +
|
//"FID": 0,
|
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
|
"\"FBillDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillDate"]) + "\"," +
|
"\"FProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProOrgId"]) + "\" }," +
|
"\"FProductId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductId"]) + "\" }," +
|
//"FProductId": {"FNUMBER": ""},
|
sJson_FAUXPROPID +
|
"\"FTransferType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferType"]) + "\"," +
|
"\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
|
//"FDescription": "",
|
"\"FProDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProDeptId"]) + "\" }," +
|
"\"FMOBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOBillNo"]) + "\"," +
|
"\"FMOEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntrySeq"]) + "\"," +
|
"\"FBomId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBomId"]) + "\" }," +
|
"\"FOperUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperUnitId"]) + "\" }," +
|
"\"FProUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProUnitId"]) + "\" }," +
|
"\"FMOQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOQty"]) + "\"," +
|
"\"FMTONo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMTONo"]) + "\"," +
|
sJson_BatchNo +
|
//"FCreatorId": {"FUserID": ""},
|
"\"FSaleOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderNo"]) + "\"," +
|
//"FCreateDate": "1900-01-01",
|
"\"FSaleOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderSeq"]) + "\"," +
|
//"FModifierId": {"FUserID": ""},
|
//"FModifyDate": "1900-01-01",
|
//"FApproveDate": "1900-01-01",
|
//"FApproverId": {"FUserID": ""},
|
//"FCancelDate": "1900-01-01",
|
//"FCancelId": {"FUserID": ""},
|
"\"FSourceBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillType"]) + "\"," +
|
"\"FSrcOptPlanId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanId"]) + "\"," +
|
"\"FSourceBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillNo"]) + "\"," +
|
"\"FSrcOptPlanOptId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanOptId"]) + "\"," +
|
"\"FSrcOptPlanSeqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanSeqId"]) + "\"," +
|
"\"FMOId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOId"]) + "\"," +
|
"\"FMOEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntryId"]) + "\"," +
|
//"FSrcRptEntryId": 0,
|
//"FGroupById": "",
|
"\"FProductType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductType"]) + "\"," +
|
"\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProjectNo"]) + "\"," +
|
"\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
|
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeId"]) + "\"," +
|
//"FInStockType": "",
|
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerId"]) + "\" }," +
|
//"FStockId": {"FNUMBER": ""},
|
"\"FOutOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOPBillNo"]) + "\"," +
|
//"FStockLocId": {"FSTOCKLOCID__FF100001": {"FNumber": ""}},
|
//"FBalanceType": "",
|
"\"FIsEntrust\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsEntrust"]) + "\"," +
|
"\"FOutSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqNumber"]) + "\"," +
|
"\"FOutOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperNumber"]) + "\"," +
|
"\"FOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProOrgId"]) + "\" }," +
|
"\"FProxyOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProxyOutProOrgId"]) + "\" }," +
|
"\"FOutDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutDeptId"]) + "\" }," +
|
"\"FOutWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutWorkCenterId"]) + "\" }," +
|
"\"FOutProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProcessId"]) + "\" }," +
|
//"FOutEmpId": {"FSTAFFNUMBER": ""},
|
"\"FOutOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperDescr"]) + "\"," +
|
//"FOutPurOrgId": {"FNumber": ""},
|
"\"FInProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProOrgId"]) + "\" }," +
|
"\"FInOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOPBillNo"]) + "\"," +
|
//"FOutSupplier": {"FNUMBER": ""},
|
"\"FOutOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperId"]) + "\"," +
|
"\"FInProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProcessId"]) + "\" }," +
|
"\"FInDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInDeptId"]) + "\" }," +
|
"\"FOutIsInStorePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsInStorePoint"]) + "\"," +
|
"\"FOutSeqType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqType"]) + "\"," +
|
"\"FInOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperDescr"]) + "\"," +
|
"\"FOutIsOutSrc\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsOutSrc"]) + "\"," +
|
"\"FInSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSeqNumber"]) + "\"," +
|
"\"FInPurOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInPurOrgId"]) + "\" }," +
|
"\"FInOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperNumber"]) + "\"," +
|
"\"FInWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInWorkCenterId"]) + "\" }," +
|
//"FInEmpId": {"FSTAFFNUMBER": ""},
|
"\"FInSupplier\":{ \"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSupplier"]) + "\" }," +
|
"\"FOperApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperApplyQty"]) + "\"," +
|
"\"FTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferQty"]) + "\"," +
|
"\"FApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyQty"]) + "\"," +
|
"\"FOperTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperTransferQty"]) + "\"," +
|
"\"FOperQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperQualifiedQty"]) + "\"," +
|
//"FValQualifiedQty": 0,
|
"\"FQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedQty"]) + "\"," +
|
"\"FInOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperId"]) + "\"," +
|
//"FOperUnqualifiedQty": 0,
|
//"FUnqualifiedQty": 0,
|
"\"FIsFirstOperTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsFirstOperTransIn"]) + "\"," +
|
"\"FIsExistTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsExistTransIn"]) + "\"," +
|
//"FOperProFailQty": 0,
|
//"FValProFailQty": 0,
|
//"FProFailQty": 0,
|
//"FOperMatFailQty": 0,
|
//"FOperPreReworkQty": 0,
|
//"FPreReworkQty": 0,
|
//"FMatFailQty": 0,
|
//"FValMatFailQty": 0,
|
"\"FSendCurrency\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendCurrency"]) + "\" }," +
|
"\"FIsInspect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsInspect"]) + "\"," +
|
"\"FQCSchemeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQCSchemeId"]) + "\" }," +
|
"\"FSendProFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailPrice"]) + "\"," +
|
//"FReceiveCurrency": {"FNUMBER": ""},
|
//"FReceiveQualifiedPrice": 0,
|
//"FReceiveProFailPrice": 0,
|
//"FReceiveMatFailPrice": 0,
|
"\"FReceiveValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveValuationUnitId"]) + "\" }," +
|
//"FReceiveTaxRate": 0,
|
"\"FSendMatFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailPrice"]) + "\"," +
|
//"FOperInspectSelectQty": 0,
|
"\"FSendValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendValuationUnitId"]) + "\" }," +
|
//"FInspectSelectQty": 0,
|
"\"FSendTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendTaxRate"]) + "\"," +
|
"\"FSendQualifiedPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedPrice"]) + "\"," +
|
//"FOperQuaSettleSelQty": 0,
|
//"FValQuaSettleSelQty": 0,
|
//"FQuaSettleSelQty": 0,
|
//"FOperInspectQty": 0,
|
//"FInspectQty": 0,
|
//"FQuaInStockSelQty": 0,
|
//"FOperQuaSettleQty": 0,
|
//"FValQuaSettleQty": 0,
|
//"FQuaSettleQty": 0,
|
//"FValProFailSettleSelQty": 0,
|
//"FOperProFailSettleSelQty": 0,
|
//"FQuaInStockQty": 0,
|
//"FProFailSettleSelQty": 0,
|
//"FOperProFailSettleQty": 0,
|
//"FValProFailSettleQty": 0,
|
//"FProFailSettleQty": 0,
|
//"FOperMatFailSettleSelQty": 0,
|
//"FValMatFailSettleSelQty": 0,
|
//"FMatFailSettleSelQty": 0,
|
"\"FUnitTransHeadQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransHeadQty"]) + "\"," +
|
"\"FUnitTransOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransOperQty"]) + "\"," +
|
//"FOperMatFailSettleQty": 0,
|
//"FMatFailSettleQty": 0,
|
//"FValMatFailSettleQty": 0,
|
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseUnitId"]) + "\" }," +
|
"\"FApplyBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyBaseQty"]) + "\"," +
|
"\"FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBaseQty"]) + "\"," +
|
//"FUnQuaInStockSelQty": 0,
|
"\"FQualifiedBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedBaseQty"]) + "\"," +
|
//"FInspectSelectBaseQty": 0,
|
//"FUnQuaInStockQty": 0,
|
//"FUnqualifiedBaseQty": 0,
|
//"FProFailBaseQty": 0,
|
//"FInspectBaseQty": 0,
|
//"FPreReworkBaseQty": 0,
|
//"FMatFailBaseQty": 0,
|
//"FQuaSettleSelBaseQty": 0,
|
//"FQuaInStockSelBaseQty": 0,
|
//"FQuaSettleBaseQty": 0,
|
//"FUnQuaInStockSelBaseQty": 0,
|
//"FQuaInStockBaseQty": 0,
|
//"FUnQuaInStockBaseQty": 0,
|
//"FProFailSettleSelBaseQty": 0,
|
//"FProFailSettleBaseQty": 0,
|
//"FMatFailSettleSelBaseQty": 0,
|
//"FMatFailSettleBaseQty": 0,
|
"\"FDemandType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandType"]) + "\"," +
|
"\"FDemandBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillId"]) + "\"," +
|
"\"FDemandBillEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillEntryId"]) + "\"," +
|
//"FInspectEntryId": 0,
|
"\"FConvertType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConvertType"]) + "\"," +
|
//"FReceiveQualifiedTaxPrice": 0,
|
//"FReceiveProFailTaxPrice": 0,
|
//"FReceiveMatFailTaxPrice": 0,
|
"\"FSendQualifiedTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedTaxPrice"]) + "\"," +
|
"\"FSendProFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailTaxPrice"]) + "\"," +
|
"\"FSendMatFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailTaxPrice"]) + "\"," +
|
"\"FRateOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateOperQty"]) + "\"," +
|
"\"FRateProQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateProQty"]) + "\"," +
|
"\"FRateValQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateValQty"]) + "\"," +
|
//"FPriceList": {"FNUMBER": ""},
|
//"FOperStatus": "",
|
//"FInstockStatus": "",
|
//"FSettleStatus": "",
|
//"FMOInStockQty": 0,
|
//"FDefectProcessEntryId": 0,
|
//"FMRBReviewEntryId": 0,
|
//"FTransDirection": "",
|
//"FBackwashSrcId": 0
|
sJson_MainCustom +
|
" \"FBillHead_Link\": [{" +
|
" \"FBillHead_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowId"]) + "\"," +
|
" \"FBillHead_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowLineId"]) + "\"," +
|
" \"FBillHead_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FRuleId"]) + "\"," +
|
" \"FBillHead_Link_FSTableId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableId"]) + "\"," +
|
" \"FBillHead_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableName"]) + "\"," +
|
" \"FBillHead_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSBillId"]) + "\"," +
|
" \"FBillHead_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSId"]) + "\"," +
|
" \"FBillHead_Link_FTransferBaseQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQtyOld"]) + "\"," +
|
" \"FBillHead_Link_FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQty"]) + "\"" +
|
" } ]," +
|
" \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBFLowId"]) + "\"}}}";
|
|
string sJson = sJson_Main;
|
|
//CLOUD金蝶云账号密码登入
|
var loginRet = InvokeHelper.LoginUser(oMain.HMaker);
|
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
|
sRemark = sRemark + " ;获取验证CLOUD账号密码" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
//生成金蝶云单据
|
if (isSuccess == 1)
|
{
|
string result = InvokeHelper.Save("SFC_OperationTransfer", sJson); //保存
|
sRemark = sRemark + " ;生成CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
HReturn = result.ToString();
|
|
if (HReturn.Contains("\"IsSuccess\":false") == true)
|
{
|
//反序列化json数据
|
var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
|
//接收金蝶报错信息
|
var strErrorMsg = string.Empty;
|
//遍历获取报错信息
|
foreach (var item in retModel.Result.ResponseStatus.Errors)
|
{
|
strErrorMsg += item.Message + "\r\n";
|
};
|
sErrMsg = "生成委外工序发出单失败!金蝶云提示:" + strErrorMsg;
|
LogService.Write("生成委外工序发出单失败!" + HReturn + sJson); //写入txt文本
|
oCn.RollBack();
|
return false;
|
}
|
else
|
{
|
sRemark = sRemark + sJson;
|
oCn.Commit();
|
}
|
}
|
else
|
{
|
sErrMsg = "生成委外工序发出单失败!金蝶云登录失败!";
|
oCn.RollBack();
|
return false;
|
}
|
}
|
catch (Exception e)
|
{
|
LogService.Write("生成回滚" + e.Message + sRemark);
|
sErrMsg = "生成委外工序发出单失败!" + e.Message;
|
oCn.RollBack();
|
return false;
|
}
|
|
if (oSystemParameter.omodel.MES_StationEntrustInBill_AutoCheck.ToUpper() == "Y") //系统参数 自动审核
|
{
|
try
|
{
|
oCn.BeginTran();
|
//审核单据
|
oCn.RunProc("Update Sc_StationInBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
|
|
//提交、审核金蝶云单据
|
HReturn = "";
|
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
|
var result2 = InvokeHelper.Submit("SFC_OperationTransfer", sJson2); //提交
|
sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
var result3 = InvokeHelper.Audit("SFC_OperationTransfer", sJson2); //审核
|
sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
HReturn = result2.ToString() + "," + result3.ToString();
|
|
if (HReturn.Contains("\"IsSuccess\":false") == true)
|
{
|
//反序列化json数据
|
var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
|
//接收金蝶报错信息
|
var strErrorMsg = string.Empty;
|
//遍历获取报错信息
|
foreach (var item in retModel.Result.ResponseStatus.Errors)
|
{
|
strErrorMsg += item.Message + "\r\n";
|
};
|
sErrMsg = "生成委外工序发出单成功,审核单据失败!金蝶云提示:" + strErrorMsg;
|
LogService.Write("审核单据失败" + sRemark + HReturn);
|
oCn.RollBack();
|
return true;
|
}
|
else
|
{
|
LogService.Write("生成并审核委外工序发出单成功!" + sRemark);
|
sErrMsg = "生成并审核委外工序发出单成功!单据号为:" + oMain.HBillNo;
|
oCn.Commit();
|
return true;
|
}
|
}
|
catch (Exception e)
|
{
|
LogService.Write("审核回滚" + sRemark + HReturn);
|
sErrMsg = "审核委外工序发出单失败!" + e.Message;
|
oCn.RollBack();
|
return false;
|
}
|
}
|
else
|
{
|
LogService.Write("生成委外工序发出单成功!" + sRemark);
|
sErrMsg = "生成委外工序发出单成功!单据号为:" + oMain.HBillNo;
|
return true;
|
}
|
}
|
|
#endregion
|
|
#region 委外工序发出单 上传生成金蝶云单据
|
|
/// <summary>
|
/// 新增并审核金蝶云单据
|
/// </summary>
|
/// <returns></returns>
|
[Route("Cj_StationEntrustInBillController/set_SaveStationEntrustInBill_CLD_Json")]
|
[HttpGet]
|
public object set_SaveStationEntrustInBill_CLD_Json(string HBillNo, Int64 HProcExchInterID, Int64 HProcExchEntryID, Int64 HProcNo, Double HQty, string HMaker)
|
{
|
if (set_SaveStationEntrustInBill_CLD(HBillNo,HProcExchInterID,HProcExchEntryID,HProcNo,HQty,HMaker, ref DBUtility.ClsPub.sErrInfo))
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //成功!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //失败!
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//生成金蝶云委外工序发出单
|
public bool set_SaveStationEntrustInBill_CLD(string HBillNo, Int64 HProcExchInterID, Int64 HProcExchEntryID, Int64 HProcNo, Double HQty, string HMaker, ref string sErrMsg)
|
{
|
string sRemark = "";
|
string HReturn;
|
SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
try
|
{
|
//返回API递入所需数据
|
DataSet Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_ProdMateRequest_CLD " + HProcExchInterID.ToString() + "," + HProcExchEntryID.ToString() + "," + HProcNo.ToString() + "," + HQty.ToString(), "h_p_MES_StationEntrustInBill_ProdMateRequest_CLD");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
sErrMsg = "未获取到API所需递入数据!";
|
return false;
|
}
|
sRemark = sRemark + " ;获取CLOUD单据API递入值" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
//生成金蝶云对应单据
|
//获取金蝶云API所需递入数据
|
string sJson_MainCustom = ""; //自定义字段
|
string sJson_BatchNo = "";
|
string sJson_FAUXPROPID = "";
|
sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
|
|
//是否启用批次管理
|
if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HISBATCHMANAGE"]) == "1")
|
{
|
sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\" , ";
|
}
|
else
|
{
|
sJson_BatchNo = "";
|
}
|
|
//辅助属性
|
sJson_FAUXPROPID = " \"FProAuxPropId\":{\"FPROAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProAuxPropId"]) + "\"}},";
|
|
string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + HBillNo + "\"," +
|
//"FID": 0,
|
"\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
|
"\"FBillDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillDate"]) + "\"," +
|
"\"FProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProOrgId"]) + "\" }," +
|
"\"FProductId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductId"]) + "\" }," +
|
//"FProductId": {"FNUMBER": ""},
|
sJson_FAUXPROPID +
|
"\"FTransferType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferType"]) + "\"," +
|
"\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
|
//"FDescription": "",
|
"\"FProDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProDeptId"]) + "\" }," +
|
"\"FMOBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOBillNo"]) + "\"," +
|
"\"FMOEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntrySeq"]) + "\"," +
|
"\"FBomId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBomId"]) + "\" }," +
|
"\"FOperUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperUnitId"]) + "\" }," +
|
"\"FProUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProUnitId"]) + "\" }," +
|
"\"FMOQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOQty"]) + "\"," +
|
"\"FMTONo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMTONo"]) + "\"," +
|
sJson_BatchNo +
|
//"FCreatorId": {"FUserID": ""},
|
"\"FSaleOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderNo"]) + "\"," +
|
//"FCreateDate": "1900-01-01",
|
"\"FSaleOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderSeq"]) + "\"," +
|
//"FModifierId": {"FUserID": ""},
|
//"FModifyDate": "1900-01-01",
|
//"FApproveDate": "1900-01-01",
|
//"FApproverId": {"FUserID": ""},
|
//"FCancelDate": "1900-01-01",
|
//"FCancelId": {"FUserID": ""},
|
"\"FSourceBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillType"]) + "\"," +
|
"\"FSrcOptPlanId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanId"]) + "\"," +
|
"\"FSourceBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillNo"]) + "\"," +
|
"\"FSrcOptPlanOptId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanOptId"]) + "\"," +
|
"\"FSrcOptPlanSeqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanSeqId"]) + "\"," +
|
"\"FMOId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOId"]) + "\"," +
|
"\"FMOEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntryId"]) + "\"," +
|
//"FSrcRptEntryId": 0,
|
//"FGroupById": "",
|
"\"FProductType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductType"]) + "\"," +
|
"\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProjectNo"]) + "\"," +
|
"\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
|
"\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeId"]) + "\"," +
|
//"FInStockType": "",
|
"\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerId"]) + "\" }," +
|
//"FStockId": {"FNUMBER": ""},
|
"\"FOutOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOPBillNo"]) + "\"," +
|
//"FStockLocId": {"FSTOCKLOCID__FF100001": {"FNumber": ""}},
|
//"FBalanceType": "",
|
"\"FIsEntrust\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsEntrust"]) + "\"," +
|
"\"FOutSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqNumber"]) + "\"," +
|
"\"FOutOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperNumber"]) + "\"," +
|
"\"FOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProOrgId"]) + "\" }," +
|
"\"FProxyOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProxyOutProOrgId"]) + "\" }," +
|
"\"FOutDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutDeptId"]) + "\" }," +
|
"\"FOutWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutWorkCenterId"]) + "\" }," +
|
"\"FOutProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProcessId"]) + "\" }," +
|
//"FOutEmpId": {"FSTAFFNUMBER": ""},
|
"\"FOutOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperDescr"]) + "\"," +
|
//"FOutPurOrgId": {"FNumber": ""},
|
"\"FInProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProOrgId"]) + "\" }," +
|
"\"FInOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOPBillNo"]) + "\"," +
|
//"FOutSupplier": {"FNUMBER": ""},
|
"\"FOutOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperId"]) + "\"," +
|
"\"FInProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProcessId"]) + "\" }," +
|
"\"FInDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInDeptId"]) + "\" }," +
|
"\"FOutIsInStorePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsInStorePoint"]) + "\"," +
|
"\"FOutSeqType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqType"]) + "\"," +
|
"\"FInOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperDescr"]) + "\"," +
|
"\"FOutIsOutSrc\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsOutSrc"]) + "\"," +
|
"\"FInSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSeqNumber"]) + "\"," +
|
"\"FInPurOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInPurOrgId"]) + "\" }," +
|
"\"FInOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperNumber"]) + "\"," +
|
"\"FInWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInWorkCenterId"]) + "\" }," +
|
//"FInEmpId": {"FSTAFFNUMBER": ""},
|
"\"FInSupplier\":{ \"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSupplier"]) + "\" }," +
|
"\"FOperApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperApplyQty"]) + "\"," +
|
"\"FTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferQty"]) + "\"," +
|
"\"FApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyQty"]) + "\"," +
|
"\"FOperTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperTransferQty"]) + "\"," +
|
"\"FOperQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperQualifiedQty"]) + "\"," +
|
//"FValQualifiedQty": 0,
|
"\"FQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedQty"]) + "\"," +
|
"\"FInOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperId"]) + "\"," +
|
//"FOperUnqualifiedQty": 0,
|
//"FUnqualifiedQty": 0,
|
"\"FIsFirstOperTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsFirstOperTransIn"]) + "\"," +
|
"\"FIsExistTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsExistTransIn"]) + "\"," +
|
//"FOperProFailQty": 0,
|
//"FValProFailQty": 0,
|
//"FProFailQty": 0,
|
//"FOperMatFailQty": 0,
|
//"FOperPreReworkQty": 0,
|
//"FPreReworkQty": 0,
|
//"FMatFailQty": 0,
|
//"FValMatFailQty": 0,
|
"\"FSendCurrency\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendCurrency"]) + "\" }," +
|
"\"FIsInspect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsInspect"]) + "\"," +
|
"\"FQCSchemeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQCSchemeId"]) + "\" }," +
|
"\"FSendProFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailPrice"]) + "\"," +
|
//"FReceiveCurrency": {"FNUMBER": ""},
|
//"FReceiveQualifiedPrice": 0,
|
//"FReceiveProFailPrice": 0,
|
//"FReceiveMatFailPrice": 0,
|
"\"FReceiveValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveValuationUnitId"]) + "\" }," +
|
//"FReceiveTaxRate": 0,
|
"\"FSendMatFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailPrice"]) + "\"," +
|
//"FOperInspectSelectQty": 0,
|
"\"FSendValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendValuationUnitId"]) + "\" }," +
|
//"FInspectSelectQty": 0,
|
"\"FSendTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendTaxRate"]) + "\"," +
|
"\"FSendQualifiedPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedPrice"]) + "\"," +
|
//"FOperQuaSettleSelQty": 0,
|
//"FValQuaSettleSelQty": 0,
|
//"FQuaSettleSelQty": 0,
|
//"FOperInspectQty": 0,
|
//"FInspectQty": 0,
|
//"FQuaInStockSelQty": 0,
|
//"FOperQuaSettleQty": 0,
|
//"FValQuaSettleQty": 0,
|
//"FQuaSettleQty": 0,
|
//"FValProFailSettleSelQty": 0,
|
//"FOperProFailSettleSelQty": 0,
|
//"FQuaInStockQty": 0,
|
//"FProFailSettleSelQty": 0,
|
//"FOperProFailSettleQty": 0,
|
//"FValProFailSettleQty": 0,
|
//"FProFailSettleQty": 0,
|
//"FOperMatFailSettleSelQty": 0,
|
//"FValMatFailSettleSelQty": 0,
|
//"FMatFailSettleSelQty": 0,
|
"\"FUnitTransHeadQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransHeadQty"]) + "\"," +
|
"\"FUnitTransOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransOperQty"]) + "\"," +
|
//"FOperMatFailSettleQty": 0,
|
//"FMatFailSettleQty": 0,
|
//"FValMatFailSettleQty": 0,
|
"\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseUnitId"]) + "\" }," +
|
"\"FApplyBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyBaseQty"]) + "\"," +
|
"\"FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBaseQty"]) + "\"," +
|
//"FUnQuaInStockSelQty": 0,
|
"\"FQualifiedBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedBaseQty"]) + "\"," +
|
//"FInspectSelectBaseQty": 0,
|
//"FUnQuaInStockQty": 0,
|
//"FUnqualifiedBaseQty": 0,
|
//"FProFailBaseQty": 0,
|
//"FInspectBaseQty": 0,
|
//"FPreReworkBaseQty": 0,
|
//"FMatFailBaseQty": 0,
|
//"FQuaSettleSelBaseQty": 0,
|
//"FQuaInStockSelBaseQty": 0,
|
//"FQuaSettleBaseQty": 0,
|
//"FUnQuaInStockSelBaseQty": 0,
|
//"FQuaInStockBaseQty": 0,
|
//"FUnQuaInStockBaseQty": 0,
|
//"FProFailSettleSelBaseQty": 0,
|
//"FProFailSettleBaseQty": 0,
|
//"FMatFailSettleSelBaseQty": 0,
|
//"FMatFailSettleBaseQty": 0,
|
"\"FDemandType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandType"]) + "\"," +
|
"\"FDemandBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillId"]) + "\"," +
|
"\"FDemandBillEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillEntryId"]) + "\"," +
|
//"FInspectEntryId": 0,
|
"\"FConvertType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConvertType"]) + "\"," +
|
//"FReceiveQualifiedTaxPrice": 0,
|
//"FReceiveProFailTaxPrice": 0,
|
//"FReceiveMatFailTaxPrice": 0,
|
"\"FSendQualifiedTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedTaxPrice"]) + "\"," +
|
"\"FSendProFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailTaxPrice"]) + "\"," +
|
"\"FSendMatFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailTaxPrice"]) + "\"," +
|
"\"FRateOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateOperQty"]) + "\"," +
|
"\"FRateProQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateProQty"]) + "\"," +
|
"\"FRateValQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateValQty"]) + "\"," +
|
//"FPriceList": {"FNUMBER": ""},
|
//"FOperStatus": "",
|
//"FInstockStatus": "",
|
//"FSettleStatus": "",
|
//"FMOInStockQty": 0,
|
//"FDefectProcessEntryId": 0,
|
//"FMRBReviewEntryId": 0,
|
//"FTransDirection": "",
|
//"FBackwashSrcId": 0
|
sJson_MainCustom +
|
" \"FBillHead_Link\": [{" +
|
" \"FBillHead_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowId"]) + "\"," +
|
" \"FBillHead_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowLineId"]) + "\"," +
|
" \"FBillHead_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FRuleId"]) + "\"," +
|
" \"FBillHead_Link_FSTableId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableId"]) + "\"," +
|
" \"FBillHead_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableName"]) + "\"," +
|
" \"FBillHead_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSBillId"]) + "\"," +
|
" \"FBillHead_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSId"]) + "\"," +
|
" \"FBillHead_Link_FTransferBaseQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQtyOld"]) + "\"," +
|
" \"FBillHead_Link_FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQty"]) + "\"" +
|
" } ]," +
|
" \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBFLowId"]) + "\"}}}";
|
|
string sJson = sJson_Main;
|
|
//CLOUD金蝶云账号密码登入
|
var loginRet = InvokeHelper.LoginUser(HMaker);
|
var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
|
sRemark = sRemark + " ;获取验证CLOUD账号密码" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
//生成金蝶云单据
|
if (isSuccess == 1)
|
{
|
string result = InvokeHelper.Save("SFC_OperationTransfer", sJson); //保存
|
sRemark = sRemark + " ;生成CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
HReturn = result.ToString();
|
|
if (HReturn.Contains("\"IsSuccess\":false") == true)
|
{
|
//反序列化json数据
|
var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
|
//接收金蝶报错信息
|
var strErrorMsg = string.Empty;
|
//遍历获取报错信息
|
foreach (var item in retModel.Result.ResponseStatus.Errors)
|
{
|
strErrorMsg += item.Message + "\r\n";
|
};
|
sErrMsg = "生成委外工序发出单失败!金蝶云提示:" + strErrorMsg;
|
LogService.Write("生成委外工序发出单失败!" + HReturn + sJson); //写入txt文本
|
return false;
|
}
|
else
|
{
|
sRemark = sRemark + sJson;
|
|
//提交、审核金蝶云单据
|
HReturn = "";
|
string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + HBillNo + "\"]}";
|
var result2 = InvokeHelper.Submit("SFC_OperationTransfer", sJson2); //提交
|
sRemark = sRemark + " ;提交CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
var result3 = InvokeHelper.Audit("SFC_OperationTransfer", sJson2); //审核
|
sRemark = sRemark + " ;审核CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
|
|
HReturn = result2.ToString() + "," + result3.ToString();
|
|
if (HReturn.Contains("\"IsSuccess\":false") == true)
|
{
|
//反序列化json数据
|
var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
|
//接收金蝶报错信息
|
var strErrorMsg = string.Empty;
|
//遍历获取报错信息
|
foreach (var item in retModel.Result.ResponseStatus.Errors)
|
{
|
strErrorMsg += item.Message + "\r\n";
|
};
|
sErrMsg = "生成委外工序发出单成功,审核单据失败!金蝶云提示:" + strErrorMsg;
|
LogService.Write("审核单据失败" + sRemark + HReturn);
|
return true;
|
}
|
else
|
{
|
LogService.Write("生成并审核委外工序发出单成功!" + sRemark);
|
sErrMsg = "生成并审核委外工序发出单成功!单据号为:" + HBillNo;
|
return true;
|
}
|
}
|
}
|
else
|
{
|
sErrMsg = "生成委外工序发出单失败!金蝶云登录失败!";
|
return false;
|
}
|
}
|
catch (Exception e)
|
{
|
LogService.Write("生成回滚" + e.Message + sRemark);
|
sErrMsg = "生成委外工序发出单失败!" + e.Message;
|
return false;
|
}
|
}
|
|
#endregion
|
|
}
|
}
|