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; namespace WebAPI.Controllers { //委外工序接收单Controller public class Cj_StationEntrustOutBillController : 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_StationEntrustOutBill/list")] [HttpGet] public object list(string sWhere,string user) { try { List columnNameList = new List(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_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_StationEntrustOutBillList ", "h_v_MES_StationEntrustOutBillList"); //order by hmainid desc 排序丢到数据库里进行处理 } else { string sql1 = "select * from h_v_MES_StationEntrustOutBillList where 1 = 1 "; string sql = sql1 + sWhere+ " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustOutBillList"); } //添加列名 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_StationEntrustOutBill/list_Eng")] [HttpGet] public object list_Eng(string sWhere, string user) { try { List columnNameList = new List(); //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_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_StationEntrustOutBillList_Eng ", "h_v_MES_StationEntrustOutBillList_Eng"); //order by hmainid desc 排序丢到数据库里进行处理 } else { string sql1 = "select * from h_v_MES_StationEntrustOutBillList_Eng where 1 = 1 "; string sql = sql1 + sWhere + " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustOutBillList_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_StationEntrustOutBill/getStationEntrustOutBillPage")] [HttpGet] public json getStationEntrustInBillPage(string sWhere, string user, int page, int size) { DataSet ds; json res = new json(); try { List columnNameList = new List(); //判断权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_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_StationEntrustOutBillList " + page + "," + size + ",''", "h_p_Sc_StationEntrustOutBillList"); } else { ds = oCN.RunProcReturn("exec h_p_Sc_StationEntrustOutBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_StationEntrustOutBillList"); } //添加列名 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_StationEntrustOutBill/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_StationEntrustOutBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无编辑权限!"; objJsonResult.data = null; return objJsonResult; } List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); 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 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 = ""; string BillType = "3793"; double HWasterQty = list[0].HWasterQty;//不合格数量 long HPlanPieceQty = list[0].HPlanPieceQty;//发出件数 long HBadPNL = list[0].HBadPNL;//报废件数 double HPrice_BHS = list[0].HPrice_BHS;//不含税单价 double HMoney_BHS = list[0].HMoney_BHS;//不含税金额 double HBadCount = 0; bool HLastSubProc = true; double HMainSourceInterID = 0; string HMainSourceBillNo = ""; string HMainSourceBillType = "3792"; 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 (HInnerBillNo == "") //{ // 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 (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 (HQty <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "合格数量不能小于等于0!"; objJsonResult.data = null; return objJsonResult; } //if (HWasterQty < 0) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "不合格数不能小于0!"; // objJsonResult.data = null; // return objJsonResult; //} if (HTaxRate < 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "税率不能为负!"; 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_StationOutBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" + ",HYear,HPeriod,HRemark,HInnerBillNo,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" + ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" + ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationOutTime,HSourceID" + ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" + ",HSupID,HTaxRate,HQty,HPrice,HMoney,HPrice_BHS,HMoney_BHS,HBadCount" + ",HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HProcNo,HOrderProcNO,HLastSubProc,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" + ") " + " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" + "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HInnerBillNo + "','" + HSourceName + "'," + HPieceQty + "," + HWasterQty + "," + HPlanPieceQty + "," + HBadPNL + "," + 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 + "," + HPrice_BHS + "," + HMoney_BHS + "," + HBadCount + "," + HMainSourceInterID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + HProcNo + ",'" + HOrderProcNO + "'," + Convert.ToString(HLastSubProc ? 1 : 0) + ",'" + HWWWorkOrderBillNo + "'," + HWWWorkOrderInterID + "," + HWWWorkOrderEntryID + "," + HMainInterID + "," + HPRDOrgID + ") "); //=========================保存后控制 ============================ DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "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_Out " + HInterID + ",-1"); oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_Out " + HInterID + ",-1"); //更新主表 oCN.RunProc("UpDate Sc_StationOutBillMain set " + " HBillNo='" + HBillNo + "'" + ",HRemark='" + HRemark + "'" + ",HUpDater='" + HMaker + "'" + ",HUpDateDate=getdate()" + ",HInnerBillNo='" + HInnerBillNo + "'" + ",HWWWorkOrderBillNo='" + HWWWorkOrderBillNo + "'" + ",HSupID=" + HSupID + ",HEmpID=" + HEmpID + ",HQty=" + HQty + ",HPieceQty=" + HPieceQty + ",HPrice=" + HPrice + ",HMoney=" + HMoney + ",HProcNo=" + HProcNo + ",HPrice_BHS=" + HPrice_BHS + ",HMoney_BHS=" + HMoney_BHS + ",HTaxRate=" + HTaxRate + ",HOrderProcNO='" + HOrderProcNO + "'" + ",HMaterID=" + HMaterID + ",HProcID=" + HProcID + ",HBadPNL=" + HBadPNL + ",HWasterQty=" + HWasterQty + " 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_StationOutBill_QtyCtrl " + HInterID + "", "h_p_MES_StationOutBill_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_Out " + HInterID.ToString() + ",1"); oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_Out " + HInterID.ToString() + ",1"); oCN.Commit(); string sReturn = ""; if (oSystemParameter.ShowBill(ref sReturn) == true) { if (oSystemParameter.omodel.MES_StationEntrustOutBill_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.ToString(); objJsonResult.data = null; return objJsonResult; } } //验证单据号是否重复 private bool AllowbillNo(string HBillNo) { ds = oCN.RunProcReturn("select HBillNo from Sc_StationOutBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationOutBillMain"); if (ds == null || ds.Tables[0].Rows.Count == 0) { return true; } return false; } #endregion #region 编辑页面根据id获取委外工序接收单信息 [Route("Cj_StationEntrustOutBill/GetStationEntrustOutBill")] [HttpGet] public object GetStationEntrustOutBill(int HInterID) { try { ds = oCN.RunProcReturn("select * from h_v_GetStationOutBill 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 根据id删除委外接收单 [Route("Cj_StationEntrustOutBill/del_StationEntrustOutBill")] [HttpGet] public object del_StationEntrustOutBill(long HInterID, string HDeleteMan) { try { //编辑权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Delete", 1, false, HDeleteMan)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限!"; objJsonResult.data = null; return objJsonResult; } DAL.ClsSc_StationEntrustOutBill oBill = new DAL.ClsSc_StationEntrustOutBill(); 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_StationOutBill_DelCtrl '" + oBill.omodel.HBillNo + "'", "h_p_MES_StationOutBill_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_StationEntrustOutBill_WW_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'"; ds = oCN.RunProcReturn(sql1, "h_p_StationEntrustOutBill_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_StationEntrustOutBill_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 编辑前判断 [Route("Cj_StationEntrustOutBill/set_ShowBillJudge")] [HttpGet] public object set_ShowBillJudge(string HBillNo, string CurUserName, long HInterID) { try { ds = oCN.RunProcReturn("exec h_p_MES_StationOutBill_DelCtrl '" + HBillNo + "'", "h_p_MES_StationOutBill_DelCtrl"); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "判断关联失败!"; objJsonResult.data = null; return objJsonResult; } else 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; } //判断权限 if (!ClsPub.Security_Log("MES_StationEntrustOutBill_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_StationEntrustOutBill BillOld = new DAL.ClsSc_StationEntrustOutBill(); 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_StationEntrustOutBill/set_CheckBill")] [HttpGet] public object set_CheckBill(int HInterID, string CurUserName) { try { string ModRightNameCheck = "MES_StationEntrustOutBill_Check"; //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 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_StationEntrustOutBill oBill = new DAL.ClsSc_StationEntrustOutBill(); //查看是否已审核,关闭,作废 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_StationEntrustOutBill_WW_BeforeCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_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_StationEntrustOutBillCheckBill(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_StationEntrustOutBillCheckBill(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_StationOutBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain"); if (ds.Tables[0].Rows.Count == 0) { sReturn = "单据未找到!"; return false; } oCN.RunProc(" Update Sc_StationOutBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString()); oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_Out " + lngBillKey.ToString() + ",1"); //判断是否是 末道工序 DataSet ds1; ds1 = oCN.RunProcReturn(" select HLastProc,HFstProc from Sc_ProcessExchangeBillMain a " + " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ") " + " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain"); if (ds1 == null || ds1.Tables[0].Rows.Count == 0) { } else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "是") { } //审核后控制================================================================================ string sql = "exec h_p_StationEntrustOutBill_WW_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_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_StationEntrustOutBill/set_AbandonCheck")] [HttpGet] public object set_AbandonCheck(int HInterID, string CurUserName) { try { string ModRightNameCheck = "MES_StationEntrustOutBill_Check"; //审核权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 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_StationEntrustOutBill oBill = new DAL.ClsSc_StationEntrustOutBill(); //查看是否已审核,关闭,作废 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_StationEntrustOutBill_WW_BeforeUnCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_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_StationEntrustOutBillAbandonCheckBill(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_StationEntrustOutBillAbandonCheckBill(Int64 lngBillKey, string HBillNo, string CurUserName, ref string sReturn) { if (Cj_StationEntrustOutBillisUse(lngBillKey, ref sReturn)) { return false; } try { string HChecker = CurUserName; string HCheckDate = DBUtility.ClsPub.GetServerDate(-1); oCN.BeginTran(); ds = oCN.RunProcReturn("Select * from Sc_StationOutBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_StationOutBillMain"); if (ds.Tables[0].Rows.Count == 0) { sReturn = "单据未找到!"; return false; } oCN.RunProc(" Update Sc_StationOutBillMain set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString()); oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_Out " + lngBillKey.ToString() + ",-1"); //判断是否是 首道工序 DataSet ds1; ds1 = oCN.RunProcReturn("select HLastProc,HFstProc " + " from Sc_ProcessExchangeBillMain a " + " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " + " Where a.HInterID=(Select HProcExchInterID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ") " + " and b.HEntryID=(Select HProcExchEntryID from Sc_StationOutBillMain Where HInterID=" + lngBillKey + ")", "Sc_ProcessExchangeBillMain"); if (ds1 == null || ds1.Tables[0].Rows.Count == 0) { } else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "是") { } //反审核后控制============================================================================= string sql = "exec h_p_StationEntrustOutBill_WW_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'"; ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_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 //是否被关联 public bool Cj_StationEntrustOutBillisUse(Int64 lngBillKey, ref string sReturn) { try { //查询主表 DataSet Ds; Ds = oCN.RunProcReturn("Select HinterID from Sc_StationOutBillSub Where HInterID=" + lngBillKey.ToString() + " and isnull(HRelationQty,0)<>0 ", "Sc_StationOutBillSub"); if (Ds.Tables[0].Rows.Count != 0) { sReturn = "单据已被关联,不能操作!"; return true; } sReturn = ""; return false; } catch (Exception e) { sReturn = e.Message; throw (e); } } #endregion #region 工序委外接收单关闭/反关闭功能 [Route("Cj_StationEntrustOutBill/CloseCj_StationEntrustOutBill")] [HttpGet] public object CloseCj_StationEntrustOutBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_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_StationOutBillMain"; 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_StationEntrustOutBill_WW_BeforeCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql1, "h_p_StationEntrustOutBill_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_StationEntrustOutBill_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_StationEntrustOutBill_WW_BeforeUnCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql1, "h_p_StationEntrustOutBill_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_StationEntrustOutBill_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 批量委外接收模块返回明细信息列表 [Route("Cj_StationEntrustOutBill/get_BarCodeDetail")] [HttpGet] public object get_BarCodeDetail(string HMainInterID) { try { ds = oCN.RunProcReturn( "select a.HBillNo,a.HInterID,a.HQty,a.HProcExchBillNo,a.HICMOBillNo" + ",b.HNumber HMaterNumber,b.HName HMaterName,b.HModel HMaterModel,c.HName HSourceName,d.HName HGroupName" + ",e.HName HEmpName,a.HMaker,a.HMakeDate " + " from Sc_StationOutBillMain a " + " left join Gy_Material b on a.HMaterID = b.HItemID " + " left join Gy_Source c on a.HSourceID = c.HItemID " + " left join Gy_Group d on a.HGroupID = d.HItemID " + " left join Gy_Employee e on a.HEmpID = e.HItemID " + " where HMainInterID = " + HMainInterID + " order by a.HMakeDate desc", "Sc_StationOutBillMain"); 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 = "返回记录成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "查询数据异常,请与管理员联系!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion //审核,带编辑功能 [Route("Cj_StationEntrustOutBill/setOtherProperty")] [HttpPost] public object setOtherProperty([FromBody] JObject oMain) { try { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = "[" + sArray[0].ToString() + "]"; string user = sArray[1].ToString(); ////判断是否有编辑权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无编辑权限!"; objJsonResult.data = null; return objJsonResult; } //审核权限 if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustOutBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } List list1 = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); long HInterID = list1[0].HInterID; double HQty= list1[0].HQty; double HBadCount = list1[0].HBadCount; double HWasterQty = list1[0].HWasterQty; long HSourceID = list1[0].HSourceID; string HSourceName = list1[0].HSourceName; long HCenterID = list1[0].HCenterID; long HGroupID = list1[0].HGroupID; long HEmpID = list1[0].HEmpID; oCN.BeginTran(); DataSet ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HInterID="+ HInterID, "Sc_StationOutBillMain"); if(ds.Tables.Count>0 && ds.Tables[0].Rows[0]["HChecker"].ToString()=="") { string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); int HProcExchInterID = int.Parse(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()); int HProcExchEntryID = int.Parse(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString()); int HProcNo = int.Parse(ds.Tables[0].Rows[0]["HProcNo"].ToString()); //审核前控制================================================================================ string sql = "exec h_p_StationEntrustOutBill_WW_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql, "h_p_StationEntrustOutBill_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 (HQty>0) { oCN.RunProc($"update Sc_StationOutBillMain set HBillStatus = 2,HQty={HQty},HBadCount='{HBadCount}',HWasterQty='{HWasterQty}',HSourceID='{HSourceID}',HCenterID='{HCenterID}',HGroupID={HGroupID},HEmpID={HEmpID},HChecker='{user}',HCheckDate=getdate() where HInterID={HInterID} "); } string sReturn = ""; //获取系统参数 oSystemParameter.ShowBill(ref sReturn); //判断客户为天擎 同步金蝶工序汇报单 if (oSystemParameter.omodel.WMS_CampanyName == "天擎") { if (set_SaveStationEntrustOutBill_CLD(HBillNo, HProcExchInterID, HProcExchEntryID, HProcNo, HQty, user, ref DBUtility.ClsPub.sErrInfo)) { oCN.Commit(); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //成功! objJsonResult.data = null; return objJsonResult; } else { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.sErrInfo; //失败! objJsonResult.data = null; return objJsonResult; } } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核修改成功!"; objJsonResult.data = null; return objJsonResult; } else { oCN.Commit(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在或已审核!"; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #region 委外工序接收单 上传生成金蝶云单据 /// /// 新增并审核金蝶云单据 /// /// [Route("Cj_StationEntrustOutBillController/set_SaveStationEntrustOutBill_CLD_Json")] [HttpGet] public object set_SaveStationEntrustOutBill_CLD_Json(string HBillNo, Int64 HProcExchInterID, Int64 HProcExchEntryID, Int64 HProcNo, Double HQty, string HMaker) { if (set_SaveStationEntrustOutBill_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_SaveStationEntrustOutBill_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_StationEntrustOutBill_ProdMateRequest_CLD '" + HBillNo + "'," + HProcExchInterID.ToString() + "," + HProcExchEntryID.ToString() + "," + HProcNo.ToString() + "," + HQty.ToString(), "h_p_MES_StationEntrustOutBill_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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutPurOrgId"]) + "\" }," + "\"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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSupplier"]) + "\" }," + "\"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\":{ \"FNumber\":\"" + 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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveCurrency"]) + "\" }," + "\"FReceiveQualifiedPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveQualifiedPrice"]) + "\"," + "\"FReceiveProFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveProFailPrice"]) + "\"," + "\"FReceiveMatFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveMatFailPrice"]) + "\"," + "\"FReceiveValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveValuationUnitId"]) + "\" }," + "\"FReceiveTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveTaxRate"]) + "\"," + "\"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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveQualifiedTaxPrice"]) + "\"," + "\"FReceiveProFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveProFailTaxPrice"]) + "\"," + "\"FReceiveMatFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveMatFailTaxPrice"]) + "\"," + "\"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\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperStatus"]) + "\"," + //"FInstockStatus": "", "\"FSettleStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["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(); 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(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(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 } }