using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Pub_Class; using RestSharp; 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; using WebAPI.Service; namespace WebAPI.Controllers { public class Gy_MaterialController : ApiController { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; ////检测 当前选中行的 项目状态 //[Route("Gy_Material/CheckUseStatus")] //[HttpGet] //public void Sub_CheckUseStatus(int grd, int IDCol, string sProcName) //{ // SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // Int64 sItemID; // try // { // //循环当前网格选中项目 // for (int i = 0; i < grd.SelectedRows.Count; i++) // { // //得到内码 // sItemID = DBUtility.ClsPub.isLong(grd.Rows[grd.SelectedRows[i].Index].Cells[IDCol].Value); // //调用储存过程 h_p_Gy_CheckUseDept // oCn.RunProc("exec " + sProcName + " " + sItemID.ToString(), ref ClsPub.sExeReturnInfo); // } // } // catch (Exception e) // { // MessageBox.Show("检测错误!原因:" + ClsPub.sExeReturnInfo); // //objJsonResult.code = "0"; // //objJsonResult.count = 0; // //objJsonResult.Message = "检测错误!原因:" + ClsPub.sExeReturnInfo; // //objJsonResult.data = null; // //return objJsonResult; // } //} /// /// 返回物料列表 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Material/list")] [HttpGet] public object list(string sWhere, string user, string Organization) { try { List columnNameList = new List(); //编辑权限 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } string sql1 = string.Format(@"select * from h_v_Gy_MaterialList where 组织名称='" + Organization + "'"); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn(sql1 + sWhere + " order by 物料代码 desc", "h_v_Gy_MaterialList"); } else { string sql = sql1 + sWhere + " order by 物料代码 desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_MaterialList"); } //添加列名 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; } } /// /// 物料设置获取信息 /// /// [Route("Gy_Material/GetGy_MaterialDetail")] [HttpGet] public ApiResult GetGy_MaterialDetail(string HID) { var model = LuBaoSevice.GetGy_MaterialBillDetail(HID); return model; } /// /// 保存物料 /// /// /// [Route("Gy_Material/SaveGy_MaterialList")] [HttpPost] public object SaveGy_MaterialList([FromBody] JObject msg) { DataSet ds; var _value = msg["msg"].ToString(); string msg3 = _value.ToString(); string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg1 = sArray[0].ToString(); string msg2 = sArray[1].ToString(); string msg_HUSEORGID = sArray[2].ToString(); Int64 HItemID = 0; SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //编辑权限 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Edit", 1, false, msg2)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } //获取最大ID值赋值 DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_Material ", "Gy_Material"); if (Maxds != null || Maxds.Tables[0].Rows.Count > 0) { //HItemID= Maxds.Tables[0].Rows[0]["HItemID"] var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]); maxid += 1; HItemID = maxid; } ListModels oListModels = new ListModels(); try { DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); List lsmain = new List(); msg1 = msg1.Replace("\\", ""); msg1 = msg1.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_Gy_Material(msg1); foreach (ClsGy_Material_Model oItem in lsmain) { if (oItem.HNumber.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!代码不能为空!"; objJsonResult.data = 1; return objJsonResult; } if (oItem.HName.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!名称不能为空!"; objJsonResult.data = 1; return objJsonResult; } if (oItem.HMaterTypeID == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!物料分类不能为空!"; objJsonResult.data = 1; return objJsonResult; } //if (!DBUtility.ClsPub.AllowNumber(oItem.HNumber.Trim())) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!"; // objJsonResult.data = 1; // return objJsonResult; //} //查询数据中是否存在重复代码 ds = oCN.RunProcReturn("select * from Gy_Material where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_Material"); //新增时判断 #region 父级校验方法(api调用先注释掉,) /* if (oItem.HItemID == 0) { if (ds == null || ds.Tables[0].Rows.Count > 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!代码重复!"; objJsonResult.data = 1; return objJsonResult; } //检查父级是否存在 string sParent; sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim()); if (sParent.Trim() == "") { oBill.oModel.HParentID = 0; } else { if (oBill.HavParentCode(sParent.Trim(), HItemID)) { oBill.oModel.HParentID = oBill.oModel.HItemID; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!上级代码不存在或被禁用!"; objJsonResult.data = 1; return objJsonResult; } } } else//编辑时判断 { //检查父级是否存在 string sParent; sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim()); if (sParent.Trim() == "") { oBill.oModel.HParentID = 0; } else { if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID)) { oBill.oModel.HParentID = oBill.oModel.HItemID; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!上级代码不存在或被禁用!"; objJsonResult.data = 1; return objJsonResult; } } } */ #endregion //得到短代码 string sShortNumber; sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim()); if (sShortNumber.Trim() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!短代码为空!"; objJsonResult.data = 1; return objJsonResult; } oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //组织id oItem.HShortNumber = sShortNumber;//短代码 oItem.HEndFlag = true;//末级标志 oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //等级 oBill.oModel = oItem; } //保存 //保存完毕后处理 bool bResult; if (oBill.oModel.HItemID == 0) { //bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = oBill.AddNew(); } else { bResult = oBill.ModifyByID(oBill.oModel.HItemID); } if (bResult) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); 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; } } [Route("Gy_Material/SaveGy_MaterialListApi")] [HttpPost] public object SaveGy_MaterialListApi([FromBody] JObject msg) { var _value = msg["model"].ToString(); string msg3 = _value.ToString(); string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg1 = sArray[0].ToString(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); ListModels oListModels = new ListModels(); try { DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl(); List lsmain = new List(); msg1 = msg1.Replace("\\", ""); msg1 = msg1.Replace("\n", ""); //\n lsmain = oListModels.getObjectByJson_Gy_Material(msg1); oBill.oModel = lsmain[0]; //保存 bool bResult = oBill.AddNewApi(); if (bResult) { objJsonResult.code = "1"; 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) { LogService.Write("物料同步插件,保存方法执行完成异常:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff:ffffff")+ e.Message.ToString()); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 物料设置删除功能 /// /// [Route("Gy_Material/Delete")] [HttpGet] public object DeltetGy_Material(string HItemID, string user) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (user == "10000")//api同步方式 { oCN.RunProc("delete from Gy_Material where HERPItemID=" + HItemID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "* 数据删除成功!"; objJsonResult.data = null; return objJsonResult; ; } //删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_Material_Delete", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HItemID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HItemID为空!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran();//开始事务 ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HItemID, "Gy_Material"); if (ds == null || ds.Tables[0].Rows.Count == 0) { oCN.RollBack();//回滚事务 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有数据,无法删除!"; objJsonResult.data = null; return objJsonResult; ; } var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]); if (HStopflag) { oCN.RollBack();//回滚事务 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "数据已删除无法再次删除!"; objJsonResult.data = null; return objJsonResult; } oCN.RunProc("delete from Gy_Material where HItemID=" + HItemID); oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "* 数据删除成功!"; objJsonResult.data = null; return objJsonResult; ; } catch (Exception e) { oCN.RollBack();//回滚事务 objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #region 物料审核、反审核 /// /// /// /// 单据ID /// 审核(0),反审核(1) /// 审核人 /// [Route("Gy_Material/AuditGy_Material")] [HttpGet] public object AuditGy_Material(int HInterID, int IsAudit, string CurUserName) { try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Check", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败!无权限!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HInterID, "Gy_Material"); if (ds.Tables[0].Rows.Count > 0) { if (IsAudit == 0) //审核判断 { if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsAudit == 0) //审核判断 { oCN.RunProc("update Gy_Material set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "审核成功"; objJsonResult.data = null; } if (IsAudit == 1) //反审核判断 { oCN.RunProc("update Gy_Material set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反审核成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 物料禁用、反禁用 /// /// /// /// 单据ID /// 禁用(0),反禁用(1) /// 审核人 /// [Route("Gy_Material/StopGy_Material")] [HttpGet] public object StopGy_Material(int HInterID, int IsStop, string CurUserName) { try { //审核权限 if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_Stop", 1, false, CurUserName)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "禁用失败!无权限!"; objJsonResult.data = null; return objJsonResult; } var ds = oCN.RunProcReturn("select * from Gy_Material where HItemID=" + HInterID, "Gy_Material"); if (ds.Tables[0].Rows.Count > 0) { if (IsStop == 0) //禁用判断 { if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已禁用!不能再次禁用!"; objJsonResult.data = null; return objJsonResult; } } if (IsStop == 1) //反禁用判断 { if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未禁用!不需要反禁用!"; objJsonResult.data = null; return objJsonResult; } } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } oCN.BeginTran(); if (IsStop == 0) //禁用判断 { oCN.RunProc("update Gy_Material set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "禁用成功"; objJsonResult.data = null; } if (IsStop == 1) //反禁用判断 { oCN.RunProc("update Gy_Material set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反禁用成功"; objJsonResult.data = null; } oCN.Commit(); return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion /// /// 返回模具列表 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould/list1")] [HttpGet] public object list1(string sWhere, string ModRightNameSelect, string user) { try { if (!DBUtility.ClsPub.Security_Log(ModRightNameSelect, 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_Gy_MouldFileList " + sWhere + "order by 日期 desc", "h_v_Gy_MouldFileList"); } else { string sql1 = "select * from h_v_Gy_MouldFileList where 1 = 1 "; string sql = sql1 + sWhere + "order by 日期 desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_MouldFileList"); } 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; } } /// /// 返回检具档案列表 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_CheckToolsFileMainList/list2")] [HttpGet] public object list2(string sWhere) { try { if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Gy_CheckToolsFileMainList " + sWhere + "order by 日期 desc", "h_v_Gy_CheckToolsFileMainList"); } else { string sql1 = "select * from h_v_Gy_CheckToolsFileMainList where 1 = 1 "; string sql = sql1 + sWhere + "order by 日期 desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_CheckToolsFileMainList"); } if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "false!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 返回条码档案列表 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_BarCodeBillList/GetBarCodeBillList")] [HttpGet] public object GetBarCodeBillList(string sWhere, string user) { try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查询!"; objJsonResult.data = null; return objJsonResult; } string sql1 = "select top 1000 * from h_v_IF_BarCodeBillList where 1 = 1 "; string sql = sql1 + sWhere + " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_IF_BarCodeBillList"); 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; } } #region [返回条码档案删除功能] /// /// 返回条码档案删除功能 /// /// [Route("Gy_MaterialController/DeltetBarCodeBill")] [HttpPost] public object DeltetBarCodeBill([FromBody] JObject oData) { var _value = oData["oData"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string HInter = sArray[0].ToString(); string HInterID = HInter.Replace("\"", ""); string user = sArray[1].ToString(); string HBarCode = sArray[2].ToString().Replace("\"",""); string HComputerName = SystemInformation.ComputerName; //设备名称 try { DataSet Ds; string[] NewBarCode; NewBarCode = HBarCode.Split(Convert.ToChar(",")); //编辑权限 if (!DBUtility.ClsPub.Security_Log("Gy_BarCodeBill_Del", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } //删除条码前进行判断 Ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_MulDelete_Before '" + HInterID + "','" + HBarCode + "'", "h_p_Gy_BarCodeBill_MulDelete_Before", ref DBUtility.ClsPub.sExeReturnInfo); if (Ds == null || Ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "删除条码前判断发生错误!"; objJsonResult.data = null; return objJsonResult; } else { if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][0]) == "1") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); objJsonResult.data = null; return objJsonResult; } } //Int64 lngBillKey = 0; //lngBillKey = DBUtility.ClsPub.isLong(HInterID); if (HInterID == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据ID为空!"; objJsonResult.data = null; return objJsonResult; } Ds = oCN.RunProcReturn("Select * from h_v_IF_BarCodeBillList Where HItemID in (" + HInterID + ")", "h_v_IF_BarCodeBillList"); if (Ds.Tables[0].Rows.Count != 0) { oCN.BeginTran(); //获取系统参数 string Ret = ""; if (oSystemParameter.ShowBill(ref Ret)) { //判断是否只能删除自己生成的条码 if (oSystemParameter.omodel.BarCode_DeleterAndMakerMustSame == "Y") //系统参数 { oCN.RunProc("Delete from Gy_BarCodeBill Where HItemID in (" + HInterID + ")" + " and HMaker = '" + user + "'"); } else { oCN.RunProc("Delete from Gy_BarCodeBill Where HItemID in (" + HInterID + ")"); } } //写入系统日志 for (int i = 0; i <= NewBarCode.Length - 1; i++) { oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "网页版删除条码:" + NewBarCode[i] + "','WMS系统-条码档案列表模块','" + DBUtility.ClsPub.IPAddress + "','删除条码'", ref DBUtility.ClsPub.sExeReturnInfo); } oCN.Commit(); 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) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion /// /// 新增模具档案-保存按钮 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould_Edit/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); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString();//模块权限 string msg4 = sArray[2].ToString();//当前人 oCN.BeginTran(); if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有查看权限"; objJsonResult.data = null; return objJsonResult; } //保存主表 objJsonResult = AddBillMain(msg2); if (objJsonResult.code == "0") { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "新增单据成功!"; return objJsonResult; } public json AddBillMain(string msg2) { try { msg2 = "[" + msg2.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); string BillType = "3899"; //得到mainid long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 DateTime HDate = mainList[0].HDate;//日期 int HYear = DBUtility.ClsPub.isInt(DateTime.Now.Year); double HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); string HMouldNo = mainList[0].HMouldNo; string HBarCode = mainList[0].HBarCode; string HName = mainList[0].HName; string HModel = mainList[0].HModel; string HModel2 = mainList[0].HModel2; string HDiameter = mainList[0].HDiameter; string HSubjoin = mainList[0].HSubjoin; string HSubjoin2 = mainList[0].HSubjoin2; string HPICNo = mainList[0].HPICNo; string HWorkMaterModel = mainList[0].HWorkMaterModel; long HMaterID = mainList[0].HMaterID; long HMouleTypeID = mainList[0].HMouleTypeID; long HUnitID = mainList[0].HUnitID; DateTime HOutComDate = mainList[0].HOutComDate; string HOutComNo = mainList[0].HOutComNo; long HDeptID = mainList[0].HDeptID; long HSupID = mainList[0].HSupID; string HMouldStatus = mainList[0].HMouldStatus; long HWHID = mainList[0].HWHID; long HRoutingID = mainList[0].HRoutingID; long HBOMID = mainList[0].HBOMID; string HVersion = mainList[0].HVersion; long HSPGroupID = mainList[0].HSPGroupID; long HSPID = mainList[0].HSPID; Double HDesignLife = mainList[0].HDesignLife; Double HUseLife = mainList[0].HUseLife; Double HLeaveLife = mainList[0].HLeaveLife; Double HProdQty = mainList[0].HProdQty; Double HProdWeight = mainList[0].HProdWeight; string HRemark = mainList[0].HRemark; string HMaker = mainList[0].HMaker; string HMaterNumber = mainList[0].HMaterNumber; string HSupNumber = mainList[0].HSupNumber; long HPrintQty = mainList[0].HPrintQty; string HMouldOWNER = mainList[0].HMouldOWNER; string HSaveLife = mainList[0].HSaveLife; int HCaveQty = mainList[0].HCaveQty; int HMouldDotCheckRuleInterID = mainList[0].HMouldDotCheckRuleInterID; int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID; int HNowSupID = mainList[0].HNowSupID; int HNowSupTypeID = mainList[0].HNowSupTypeID; int HMadeSupID = mainList[0].HMadeSupID; //主表 oCN.RunProc("Insert Into Gy_MouldFileMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HMouldNo,HName,HModel,HModel2,HDiameter" + ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + ",HMaterID,HMaterNumber,HMouldType,HUnitID" + ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" + ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" + ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID,HBarCode,HMadeSupID" + ") " + " values('" + BillType + "','" + BillType + "'," + HInterID + ",'" + HBillNo + "','" + HDate + "'" + "," + HYear + "," + HPeriod + ",'" + HRemark + "','" + HMaker + "',getdate()" + ",'" + HMouldNo + "','" + HName + "','" + HModel + "','" + HModel2 + "','" + HDiameter + "'" + ",'" + HSubjoin + "','" + HSubjoin2 + "','" + HPICNo + "','" + HWorkMaterModel + "'" + "," + HMaterID + ",'" + HMaterNumber + "'," + HMouleTypeID + "," + HUnitID + ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HSupID + ",'" + HSupNumber + "'" + "," + HPrintQty + ",'" + HMouldStatus + "'," + HWHID + "," + HRoutingID + "," + HCaveQty + "," + HBOMID + ",'" + HVersion + "'," + HSPGroupID + "," + HSPID + ",'" + HDesignLife + "','" + HNowSupID + "','" + HNowSupTypeID + "'" + ",'" + HUseLife + "','" + HLeaveLife + "','" + HProdQty + "','" + HProdWeight + "','" + HMouldOWNER + "','" + HSaveLife + "','" + HMouldDotCheckRuleInterID + "','" + HMouldMaintainRuleInterID + "','" + HBarCode + "'," + HMadeSupID + ") "); //子表 oCN.RunProc("Insert into Gy_MouldFileSub " + " (HInterID,HEntryID,HRemark" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + ") " + " values('" + HInterID + "',0,''" + ",0,0,'','',0,0 " + ") "); if (objJsonResult.code == "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// /// 修改单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould_Edit/AddBill1")] [HttpPost] public object AddBill1([FromBody] JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString();//模块权限 string msg4 = sArray[2].ToString();//当前人 try { if (!DBUtility.ClsPub.Security_Log(msg3, 1, false, msg4)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有查看权限"; objJsonResult.data = null; return objJsonResult; } DAL.ClsGy_MouldFile oMould = new DAL.ClsGy_MouldFile(); DAL.ClsGy_MouldFileMain_View oDeptHlp = new DAL.ClsGy_MouldFileMain_View(); //反序列化 msg2 = "[" + msg2.ToString() + "]"; List mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); long HInterID = mainList[0].HInterID;//递入type得到的单据ID string HBillNo = mainList[0].HBillNo;//递入type得到的单据号 DateTime HDate = mainList[0].HDate;//日期 int HYear = DBUtility.ClsPub.isInt(DateTime.Now.Year); double HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); string HMouldNo = mainList[0].HMouldNo; string HBarCode = mainList[0].HBarCode; string HName = mainList[0].HName; string HModel = mainList[0].HModel; string HModel2 = mainList[0].HModel2; string HDiameter = mainList[0].HDiameter; string HSubjoin = mainList[0].HSubjoin; string HSubjoin2 = mainList[0].HSubjoin2; string HPICNo = mainList[0].HPICNo; string HWorkMaterModel = mainList[0].HWorkMaterModel; long HMaterID = mainList[0].HMaterID; long HMouleTypeID = mainList[0].HMouleTypeID; long HUnitID = mainList[0].HUnitID; DateTime HOutComDate = mainList[0].HOutComDate; string HOutComNo = mainList[0].HOutComNo; long HDeptID = mainList[0].HDeptID; long HSupID = mainList[0].HSupID; string HMouldStatus = mainList[0].HMouldStatus; long HWHID = mainList[0].HWHID; long HRoutingID = mainList[0].HRoutingID; long HBOMID = mainList[0].HBOMID; string HVersion = mainList[0].HVersion; long HSPGroupID = mainList[0].HSPGroupID; long HSPID = mainList[0].HSPID; Double HDesignLife = mainList[0].HDesignLife; Double HUseLife = mainList[0].HUseLife; Double HLeaveLife = mainList[0].HLeaveLife; Double HProdQty = mainList[0].HProdQty; Double HProdWeight = mainList[0].HProdWeight; string HRemark = mainList[0].HRemark; string HUpDater = mainList[0].HUpDater; string HMaterNumber = mainList[0].HMaterNumber; string HSupNumber = mainList[0].HSupNumber; long HPrintQty = mainList[0].HPrintQty; string HMouldOWNER = mainList[0].HMouldOWNER; string HSaveLife = mainList[0].HSaveLife; int HCaveQty = mainList[0].HCaveQty; int HMouldDotCheckRuleInterID = mainList[0].HMouldDotCheckRuleInterID; int HMouldMaintainRuleInterID = mainList[0].HMouldMaintainRuleInterID; int HNowSupID = mainList[0].HNowSupID; int HNowSupTypeID = mainList[0].HNowSupTypeID; int HMadeSupID = mainList[0].HMadeSupID; //若MAINDI重复则重新获取 oCN.BeginTran(); //主表 oCN.RunProc("UpDate Gy_MouldFileMain set " + " HBillNo='" + HBillNo + "'" + //固定赋值=============== ",HDate='" + HDate + "'" + ",HYear='" + HYear.ToString() + "'" + ",HPeriod='" + HPeriod.ToString() + "'" + ",HRemark='" + HRemark + "'" + ",HUpDater='" + HUpDater + "'" + ",HUpDateDate=getdate()" + //======================================== ",HMouldNo='" + HMouldNo + "'" + ",HName='" + HName + "'" + ",HModel='" + HModel + "'" + ",HModel2='" + HModel2 + "'" + ",HDiameter='" + HDiameter + "'" + ",HSubjoin='" + HSubjoin + "'" + ",HSubjoin2='" + HSubjoin2 + "'" + ",HPICNo='" + HPICNo + "'" + ",HWorkMaterModel='" + HWorkMaterModel + "'" + ",HMaterID=" + HMaterID.ToString() + ",HMaterNumber='" + HMaterNumber + "'" + ",HMouldType=" + HMouleTypeID.ToString() + ",HUnitID=" + HUnitID.ToString() + ",HOutComDate='" + HOutComDate + "'" + ",HOutComNo='" + HOutComNo + "'" + ",HDeptID=" + HDeptID.ToString() + ",HSupID=" + HSupID.ToString() + ",HSupNumber='" + HSupNumber + "'" + ",HPrintQty=" + HPrintQty.ToString() + ",HMouldStatus='" + HMouldStatus + "'" + ",HSaveLife='" + HSaveLife + "'" + ",HWhID=" + HWHID.ToString() + ",HRoutingID=" + HRoutingID.ToString() + ",HBomID=" + HBOMID.ToString() + ",HVersion='" + HVersion + "'" + ",HSPGroupID=" + HSPGroupID.ToString() + ",HSPID=" + HSPID.ToString() + ",HDesignLife=" + HDesignLife.ToString() + ",HCaveQty=" + HCaveQty.ToString() + ",HUseLife=" + HUseLife.ToString() + ",HLeaveLife=" + HLeaveLife.ToString() + ",HProdQty=" + HProdQty.ToString() + ",HMouldDotCheckRuleInterID=" + HMouldDotCheckRuleInterID.ToString() + ",HMouldMaintainRuleInterID=" + HMouldMaintainRuleInterID.ToString() + ",HMouldOWNER='" + HMouldOWNER + "'" + ",HNowSupID=" + HNowSupID.ToString() + ",HNowSupTypeID=" + HNowSupTypeID.ToString() + ",HProdWeight=" + HProdWeight.ToString() + ",HBarCode='" + HBarCode.ToString() + "'" + ",HMadeSupID=" + HMadeSupID + " where HInterID=" + HInterID.ToString()); //修改子项目代码 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Department,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo); //将上级 为非末级 // oCN.RunProc("Update Gy_Department set HEndflag=0 where HItemID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo); // oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "修改单据成功!"; //objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.Message; objJsonResult.data = null; return objJsonResult; } } /// /// 磨具档案修改按钮方法-计算下次保养/校正日期-获取档案最近一次的保养记录 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould_Edit/calculateHNextMainDate")] [HttpGet] public object calculateHNextMainDate(long HInterID) { try { string sql = @"select top(1) a.HInterID, b.HEndDate 保养记录结束日期 from Gy_MouldFileMain AS a LEFT OUTER JOIN Sc_MouldMaintainBillMain AS b on a.HInterID = b.HMouldID where a.HInterID = " + HInterID + " order by b.HEndDate desc"; ds = oCN.RunProcReturn(sql, "Sc_MouldMaintainBillMain"); 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; } } /// /// 磨具档案修改按钮方法 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould_Edit/xg")] [HttpGet] public object xg(long HInterID) { try { ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList where hmainid=" + HInterID, "h_v_Gy_MouldFileList"); 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; } } /// /// 模具档案删除按钮 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_Mould_Edit/Delete_Json")] [HttpGet] public object Delete_Json(long hmainid, string ModRightNameDelete, string user) { DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); try { if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有删除权限"; objJsonResult.data = null; return objJsonResult; } if (oBill.DeleteBill(hmainid, ref DBUtility.ClsPub.sExeReturnInfo)) { //写入日志 ClsPub.Add_Log("", "删除项目,代码:" + oBill.omodel.HMouldNo + ",名称:" + oBill.omodel.HName, ClsPub.CurUserName); //更新上级为 末级 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; } //ds = oCN.RunProcReturn("delete from Gy_Department where HItemID = " + HItemID, "Gy_Department"); } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; } return objJsonResult; } /// /// 模具档案初始化按钮 /// /// /// /// [Route("Gy_Material/InitializeProdInBill")] [HttpGet] public object InitializeProdInBill(long hmainid, string user, string userID) { DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); try { string HBillNo = ""; Int64 HInterID = 0;//显示的字段 ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where HInterID='" + hmainid + "'", "Gy_MouldFileMain"); DataRow dr = ds.Tables[0].Rows[0]; HInterID = DBUtility.ClsPub.CreateBillID("3801", ref DBUtility.ClsPub.sExeReturnInfo); HBillNo = DBUtility.ClsPub.CreateBillCode("3801", ref DBUtility.ClsPub.sExeReturnInfo, true); string sql = "Insert Into Sc_MouldStockBillMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + ",HMaker,HMakeDate" + /*"HYear, HPeriod,"*/ ",HSupID,HSupTypeID,HWHID,HSCWHID,HEmpID,HManagerID,HSecManagerID" + ",HKeeperID,HDeptID,HInnerBillNo,HRedBlueFlag" + ") " + " values('3801','3801'," + HInterID + ",'" + HBillNo + "',getdate()" + ", '" + user + "',getdate()" + ", " + dr["HSupID"].ToString() + ", 1," + dr["HWhID"].ToString() + ",0,0,0,0" + ", 0," + dr["HDeptID"].ToString() + ",' ',0" + ") "; string sql1 = string.Format(@"Insert Into Sc_MouldStockBillSub (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark,HSourceInterID, HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HPropertyID,HSecUnitRate,HSecUnitID,HUnitID, HBatchNo,HQtyMust,HQty,HPrice,HMoney,HDesignLife,HLeaveLife,HUseLife,HWHID,HSCWHID,HSPID,HSCSPID,HSPGroupID,HCorrespondentTypeID,HCorrespondentID, HStockOrgID,HOWNERID,HOtherOrgID,HOWNERTYPEID) values(" + HInterID + ",1,'',getdate(),0,'',0,0,'',''," + "0,0," + dr["HInterID"].ToString() + ",0,0,0," + dr["HUnitID"].ToString() + ",0," + dr["HProdQty"].ToString() + "," + dr["HProdQty"].ToString() + ",0," + "0," + dr["HDesignLife"].ToString() + "," + dr["HLeaveLife"].ToString() + "," + dr["HUseLife"].ToString() + "," + dr["HWHID"].ToString() + ",0," + dr["HSPID"].ToString() + ",0,0" + ",0,0," + userID + ",0,0,'')"); //主表 oCN.RunProc(sql); oCN.RunProc(sql1); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "初始化成功,单据号为" + HBillNo; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } catch (Exception) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "初始化失败!"; objJsonResult.data = null; } return objJsonResult; } #region [同步基础资料] [Route("Gy_Material/Gy_MaterialViewApi")] [HttpGet] public json Gy_MaterialViewApi(string Number, string Type) { string sql = string.Empty; string sReturn = ""; if (oSystemParameter.ShowBill(ref sReturn) == true) { //系统参数是否为私有云模式,N为公有云模式,Y为私有云模式 if (oSystemParameter.omodel.WMS_CloudMode == "Y") { #region [私有云模式,直接调用数据库存储过程更新] try { oCN.BeginTran(); SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal"); if (DS == null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "基础资料同步失败"; objJsonResult.data = null; return objJsonResult; } else { if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "ERP中不存在该代码"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "基础资料同步成功"; objJsonResult.data = null; return objJsonResult; } } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } #endregion } else { #region [公有云模式,调用WEBAPI的方式进行更新] var json = new { CreateOrgId = 0, Number = Number, Id = "" }; #region [金蝶部分] //登录金蝶 var loginRet = InvokeHelper.Login(); var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value(); //判断是否登录成功 if (isSuccess < 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = loginRet; objJsonResult.data = null; return objJsonResult; } //查看 获取数据 var _result = InvokeHelper.View("BD_MATERIAL", JsonConvert.SerializeObject(json)); var _saveObj = JObject.Parse(_result); //判断数据是否获取成功 if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "金蝶物料同步失败jsonRoot:" + _result; objJsonResult.data = null; return objJsonResult; } #endregion //获取数据 DataSet Ds; Ds = oCN.RunProcReturn("select * from Gy_Material where HNumber = '" + Number + "'", "Gy_Material"); if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0) { } #region [表数据赋值] var jsonData = new { HItemID = _saveObj["Result"]["Result"]["Id"], HERPItemID = _saveObj["Result"]["Result"]["Id"], HNumber = _saveObj["Result"]["Result"]["Number"], HName = _saveObj["Result"]["Result"]["Name"][1]["Value"], HModel = _saveObj["Result"]["Result"]["Specification"][0]["Value"], HShortNumber = _saveObj["Result"]["Result"]["Number"], HParentID = 0, HLevel = 1, HEndFlag = 1, HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1 , HRemark = "CLD-ERP导入", HMaterClsID = _saveObj["Result"]["Result"]["MaterialBase"][0]["ErpClsID"], HUnitID = _saveObj["Result"]["Result"]["MaterialBase"][0]["BaseUnitId_Id"], HUnitGroupID = 0, HLength = _saveObj["Result"]["Result"]["MaterialBase"][0]["LENGTH"], HWidth = _saveObj["Result"]["Result"]["MaterialBase"][0]["WIDTH"], HHeight = _saveObj["Result"]["Result"]["MaterialBase"][0]["HEIGHT"], HJQty = _saveObj["Result"]["Result"]["MaterialBase"][0]["NETWEIGHT"], HMQty = _saveObj["Result"]["Result"]["MaterialBase"][0]["GROSSWEIGHT"], HOldMaterNumber = _saveObj["Result"]["Result"]["OldNumber"], HWHID = 0, HSPID = _saveObj["Result"]["Result"]["MaterialStock"][0]["StockPlaceId_Id"], HPlanMode = _saveObj["Result"]["Result"]["MaterialPlan"][0]["PlanMode"], HUseFlag = "未检验", HMakeTime = _saveObj["Result"]["Result"]["CreateDate"], HMinPickQty = 0, HCREATEORGID = _saveObj["Result"]["Result"]["CreateOrgId_Id"], HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"], HBatchManager = _saveObj["Result"]["Result"]["MaterialStock"][0]["IsBatchManage"].ToString() == "false" ? 0 : 1, HCHECKINCOMING = _saveObj["Result"]["Result"]["MaterialQM"][0]["CheckIncoming"].ToString() == "false" ? 0 : 1, HAuxPropFlag = _saveObj["Result"]["Result"]["MaterialAuxPty"][0]["IsEnable1"].ToString() == "false" ? 0 : 1, HISKFPERIOD = _saveObj["Result"]["Result"]["MaterialStock"][0]["IsKFPeriod"].ToString() == "false" ? 0 : 1, HAuxUnitID = _saveObj["Result"]["Result"]["MaterialStock"][0]["AuxUnitID_Id"], HSNUnitID = _saveObj["Result"]["Result"]["MaterialStock"][0]["SNUnit_Id"], HBASEUNITID = _saveObj["Result"]["Result"]["MaterialBase"][0]["BaseUnitId_Id"], HSALEUNITID = _saveObj["Result"]["Result"]["MaterialSale"][0]["SaleUnitId_Id"], HSALEPRICEUNITID = _saveObj["Result"]["Result"]["MaterialSale"][0]["SalePriceUnitId_Id"], HPERUNITSTANDHOUR = _saveObj["Result"]["Result"]["MaterialProduce"][0]["PerUnitStandHour"], HSTDLABORPREPARETIME = _saveObj["Result"]["Result"]["MaterialProduce"][0]["StdLaborPrePareTime"], HSTDMACHINEPREPARETIME = _saveObj["Result"]["Result"]["MaterialProduce"][0]["StdMachinePrepareTime"] }; #endregion // 删除主表对应数据 sql = $"delete from Gy_Material where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'"; oCN.RunProc(sql); sql = "set identity_insert Gy_Material on"; oCN.RunProc(sql); //插入表 sql = $@" insert into Gy_Material (HItemID,HERPItemID,HNumber,HName,HModel,HShortNumber,HParentID ,HLevel,HEndFlag,HStopflag,HRemark,HMaterClsID,HUnitID,HUnitGroupID ,HLength,HWidth,HHeight,HJQty,HMQty,HOldMaterNumber ,HWHID,HSPID,HPlanMode,HUseFlag,HMakeTime,HMinPickQty ,HCREATEORGID,HUSEORGID,HBatchManager,HCHECKINCOMING ,HAuxPropFlag,HISKFPERIOD ,HAuxUnitID,HSNUnitID,HBASEUNITID,HSALEUNITID,HSALEPRICEUNITID ,HPERUNITSTANDHOUR,HSTDLABORPREPARETIME,HSTDMACHINEPREPARETIME ) values ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}','{jsonData.HModel}', '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}',{jsonData.HMaterClsID},{jsonData.HUnitID},{jsonData.HUnitGroupID},{jsonData.HLength},{jsonData.HWidth},{jsonData.HHeight},{jsonData.HJQty},{jsonData.HMQty},'{jsonData.HOldMaterNumber}',{jsonData.HWHID},{jsonData.HSPID},'{jsonData.HPlanMode}','{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HMinPickQty},{jsonData.HCREATEORGID},{jsonData.HUSEORGID},'{jsonData.HBatchManager}',{jsonData.HCHECKINCOMING},{jsonData.HAuxPropFlag},{jsonData.HISKFPERIOD},{jsonData.HAuxUnitID},{jsonData.HSNUnitID},{jsonData.HBASEUNITID},{jsonData.HSALEUNITID},{jsonData.HSALEPRICEUNITID},{jsonData.HPERUNITSTANDHOUR},'{jsonData.HSTDLABORPREPARETIME}','{jsonData.HSTDMACHINEPREPARETIME}')"; oCN.RunProc(sql); sql = "set identity_insert Gy_Material off"; oCN.RunProc(sql); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "物料同步成功!"; objJsonResult.data = null; return objJsonResult; #endregion } } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "基础资料读取失败!"; objJsonResult.data = null; return objJsonResult; } } #endregion #region [模具档案审核、反审核] /// /// /// /// 单据ID /// 审核(0),反审核(1) /// 审核人 /// [Route("Gy_Mould/AuditProcessReportList")] [HttpGet] public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) { string ModRightNameCheck = "Gy_MouldFile_Check"; DBUtility.ClsPub.CurUserName = CurUserName; try { //审核权限 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 = "HInterID小于0!"; objJsonResult.data = null; return objJsonResult; } Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); DAL.ClsGy_MouldFile oBill = new DAL.ClsGy_MouldFile(); //查看是否已审核,关闭,作废 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) { if (oBill.omodel.HCloseMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (oBill.omodel.HDeleteMan.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (IsAudit == 0) //审核判断 { if (oBill.omodel.HChecker.Trim() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } } if (IsAudit == 1) //反审核判断 { 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; } if (IsAudit == 0) //审核提交 { //审核提交 if (oBill.CheckBill(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) //反审核提交 { //反审核提交AbandonCheck if (oBill.AbandonCheck(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; } } return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region [模具档案批量生成] [Route("Gy_Mould/SaveBatchGen_MouldFile")] [HttpGet] public object SaveBatchGen_MouldFile(long HInterID, string StarNum, string EndNum) { int StarNum1 = int.Parse(StarNum); int EndNum1 = int.Parse(EndNum); string j; List list = new List(); try { DataSet ds = new DataSet(); ds = oCN.RunProcReturn("select * from Gy_MouldFileMain where HInterID=" + HInterID, "Gy_MouldFileMain"); DataRow dr = ds.Tables[0].Rows[0]; string Num = dr["HBarCode"].ToString(); string Num1 = Num.Substring(0, (Num.Length) - 5); oCN.BeginTran(); for (int i = StarNum1; i <= EndNum1; i++) { if (i < 10) { j = "0000" + i; } else if (i < 100) { j = "000" + i; } else if (i < 1000) { j = "00" + i; } else if (i < 10000) { j = "0" + i; } else { j = "" + i; } DataSet ds1 = oCN.RunProcReturn("select * from Gy_MouldFileMain where hbillno='" + (Num1 + j) + "'", "Gy_MouldFileMain"); if (ds1.Tables[0].Rows.Count == 0 || ds1 == null) { long HItemID = DBUtility.ClsPub.CreateBillID("3899", ref DBUtility.ClsPub.sExeReturnInfo); //string HBillNo = DBUtility.ClsPub.CreateBillCode("3899", ref DBUtility.ClsPub.sExeReturnInfo, true); string sql = string.Format(@"Insert Into Gy_MouldFileMain " + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate,HBarCode" + ",HMouldNo,HName,HModel,HModel2,HDiameter" + ",HSubjoin,HSubjoin2,HPICNo,HWorkMaterModel" + ",HMaterID,HMaterNumber,HMouldType,HUnitID" + ",HOutComDate,HOutComNo,HDeptID,HSupID,HSupNumber" + ",HPrintQty,HMouldStatus,HWhID,HRoutingID,HCaveQty" + ",HBomID,HVersion,HSPGroupID,HSPID,HDesignLife,HNowSupID,HNowSupTypeID" + ",HUseLife,HLeaveLife,HProdQty,HProdWeight,HMouldOWNER,HSaveLife,HMouldDotCheckRuleInterID,HMouldMaintainRuleInterID" + ") " + " values('3899','3899'," + HItemID + ",'" + Num1 + j + "',getdate()" + "," + dr["HYear"] + "," + dr["HPeriod"] + ",'" + dr["HRemark"] + "','" + dr["HMaker"] + "',getdate(),'" + Num1 + j + "','" + Num1 + j + "','" + dr["HName"] + "','" + dr["HModel"] + "','" + dr["HModel2"] + "','" + dr["HDiameter"] + "'" + ",'" + dr["HSubjoin"] + "','" + dr["HSubjoin2"] + "','" + dr["HPICNo"] + "','" + dr["HWorkMaterModel"] + "'" + "," + dr["HMaterID"] + ",'" + dr["HMaterNumber"] + "',0," + dr["HUnitID"] + ",'" + dr["HOutComDate"] + "','" + dr["HOutComNo"] + "'," + dr["HDeptID"] + "," + dr["HSupID"] + ",'" + dr["HSupNumber"] + "'" + "," + dr["HPrintQty"] + ",'" + dr["HMouldStatus"] + "'," + dr["HWHID"] + "," + dr["HRoutingID"] + ",'" + dr["HCaveQty"] + "'," + dr["HBOMID"] + ",'" + dr["HVersion"] + "'," + dr["HSPGroupID"] + "," + dr["HSPID"] + ",'" + dr["HDesignLife"] + "','" + dr["HNowSupID"] + "','" + dr["HNowSupTypeID"] + "'" + ",'" + dr["HUseLife"] + "','" + dr["HLeaveLife"] + "','" + dr["HProdQty"] + "','" + dr["HProdWeight"] + "','" + dr["HMouldOWNER"] + "','" + dr["HSaveLife"] + "','" + dr["HMouldDotCheckRuleInterID"] + "','" + dr["HMouldMaintainRuleInterID"] + "'" + ") "); oCN.RunProc(sql); //子表 oCN.RunProc("Insert into Gy_MouldFileSub " + " (HInterID,HEntryID,HRemark" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + ") " + " values('" + HItemID + "',0,''" + ",0,0,'','',0,0 " + ") "); } else { list.Add(ds1.Tables[0].Rows[0]["HBillNo"].ToString()); } } oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "批量生成成功!"; objJsonResult.list = list; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "批量生成失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion public void cs(string msg) { var client = new RestSharp.RestClient("http://47.96.97.237/api/"); var requestPost = new RestRequest("Gy_Material/SaveGy_MaterialList", Method.POST); Info info = new Info(); info.msg = msg; var json = JsonConvert.SerializeObject(info); requestPost.AddParameter("application/json", json, ParameterType.RequestBody); IRestResponse responsePost = client.Execute(requestPost); var contentPost = responsePost.Content; Console.WriteLine("POST方式获取结果:" + contentPost); Console.Read(); } public class Info { public string msg { get; set; } //末级标志 } } }