| | |
| | | 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 System.Windows.Forms; |
| | | using WebAPI.Models; |
| | | |
| | | namespace WebAPI.Controllers |
| | |
| | | public class Sc_ProcessExchangeBillController : ApiController |
| | | { |
| | | public DBUtility.ClsPub.Enum_BillStatus BillStatus; |
| | | public const string ModName = "3772"; //单据类型 |
| | | public const string ModCaption = "工序流转卡"; //单据名称 |
| | | public const string ModRightName = "Sc_ProcessExchangeBill"; |
| | | public const string ModRightNameList = ModRightName + "List"; //列表 |
| | | public const string ModRightNameEdit = ModRightName + "_Edit"; //编辑 |
| | | public const string ModRightNameCheck = ModRightName + "_Check"; //审核 |
| | | public const string ModRightNameClose = ModRightName + "_Close"; //关闭 |
| | | public const string ModRightNameDelete = ModRightName + "_Delete"; //作废 |
| | | public const string ModRightNameDrop = ModRightName + "_Drop"; //删除 |
| | | private json objJsonResult = new json(); |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | DataSet ds; |
| | | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); |
| | | public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); |
| | | |
| | | |
| | | #region[新增单据-保存按钮] |
| | | /// <summary> |
| | |
| | | string msg3 = sArray[1].ToString(); |
| | | string msg4 = sArray[2].ToString(); |
| | | string msg5 = sArray[3].ToString(); |
| | | string HBillSubType = sArray[4].ToString(); |
| | | string HComputerName = SystemInformation.ComputerName; //设备名称 |
| | | |
| | | string UserName = ""; |
| | | ListModels oListModels = new ListModels(); |
| | | |
| | | try |
| | | { |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4)) |
| | | if (HBillSubType == "SUB") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无保存权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Edit", 1, false, msg4)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "指引卡无保存权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else { |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "流转卡无保存权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | DBUtility.ClsPub.CurUserName = msg4; |
| | | DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); |
| | | List<Model.ClsSc_ProcessExchangeBillMain> lsmain = new List<Model.ClsSc_ProcessExchangeBillMain>(); |
| | |
| | | { |
| | | UserName = oItem.HMaker; //制单人 |
| | | oItem.HBillType = "3772"; |
| | | oItem.HBillSubType = "3772"; |
| | | oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : "3772"; |
| | | oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); |
| | | oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); |
| | | oItem.HDate = HBillSubType == "SUB" ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : oItem.HDate; |
| | | if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | LogService.Write("用户:" + msg4 + ",日期:" + DateTime.Now + ",新增工序流转卡单据:" + oBill.omodel.HBillNo); |
| | | // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "新增工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | } |
| | | else |
| | | { |
| | | LogService.Write("用户:" + msg4 + ",日期:" + DateTime.Now + ",修改工序流转卡单据:" + oBill.omodel.HBillNo); |
| | | bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "修改工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','修改单据'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | } |
| | | if (bResult) |
| | | { |
| | |
| | | string msg3 = sArray[1].ToString(); |
| | | string msg4 = sArray[2].ToString(); |
| | | string msg5 = sArray[3].ToString(); |
| | | string HComputerName = SystemInformation.ComputerName; //设备名称 |
| | | |
| | | string UserName = ""; |
| | | ListModels oListModels = new ListModels(); |
| | |
| | | |
| | | //保存完毕后处理 |
| | | bool bResult; |
| | | |
| | | LogService.Write("用户:" + msg4 + ",日期:" + DateTime.Now + ",新增工序流转卡单据:" + oBill.omodel.HBillNo); |
| | | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg4 + "','" + HComputerName + "','" + "新增工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | bResult = oBill.AddBill(ref sReturn); |
| | | if (bResult) |
| | |
| | | string msg4 = sArray[2].ToString();//工艺路线 |
| | | string msg5 = sArray[3].ToString();//类型 |
| | | string msg6 = sArray[4].ToString();//用户 |
| | | string HComputerName = SystemInformation.ComputerName; //设备名称 |
| | | |
| | | ListModels oListModels = new ListModels(); |
| | | |
| | |
| | | if (msg5 == "2") |
| | | { |
| | | LogService.Write("用户:" + msg6 + ",日期:" + DateTime.Now + ",新增工序流转卡单据:" + oBill.omodel.HBillNo); |
| | | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + msg6 + "','" + HComputerName + "','" + "新增工序流转卡单据:" + oBill.omodel.HBillNo + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | } |
| | |
| | | string sql = string.Format(@"select 流水号 HProcNo,HProcID,工序代码 HProcNumber,工序名称 HProcName,加工说明 HWorkRemark,HCenterID,工作中心代码 HCenterNumber, |
| | | 工作中心 HCenterName,HSupID,供应商代码 HSupNumber,供应商 HSupName,isEntrust HSupFlag,计划数量 HQty,加工单价 HOutPrice, 表体备注 HRemark, |
| | | 进站关联数量 HRelationQty_In,出站关联数量 HRelationQty_Out,委外工单数量 HRelationQty_WWOrder,不合格数量 HRelationQty_Bad,超额比例 HOverRate, |
| | | 良率 HPassRate,累计良率 HSumPassRate,图纸编号 HPicNum,本工序确认记录 HProcCheckNote,工艺参数 HTechnologyParameter,HDeptID, |
| | | 加工车间代码 HDeptNumber,加工车间 HDeptName |
| | | 良率 HPassRate,累计良率 HSumPassRate,图纸编号 HPicNum,本工序确认记录 HProcCheckNote,工艺参数 HTechnologyParameter,HDeptID,HSourceID, |
| | | 加工车间代码 HDeptNumber,加工车间 HDeptName,出站报废关联数量 HRelationQty_OutBad,SN过站控制 HSNCtrl,HRoutingInterID HRoutingBillMainID,HRoutingEntryID HRoutingBillEntryID |
| | | from h_v_Sc_ProcessExchangeBillQuerySub"); |
| | | ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + " order by cast(流水号 as int) ", "h_v_Sc_ProcessExchangeBillQuerySub"); |
| | | objJsonResult.code = "0"; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region [模具保养计划单删除功能] |
| | | #region [工序流转卡删除功能] |
| | | /// <summary> |
| | | /// 模具维修单删除功能 |
| | | /// 工序流转卡删除功能 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [Route("Sc_ProcessExchangeBill/DeltetProcessExchangeBillByID")] |
| | | [HttpGet] |
| | | public object DeltetProcessExchangeBillByID(string HInterID, int HPRDORGID, string user) |
| | | public object DeltetProcessExchangeBillByID(string HInterID, int HPRDORGID, string user, string HSouceBillType) |
| | | { |
| | | //编辑权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Drop", 1, false, user)) |
| | | |
| | | if (HSouceBillType == "SUB") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无删除权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | //编辑权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Drop", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "指引卡无删除权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else { |
| | | //编辑权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Drop", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "流转卡无删除权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | |
| | | string HComputerName = SystemInformation.ComputerName; //设备名称 |
| | | |
| | | DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); |
| | | |
| | | string[] HBillNo = HInterID.Split(','); |
| | | string[] HInterIDs = HInterID.Split(','); |
| | | string[] HBillNos = new string[HInterIDs.Length]; |
| | | |
| | | string HBillNo_S = ""; |
| | | |
| | | foreach (var item in HBillNo) |
| | | for (int i = 0; i < HInterIDs.Length; i++) |
| | | { |
| | | Int64 lngBillKey = 0; |
| | | lngBillKey = DBUtility.ClsPub.isLong(item); |
| | | lngBillKey = DBUtility.ClsPub.isLong(HInterIDs[i]); |
| | | |
| | | DBUtility.ClsPub.HOrgID = HPRDORGID; |
| | | if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) |
| | |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "单据号:"+ oBill .omodel.HBillNo+ "单据ID为空!"; |
| | | objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "单据ID为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | |
| | | return objJsonResult; |
| | | } |
| | | HBillNo_S += oBill.omodel.HBillNo + ","; |
| | | HBillNos[i] = oBill.omodel.HBillNo; |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | |
| | | HBillNo_S = HBillNo_S.Substring(0, HBillNo_S.Length - 1); |
| | | LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工序流转卡单据:" + HBillNo_S); |
| | | |
| | | foreach (var item in HBillNo) |
| | | oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工序流转卡单据:" + HBillNo_S + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | for (int i = 0; i < HInterIDs.Length; i++) |
| | | { |
| | | bool IsDete = oBill.DeleteBill(long.Parse(item), ref DBUtility.ClsPub.sExeReturnInfo); |
| | | oCN.BeginTran(); |
| | | if (HSouceBillType == "SUB") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from Sc_ProcessExchangeBillMain where HInterID=" + HInterIDs[i], "Sc_ProcessExchangeBillMain"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | oCN.RollBack(); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无流转卡数据!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + ds.Tables[0].Rows[0]["HMainSourceInterID"].ToString() + " and HEntryID=" + ds.Tables[0].Rows[0]["HMainSourceEntryID"].ToString()); |
| | | } |
| | | |
| | | //删除前控制========================================= |
| | | string sql1 = "exec h_p_Sc_ProcessExchangeBill_BeforeDelCtrl " + HInterIDs[i] + ",'" + HBillNos[i] + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql1, "h_p_Sc_ProcessExchangeBill_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; |
| | | oCN.RollBack(); |
| | | 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; |
| | | oCN.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | //================================================================================== |
| | | |
| | | bool IsDete = oBill.DeleteBill(long.Parse(HInterIDs[i]), HBillNos[i], "h_p_Sc_ProcessExchangeBill_AfterDelCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo); |
| | | |
| | | if (!IsDete) |
| | | { |
| | | oCN.RollBack(); |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | |
| | | oCN.Commit(); |
| | | } |
| | | |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") |
| | | { |
| | | ds = oCN.RunProcReturn("select * from Sc_ProcessExchangeBillMain where HICMOInterID='" + oBill.omodel.HICMOInterID + "' and HICMOEntryID='" + oBill.omodel.HICMOEntryID + "'", "Sc_ProcessExchangeBillMain"); |
| | | |
| | | if (ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | oCN.RunProc("update AIS20220308151944..T_PRD_MOENTRY set F_BSV_TEXT2 = '否' where FID='" + oBill.omodel.HICMOInterID + "' and FENTRYID='" + oBill.omodel.HICMOEntryID + "'"); |
| | | } |
| | | } |
| | | |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo; |
| | |
| | | |
| | | SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); |
| | | string sql = string.Format(@"exec h_p_Sc_GetProcessExchangeBillSubTech "); |
| | | ds = oCN.RunProcReturn(sql + HInterID, "h_p_Sc_GetProcessExchangeBillSubTech"); |
| | | ds = oCN.RunProcReturn(sql + " '" + HInterID + "'", "h_p_Sc_GetProcessExchangeBillSubTech"); |
| | | |
| | | //添加列名 |
| | | foreach (DataColumn col in ds.Tables[0].Columns) |
| | |
| | | |
| | | string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub"); |
| | | |
| | | ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 出站关联数量=0 and cast(流水号 as int)>" + ds1 .Tables[0].Rows[0][0].ToString(), "h_v_Sc_ProcessExchangeBillQuerySub"); |
| | | ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 出站关联数量=0 and cast(流水号 as int)>" + ds1 .Tables[0].Rows[0][0].ToString()+ " order by cast(流水号 as int) ", "h_v_Sc_ProcessExchangeBillQuerySub"); |
| | | |
| | | if (float.Parse(ds.Tables[0].Rows[0]["进站关联数量"].ToString()) > 0) |
| | | { |
| | |
| | | objJsonResult.data = 1; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | int num = oItem.HBillNo.Split('-').Length; |
| | | oBill.omodel.HMaker = msg5; //制单人 |
| | | oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]); |
| | | oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[num - 1]); |
| | | oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); |
| | | oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); |
| | | oBill.omodel.HDate = oItem.HDate;// 日期 |
| | |
| | | oBill.omodel.HPlanEndDate = oItem.HPlanEndDate;// 计划完工日期 |
| | | oBill.omodel.HQty = oItem.HQty;// 数量 |
| | | oBill.omodel.HBillNo = oItem.HBillNo;// 单据号 |
| | | oBill.omodel.HProjectNum = oItem.HProjectNum;// 项目号 |
| | | } |
| | | |
| | | //表体数据 |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | //保存 |
| | | //保存完毕后处理 |
| | | bool bResult = false; |
| | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region 工序流转卡审核/反审核功能 |
| | | [Route("Sc_ProcessExchangeBill/CheckSc_ProcessExchangeBill")] |
| | | [HttpGet] |
| | | public object CheckSc_ProcessExchangeBill(string HInterID, int Type, string user,string HBillSubType) |
| | | { |
| | | try |
| | | { |
| | | if (HBillSubType == "SUB") |
| | | { |
| | | //判断是否有删除权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Check", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "指引卡无权限审核!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else { |
| | | //判断是否有删除权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Check", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "流转卡无权限审核!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | |
| | | if (string.IsNullOrWhiteSpace(HInterID)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "HInterID为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | ClsPub.CurUserName = user; |
| | | BillOld.MvarItemKey = "Sc_ProcessExchangeBillMain"; |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | //审核前控制 |
| | | string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); |
| | | sql = "exec h_p_Sc_ProcessExchangeBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBill_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 (!BillOld.CheckBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcessExchangeBill_AfterCheckCtrl", 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]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "单据已反审核!不需要再反审核!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | //反审核前控制 |
| | | string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); |
| | | sql = "exec h_p_Sc_ProcessExchangeBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'"; |
| | | ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBill_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 (BillOld.AbandonCheck(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcessExchangeBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); |
| | | //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl"); |
| | | ////if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0) |
| | | ////{ |
| | | //// objJsonResult.code = "0"; |
| | | //// objJsonResult.count = 1; |
| | | //// objJsonResult.Message = "该任务单已下推流转卡,不允许反审核" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]); |
| | | //// objJsonResult.data = null; |
| | | //// return objJsonResult; |
| | | ////} |
| | | } |
| | | else |
| | | { |
| | | 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("Sc_ProcessExchangeBill/CloseSc_ProcessExchangeBill")] |
| | | [HttpGet] |
| | | public object CloseSc_ProcessExchangeBill(string HInterID, int Type, string user,string HBillSubType) |
| | | { |
| | | try |
| | | { |
| | | if (HBillSubType == "SUB") |
| | | { |
| | | //判断是否有删除权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Close", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "指引卡无权限关闭!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //判断是否有删除权限 |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_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_ProcessExchangeBillMain"; |
| | | 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; |
| | | } |
| | | } |
| | | //关闭单据 |
| | | if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //判断单据是否已经反关闭 |
| | | DataSet ds; |
| | | string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; |
| | | ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); |
| | | if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) |
| | | { |
| | | if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "单据已反关闭!不需要再反关闭!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | //反关闭单据 |
| | | if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | oCN.Commit();//提交事务 |
| | | |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "执行成功!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; ; |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "执行失败!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 工序流转卡 作废/反作废 |
| | | /// <summary> |
| | | /// </summary> |
| | | /// <param name="HInterID">单据ID</param> |
| | | /// <param name="IsAudit">作废(0),反作废(1)</param> |
| | | /// <param name="CurUserName">作废人</param> |
| | | /// <returns></returns> |
| | | [Route("Sc_ProcessExchangeBill/DeleteSc_ProcessExchangeBill")] |
| | | [HttpGet] |
| | | public object DeleteSc_ProcessExchangeBill(int HInterID, int IsAudit, string CurUserName) |
| | | { |
| | | string ModRightNameCheck = "Sc_ProcessExchangeBill_Delete"; |
| | | DBUtility.ClsPub.CurUserName = CurUserName; |
| | | try |
| | | { |
| | | //检查权限 |
| | | if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "作废失败!无权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | //HInterID数据判断 |
| | | if (HInterID <= 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "HInterID小于0!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | |
| | | Int64 lngBillKey = 0; |
| | | lngBillKey = DBUtility.ClsPub.isLong(HInterID); //对HInterID进行类型的转换 |
| | | DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); //实例化单据操作类,用于进行相关操作 |
| | | |
| | | ////针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 |
| | | //if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //根据HInterID获取该单据的数据 |
| | | //{ |
| | | // if (oBill.omodel.HChecker.Trim() != "") |
| | | // { |
| | | // objJsonResult.code = "0"; |
| | | // objJsonResult.count = 0; |
| | | // objJsonResult.Message = "单据已审核!不能进行作废!"; |
| | | // objJsonResult.data = null; |
| | | // return objJsonResult; |
| | | // } |
| | | // if (IsAudit == 0) //作废判断 |
| | | // { |
| | | // if (oBill.omodel.HDeleteMan.Trim() != "") |
| | | // { |
| | | // objJsonResult.code = "0"; |
| | | // objJsonResult.count = 0; |
| | | // objJsonResult.Message = "单据已作废!不能再作废!"; |
| | | // objJsonResult.data = null; |
| | | // return objJsonResult; |
| | | // } |
| | | // } |
| | | // if (IsAudit == 1) //反作废判断 |
| | | // { |
| | | // if (oBill.omodel.HDeleteMan.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; |
| | | //} |
| | | |
| | | |
| | | //进行需要进行的作废/反作废操作 |
| | | if (IsAudit == 0) //作废提交 |
| | | { |
| | | //作废提交 |
| | | if (oBill.Cancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) |
| | | { |
| | | 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; |
| | | } |
| | | } |
| | | if (IsAudit == 1) //反关闭提交 |
| | | { |
| | | //反关闭提交 |
| | | oBill.oCn.BeginTran(); |
| | | if (oBill.AbandonCancelltion(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) |
| | | { |
| | | |
| | | //控制关联数量,判断反关闭后,生产订单下推流转卡总数是否超过计划数量 |
| | | ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + lngBillKey, "h_p_Sc_ProcessExchangeBill_Checkqty"); |
| | | if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "反作废失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString(); |
| | | objJsonResult.data = null; |
| | | |
| | | oBill.oCn.RollBack(); |
| | | return objJsonResult; |
| | | } |
| | | |
| | | oBill.oCn.Commit(); |
| | | 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; |
| | | } |
| | | } |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "作废失败或者反作废失败!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 单据变更 页面初始化 |
| | | [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillMain_Change_init")] |
| | |
| | | #region 单据变更 保存 |
| | | [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillMain_Change_save")] |
| | | [HttpGet] |
| | | public object GetProcessExchangeBillMain_Change_save(string HInterID,string HMaterModel2) |
| | | public object GetProcessExchangeBillMain_Change_save(string HInterID,string HMaterModel2, string user) |
| | | { |
| | | try |
| | | { |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_ChangeBill", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无单据变更权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(HInterID)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 工序流转卡分页列表 |
| | | [Route("Sc_ProcessExchangeBillList/page")] |
| | | [HttpGet] |
| | | public json page(string sWhere, string user, int page, int size) |
| | | { |
| | | json res = new json(); |
| | | try |
| | | { |
| | | List<object> columnNameList = new List<object>(); |
| | | //编辑权限 |
| | | if (!DBUtility.ClsPub.Security_Log_second("Sc_ProcessExchangeBill_SubQuery", 1, false, user)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "无查看权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | if (sWhere == null || sWhere.Equals("")) |
| | | { |
| | | ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",''", "h_p_Sc_ProcessExchangeBillList_Query"); |
| | | } |
| | | else |
| | | { |
| | | ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBillList_Query " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_ProcessExchangeBillList_Query"); |
| | | } |
| | | |
| | | //添加列名 |
| | | 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 工序流转卡列表 |
| | | /// <summary> |
| | | /// 获取工序流转卡列表信息 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [Route("Sc_ProcessExchangeBillController/GetSc_ProcessExchangeBillList_Json")] |
| | | [HttpGet] |
| | | public object GetSc_ProcessExchangeBillList_Json(string sWhere, string HMaker, string OperationType, string ViewName) |
| | | { |
| | | try |
| | | { |
| | | //判断权限 |
| | | if (OperationType == "1") |
| | | { |
| | | //判断权限 |
| | | if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, HMaker)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | |
| | | //返回列表信息 |
| | | ds = oCN.RunProcReturn("select * from " + ViewName + " where 1=1 " + sWhere + " order by hmainid desc", ViewName); |
| | | 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 = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "成功!"; |
| | | objJsonResult.data = ds.Tables[0]; |
| | | objJsonResult.list = columnNameList; |
| | | return objJsonResult; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "查询列表信息失败!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region[批量拆分生成流转卡] |
| | | /// <summary> |
| | | /// 返回拆分后的生产订单信息 |
| | | /// </summary> |
| | | /// <param name="hmainid">生产任务单主子ID</param> |
| | | /// <returns>object</returns> |
| | | [Route("Sc_ProcessExchangeBill/BatchSpilt")] |
| | | [HttpGet] |
| | | public object BatchSpilt(string HInterID, string user) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrWhiteSpace(HInterID)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "源单主子id为空!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | |
| | | string[] HInterEntryIDArr = HInterID.Split(','); |
| | | |
| | | DataTable dt = new DataTable(); |
| | | |
| | | for (int i = 0; i < HInterEntryIDArr.Length; i++) |
| | | { |
| | | string[] HIDs = HInterEntryIDArr[i].Split('@'); |
| | | |
| | | string sql = "exec h_p_Sc_ProcessExchange_BatchSplit '" + HIDs[0] + "','" + HIDs[1] + "'"; |
| | | |
| | | ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchange_BatchSplit"); |
| | | |
| | | if (i == 0) |
| | | { |
| | | dt = ds.Tables[0]; |
| | | } |
| | | else |
| | | { |
| | | foreach (DataRow item in ds.Tables[0].Rows) |
| | | { |
| | | DataRow dataRow = dt.NewRow(); |
| | | dataRow.ItemArray = item.ItemArray; |
| | | dt.Rows.Add(dataRow); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (dt == null || dt.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 = dt; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "Exception!" + e.ToString(); |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region[批量拆分下推-保存按钮] |
| | | /// <summary> |
| | | /// 新增单据-保存按钮 |
| | | ///参数:string sql。 |
| | | ///返回值:object。 |
| | | /// </summary> |
| | | [Route("Sc_ProcessExchangeBill/AddBill_BatchSplit")] |
| | | [HttpPost] |
| | | public object AddBill_BatchSplit([FromBody] JObject sMainSub) |
| | | { |
| | | var _value = sMainSub["sMainSub"].ToString(); |
| | | string msg1 = _value.ToString(); |
| | | string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); |
| | | string msg2 = sArray[0].ToString();//明细行信息 |
| | | string HUser = sArray[1].ToString();//用户 |
| | | string HComputerName = SystemInformation.ComputerName; //设备名称 |
| | | |
| | | string UserName = ""; |
| | | ListModels oListModels = new ListModels(); |
| | | bool bResult = true; |
| | | |
| | | try |
| | | { |
| | | if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, HUser)) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "流转卡无保存权限!"; |
| | | objJsonResult.data = null; |
| | | return objJsonResult; |
| | | } |
| | | DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill(); |
| | | //表体数据 |
| | | //按 },{来拆分数组 //去掉【和】 |
| | | msg2 = msg2.Substring(1, msg2.Length - 2); |
| | | msg2 = msg2.Replace("\\", ""); |
| | | msg2 = msg2.Replace("\n", ""); //\n |
| | | //msg2 = msg2.Replace("'", "’"); |
| | | List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit> ls = new List<Model.ClsSc_ProcessExchangeBillSub_BatchSplit>(); |
| | | ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub_BatchSplit(msg2); |
| | | |
| | | DateTime dt = DateTime.Now; |
| | | string sql = ""; |
| | | Int64 HInterID = 0; |
| | | string HBillNo = ""; |
| | | Int64 HICMOInterID = 0; |
| | | Int64 HICMOEntryID = 0; |
| | | string HICMOBillNo = ""; |
| | | double HQty = 0; |
| | | double HProQty = 0; |
| | | |
| | | foreach (Model.ClsSc_ProcessExchangeBillSub_BatchSplit oItemSub in ls) |
| | | { |
| | | //HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3772", ref DBUtility.ClsPub.sExeReturnInfo, true); |
| | | HInterID = oItemSub.HInterID; |
| | | HBillNo = oItemSub.HBillNo; |
| | | HICMOInterID = oItemSub.HICMOInterID; |
| | | HICMOEntryID = oItemSub.HICMOEntryID; |
| | | HICMOBillNo = oItemSub.HICMOBillNo; |
| | | HQty = oItemSub.HQty; |
| | | HProQty = oItemSub.HProQty; |
| | | |
| | | sql = "select * from h_v_Sc_ProcessExchangeBill_BatchSplit where hmainid = " + oItemSub.HICMOInterID + " and hentryid = " |
| | | + oItemSub.HICMOEntryID + " and HRoutingID = " + oItemSub.HRoutingInterID.ToString(); |
| | | ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBill_BatchSplit"); |
| | | //主表赋值 |
| | | if (ds.Tables[0].Rows.Count > 0 && ds != null) |
| | | { |
| | | oBill.omodel.HInterID = HInterID; |
| | | oBill.omodel.HBillNo = HBillNo; |
| | | oBill.omodel.HBillSubType = "3772"; |
| | | oBill.omodel.HMainSourceBillSubType = "3710"; |
| | | oBill.omodel.HDate = oItemSub.HDate; |
| | | oBill.omodel.HMaker = HUser; |
| | | oBill.omodel.HMakeDate = System.DateTime.Now.ToString("G"); |
| | | oBill.omodel.HPrevMainSourceInterID = 0; |
| | | oBill.omodel.HYear = DBUtility.ClsPub.isLong(oItemSub.HDate.Year); |
| | | oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(oItemSub.HDate.Month); |
| | | oBill.omodel.HRemark = ""; |
| | | oBill.omodel.HBatchNo = oItemSub.HBatchNo; |
| | | oBill.omodel.HMainMaterID = 0; |
| | | oBill.omodel.HKeyMaterID = 0; |
| | | oBill.omodel.HNo = 0; |
| | | oBill.omodel.HOrderProcNO = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString(); |
| | | oBill.omodel.HWWOrderInterID = 0; |
| | | oBill.omodel.HWWOrderEntryID = 0; |
| | | oBill.omodel.HWWOrderBillNo = ""; |
| | | oBill.omodel.HEquipMentID = 0; //! |
| | | oBill.omodel.HICMOBillNo = oItemSub.HICMOBillNo; |
| | | oBill.omodel.HMaterID = oItemSub.HMaterID; |
| | | oBill.omodel.HMaterNumber = ds.Tables[0].Rows[0]["HMaterNumber"].ToString(); |
| | | oBill.omodel.HUnitID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HUnitID"]); |
| | | oBill.omodel.HMateOutBatchNo = ""; |
| | | oBill.omodel.HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString(); |
| | | oBill.omodel.HMaterID2 = oItemSub.HMaterID; |
| | | oBill.omodel.HProjectNum = ""; |
| | | oBill.omodel.HPlanQty = oItemSub.HQty; |
| | | oBill.omodel.HQty = oItemSub.HProQty; |
| | | oBill.omodel.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oBill.omodel.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oBill.omodel.HExplanation = ""; |
| | | oBill.omodel.HInnerBillNo = ""; |
| | | oBill.omodel.HSupID = 0; |
| | | oBill.omodel.HWorkShopID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); |
| | | oBill.omodel.HWorkTypeNum = ""; |
| | | oBill.omodel.HProdMaterCode = ""; |
| | | oBill.omodel.HSeOrderBillNo = ds.Tables[0].Rows[0]["HSeOrderBillNo"].ToString(); |
| | | oBill.omodel.HCusShortName = ""; |
| | | oBill.omodel.HCusNeedMaterial = ""; |
| | | oBill.omodel.HPlanSendGoodsDate = dt.ToShortDateString().ToString(); |
| | | oBill.omodel.HProdMaterName = ""; |
| | | oBill.omodel.HCusName = ""; |
| | | oBill.omodel.HWorkRemark = ""; |
| | | oBill.omodel.HImportNote = ""; |
| | | oBill.omodel.HMaterNumber_A = ""; |
| | | oBill.omodel.HMaterNumber_B = ""; |
| | | oBill.omodel.HMaterNumber_C = ""; |
| | | oBill.omodel.HMaterNumber_D = ""; |
| | | oBill.omodel.HProdType = ""; |
| | | oBill.omodel.HMaterShortName = ""; |
| | | oBill.omodel.HMaterIDA = ""; |
| | | oBill.omodel.HMaterIDB = ""; |
| | | oBill.omodel.HMaterIDC = ""; |
| | | oBill.omodel.HMaterIDD = ""; |
| | | oBill.omodel.HICMOInterID = oItemSub.HICMOInterID; |
| | | oBill.omodel.HICMOEntryID = oItemSub.HICMOEntryID; |
| | | oBill.omodel.HPicNumVer = ""; |
| | | oBill.omodel.HPicNumAssemble = ""; |
| | | oBill.omodel.HMaterTexture = ""; |
| | | oBill.omodel.HProductNum = ""; |
| | | oBill.omodel.HVerNum = ""; |
| | | oBill.omodel.HPRDORGID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[0]["HPRDORGID"]); |
| | | oBill.omodel.HBLFlag = false; |
| | | oBill.omodel.HCusNumber = ""; |
| | | oBill.omodel.HPickLabel = ""; |
| | | oBill.omodel.HPickLabelNumber = ""; |
| | | oBill.omodel.HXTNumber = ""; |
| | | oBill.omodel.HXTModel = ""; |
| | | oBill.omodel.HWorkBillSortNo = "";//! |
| | | oBill.omodel.HRoutingBillID = oItemSub.HRoutingInterID.ToString(); |
| | | oBill.omodel.HMaterModel = ds.Tables[0].Rows[0]["HMaterModel"].ToString(); |
| | | oBill.omodel.HWidth = 0; |
| | | oBill.omodel.HWeight = 0; |
| | | oBill.omodel.HAuxQty = 0; |
| | | oBill.omodel.HAuxUnit = 0; |
| | | oBill.omodel.HAuxQty2 = 0; |
| | | oBill.omodel.HAuxUnit2 = 0; |
| | | oBill.omodel.HSplitNo = 0; |
| | | oBill.omodel.HHeight = ""; |
| | | oBill.omodel.HInches = ""; |
| | | oBill.omodel.HAl1Long = ""; |
| | | oBill.omodel.HDensity = ""; |
| | | oBill.omodel.HTela = ""; |
| | | oBill.omodel.HUnderTela = ""; |
| | | oBill.omodel.HSizing = ""; |
| | | oBill.omodel.HSellDate = dt.ToShortDateString().ToString(); |
| | | oBill.omodel.HRemark2 = "批量拆分下推"; |
| | | oBill.omodel.HRemark3 = ""; |
| | | oBill.omodel.HEmpID = 0; |
| | | oBill.omodel.HCusID = 0; |
| | | oBill.omodel.HColorRemark = ""; |
| | | oBill.omodel.HSplitSumQty = 0; |
| | | oBill.omodel.HSplitColorQty = 0; |
| | | oBill.omodel.HMachineLine = ""; |
| | | oBill.omodel.HMainSourceInterID = 0; |
| | | oBill.omodel.HMainSourceEntryID = 0; |
| | | oBill.omodel.HMainSourceBillNo = ""; |
| | | oBill.omodel.HOrderLevID = 0; |
| | | oBill.omodel.HWidth_New = 0; |
| | | oBill.omodel.HRemark_New = ""; |
| | | oBill.omodel.HWeight_New = 0; |
| | | oBill.omodel.HPlanOrderProcNo = ds.Tables[0].Rows[0]["HPlanOrderProcNo"].ToString(); |
| | | oBill.omodel.HMouldNum = "0"; |
| | | } |
| | | //子表赋值 |
| | | for(int i = 0; i < ds.Tables[0].Rows.Count; i++) |
| | | { |
| | | Model.ClsSc_ProcessExchangeBillSub oItemSubs = new Model.ClsSc_ProcessExchangeBillSub(); |
| | | oItemSubs.HEntryID = i + 1; |
| | | oItemSubs.HBillNo_bak = HBillNo; |
| | | oItemSubs.HCloseMan = ""; |
| | | oItemSubs.HEntryCloseDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oItemSubs.HCloseType = false; |
| | | oItemSubs.HRemark = ""; |
| | | oItemSubs.HSourceInterID = HICMOInterID; |
| | | oItemSubs.HSourceEntryID = HICMOEntryID; |
| | | oItemSubs.HSourceBillNo = HICMOBillNo; |
| | | oItemSubs.HSourceBillType = "3710"; |
| | | oItemSubs.HRelationQty = 0; |
| | | oItemSubs.HRelationMoney = 0; |
| | | oItemSubs.HRelationQty_In = 0; |
| | | oItemSubs.HRelationQty_Out = 0; |
| | | oItemSubs.HRelationQty_WWOrder = 0; |
| | | oItemSubs.HRelationQty_Bad = 0; |
| | | oItemSubs.HProcNo = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcNo"]); |
| | | oItemSubs.HProcID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HProcID"]); |
| | | oItemSubs.HProcNumber = ds.Tables[0].Rows[i]["HProcNumber"].ToString(); |
| | | oItemSubs.HWorkRemark = ""; |
| | | oItemSubs.HCenterID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HCenterID"]); |
| | | oItemSubs.HDeptID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HDeptID"]); |
| | | oItemSubs.HDeptNumber = ds.Tables[0].Rows[i]["HDeptNumber"].ToString(); |
| | | oItemSubs.HGroupID = 0; |
| | | oItemSubs.HGroupNumber = oItemSub.HGroupNumber; |
| | | oItemSubs.HWorkerID = 0; |
| | | oItemSubs.HWorkerNumber = ""; |
| | | oItemSubs.HSourceID = 0; |
| | | oItemSubs.HQty = HProQty; |
| | | oItemSubs.HTimeUnit = ""; |
| | | oItemSubs.HPlanWorkTimes = 0; |
| | | oItemSubs.HPlanBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oItemSubs.HPlanEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oItemSubs.HRelBeginDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oItemSubs.HRelEndDate = Convert.ToDateTime(dt.ToShortDateString().ToString()); |
| | | oItemSubs.HReadyTime = 0; |
| | | oItemSubs.HQueueTime = 0; |
| | | oItemSubs.HMoveTime = 0; |
| | | oItemSubs.HBeginDayQty = 0; |
| | | oItemSubs.HBeginFixQty = 0; |
| | | oItemSubs.HFixWorkDays = 0; |
| | | oItemSubs.HTrunWorkDays = 0; |
| | | oItemSubs.HReadyTimes = 0; |
| | | oItemSubs.HMyWorkDays = 0; |
| | | oItemSubs.HOutPrice = 0; |
| | | oItemSubs.HOutMoney = 0; |
| | | oItemSubs.HPassRate = 0; |
| | | oItemSubs.HLastProc = ""; |
| | | oItemSubs.HKeyProc = ""; |
| | | oItemSubs.HFstProc = ""; |
| | | oItemSubs.HICMOInterID = HICMOInterID; |
| | | oItemSubs.HICMOBillNo = HICMOBillNo; |
| | | oItemSubs.HWWOrderInterID = 0; |
| | | oItemSubs.HWWOrderEntryID = 0; |
| | | oItemSubs.HWWOrderBillNo = ""; |
| | | oItemSubs.HReportQty = 0; |
| | | oItemSubs.HBackProc = false; |
| | | oItemSubs.HSupID = 0; |
| | | oItemSubs.HSupFlag = false; |
| | | oItemSubs.HOverRate = 0; |
| | | oItemSubs.HMaxQty = 0; |
| | | oItemSubs.HTechnologyParameter = ""; |
| | | oItemSubs.HProcCheckNote = ""; |
| | | oItemSubs.HPicNum = ""; |
| | | oItemSubs.HMouldNo = ""; |
| | | oItemSubs.HProcWorkNum = ""; |
| | | oItemSubs.HSeOrderInterID = 0; |
| | | oItemSubs.HSeOrderEntryID = 0; |
| | | oItemSubs.HSNCtrl = false; |
| | | oItemSubs.HRoutingBillMainID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingID"]); |
| | | oItemSubs.HRoutingBillEntryID = Pub_Class.ClsPub.isLong(ds.Tables[0].Rows[i]["HRoutingEntryID"]); |
| | | |
| | | oBill.DetailColl.Add(oItemSubs);//添加明细行值 |
| | | } |
| | | //调用保存方法 |
| | | bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); |
| | | oBill.DetailColl.Clear();//清空明细行值 |
| | | if (!bResult) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (bResult) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 1; |
| | | objJsonResult.Message = "保存成功!"; |
| | | objJsonResult.data = 1; |
| | | return objJsonResult; |
| | | } |
| | | else |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; |
| | | objJsonResult.data = 1; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | objJsonResult.code = "0"; |
| | | objJsonResult.count = 0; |
| | | objJsonResult.Message = "保存失败!" + e.ToString(); |
| | | objJsonResult.data = 1; |
| | | return objJsonResult; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |