| using Newtonsoft.Json; | 
| using Newtonsoft.Json.Linq; | 
| using Pub_Class; | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Data.SqlClient; | 
| using System.IO; | 
| using System.Web.Http; | 
| using WebAPI.DLL; | 
| using WebAPI.Models; | 
| using WebAPI.Service; | 
| using Kingdee.BOS.WebApi.Client; | 
|   | 
| namespace WebAPI.Controllers | 
| { | 
|     public class Sc_ProcessMangementController : ApiController | 
|     { | 
|         public DBUtility.ClsPub.Enum_BillStatus BillStatus; | 
|   | 
|         private json objJsonResult = new json(); | 
|         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); | 
|   | 
|         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|         DataSet ds; | 
|   | 
|         ///<summary> | 
|         ///封装状态码及返回信息的公用方法。 | 
|         ///参数:DataSet。 | 
|         ///返回值:json。 | 
|         ///</summary> | 
|         public object GetObjectJson(DataSet ds) | 
|         { | 
|             try | 
|             { | 
|                 //if (ds.Tables[0].Rows.Count != 0 || ds != null) | 
|                 //{ | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|                 //} | 
|                 //else | 
|                 //{ | 
|                 //objJsonResult.code = "0"; | 
|                 //objJsonResult.count = 0; | 
|                 //objJsonResult.Message = "无数据"; | 
|                 //objJsonResult.data = null; | 
|                 //return objJsonResult; | 
|                 //} | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         ///<summary> | 
|         ///统一正确信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         public object CustomCorrect(DataSet ds) | 
|         { | 
|             if (ds == null || ds.Tables[0].Rows.Count <= 0) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             else | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "获取信息成功!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         ///<summary> | 
|         ///自定义错误信息方法。 | 
|         ///参数:string。 | 
|         ///返回值:object。 | 
|         ///</summary> | 
|         public object CustomError(string msg) | 
|         { | 
|             objJsonResult.code = "0"; | 
|             objJsonResult.count = 0; | 
|             objJsonResult.Message = msg; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         #region 末道工序汇报入库 | 
|         /// <summary> | 
|         /// 末道工序汇报入库列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <param name="user"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/Sc_ProcessReportList_Last")] | 
|         [HttpGet] | 
|         public object Sc_ProcessReportList_Last(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查询权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 string sql1 = "select * from h_v_Sc_ProcessReportList_Last where 1 = 1  and HLastProc='是'"; | 
|                 string sql = sql1 + sWhere + "  order by hmainid desc"; | 
|                 ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList_Last"); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 工序汇报入库 | 
|         /// <summary> | 
|         /// 获取工序汇报入库单列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <param name="user"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/Get_ProcessReportOverList")] | 
|         [HttpGet] | 
|         public object Get_ProcessReportOverList(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Cj_StationOutBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查询权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 string sql1 = "select * from h_v_Sc_ProcessReportList_Last where 1 = 1 and HFstProc='是' "; | 
|                 string sql = sql1 + sWhere + "  order by hmainid desc"; | 
|                 ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList_Last"); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 return objJsonResult; | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         #endregion | 
|   | 
|         #region 斯莫尔 末道工序汇报列表  汇报 入库 | 
|         /// <summary> | 
|         /// 生成 生产汇报单   | 
|         /// 同步金蝶云 工序汇报入库单 入库 | 
|         /// </summary> | 
|         /// <param name="InterID"></param> | 
|         /// <param name="user"></param> | 
|         /// <param name="BillNo"></param> | 
|         /// <param name="OrganizationID"></param> | 
|         /// <returns></returns> | 
|         //[Route("Sc_ProcessMangement/SRM_SaveICMOReportBill")] | 
|         //[HttpGet] | 
|         //public object SRM_SaveICMOReportBill(string InterID, string user, string BillNo, string OrganizationID) | 
|         //{ | 
|         //    try | 
|         //    { | 
|         //        //获取生产汇报单最大InterID和单据号 | 
|         //        Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo); | 
|         //        string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|         //        //获取组织代码 | 
|         //        string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString(); | 
|         //        //根据工序汇报单主ID获取工序汇报入库单的数据 | 
|         //        DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc"); | 
|         //        DataRow dr = ds.Tables[0].Rows[0]; | 
|   | 
|         //        //保存 | 
|         //        oCN.BeginTran(); | 
|         //        DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain"); | 
|         //        if (DsTable.Tables[0].Rows.Count > 0) | 
|         //        { | 
|         //            objJsonResult.code = "0"; | 
|         //            objJsonResult.count = 0; | 
|         //            objJsonResult.Message = "已入库,请不要重复入库"; | 
|         //            objJsonResult.data = null; | 
|         //            return objJsonResult; | 
|         //        } | 
|         //        //生产汇报单主表 | 
|         //        oCN.RunProc("Insert Into Sc_ICMOReportBillMain   " + | 
|         //    "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|         //    ",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" + | 
|         //    ",HGroupID,HDeptID,HDeptNumber" + | 
|         //    ",HMainSourceBillNo,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType" + | 
|         //    ") " + | 
|         //    " values('3711','3711'," + HInterID.ToString() + ",'" + BillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|         //    ",DATENAME(YEAR,GETDATE()),0,'','" + dr["HEmpID"].ToString() + "','" + dr["操作员代码"].ToString() + | 
|         //    "','" + dr["HGroupID"].ToString() + "',0,''" + | 
|         //    ",'" + BillNo.ToString() + "'," + InterID.ToString() + ", 0,'3791'" + | 
|         //    ") "); | 
|         //        //生产汇报单子表 | 
|         //        oCN.RunProc("Insert into Sc_ICMOReportBillSub " + | 
|         //              " (HInterID,HEntryID,HMaterID,HMaterNumber" + | 
|         //              ",HQty,HUnitID,HUnitNumber,HTimes,HSourceID" + | 
|         //              ",HQtyMust,HWorkerID,HWorkerNumber,HBadCount,HWasterQty," + | 
|         //              "HCloseMan,HCloseType,HRemark," + | 
|         //              "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|         //              ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
|         //              ",HICMOInterID,HICMOBillNo,HBarCode" + | 
|         //              ") values(" | 
|         //              + HInterID.ToString() + ",1," + dr["HMaterID"].ToString() + ",'" + dr["产品代码"].ToString() + "'" + | 
|         //              "," + dr["合格数量"].ToString() + ",0,'',0,0" + | 
|         //              "," + dr["接收数量"].ToString() + "," + dr["HEmpID"].ToString() + ",'" + dr["操作员代码"].ToString() + "'," + dr["不良数量"].ToString() + "," + dr["报废数量"].ToString() + | 
|         //              ",'',0,''" + | 
|         //              "," + InterID.ToString() + ",0,'" + BillNo.ToString() + "','3791',0,0" + | 
|         //              ",0,0,''" + | 
|         //              "," + dr["HICMOInterID"].ToString() + ",'" + dr["任务单"].ToString() + "',''" + | 
|         //              ") "); | 
|         //        //同步金蝶 | 
|         //        //访问金蝶 | 
|         //        var loginRet = InvokeHelper.Login(); | 
|         //        var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|         //        if (isSuccess == 0) | 
|         //        { | 
|         //            objJsonResult.code = "0"; | 
|         //            objJsonResult.count = 0; | 
|         //            objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|         //            objJsonResult.data = null; | 
|         //            return objJsonResult; | 
|         //        } | 
|         //        //根据任务单查找到金蝶的生产订单 | 
|         //        DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERP_StationOutBillList_LastProc where HICMOEntryID=" + dr["HICMOEntryID"].ToString(), "h_v_TOERP_StationOutBillList_LastProc"); | 
|         //        DataRow dr1 = ds1.Tables[0].Rows[0]; | 
|   | 
|         //        JObject model = new JObject(); | 
|         //        model.Add("FBillType", new JObject() { ["Fnumber"] = "SCHBD01_SYS" }); //单据类型生产汇报“SCHBD02_SYS” 入库汇报SCHBD01_SYS | 
|         //        model.Add("FPrdOrgId", new JObject() { ["Fnumber"] = dr1["FPrdOrgNUMBER"].ToString() }); //生产组织1 | 
|         //        model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期1 | 
|         //        model.Add("FBillNo", BillNo); | 
|   | 
|         //        JArray Fentity = new JArray(); | 
|   | 
|         //        foreach (DataRow item in ds.Tables[0].Rows) | 
|         //        { | 
|         //            JObject FentityModel = new JObject(); | 
|         //            FentityModel.Add("FIsNew", false);//  源单类型  | 
|         //            FentityModel.Add("FReportType", new JObject() { ["Fnumber"] = dr1["FREPORTTYPENUMBER"].ToString() });//生产汇报类型 | 
|         //            FentityModel.Add("FSrcBillType", "PRD_MO");//  源单类型  | 
|         //            FentityModel.Add("FProductType", "1");//  产品类型  | 
|         //            FentityModel.Add("FSrcBillNo", item["任务单"].ToString());//  源单编号  | 
|         //            FentityModel.Add("FSrcInterId", dr1["FMOID"].ToString());//  源单内码  | 
|         //            FentityModel.Add("FSrcEntryId", dr1["FMOENTRYID"].ToString());//  源单分录内码、 | 
|         //            FentityModel.Add("FSRCENTRYSEQ", dr1["FMOENTRYSEQ"].ToString());//  源单分录行号 | 
|         //            FentityModel.Add("FUNITID", new JObject() { ["Fnumber"] = dr1["FUNITNUMBER"].ToString() });//单位 | 
|         //            FentityModel.Add("FTimeUnitId", "1");//时间单位 | 
|         //            FentityModel.Add("FWorkshipId", new JObject() { ["Fnumber"] = dr1["FWorkShopNUM"].ToString() }); //  生产车间 | 
|         //            FentityModel.Add("FStandHourUnitId", "3600"); // 单位标准工时单位  | 
|         //            FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = dr1["FMaterialNUM"].ToString() }); // 物料编码  | 
|         //            FentityModel.Add("FMoEntrySeq", dr1["FMOENTRYSEQ"].ToString());//生产订单行号 | 
|         //            FentityModel.Add("FMoId", dr1["HICMOInterID"].ToString());//生产订单内码 | 
|         //            FentityModel.Add("FFinishQty", item["接收数量"].ToString());//完成数量1 | 
|         //            FentityModel.Add("FQuaQty", item["合格数量"].ToString());//合格数量1FFailQty | 
|         //            FentityModel.Add("FFailQty", item["不良数量"].ToString());//不合格数量 | 
|         //            FentityModel.Add("FStockInOrgId ", new JObject() { ["Fnumber"] = OrganizationNUM });// 入库组织  | 
|         //            FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = dr1["FStockNUM"].ToString() }); // 仓库  | 
|         //            FentityModel.Add("FMOBILLNO", dr1["FMOBILLNO"].ToString());//   | 
|         //            FentityModel.Add("FMOENTRYID", dr1["FMOENTRYID"].ToString());//   | 
|         //            FentityModel.Add("FOwnerTypeId", dr1["FOWNERTYPEID"].ToString()); //货主类型:FOwnerTypeId(必填项) | 
|         //            FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = dr1["FOwnerNumber"].ToString() }); //货主:FOwnerId(必填项) | 
|         //            FentityModel.Add("FBomId", new JObject() { ["F    number"] = dr1["FBOMNUM"].ToString() }); //BOM版本:FBomId(必填项) | 
|         //            FentityModel.Add("FCostRate", dr1["FCostRate"].ToString());// 成本权重 | 
|         //            FentityModel.Add("FISBACKFLUSH", dr1["FISBACKFLUSH"].ToString() == "1" ? true : false);// 倒冲领料 | 
|         //            FentityModel.Add("FMOMAINENTRYID", dr1["FMOENTRYID"].ToString());// | 
|         //            FentityModel.Add("FLot", new JObject() { ["FNumber"] = dr1["FBATCHNO"].ToString() }); //批号 | 
|         //            JArray Fentity2 = new JArray(); | 
|         //            JObject FentityModel2 = new JObject(); | 
|         //            FentityModel2.Add("FEntity_Link_FFlowId", "f6e6eec3-5267-4f02-8593-b633da508a72"); | 
|         //            FentityModel2.Add("FEntity_Link_FFlowLineId", "PRD_MO2MORPT"); | 
|         //            FentityModel2.Add("FEntity_Link_FRuleId", "3"); | 
|         //            FentityModel2.Add("FEntity_Link_FSTableId", "0"); | 
|         //            FentityModel2.Add("FEntity_Link_FSTableName", "T_PRD_MOENTRY"); | 
|         //            FentityModel2.Add("FEntity_Link_FSBillId", dr1["FMOID"].ToString()); | 
|         //            FentityModel2.Add("FEntity_Link_FSId", dr1["FMOENTRYID"].ToString()); | 
|         //            FentityModel2.Add("FEntity_Link_FBaseQuaQtyOld", item["合格数量"].ToString()); | 
|         //            FentityModel2.Add("FEntity_Link_FBaseQuaQty", item["合格数量"].ToString()); | 
|         //            Fentity2.Add(FentityModel2); | 
|         //        } | 
|         //        model.Add("FEntity", Fentity); //明细信息                        | 
|         //        JObject jsonRoot = new JObject() | 
|         //        { | 
|         //            ["Creator"] = "", | 
|         //            ["NeedUpDateFields"] = new JArray(), | 
|         //            ["NeedReturnFields"] = new JArray(), | 
|         //            ["IsDeleteEntry"] = "false", | 
|         //            ["SubSystemId"] = "", | 
|         //            ["IsVerifyBaseDataField"] = "false", | 
|         //            //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|         //            ["Model"] = model | 
|         //        }; | 
|   | 
|         //        string result = InvokeHelper.Save("PRD_MORPT", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|         //        //判断保存是否成功 | 
|         //        if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|         //        { | 
|         //            LogService.Write("工序汇报单入库错误jsonRoot:" + jsonRoot); | 
|         //            oCN.RollBack(); | 
|         //            objJsonResult.code = "0"; | 
|         //            objJsonResult.count = 0; | 
|         //            objJsonResult.Message = $"生产汇报入库单同步金蝶云失败!单号:{dr["单据号"].ToString()}" + result; | 
|         //            objJsonResult.data = null; | 
|         //            return objJsonResult; | 
|         //        } | 
|         //        //提交审核 | 
|         //        string result1 = string.Empty; | 
|         //        string result2 = string.Empty; | 
|         //        var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|         //        var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|         //        var json = new | 
|         //        { | 
|         //            Ids = fID, | 
|         //        }; | 
|         //        result1 = InvokeHelper.Submit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 | 
|         //        result2 = InvokeHelper.Audit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 | 
|         //        if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|         //        { | 
|         //            oCN.RollBack(); | 
|         //            objJsonResult.code = "0"; | 
|         //            objJsonResult.count = 0; | 
|         //            objJsonResult.Message = $"生产汇报单单号:{fBillNo},提交失败" + result; | 
|         //            objJsonResult.data = null; | 
|         //            return objJsonResult; | 
|         //        } | 
|   | 
|         //        oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'"); | 
|   | 
|         //        oCN.Commit(); | 
|         //        objJsonResult.code = "0"; | 
|         //        objJsonResult.count = 1; | 
|         //        objJsonResult.Message = "保存成功!"; | 
|         //        objJsonResult.data = 1; | 
|         //        return objJsonResult; | 
|         //    } | 
|         //    catch (Exception e) | 
|         //    { | 
|         //        oCN.RollBack(); | 
|         //        objJsonResult.code = "0"; | 
|         //        objJsonResult.count = 0; | 
|         //        objJsonResult.Message = "Exception!" + e.ToString(); | 
|         //        objJsonResult.data = null; | 
|         //        return objJsonResult; | 
|         //    } | 
|         //} | 
|         #endregion | 
|   | 
|         /// <summary> | 
|         /// 入库——生产汇报单 | 
|         /// </summary> | 
|         /// <param name="InterID">工序汇报单主ID</param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/SaveICMOReportBill")] | 
|         [HttpGet] | 
|         public object SaveICMOReportBill(string InterID, string user, string BillNo, string OrganizationID) | 
|         { | 
|             try | 
|             { | 
|                 //获取生产汇报单最大InterID和单据号 | 
|                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                 //获取组织代码 | 
|                 string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString(); | 
|                 //根据工序汇报单主ID获取工序汇报入库单的数据 | 
|                 DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc"); | 
|                 if (ds.Tables[0].Rows.Count <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "生成生产汇报单过程中没有查询到出站单"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 DataRow dr = ds.Tables[0].Rows[0]; | 
|   | 
|                 //保存 | 
|                 oCN.BeginTran(); | 
|                 DataSet DsTable = oCN.RunProcReturn($"select * from Sc_ICMOReportBillMain where HBillNo='{HBillNo}'", "Sc_ICMOReportBillMain"); | 
|                 if (DsTable.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "已入库,请不要重复入库"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //生产汇报单主表 | 
|                 oCN.RunProc("Insert Into Sc_ICMOReportBillMain   " + | 
|             "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|             ",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" + | 
|             ",HGroupID,HDeptID,HDeptNumber" + | 
|             ",HMainSourceBillNo,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType" + | 
|             ") " + | 
|             " values('3711','3711'," + HInterID.ToString() + ",'" + BillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|             ",DATENAME(YEAR,GETDATE()),0,'','" + dr["HEmpID"].ToString() + "','" + dr["操作员代码"].ToString() + | 
|             "','" + dr["HGroupID"].ToString() + "',0,''" + | 
|             ",'" + BillNo.ToString() + "'," + InterID.ToString() + ", 0,'3791'" + | 
|             ") "); | 
|                 //生产汇报单子表 | 
|                 oCN.RunProc("Insert into Sc_ICMOReportBillSub " + | 
|                       " (HInterID,HEntryID,HMaterID,HMaterNumber" + | 
|                       ",HQty,HUnitID,HUnitNumber,HTimes,HSourceID" + | 
|                       ",HQtyMust,HWorkerID,HWorkerNumber,HBadCount,HWasterQty," + | 
|                       "HCloseMan,HCloseType,HRemark," + | 
|                       "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                       ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
|                       ",HICMOInterID,HICMOBillNo,HBarCode" + | 
|                       ") values(" | 
|                       + HInterID.ToString() + ",1," + dr["HMaterID"].ToString() + ",'" + dr["产品代码"].ToString() + "'" + | 
|                       "," + dr["合格数量"].ToString() + ",0,'',0,0" + | 
|                       "," + dr["接收数量"].ToString() + "," + dr["HEmpID"].ToString() + ",'" + dr["操作员代码"].ToString() + "'," + dr["不良数量"].ToString() + "," + dr["报废数量"].ToString() + | 
|                       ",'',0,''" + | 
|                       "," + InterID.ToString() + ",0,'" + BillNo.ToString() + "','3791',0,0" + | 
|                       ",0,0,''" + | 
|                       "," + dr["HICMOInterID"].ToString() + ",'" + dr["任务单"].ToString() + "',''" + | 
|                       ") "); | 
|                 //同步金蝶 | 
|                 //访问金蝶 | 
|                 var loginRet = InvokeHelper.Login(); | 
|                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                 if (isSuccess == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //根据任务单查找到金蝶的生产订单 | 
|                 DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERP_StationOutBillList_LastProc where HICMOEntryID=" + dr["HICMOEntryID"].ToString(), "h_v_TOERP_StationOutBillList_LastProc"); | 
|                 DataRow dr1 = ds1.Tables[0].Rows[0]; | 
|   | 
|                 JObject model = new JObject(); | 
|                 model.Add("FBillType", new JObject() { ["Fnumber"] = "SCHBD01_SYS" }); //单据类型生产汇报“SCHBD02_SYS” 入库汇报SCHBD01_SYS | 
|                 model.Add("FPrdOrgId", new JObject() { ["Fnumber"] = dr1["FPrdOrgNUMBER"].ToString() }); //生产组织1 | 
|                 model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期1 | 
|                 model.Add("FHZYMESFLAG", "是");//  是否为MES同步 | 
|                 model.Add("FBillNo", BillNo); | 
|   | 
|                 JArray Fentity = new JArray(); | 
|   | 
|                 foreach (DataRow item in ds.Tables[0].Rows) | 
|                 { | 
|                     JObject FentityModel = new JObject(); | 
|                     FentityModel.Add("FIsNew", false);//  源单类型  | 
|                     FentityModel.Add("FReportType", new JObject() { ["Fnumber"] = dr1["FREPORTTYPENUMBER"].ToString() });//生产汇报类型 | 
|                     FentityModel.Add("FSrcBillType", "PRD_MO");//  源单类型  | 
|                     FentityModel.Add("FProductType", "1");//  产品类型  | 
|                     FentityModel.Add("FSrcBillNo", item["任务单"].ToString());//  源单编号  | 
|                     FentityModel.Add("FSrcInterId", dr1["FMOID"].ToString());//  源单内码  | 
|                     FentityModel.Add("FSrcEntryId", dr1["FMOENTRYID"].ToString());//  源单分录内码、 | 
|                     FentityModel.Add("FSRCENTRYSEQ", dr1["FMOENTRYSEQ"].ToString());//  源单分录行号 | 
|                     FentityModel.Add("FUNITID", new JObject() { ["Fnumber"] = dr1["FUNITNUMBER"].ToString() });//单位 | 
|                     FentityModel.Add("FTimeUnitId", "1");//时间单位 | 
|                     FentityModel.Add("FWorkshipId", new JObject() { ["Fnumber"] = dr1["FWorkShopNUM"].ToString() }); //  生产车间 | 
|                     FentityModel.Add("FStandHourUnitId", "3600"); // 单位标准工时单位  | 
|                     FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = dr1["FMaterialNUM"].ToString() }); // 物料编码  | 
|                     FentityModel.Add("FMoEntrySeq", dr1["FMOENTRYSEQ"].ToString());//生产订单行号 | 
|                     FentityModel.Add("FMoId", dr1["HICMOInterID"].ToString());//生产订单内码 | 
|                     FentityModel.Add("FFinishQty", item["接收数量"].ToString());//完成数量1 | 
|                     FentityModel.Add("FQuaQty", item["合格数量"].ToString());//合格数量1FFailQty | 
|                     FentityModel.Add("FFailQty", item["不良数量"].ToString());//不合格数量 | 
|                     FentityModel.Add("FStockInOrgId ", new JObject() { ["Fnumber"] = OrganizationNUM });// 入库组织  | 
|                     FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = dr1["FStockNUM"].ToString() }); // 仓库  | 
|                     FentityModel.Add("FMOID", dr1["FMOID"].ToString());//   | 
|                     FentityModel.Add("FMOBILLNO", dr1["FMOBILLNO"].ToString());//   | 
|                     FentityModel.Add("FMOENTRYID", dr1["FMOENTRYID"].ToString());//   | 
|                     FentityModel.Add("FMOENTRYSEQ", dr1["FMOENTRYSEQ"].ToString());//   | 
|                     FentityModel.Add("FOwnerTypeId", dr1["FOWNERTYPEID"].ToString()); //货主类型:FOwnerTypeId(必填项) | 
|                     FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = dr1["FOwnerNumber"].ToString() }); //货主:FOwnerId(必填项) | 
|                     FentityModel.Add("FBomId", new JObject() { ["Fnumber"] = dr1["FBOMNUM"].ToString() }); //BOM版本:FBomId(必填项) | 
|                     FentityModel.Add("FCostRate", dr1["FCostRate"].ToString());// 成本权重 | 
|                     FentityModel.Add("FISBACKFLUSH", dr1["FISBACKFLUSH"].ToString() == "1" ? true : false);// 倒冲领料 | 
|                     FentityModel.Add("FMOMAINENTRYID", dr1["FMOENTRYID"].ToString());// | 
|                     //FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() }); //包装标识 | 
|                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = dr1["FBATCHNO"].ToString() }); //批号 | 
|                     FentityModel.Add("F_bsv_Text", dr1["工序流转卡号"].ToString()); //流转卡号 | 
|                     JArray Fentity2 = new JArray(); | 
|                     JObject FentityModel2 = new JObject(); | 
|                     FentityModel2.Add("FEntity_Link_FFlowId", "f6e6eec3-5267-4f02-8593-b633da508a72"); | 
|                     FentityModel2.Add("FEntity_Link_FFlowLineId", "PRD_MO2MORPT"); | 
|                     FentityModel2.Add("FEntity_Link_FRuleId", "3"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableId", "0"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableName", "T_PRD_MOENTRY"); | 
|                     FentityModel2.Add("FEntity_Link_FSBillId", dr1["FMOID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FSId", dr1["FMOENTRYID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBaseQuaQtyOld", item["合格数量"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBaseQuaQty", item["合格数量"].ToString()); | 
|                     Fentity2.Add(FentityModel2); | 
|                     FentityModel.Add("FEntity_Link", Fentity2); | 
|                     FentityModel.Add("FBFLowId", new JObject() { ["FID"] = "f6e6eec3-5267-4f02-8593-b633da508a72" }); // | 
|                     Fentity.Add(FentityModel); | 
|                 } | 
|                 model.Add("FEntity", Fentity); //明细信息                        | 
|                 JObject jsonRoot = new JObject() | 
|                 { | 
|                     ["Creator"] = "", | 
|                     ["NeedUpDateFields"] = new JArray(), | 
|                     ["NeedReturnFields"] = new JArray(), | 
|                     ["IsDeleteEntry"] = "false", | 
|                     ["SubSystemId"] = "", | 
|                     ["IsVerifyBaseDataField"] = "false", | 
|                     //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|                     ["Model"] = model | 
|                 }; | 
|   | 
|                 string result = InvokeHelper.Save("PRD_MORPT", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|                 //判断保存是否成功 | 
|                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     LogService.Write("工序汇报单入库错误jsonRoot:" + jsonRoot); | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"工序汇报入库单同步金蝶云失败!单号:{dr["单据号"].ToString()}" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //提交审核 | 
|                 string result1 = string.Empty; | 
|                 string result2 = string.Empty; | 
|                 var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|                 var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|                 var json = new | 
|                 { | 
|                     Ids = fID, | 
|                 }; | 
|                 result1 = InvokeHelper.Submit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 | 
|                 result2 = InvokeHelper.Audit("PRD_MORPT", JsonConvert.SerializeObject(json));//提交 | 
|                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"生产汇报单单号:{fBillNo},提交失败" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'"); | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 入库——产品入库单 | 
|         /// </summary> | 
|         /// <param name="InterID">工序汇报单主ID</param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/SaveProcdutInBill")] | 
|         [HttpGet] | 
|         public object SaveProcdutInBill(string BillNo) | 
|         { | 
|             try | 
|             { | 
|                 //获取生产汇报单最大InterID和单据号 | 
|                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("1202", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 string HBillNo = DBUtility.ClsPub.CreateBillCode("1202", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                 ////获取组织代码 | 
|                 //string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString(); | 
|                 ////根据工序汇报单主ID获取工序汇报入库单的数据 | 
|                 //DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc"); | 
|                 //DataRow dr = ds.Tables[0].Rows[0]; | 
|   | 
|                 //判断入库的合格数量是否为0 | 
|                 var DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where HBillNo='" + BillNo + "' ", "Sc_StationOutBillMain").Tables[0]; | 
|   | 
|                 if (double.Parse(DTable.Rows[0]["HQty"].ToString()) == 0) | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 2; | 
|                     objJsonResult.Message = "合格数量为0,不需要入库!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 //保存 | 
|                 oCN.BeginTran(); | 
|                 //生产汇报单主表 | 
|                 //oCN.RunProc("Insert Into Sc_ICMOReportBillMain   " + | 
|                 //"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|                 //",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" + | 
|                 //",HGroupID,HDeptID,HDeptNumber" + | 
|                 //",HMainSourceBillNo,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType" + | 
|                 //") " + | 
|                 //" values('3711','3711'," + HInterID.ToString() + ",'" + HBillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|                 //",DATENAME(YEAR,GETDATE()),0,'','" + dr["HEmpID"].ToString() + "','" + dr["操作员代码"].ToString() + | 
|                 //"','" + dr["HGroupID"].ToString() + "',0,''" + | 
|                 //",'" + BillNo.ToString() + "'," + InterID.ToString() + ", 0,'3791'" + | 
|                 //") "); | 
|                 ////生产汇报单子表 | 
|                 //oCN.RunProc("Insert into Sc_ICMOReportBillSub " + | 
|                 //      " (HInterID,HEntryID,HMaterID,HMaterNumber" + | 
|                 //      ",HQty,HUnitID,HUnitNumber,HTimes,HSourceID" + | 
|                 //      ",HQtyMust,HWorkerID,HWorkerNumber,HBadCount,HWasterQty," + | 
|                 //      "HCloseMan,HCloseType,HRemark," + | 
|                 //      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                 //      ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
|                 //      ",HICMOInterID,HICMOBillNo,HBarCode" + | 
|                 //      ") values(" | 
|                 //      + HInterID.ToString() + ",1," + dr["HMaterID"].ToString() + ",'" + dr["产品代码"].ToString() + "'" + | 
|                 //      "," + dr["合格数量"].ToString() + ",0,'',0,0" + | 
|                 //      "," + dr["接收数量"].ToString() + "," + dr["HEmpID"].ToString() + ",'" + dr["操作员代码"].ToString() + "'," + dr["不良数量"].ToString() + "," + dr["报废数量"].ToString() + | 
|                 //      ",'',0,''" + | 
|                 //      "," + InterID.ToString() + ",0,'" + BillNo.ToString() + "','3791',0,0" + | 
|                 //      ",0,0,''" + | 
|                 //      "," + dr["HICMOInterID"].ToString() + ",'" + dr["任务单"].ToString() + "',''" + | 
|                 //      ") "); | 
|                 //同步金蝶 | 
|                 //访问金蝶 | 
|                 var loginRet = InvokeHelper.Login(); | 
|                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                 if (isSuccess == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 // | 
|                 //DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERPProcduct_LastProc where HLastProc = '是' and  hbillno='" + BillNo.ToString() + "'", "h_v_TOERPProcduct_LastProc"); | 
|                 DataSet ds1 = oCN.RunProcReturn("exec h_p_TOERPProcduct_LastProc '" + BillNo + "'", "h_p_TOERPProcduct_LastProc"); | 
|                 DataRow dr1 = ds1.Tables[0].Rows[0]; | 
|                 if (double.Parse(dr1[0].ToString()) <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "未找到对应的生产汇报单记录;1.未查询到对应的生产汇报单;2.请确保当前工序是末道工序3.汇报单对应的入库数量已满 请在金蝶云查看入库记录!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 string sErr = ""; | 
|                 if (oSystemParameter.ShowBill(ref sErr)) | 
|                 { | 
|                     if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") | 
|                     { | 
|                         //判断金蝶云生产汇报单 数量 是否 大于 末道出站数量 | 
|                         ds = oCN.RunProcReturn($@"select sum(FFinishQty)-sum(FSTOCKINQUASELQTY)-(select HQty from Sc_StationOutBillMain where HBillNo='{BillNo}')  | 
|                         from  AIS20220308151944..T_PRD_MORPT rpt3  | 
|                         left join AIS20220308151944..T_PRD_MORPTENTRY  rpt2 on rpt3.FID = rpt2.FID | 
|                         left join AIS20220308151944..T_PRD_MORPTENTRY_A  rpt1 on rpt2.FID = rpt1.FID | 
|                         where F_bsv_Text=(select HProcExchBillNo from Sc_StationOutBillMain where HBillNo='{BillNo}')", "SumCount"); | 
|   | 
|                         if (double.Parse(ds.Tables[0].Rows[0][0].ToString()) < 0) | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "金蝶云汇报数量小于本地出站数量!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                 } | 
|   | 
|   | 
|   | 
|                | 
|   | 
|   | 
|                 JObject model = new JObject(); | 
|                 model.Add("FBillType", new JObject() { ["FNumber"] = "SCRKD01_SYS" }); //单据类型 | 
|                 model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期 | 
|                 model.Add("FStockOrgId", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); //库存组织代码 | 
|                 model.Add("FPrdOrgId", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); //生产组织代码 | 
|                 model.Add("FOwnerTypeId0", "BD_OwnerOrg"); | 
|                 model.Add("FOwnerId0", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); // | 
|                 model.Add("FIsEntrust", "false");//   | 
|                 model.Add("FCurrId", new JObject() { ["FNumber"] = "PRE001" }); // | 
|                 model.Add("FBillNo", BillNo); | 
|   | 
|                 JArray Fentity = new JArray(); | 
|   | 
|                 foreach (DataRow item in ds1.Tables[0].Rows) | 
|                 { | 
|                     JObject FentityModel = new JObject(); | 
|                     FentityModel.Add("FSrcEntryId", item["HSourceEntryID"].ToString());//  源单分录内码、 | 
|                     FentityModel.Add("FIsNew", "false");//  源单类型  | 
|                     FentityModel.Add("FMaterialId", new JObject() { ["FNumber"] = item["HMaterNumber"].ToString() }); // 物料编码  | 
|                     FentityModel.Add("FCheckProduct", "false");//   | 
|                     FentityModel.Add("FInStockType", "1");//   | 
|                     FentityModel.Add("FProductType", "1");//  | 
|                     FentityModel.Add("FUNITID", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//单位 | 
|                     FentityModel.Add("FMustQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FCostRate", "100");// | 
|                     FentityModel.Add("FBaseUnitId", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//单位 | 
|                     FentityModel.Add("FBaseMustQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FBaseRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");// | 
|                     FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });// | 
|   | 
|                     if (oSystemParameter.ShowBill(ref sErr)) | 
|                     { | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") | 
|                         { | 
|                             if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工艺路线") | 
|                             { | 
|                                 FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // 仓库  | 
|                             } | 
|                             else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工序") | 
|                             { | 
|                                 FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 仓库  | 
|                             } | 
|                         } | 
|                     } | 
|                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //批号 | 
|                     FentityModel.Add("FISBACKFLUSH", "true");//   | 
|                     FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  生产车间 | 
|                     FentityModel.Add("FMOBILLNO", item["HMOBillNo"].ToString());//   | 
|                     FentityModel.Add("FMoId", item["HICMOInterID"].ToString());//生产订单内码 | 
|                     FentityModel.Add("FMoEntryId", item["HMOEntryID"].ToString());// | 
|                     FentityModel.Add("FMoEntrySeq", item["HMOEntrySEQ"].ToString());//生产订单行号 | 
|                     FentityModel.Add("FStockUnitId", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//库存单位 | 
|                     FentityModel.Add("FStockRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FSrcBillType", "PRD_MORPT");//   | 
|                     FentityModel.Add("FSrcBillNo", item["HSourceBillNo"].ToString());//   | 
|                     FentityModel.Add("FSrcInterId", item["HSourceInterID"].ToString());//   | 
|                     FentityModel.Add("FBasePrdRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FIsFinished", "false");// | 
|                     FentityModel.Add("FStockStatusId", new JObject() { ["FNumber"] = "KCZT01_SYS" }); // | 
|                     FentityModel.Add("FSrcEntrySeq", item["HSourceSeQ"].ToString());//  源单分录行号 | 
|                     FentityModel.Add("FMOMAINENTRYID", item["HMOEntryID"].ToString());// | 
|                     FentityModel.Add("FKeeperTypeId", "BD_KeeperOrg"); | 
|                     FentityModel.Add("FKeeperId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });// | 
|                     FentityModel.Add("FIsOverLegalOrg", "false");// | 
|                     FentityModel.Add("F_bsv_Base1", new JObject() { ["FNumber"] = item["HBZBS"].ToString() });// | 
|                     FentityModel.Add("F_BSV_TEXT", item["HLZKH"].ToString());//   | 
|                     FentityModel.Add("F_BSV_TEXT1", item["HWYID"].ToString());// | 
|                                                                               //批号 | 
|                                                                               //FFLOWID FFLOWLINEID FRULEID FSTABLENAME | 
|                                                                               //f6e6eec3 - 5267 - 4f02 - 8593 - b633da508a72    3   PRD_MO2MORPT T_PRD_MOENTRY | 
|                                                                               //业务流程图:FEntity_Link_FFlowId | 
|                                                                               //推进路线:FEntity_Link_FFlowLineId | 
|                                                                               //转换规则:FEntity_Link_FRuleId | 
|                                                                               //源单表内码:FEntity_Link_FSTableId | 
|                                                                               //源单表:FEntity_Link_FSTableName | 
|                                                                               //源单内码:FEntity_Link_FSBillId | 
|                                                                               //源单分录内码:FEntity_Link_FSId | 
|                                                                               //原始携带量:FEntity_Link_FBaseQuaQtyOld | 
|                                                                               //修改携带量:FEntity_Link_FBaseQuaQty | 
|   | 
|   | 
|   | 
|                     JArray Fentity2 = new JArray(); | 
|                     JObject FentityModel2 = new JObject(); | 
|                     FentityModel2.Add("FEntity_Link_FFlowId", "f6e6eec3-5267-4f02-8593-b633da508a72"); | 
|                     FentityModel2.Add("FEntity_Link_FFlowLineId", "5"); | 
|                     FentityModel2.Add("FEntity_Link_FRuleId", "PRD_MORPT2INSTOCK"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableName", "T_PRD_MORPTENTRY"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableId", "0"); | 
|                     FentityModel2.Add("FEntity_Link_FSBillId", item["HSourceInterID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FSId", item["HSourceEntryID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBasePrdRealQtyOld", item["关联数量"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBasePrdRealQty", item["数量"].ToString()); | 
|                     Fentity2.Add(FentityModel2); | 
|                     FentityModel.Add("FEntity_Link", Fentity2); | 
|                     FentityModel.Add("FBFLowId", new JObject() { ["FID"] = "f6e6eec3-5267-4f02-8593-b633da508a72" }); // | 
|                     Fentity.Add(FentityModel); | 
|   | 
|   | 
|                     //Fentity.Add(FentityModel); | 
|                 } | 
|                 model.Add("FEntity", Fentity); //明细信息                        | 
|                 JObject jsonRoot = new JObject() | 
|                 { | 
|                     ["Creator"] = "", | 
|                     ["NeedUpDateFields"] = new JArray(), | 
|                     ["NeedReturnFields"] = new JArray(), | 
|                     //["IsDeleteEntry"] = "true", | 
|                     //["SubSystemId"] = "", | 
|                     //["IsVerifyBaseDataField"] = "false", | 
|   | 
|   | 
|                     ["IsDeleteEntry"] = "true", | 
|                     ["SubSystemId"] = "", | 
|                     ["IsVerifyBaseDataField"] = "true", | 
|                     ["IsEntryBatchFill"] = "false", | 
|                     ["ValidateFlag"] = "true", | 
|                     ["NumberSearch"] = "true", | 
|                     ["IsAutoAdjustField"] = "false", | 
|                     ["InterationFlags"] = "", | 
|                     ["IgnoreInterationFlag"] = "", | 
|   | 
|   | 
|   | 
|   | 
|                     //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|                     ["Model"] = model | 
|                 }; | 
|   | 
|                 string result = InvokeHelper.Save("PRD_INSTOCK", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|                 //判断保存是否成功 | 
|                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     LogService.Write("生产入库错误jsonRoot:" + jsonRoot); | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"生产入库单同步金蝶云失败!单号:{HBillNo.ToString()}" + result + jsonRoot; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //提交审核 | 
|                 string result1 = string.Empty; | 
|                 string result2 = string.Empty; | 
|                 var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|                 var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|                 var json = new | 
|                 { | 
|                     Ids = fID, | 
|                 }; | 
|                 result1 = InvokeHelper.Submit("PRD_INSTOCK", JsonConvert.SerializeObject(json));//提交 | 
|                 //result2 = InvokeHelper.Audit("PRD_INSTOCK", JsonConvert.SerializeObject(json));//提交 | 
|                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"生产入库单单号:{fBillNo},提交失败" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'"); | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 入库——产品入库单 | 
|         /// </summary> | 
|         /// <param name="InterID">工序汇报单主ID</param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/SaveBFBill")] | 
|         [HttpGet] | 
|         public object SaveBFBill(string BillNo) | 
|         { | 
|             try | 
|             { | 
|                 //获取生产汇报单最大InterID和单据号 | 
|                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("1202", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 string HBillNo = DBUtility.ClsPub.CreateBillCode("1202", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                 ////获取组织代码 | 
|                 //string OrganizationNUM = oCN.RunProcReturn("select HNumber from Xt_ORGANIZATIONS where HItemID=" + OrganizationID, "Xt_ORGANIZATIONS").Tables[0].Rows[0]["HNumber"].ToString(); | 
|                 ////根据工序汇报单主ID获取工序汇报入库单的数据 | 
|                 //DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc"); | 
|                 //DataRow dr = ds.Tables[0].Rows[0]; | 
|   | 
|                 //判断本次报废总数量是否为0 | 
|                 var DTable = oCN.RunProcReturn("select isnull(sum(HWasterQty),0) HWasterQty from  Sc_StationOutBillMain where  HProcExchBillNo='" + BillNo + "' and HBFFlag=0 ", "Sc_StationOutBillMain").Tables[0]; | 
|   | 
|                 if (double.Parse(DTable.Rows[0]["HWasterQty"].ToString()) == 0) | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 2; | 
|                     objJsonResult.Message = "报废数量为0,不需要入库!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 //保存 | 
|                 oCN.BeginTran(); | 
|                 //生产汇报单主表 | 
|                 //oCN.RunProc("Insert Into Sc_ICMOReportBillMain   " + | 
|                 //"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|                 //",HYear,HPeriod,HRemark,HEmpID,HEmpNumber" + | 
|                 //",HGroupID,HDeptID,HDeptNumber" + | 
|                 //",HMainSourceBillNo,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillType" + | 
|                 //") " + | 
|                 //" values('3711','3711'," + HInterID.ToString() + ",'" + HBillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|                 //",DATENAME(YEAR,GETDATE()),0,'','" + dr["HEmpID"].ToString() + "','" + dr["操作员代码"].ToString() + | 
|                 //"','" + dr["HGroupID"].ToString() + "',0,''" + | 
|                 //",'" + BillNo.ToString() + "'," + InterID.ToString() + ", 0,'3791'" + | 
|                 //") "); | 
|                 ////生产汇报单子表 | 
|                 //oCN.RunProc("Insert into Sc_ICMOReportBillSub " + | 
|                 //      " (HInterID,HEntryID,HMaterID,HMaterNumber" + | 
|                 //      ",HQty,HUnitID,HUnitNumber,HTimes,HSourceID" + | 
|                 //      ",HQtyMust,HWorkerID,HWorkerNumber,HBadCount,HWasterQty," + | 
|                 //      "HCloseMan,HCloseType,HRemark," + | 
|                 //      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                 //      ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
|                 //      ",HICMOInterID,HICMOBillNo,HBarCode" + | 
|                 //      ") values(" | 
|                 //      + HInterID.ToString() + ",1," + dr["HMaterID"].ToString() + ",'" + dr["产品代码"].ToString() + "'" + | 
|                 //      "," + dr["合格数量"].ToString() + ",0,'',0,0" + | 
|                 //      "," + dr["接收数量"].ToString() + "," + dr["HEmpID"].ToString() + ",'" + dr["操作员代码"].ToString() + "'," + dr["不良数量"].ToString() + "," + dr["报废数量"].ToString() + | 
|                 //      ",'',0,''" + | 
|                 //      "," + InterID.ToString() + ",0,'" + BillNo.ToString() + "','3791',0,0" + | 
|                 //      ",0,0,''" + | 
|                 //      "," + dr["HICMOInterID"].ToString() + ",'" + dr["任务单"].ToString() + "',''" + | 
|                 //      ") "); | 
|                 //同步金蝶 | 
|                 //访问金蝶 | 
|                 var loginRet = InvokeHelper.Login(); | 
|                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                 if (isSuccess == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 // | 
|                 //DataSet ds1 = oCN.RunProcReturn("select * from  h_v_TOERPProcduct_LastProc where HLastProc = '是' and  hbillno='" + BillNo.ToString() + "'", "h_v_TOERPProcduct_LastProc"); | 
|                 DataSet ds1 = oCN.RunProcReturn("exec h_p_TOERPProcduct_LastProc_BF '" + BillNo + "'", "h_p_TOERPProcduct_LastProc_BF"); | 
|                 DataRow dr1 = ds1.Tables[0].Rows[0]; | 
|   | 
|                 JObject model = new JObject(); | 
|                 model.Add("FBillType", new JObject() { ["FNumber"] = "SCRKD01_SYS" }); //单据类型 | 
|                 model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期 | 
|                 model.Add("FStockOrgId", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); //库存组织代码 | 
|                 model.Add("FPrdOrgId", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); //生产组织代码 | 
|                 model.Add("FOwnerTypeId0", "BD_OwnerOrg"); | 
|                 model.Add("FOwnerId0", new JObject() { ["FNumber"] = dr1["HPrdOrgNumber"].ToString() }); // | 
|                 model.Add("FIsEntrust", "false");//   | 
|                 model.Add("FCurrId", new JObject() { ["FNumber"] = "PRE001" }); // | 
|                 model.Add("FBillNo", HBillNo); | 
|   | 
|                 JArray Fentity = new JArray(); | 
|   | 
|                 foreach (DataRow item in ds1.Tables[0].Rows) | 
|                 { | 
|                     JObject FentityModel = new JObject(); | 
|                     FentityModel.Add("FSrcEntryId", item["HSourceEntryID"].ToString());//  源单分录内码、 | 
|                     FentityModel.Add("FIsNew", "false");//  源单类型  | 
|                     FentityModel.Add("FMaterialId", new JObject() { ["FNumber"] = item["HMaterNumber"].ToString() }); // 物料编码  | 
|                     FentityModel.Add("FCheckProduct", "false");//   | 
|                     FentityModel.Add("FInStockType", "1");//   | 
|                     FentityModel.Add("FProductType", "1");//  | 
|                     FentityModel.Add("FUNITID", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//单位 | 
|                     FentityModel.Add("FMustQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FCostRate", "100");// | 
|                     FentityModel.Add("FBaseUnitId", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//单位 | 
|                     FentityModel.Add("FBaseMustQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FBaseRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");// | 
|                     FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });// | 
|                     string sErr = ""; | 
|                     if (oSystemParameter.ShowBill(ref sErr)) | 
|                     { | 
|                         if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺") | 
|                         { | 
|                             if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工艺路线") | 
|                             { | 
|                                 FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // 仓库  | 
|                             } | 
|                             else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "工序") | 
|                             { | 
|                                 FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 仓库  | 
|                             } | 
|                         } | 
|                     } | 
|                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //批号 | 
|                     FentityModel.Add("FISBACKFLUSH", "true");//   | 
|                     FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  生产车间 | 
|                     FentityModel.Add("FMOBILLNO", item["HMOBillNo"].ToString());//   | 
|                     FentityModel.Add("FMoId", item["HICMOInterID"].ToString());//生产订单内码 | 
|                     FentityModel.Add("FMoEntryId", item["HMOEntryID"].ToString());// | 
|                     FentityModel.Add("FMoEntrySeq", item["HMOEntrySEQ"].ToString());//生产订单行号 | 
|                     FentityModel.Add("FStockUnitId", new JObject() { ["FNumber"] = item["HUnitNumber"].ToString() });//库存单位 | 
|                     FentityModel.Add("FStockRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FSrcBillType", "PRD_MORPT");//   | 
|                     FentityModel.Add("FSrcBillNo", item["HSourceBillNo"].ToString());//   | 
|                     FentityModel.Add("FSrcInterId", item["HSourceInterID"].ToString());//   | 
|                     FentityModel.Add("FBasePrdRealQty", item["数量"].ToString());// | 
|                     FentityModel.Add("FIsFinished", "false");// | 
|                     FentityModel.Add("FStockStatusId", new JObject() { ["FNumber"] = "KCZT08_SYS" }); // | 
|                     FentityModel.Add("FSrcEntrySeq", item["HSourceSeQ"].ToString());//  源单分录行号 | 
|                     FentityModel.Add("FMOMAINENTRYID", item["HMOEntryID"].ToString());// | 
|                     FentityModel.Add("FKeeperTypeId", "BD_KeeperOrg"); | 
|                     FentityModel.Add("FKeeperId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });// | 
|                     FentityModel.Add("FIsOverLegalOrg", "false");// | 
|                     FentityModel.Add("F_bsv_Base1", new JObject() { ["FNumber"] = item["HBZBS"].ToString() });// | 
|                     FentityModel.Add("F_BSV_TEXT", item["HLZKH"].ToString());//   | 
|                     FentityModel.Add("F_BSV_TEXT1", item["HWYID"].ToString());// | 
|                                                                               //批号 | 
|                                                                               //FFLOWID FFLOWLINEID FRULEID FSTABLENAME | 
|                                                                               //f6e6eec3 - 5267 - 4f02 - 8593 - b633da508a72    3   PRD_MO2MORPT T_PRD_MOENTRY | 
|                                                                               //业务流程图:FEntity_Link_FFlowId | 
|                                                                               //推进路线:FEntity_Link_FFlowLineId | 
|                                                                               //转换规则:FEntity_Link_FRuleId | 
|                                                                               //源单表内码:FEntity_Link_FSTableId | 
|                                                                               //源单表:FEntity_Link_FSTableName | 
|                                                                               //源单内码:FEntity_Link_FSBillId | 
|                                                                               //源单分录内码:FEntity_Link_FSId | 
|                                                                               //原始携带量:FEntity_Link_FBaseQuaQtyOld | 
|                                                                               //修改携带量:FEntity_Link_FBaseQuaQty | 
|   | 
|   | 
|   | 
|                     JArray Fentity2 = new JArray(); | 
|                     JObject FentityModel2 = new JObject(); | 
|                     FentityModel2.Add("FEntity_Link_FFlowId", "f6e6eec3-5267-4f02-8593-b633da508a72"); | 
|                     FentityModel2.Add("FEntity_Link_FFlowLineId", "5"); | 
|                     FentityModel2.Add("FEntity_Link_FRuleId", "PRD_MORPT2INSTOCK"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableName", "T_PRD_MORPTENTRY"); | 
|                     FentityModel2.Add("FEntity_Link_FSTableId", "0"); | 
|                     FentityModel2.Add("FEntity_Link_FSBillId", item["HSourceInterID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FSId", item["HSourceEntryID"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBasePrdRealQtyOld", item["关联数量"].ToString()); | 
|                     FentityModel2.Add("FEntity_Link_FBasePrdRealQty", item["数量"].ToString()); | 
|                     Fentity2.Add(FentityModel2); | 
|                     FentityModel.Add("FEntity_Link", Fentity2); | 
|                     FentityModel.Add("FBFLowId", new JObject() { ["FID"] = "f6e6eec3-5267-4f02-8593-b633da508a72" }); // | 
|                     Fentity.Add(FentityModel); | 
|   | 
|   | 
|                     //Fentity.Add(FentityModel); | 
|                 } | 
|                 model.Add("FEntity", Fentity); //明细信息                        | 
|                 JObject jsonRoot = new JObject() | 
|                 { | 
|                     ["Creator"] = "", | 
|                     ["NeedUpDateFields"] = new JArray(), | 
|                     ["NeedReturnFields"] = new JArray(), | 
|                     //["IsDeleteEntry"] = "true", | 
|                     //["SubSystemId"] = "", | 
|                     //["IsVerifyBaseDataField"] = "false", | 
|   | 
|   | 
|                     ["IsDeleteEntry"] = "true", | 
|                     ["SubSystemId"] = "", | 
|                     ["IsVerifyBaseDataField"] = "true", | 
|                     ["IsEntryBatchFill"] = "false", | 
|                     ["ValidateFlag"] = "true", | 
|                     ["NumberSearch"] = "true", | 
|                     ["IsAutoAdjustField"] = "false", | 
|                     ["InterationFlags"] = "", | 
|                     ["IgnoreInterationFlag"] = "", | 
|   | 
|   | 
|   | 
|   | 
|                     //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|                     ["Model"] = model | 
|                 }; | 
|   | 
|                 string result = InvokeHelper.Save("PRD_INSTOCK", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|                 //判断保存是否成功 | 
|                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     LogService.Write("生产入库错误jsonRoot:" + jsonRoot); | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"生产入库单同步金蝶云失败!单号:{HBillNo.ToString()}" + result + jsonRoot; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //提交审核 | 
|                 string result1 = string.Empty; | 
|                 string result2 = string.Empty; | 
|                 var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|                 var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|                 var json = new | 
|                 { | 
|                     Ids = fID, | 
|                 }; | 
|                 result1 = InvokeHelper.Submit("PRD_INSTOCK", JsonConvert.SerializeObject(json));//提交 | 
|                 //result2 = InvokeHelper.Audit("PRD_INSTOCK", JsonConvert.SerializeObject(json));//提交 | 
|                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"生产入库单单号:{fBillNo},提交失败" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 //oCN.RunProc("update Sc_StationOutBillMain set HRelationQty=1 where  HBillNo='" + BillNo + "'"); | 
|   | 
|                 oCN.Commit(); | 
|                 oCN.RunProc("update  sc_stationoutbillmain set HBFFlag =1 where HProcExchBillNo = '" + BillNo + "'"); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 生成金蝶云来料检验单 | 
|         /// </summary> | 
|         /// <param name="InterID">工序汇报单主ID</param> | 
|         /// <returns></returns> | 
|         [Route("QCStockInCheckBill/set_SaveQCStockInCheckBill_Json")] | 
|         [HttpGet] | 
|         public object set_SaveQCStockInCheckBill_Json(string HZJOrgNumber, string HMaterNumber, string HUnitNumber, | 
|             double HCheckQty, double HRightQty, double HBadQty, | 
|             string HCheckResult, string HSupNumber, | 
|             string HUseResult, Int64 HSeQ, Int64 HSourceInterID, | 
|             Int64 HSourceEntryID, string HSourceBillNo, string user, | 
|             Int64 HWHID, Int64 HSPID, Int64 HSupID, Int64 HKeeperID, | 
|             Int64 HMaterID, string HSourceBillType, Int64 HSLInterID, | 
|             Int64 HSLEntryID, string HSLBillNo, Int64 HSLSeQ, string HBillNo, Int64 HInterID) | 
|         { | 
|             try | 
|             { | 
|                 //获取生产汇报单最大InterID和单据号 | 
|                 //Int64 HInterID = DBUtility.ClsPub.CreateBillID("7503", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 //string HBillNo = DBUtility.ClsPub.CreateBillCode("7503", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|   | 
|                 DataSet ds1 = oCN.RunProcReturn("select   * from MES_AccessoriesList  where  HSourceBillNo = '" + HBillNo + "'", "MES_AccessoriesList"); | 
|                 string HFileName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFileName"]); | 
|                 string HFilePath = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFilePath"]); | 
|   | 
|                 string path = HFilePath; | 
|                 FileInfo fi = new FileInfo(path); | 
|                 long len = fi.Length; | 
|                 byte[] buffer = new byte[len]; | 
|                 FileStream fs = new FileStream(path, FileMode.Open); | 
|                 fs.Read(buffer, 0, (int)len); | 
|                 //文件IO流 | 
|                 string a = Convert.ToBase64String(buffer); | 
|   | 
|   | 
|                 //保存 | 
|                 oCN.BeginTran(); | 
|                 //生产汇报单主表 | 
|                 oCN.RunProc("Insert Into QC_POStockInCheckBillMain   " + | 
|                 "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|                 ",HYear,HPeriod,HRemark,HSupID,HMaterID" + | 
|                 ",HInstockQty,HCheckQty,HRightQty,HBadQty,HFirstCheckEmp" + | 
|                 ",HCheckerResult,HSteelStoveNo,HSteelCompReport,HAspect,HSize" + | 
|                 ") " + | 
|                 " values('7503','7503'," + HInterID.ToString() + ",'" + HBillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|                 ",DATENAME(YEAR,GETDATE()),0,''," + HSupID.ToString() + "," + HMaterID.ToString() + | 
|                 ",'" + HCheckQty.ToString() + "','" + HCheckQty.ToString() + "','" + HRightQty.ToString() + "','" + HBadQty.ToString() + "','" + HKeeperID.ToString() + "'" + | 
|                 ",'" + HCheckResult.ToString() + "','', '','',''" + | 
|                 ") "); | 
|                 //生产汇报单子表 | 
|                 oCN.RunProc("Insert into QC_POStockInCheckBillSub " + | 
|                       " (HInterID,HEntryID,HCloseMan,HCloseType" + | 
|                       ",HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" + | 
|                       ",HRelationQty,HRelationMoney,HQCCheckClassID,HQCCheckItemID,HQCStd," + | 
|                       "HResult,HQCRelValue,HProcCheckEmp,HProcCheckTime" + | 
|                       ") values(" | 
|                       + HInterID.ToString() + ",1,'',''" + | 
|                       ",''," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo.ToString() + "','" + HSourceBillType.ToString() + "'" + | 
|                       ",0,0,0,0,''" + | 
|                       ",'" + HCheckResult.ToString() + "','" + HCheckResult.ToString() + "','" + HKeeperID.ToString() + "',getdate()" + | 
|                       ") "); | 
|                 //同步金蝶 | 
|                 //访问金蝶 | 
|                 var loginRet = InvokeHelper.Login(); | 
|                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                 if (isSuccess == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 JObject model = new JObject(); | 
|                 model.Add("FBillTypeID", new JObject() { ["Fnumber"] = "JYD001_SYS" }); //单据类型 来料检验单JYD001_SYS | 
|                 model.Add("FBusinessType", "1"); //业务类型 | 
|                 model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期 | 
|                 model.Add("FInspectOrgId", new JObject() { ["Fnumber"] = HZJOrgNumber.ToString() }); //质检组织 | 
|                 model.Add("FSourceOrgId", new JObject() { ["Fnumber"] = HZJOrgNumber.ToString() }); //来源组织 | 
|                 model.Add("FISSYNCED", "false");//  是否已同步 | 
|                 model.Add("F_PGKJ_Date", DateTime.Now.ToString("yyyy-MM-dd"));//  报检日期 | 
|                 model.Add("FBillNo", HBillNo); | 
|   | 
|                 JArray Fentity = new JArray(); | 
|                 JObject FentityModel = new JObject(); | 
|                 FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = HMaterNumber.ToString() });//  物料内码  | 
|                 FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = HUnitNumber.ToString() });//计量单位内码 | 
|                 FentityModel.Add("FInspectQty", HCheckQty.ToString());//  检验数量  | 
|                 FentityModel.Add("FQualifiedQty", HRightQty.ToString());//  合格数量  | 
|                 FentityModel.Add("FUnqualifiedQty", HBadQty.ToString());//  不合格数量 | 
|                 FentityModel.Add("FInspectResult", HCheckResult.ToString());//  检验结果 | 
|                 FentityModel.Add("FQCStatus", "1");//  质检状态  | 
|                 FentityModel.Add("FIsRelated", false);//  不良品关联标志 | 
|                 FentityModel.Add("FSrcBillType0", "PUR_ReceiveBill");//  源单类型 | 
|                 FentityModel.Add("FBaseUnitId", new JObject() { ["Fnumber"] = HUnitNumber.ToString() });//基本单位 | 
|                 FentityModel.Add("FBaseInspectQty", HCheckQty.ToString());//基本单位检验数量 | 
|                 FentityModel.Add("FSupplierId", new JObject() { ["Fnumber"] = HSupNumber.ToString() }); //  供应商 | 
|                                                                                                         //FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = HWHNumber.ToString() }); // 仓库 | 
|                 FentityModel.Add("FInspectTimes", "1"); // 检验次数  | 
|                 FentityModel.Add("FTimeUnit", "24");//时间单位 | 
|                 FentityModel.Add("FSAMPLEDAMAGEBEARER", "2");//样本破坏承担方 | 
|                 FentityModel.Add("FISFIRSTINSPECT", false);//首检 | 
|                 FentityModel.Add("FBaseQualifiedQty", HRightQty.ToString());//基本单位合格数 | 
|                 FentityModel.Add("FBaseAcceptQty", HRightQty.ToString());//基本单位接收数 | 
|                 FentityModel.Add("FCurrency", new JObject() { ["Fnumber"] = "PRE001" });//币别 | 
|                 FentityModel.Add("FIsSplitRow ", false);// 是否拆分行 | 
|   | 
|                 JArray Fentity2 = new JArray(); | 
|                 JObject FentityModel2 = new JObject(); | 
|                 FentityModel2.Add("FPolicyMaterialId", new JObject() { ["Fnumber"] = HMaterNumber.ToString() });//  物料内码  | 
|                 FentityModel2.Add("FPolicyStatus", "1");  //状态 | 
|                 FentityModel2.Add("FPolicyQty", HRightQty.ToString());    //数量 | 
|                 FentityModel2.Add("FBasePolicyQty", HRightQty.ToString()); //基本单位数量 | 
|                 FentityModel2.Add("FUsePolicy", HUseResult.ToString());   //使用决策 | 
|                 FentityModel2.Add("FIsCheck", false);   //是否抽检 | 
|                 FentityModel2.Add("FIsDefectProcess", false);  //不良处理 | 
|                 FentityModel2.Add("FCanSale", false);   //可销售 | 
|                 FentityModel2.Add("FIsMRBReview", false);   //MRP评审 | 
|                 FentityModel2.Add("FIsReturn", true);   //判退 | 
|                 FentityModel2.Add("FIsRelatedDefect", false);   //不良品关联标志 | 
|                 Fentity2.Add(FentityModel2); | 
|                 FentityModel.Add("FPolicyDetail", Fentity2); | 
|   | 
|   | 
|   | 
|                 JArray Fentity3 = new JArray(); | 
|                 JObject FentityModel3 = new JObject(); | 
|                 FentityModel3.Add("FDetailID", "0");//   | 
|                 FentityModel3.Add("FSrcBillType", "PUR_ReceiveBill");   //源单类型 | 
|                 FentityModel3.Add("FSrcBillNo", HSLBillNo.ToString());    //收料通知单单号 | 
|                 FentityModel3.Add("FSrcInterId", HSLInterID.ToString());      //收料通知单主ID | 
|                 FentityModel3.Add("FSrcEntryId", HSLEntryID.ToString());    //收料通知单子ID | 
|                 FentityModel3.Add("FSrcEntrySeq", HSLSeQ.ToString());    //源单行号 | 
|                 FentityModel3.Add("FOrderType", new JObject() { ["FID"] = "PUR_PurchaseOrder" });  //  订单类型 | 
|                 FentityModel3.Add("FOrderBillNo", HSourceBillNo.ToString());   //订单单号 | 
|                 FentityModel3.Add("FOrderId", HSourceInterID.ToString());      //订单主ID | 
|                 FentityModel3.Add("FOrderEntryId", HSourceEntryID.ToString());  //订单子ID | 
|                 FentityModel3.Add("FOrderEntrySeq", HSeQ.ToString());  //订单行号 | 
|                 Fentity3.Add(FentityModel3); | 
|                 FentityModel.Add("FReferDetail", Fentity3); | 
|   | 
|   | 
|                 JArray Fentity4 = new JArray(); | 
|                 JObject FentityModel4 = new JObject(); | 
|                 FentityModel4.Add("FEntity_Link_FRuleId", "QM_PURReceive2Inspect");   //单据转换规则 | 
|                 FentityModel4.Add("FEntity_Link_FSTableName", "T_PUR_RECEIVEENTRY");    //收料通知单子表 | 
|                 FentityModel4.Add("FEntity_Link_FSBillId", HSLInterID.ToString());      //收料通知单主内码 | 
|                 FentityModel4.Add("FEntity_Link_FSId", HSLEntryID.ToString());    //收料通知单子内码 | 
|                 FentityModel4.Add("FEntity_Link_FBaseAcceptQty", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FBaseAcceptQtyOld", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FBaseInspectQtyOld", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FInspectQtyOld", HRightQty.ToString());    // | 
|                 Fentity4.Add(FentityModel4); | 
|                 FentityModel.Add("FEntity_Link", Fentity4); | 
|   | 
|   | 
|   | 
|                 Fentity.Add(FentityModel); | 
|                 model.Add("FEntity", Fentity); //明细信息 | 
|                 JObject jsonRoot = new JObject() | 
|                 { | 
|                     ["Creator"] = "", | 
|                     ["NeedUpDateFields"] = new JArray(), | 
|                     ["NeedReturnFields"] = new JArray(), | 
|                     ["IsDeleteEntry"] = "false", | 
|                     ["SubSystemId"] = "", | 
|                     ["IsVerifyBaseDataField"] = "false", | 
|                     //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|                     ["Model"] = model | 
|                 }; | 
|   | 
|                 string result = InvokeHelper.Save("QM_InspectBill", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|                 //判断保存是否成功 | 
|                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     LogService.Write("来料检验单保存错误jsonRoot:" + jsonRoot); | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"来料检验单同步金蝶云失败!单号:{HBillNo.ToString()}" + jsonRoot; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //提交审核 | 
|                 string result1 = string.Empty; | 
|                 string result2 = string.Empty; | 
|                 var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|                 var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|                 var json = new | 
|                 { | 
|                     Ids = fID, | 
|                 }; | 
|   | 
|                 K3CloudApiClient client = new K3CloudApiClient("http://47.96.97.237/k3cloud"); | 
|                 //        K3CloudApiClient client = new K3CloudApiClient("http://192.168.80.90/k3cloud/"); | 
|   | 
|   | 
|   | 
|                 result1 = InvokeHelper.Submit("QM_InspectBill", JsonConvert.SerializeObject(json));//提交 | 
|                 result2 = InvokeHelper.Audit("QM_InspectBill", JsonConvert.SerializeObject(json));//提交 | 
|                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"来料检验单号:{fBillNo},提交失败" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     string jsonStr = "{" + | 
|                        " \"FileName\":\"" + HFileName + "\"," + | 
|                            " \"FormId\":\"QM_InspectBill\"," + | 
|                            " \"IsLast\":\"true\"," + | 
|                            " \"InterId\":\"" + HInterID + "\"," + | 
|                            " \"BillNO\":\"" + HBillNo + "\"," + | 
|                            " \"AliasFileName\":\"test\"," + | 
|                            " \"SendByte\":\"" + a + "\"," + | 
|                        "}"; | 
|   | 
|                     var ret = client.AttachmentUpload(jsonStr); | 
|                 } | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|      | 
|   | 
|   | 
|   | 
|   | 
|   | 
|         ///// <summary> | 
|         ///// 生成金蝶云来料检验单 | 
|         ///// </summary> | 
|         ///// <param name="InterID">工序汇报单主ID</param> | 
|         ///// <returns></returns> | 
|         //[Route("QCStockInCheckBill/set_SaveQCStockInCheckBill_Json")] | 
|         //[HttpGet] | 
|         //public object set_SaveQCStockInCheckBill_Json(string HZJOrgNumber, string HMaterNumber, string HUnitNumber, | 
|         //    double HCheckQty, double HRightQty, double HBadQty, | 
|         //    string HCheckResult, string HSupNumber, | 
|         //    string HUseResult, Int64 HSeQ, Int64 HSourceInterID, | 
|         //    Int64 HSourceEntryID, string HSourceBillNo, string user, | 
|         //    Int64 HWHID, Int64 HSPID, Int64 HSupID, Int64 HKeeperID, | 
|         //    Int64 HMaterID, string HSourceBillType, Int64 HSLInterID, | 
|         //    Int64 HSLEntryID, string HSLBillNo, Int64 HSLSeQ, string HBillNo, Int64 HInterID,ref string sErrMsg) | 
|         //{ | 
|         //    WebS.WebService1 oWebs1 = new WebS.WebService1(); | 
|   | 
|   | 
|         //    //oWebs1.Url = "http://localhost:9099/WebService1.asmx"; | 
|         //    //K3CloudApiClient client = new K3CloudApiClient("http://192.168.80.90/k3cloud/"); | 
|         //    if (oWebs1.set_SaveQcStockInCheckBill_New(HZJOrgNumber, HMaterNumber, HUnitNumber, HCheckQty, HRightQty, HBadQty | 
|         //        , HCheckResult, HSupNumber, HUseResult, HSeQ, HSourceInterID | 
|         //        , HSourceEntryID, HSourceBillNo, user, HWHID, HSPID | 
|         //        , HSupID, HKeeperID, HMaterID, HSourceBillType, HSLInterID | 
|         //        , HSLEntryID, HSLBillNo, HSLSeQ, HBillNo, HInterID | 
|         //        , ref sErrMsg)) | 
|         //    { | 
|         //        objJsonResult.code = "0"; | 
|         //        objJsonResult.count = 1; | 
|         //        objJsonResult.Message = "生成单据成功!"; | 
|         //        objJsonResult.data = null; | 
|         //        return objJsonResult; | 
|         //    } | 
|         //    else | 
|         //    { | 
|         //        objJsonResult.code = "0"; | 
|         //        objJsonResult.count = 0; | 
|         //        objJsonResult.Message = "生成单据失败!"; | 
|         //        objJsonResult.data = sErrMsg; | 
|         //        return objJsonResult; | 
|         //    } | 
|         //} | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|   | 
|         /// <summary> | 
|         /// 生成金蝶云产品检验单 | 
|         /// </summary> | 
|         /// <param name="InterID">工序汇报单主ID</param> | 
|         /// <returns></returns> | 
|         [Route("SCStockInCheckBill/set_SaveSCStockInCheckBill_Json")] | 
|         [HttpGet] | 
|         public object set_SaveSCStockInCheckBill_Json(string HZJOrgNumber, string HMaterNumber, string HUnitNumber, | 
|             double HCheckQty, double HRightQty, double HBadQty, | 
|             string HCheckResult, string HSupNumber, string HWHNumber, | 
|             string HUseResult, Int64 HSeQ, Int64 HSourceInterID, | 
|             Int64 HSourceEntryID, string HSourceBillNo, string user, | 
|             Int64 HWHID, Int64 HSPID, Int64 HSupID, Int64 HKeeperID, | 
|             Int64 HMaterID, string HSourceBillType, Int64 HSLInterID, | 
|             Int64 HSLEntryID, string HSLBillNo, Int64 HSLSeQ) | 
|         { | 
|             try | 
|             { | 
|                 //获取生产汇报单最大InterID和单据号 | 
|                 Int64 HInterID = DBUtility.ClsPub.CreateBillID("7501", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 string HBillNo = DBUtility.ClsPub.CreateBillCode("7501", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|   | 
|                 //保存 | 
|                 //oCN.BeginTran(); | 
|                 //生成产品检验单 | 
|                 //oCN.RunProc("Insert Into QC_POStockInCheckBillMain   " + | 
|                 //"(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus,HChecker,HCheckDate" + | 
|                 //",HYear,HPeriod,HRemark,HSupID,HMaterID" + | 
|                 //",HInstockQty,HCheckQty,HRightQty,HBadQty,HFirstCheckEmp" + | 
|                 //",HCheckerResult,HSteelStoveNo,HSteelCompReport,HAspect,HSize" + | 
|                 //") " + | 
|                 //" values('7503','7503'," + HInterID.ToString() + ",'" + HBillNo + "',getdate(),'" + user + "',getdate(),2,'" + user + "',getdate()" + | 
|                 //",DATENAME(YEAR,GETDATE()),0,''," + HSupID.ToString() + "," + HMaterID.ToString() + | 
|                 //",'" + HCheckQty.ToString() + "','" + HCheckQty.ToString() + "','" + HRightQty.ToString() + "','" + HBadQty.ToString() + "','" + HKeeperID.ToString() + "'" + | 
|                 //",'" + HCheckResult.ToString() + "','', '','',''" + | 
|                 //") "); | 
|                 ////生产汇报单子表 | 
|                 //oCN.RunProc("Insert into QC_POStockInCheckBillSub " + | 
|                 //      " (HInterID,HEntryID,HCloseMan,HCloseType" + | 
|                 //      ",HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" + | 
|                 //      ",HRelationQty,HRelationMoney,HQCCheckClassID,HQCCheckItemID,HQCStd," + | 
|                 //      "HResult,HQCRelValue,HProcCheckEmp,HProcCheckTime" + | 
|                 //      ") values(" | 
|                 //      + HInterID.ToString() + ",1,'',''" + | 
|                 //      ",''," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo.ToString() + "','" + HSourceBillType.ToString() + "'" + | 
|                 //      ",0,0,0,0,''" + | 
|                 //      ",'" + HCheckResult.ToString() + "','" + HCheckResult.ToString() + "','" + HKeeperID.ToString() + "',getdate()" + | 
|                 //      ") "); | 
|                 //同步金蝶 | 
|                 //访问金蝶 | 
|                 var loginRet = InvokeHelper.Login(); | 
|                 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); | 
|                 if (isSuccess == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "操作失败,金蝶账号登录异常。" + loginRet; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|                 JObject model = new JObject(); | 
|                 model.Add("FBillTypeID", new JObject() { ["Fnumber"] = "JYD002_SYS" }); //单据类型 产品检验单JYD002_SYS | 
|                 model.Add("FBusinessType", "3"); //业务类型 | 
|                 model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //单据日期 | 
|                 model.Add("FSourceOrgId", new JObject() { ["Fnumber"] = HZJOrgNumber.ToString() }); //来源组织 | 
|                 model.Add("FInspectOrgId", new JObject() { ["Fnumber"] = HZJOrgNumber.ToString() }); //质检组织 | 
|                 model.Add("FISSYNCED", "false");//  是否已同步 | 
|                 model.Add("FBillNo", HBillNo); | 
|   | 
|                 JArray Fentity = new JArray(); | 
|                 JObject FentityModel = new JObject(); | 
|                 FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = HMaterNumber.ToString() });//  物料内码  | 
|                 FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = HUnitNumber.ToString() });//计量单位内码 | 
|                 FentityModel.Add("FInspectQty", HCheckQty.ToString());//  检验数量  | 
|                 FentityModel.Add("FQualifiedQty", HRightQty.ToString());//  合格数量  | 
|                 FentityModel.Add("FUnqualifiedQty", HBadQty.ToString());//  不合格数量 | 
|                 FentityModel.Add("FInspectResult", HCheckResult.ToString());//  检验结果 | 
|                 FentityModel.Add("FQCStatus", "1");//  质检状态  | 
|                 FentityModel.Add("FIsRelated", false);//  不良品关联标志 | 
|                 FentityModel.Add("FSrcBillType0", "SFC_OperationReport");//  源单类型 | 
|                 FentityModel.Add("FBaseUnitId", new JObject() { ["Fnumber"] = HUnitNumber.ToString() });//基本单位 | 
|                 FentityModel.Add("FBaseInspectQty", HCheckQty.ToString());//基本单位检验数量 | 
|                 //FentityModel.Add("FSupplierId", new JObject() { ["Fnumber"] = HSupNumber.ToString() }); //  供应商 | 
|                 //FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = HWHNumber.ToString() }); // 仓库 | 
|                 FentityModel.Add("FInspectTimes", "1"); // 检验次数  | 
|                 FentityModel.Add("FTimeUnit", "24");//时间单位 | 
|                 FentityModel.Add("FSAMPLEDAMAGEBEARER", "2");//样本破坏承担方 | 
|                 FentityModel.Add("FISFIRSTINSPECT", false);//首检 | 
|                 FentityModel.Add("FBaseQualifiedQty", HRightQty.ToString());//基本单位合格数 | 
|                 FentityModel.Add("FCurrency", new JObject() { ["Fnumber"] = "PRE001" });//币别 | 
|                 FentityModel.Add("FIsSplitRow ", false);// 是否拆分行 | 
|   | 
|                 JArray Fentity2 = new JArray(); | 
|                 JObject FentityModel2 = new JObject(); | 
|                 FentityModel2.Add("FPolicyMaterialId", new JObject() { ["Fnumber"] = HMaterNumber.ToString() });//  物料内码  | 
|                 FentityModel2.Add("FPolicyStatus", "1");  //状态 | 
|                 FentityModel2.Add("FPolicyQty", HRightQty.ToString());    //数量 | 
|                 FentityModel2.Add("FBasePolicyQty", HRightQty.ToString()); //基本单位数量 | 
|                 FentityModel2.Add("FUsePolicy", HUseResult.ToString());   //使用决策 | 
|                 FentityModel2.Add("FIsCheck", false);   //是否抽检 | 
|                 FentityModel2.Add("FIsDefectProcess", false);  //不良处理 | 
|                 FentityModel2.Add("FCanSale", false);   //可销售 | 
|                 FentityModel2.Add("FIsMRBReview", false);   //MRP评审 | 
|                 FentityModel2.Add("FIsReturn", true);   //判退 | 
|                 FentityModel2.Add("FIsRelatedDefect", false);   //不良品关联标志 | 
|                 Fentity2.Add(FentityModel2); | 
|                 FentityModel.Add("FPolicyDetail", Fentity2); | 
|   | 
|   | 
|   | 
|                 JArray Fentity3 = new JArray(); | 
|                 JObject FentityModel3 = new JObject(); | 
|                 FentityModel3.Add("FDetailID", "0");//   | 
|                 FentityModel3.Add("FSrcBillType", "SFC_OperationReport");   //源单类型 | 
|                 FentityModel3.Add("FSrcBillNo", HSLBillNo.ToString());    //工序汇报单单号 | 
|                 FentityModel3.Add("FSrcInterId", HSLInterID.ToString());      //工序汇报单主ID | 
|                 FentityModel3.Add("FSrcEntryId", HSLEntryID.ToString());    //工序汇报单子ID | 
|                 FentityModel3.Add("FSrcEntrySeq", HSLSeQ.ToString());    //工序汇报单行号 | 
|                 FentityModel3.Add("FOrderType", new JObject() { ["FID"] = "PRD_MO" });  //  生产订单类型 | 
|                 FentityModel3.Add("FOrderBillNo", HSourceBillNo.ToString());   //生产订单单号 | 
|                 FentityModel3.Add("FOrderId", HSourceInterID.ToString());      //生产订单主ID | 
|                 FentityModel3.Add("FOrderEntryId", HSourceEntryID.ToString());  //生产订单子ID | 
|                 FentityModel3.Add("FOrderEntrySeq", HSeQ.ToString());  //生产订单行号 | 
|                 Fentity3.Add(FentityModel3); | 
|                 FentityModel.Add("FReferDetail", Fentity3); | 
|   | 
|   | 
|                 JArray Fentity4 = new JArray(); | 
|                 JObject FentityModel4 = new JObject(); | 
|                 FentityModel4.Add("FEntity_Link_FRuleId", "QM_OperRpt2Inspect");   //单据转换规则 | 
|                 FentityModel4.Add("FEntity_Link_FSTableName", "T_SFC_OPTRPTENTRY");    //工序汇报单子表 | 
|                 FentityModel4.Add("FEntity_Link_FSBillId", HSLInterID.ToString());      //工序汇报单主ID | 
|                 FentityModel4.Add("FEntity_Link_FSId", HSLEntryID.ToString());    //工序汇报单子ID | 
|                 FentityModel4.Add("FEntity_Link_FBaseAcceptQty", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FBaseAcceptQtyOld", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FBaseInspectQtyOld", HRightQty.ToString());    // | 
|                 FentityModel4.Add("FEntity_Link_FInspectQtyOld", HRightQty.ToString());    // | 
|                 Fentity4.Add(FentityModel4); | 
|                 FentityModel.Add("FEntity_Link", Fentity4); | 
|   | 
|   | 
|                 //JArray Fentity3 = new JArray(); | 
|                 //JObject FentityModel3 = new JObject(); | 
|                 //FentityModel3.Add("FSrcBillType", "SFC_OperationReport");   //源单类型 | 
|                 //FentityModel3.Add("FSrcBillNo", HSLBillNo.ToString());    //工序汇报单单号 | 
|                 //FentityModel3.Add("FSrcInterId", HSLInterID.ToString());      //工序汇报单主ID | 
|                 //FentityModel3.Add("FSrcEntryId", HSLEntryID.ToString());    //工序汇报单子ID | 
|                 //FentityModel3.Add("FSrcEntrySeq", HSLSeQ.ToString());    //工序汇报单行号 | 
|                 //FentityModel3.Add("FOrderType", new JObject() { ["FID"] = "PUR_PurchaseOrder" });  //  工序计划类型 | 
|                 //FentityModel3.Add("FOrderBillNo", HSourceBillNo.ToString());   //工序计划单号 | 
|                 //FentityModel3.Add("FOrderId", HSourceInterID.ToString());      //工序计划主ID | 
|                 //FentityModel3.Add("FOrderEntryId", HSourceEntryID.ToString());  //工序计划子ID | 
|                 //FentityModel3.Add("FOrderEntrySeq", HSeQ.ToString());  //工序计划行号 | 
|                 //Fentity3.Add(FentityModel3); | 
|                 //FentityModel.Add("FReferDetail", Fentity3); | 
|                 Fentity.Add(FentityModel); | 
|                 model.Add("FEntity", Fentity); //明细信息 | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 DataSet ds = oCN.RunProcReturn("select HCheckdate from Sc_ProcessReportMain where hbillno = '" + HSourceBillNo + "'", "Sc_ProcessReportMain"); | 
|                 DateTime HCheckDate = DBUtility.ClsPub.isDate(ds.Tables[0].Rows[0]["HCheckdate"]); | 
|                 JObject jsonRoot = new JObject() | 
|                 { | 
|                     ["Creator"] = "", | 
|                     ["NeedUpDateFields"] = new JArray(), | 
|                     ["NeedReturnFields"] = new JArray(), | 
|                     ["IsDeleteEntry"] = "false", | 
|                     ["SubSystemId"] = "", | 
|                     ["IsVerifyBaseDataField"] = "false", | 
|                     ["F_PGKJ_Date"] = HCheckDate.ToString(), | 
|                     //["IsAutoSubmitAndAudit"] = true,//自动调用提交和审核功能 | 
|                     ["Model"] = model | 
|                 }; | 
|   | 
|                 string result = InvokeHelper.Save("QM_InspectBill", JsonConvert.SerializeObject(jsonRoot));//保存 | 
|                 //判断保存是否成功 | 
|                 if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     LogService.Write("来料检验单保存错误jsonRoot:" + jsonRoot); | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"来料检验单同步金蝶云失败!单号:{HBillNo.ToString()}" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //提交审核 | 
|                 string result1 = string.Empty; | 
|                 string result2 = string.Empty; | 
|                 var fID = JObject.Parse(result)["Result"]["Id"].ToString(); | 
|                 var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); | 
|                 var json = new | 
|                 { | 
|                     Ids = fID, | 
|                 }; | 
|                 result1 = InvokeHelper.Submit("QM_InspectBill", JsonConvert.SerializeObject(json));//提交 | 
|                 result2 = InvokeHelper.Audit("QM_InspectBill", JsonConvert.SerializeObject(json));//提交 | 
|                 if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
|                 { | 
|                     oCN.RollBack(); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = $"来料检验单号:{fBillNo},提交失败" + result; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.Commit(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = 1; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 oCN.RollBack(); | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产汇报单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_ProcessMangement/MES_Sc_ProcessReportList_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessReportList_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBillQuery", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessReportList order by hmainid desc", "h_v_Sc_ProcessReportList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Sc_ProcessReportList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + " order by hmainid desc"; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产汇报单主表详情信息 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_ProcessMangement/MES_DetailSc_ProcessReportList_Json")] | 
|         [HttpGet] | 
|         public object MES_DetailSc_ProcessReportList_Json(int HInterID) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|   | 
|                     string sql1 = @"select s1.HInterID,s1.HBillNo,s1.HDeptID,s2.HName,s1.HDate,s1.HPlanQty,s1.HICMOBillNo,s1.HRemark,s2.HNumber | 
| ,s1.HMaker,s1.HMakeDate,s1.HChecker,s1.HCheckDate,s1.HUpDater,s1.HUpDateDate,s1.HCloseMan,s1.HCloseDate | 
| from Sc_ProcessReportMain s1  | 
|     inner join Gy_Department s2 on s1.HDeptID=s2.HItemID and s1.HInterID=" + HInterID; | 
|   | 
|                     ds = oCN.RunProcReturn(sql1, "Sc_ProcessReportMain"); | 
|   | 
|                 } | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回生产派工单关联详情信息 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_ProcessMangement/MES_h_v_Sc_ProcessSendWorkList_Json")] | 
|         [HttpGet] | 
|         public object MES_h_v_Sc_ProcessSendWorkList_Json(int HInterID) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|   | 
|                     string sql1 = @"select [hmainid], [日期], [单据号], [HDeptID], [部门代码], [部门], [HMaterID], [物料代码], [物料名称], [规格型号], [HUnitID], [计量单位代码], [计量单位], [HprocID],  | 
| [工序代码], [工序], [HGroupID], [班组代码], [班组名称], [HSourceID], [资源代码], [生产资源], [HWorkerID], [职员代码], [职员], [hsubid], [数量], [计划开工日期],  | 
| [计划完工日期], [计划工时], [表体备注], [HICMOInterID], [生产任务单号], [HSeOrderInterID], [销售订单号], [表头备注], [制单人], [制单日期], [审核人], [审核日期], [修改人], | 
| [修改日期], [关闭人], [关闭日期], [作废人], [作废日期], [源单主内码], [源单子内码], [源单单号], [源单类型], [行关闭人], [HBillType], [HQtyDecimal], [HPriceDecimal]  | 
| from h_v_Sc_ProcessSendWorkList  | 
| where hmainid=(select HSourceID from Sc_ProcessReportSub where HInterID=" + HInterID + ")"; | 
|   | 
|                     ds = oCN.RunProcReturn(sql1, "h_v_Sc_ProcessSendWorkList"); | 
|   | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         #region 工序计划单 | 
|         List<ClsSc_ProcessPlanSub> DetailColl = new List<ClsSc_ProcessPlanSub>(); | 
|         ClsSc_ProcessPlanMain omodel = new ClsSc_ProcessPlanMain(); | 
|         ClsSc_ProcessPlan oBill = new ClsSc_ProcessPlan(); | 
|   | 
|         #region 工序计划单列表 | 
|         /// <summary> | 
|         /// 返回生产工序计划单列表 | 
|         ///参数:string sql。 | 
|         ///返回值:object。 | 
|         /// </summary> | 
|         [Route("Sc_ProcessMangement/MES_Sc_ProcessPlanMain_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessPlanMain_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessPlan_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessPlanList order by hmainid desc ", "h_v_Sc_ProcessPlanList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Sc_ProcessPlanList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessPlanList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|         #endregion | 
|   | 
|         #region 工序计划单 保存/编辑 | 
|         //工序计划单  保存/编辑 | 
|         [Route("Sc_ProcessMangement/AddBill")] | 
|         [HttpPost] | 
|         public object AddBill([FromBody] JObject sMainSub) | 
|         { | 
|             var _value = sMainSub["sMainSub"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             oCN.BeginTran(); | 
|             //保存主表 | 
|             objJsonResult = AddBillMain(msg1); | 
|             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 = "新增单据成功!"; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|   | 
|         public json AddBillMain(string msg1) | 
|         { | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             int hentryid = int.Parse(sArray[2].ToString());//子表的顺序id | 
|             int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 | 
|             string user = sArray[4].ToString();//用户名 | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessPlan_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_ProcessPlanMain>(msg2); | 
|                 string BillType = "3715"; | 
|   | 
|   | 
|                 if (OperationType == 1)//新增 | 
|                 { | 
|                     //主表 | 
|                     oCN.RunProc("Insert Into Sc_ProcessPlanMain   " + | 
|                     "(HYear,HPeriod,HBillType,HBillSubType,HInterID" + | 
|                     ",HDate,HBillNo,HBillStatus,HCheckItemNowID,HCheckItemNextID" + | 
|                     ",HICMOInterID,HICMOBillNo,HMaterID,HMaterNumber,HUnitID" + | 
|                     ",HUnitNumber,HPlanQty,HPlanBeginDate,HPlanEndDate,HExplanation" + | 
|                     ",HRemark,HInnerBillNo,HMaker,HMakeDate" + | 
|                     ") " + | 
|                     " values(" + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + | 
|                     ",'" + omodel.HDate.ToShortDateString() + "','" + omodel.HBillNo + "'," + (omodel.HBillStatus = 1) + "," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + | 
|                     "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HMaterID.ToString() + ",'" + omodel.HMaterNumber + "'," + omodel.HUnitID.ToString() + | 
|                     ",'" + omodel.HUnitNumber + "'," + omodel.HPlanQty.ToString() + ",'" + omodel.HPlanBeginDate.ToShortDateString() + "','" + omodel.HPlanEndDate.ToShortDateString() + "','" + omodel.HExplanation + "'" + | 
|                     ",'" + omodel.HRemark + "','" + omodel.HInnerBillNo + "','" + omodel.HMaker + "',getdate()" + | 
|                     ") "); | 
|                 } | 
|                 else if (OperationType == 3) | 
|                 { | 
|                     //修改 | 
|                     oCN.RunProc("UpDate Sc_ProcessPlanMain set  " + | 
|                    " HYear=" + omodel.HYear.ToString() + | 
|                    ",HPeriod=" + omodel.HPeriod.ToString() + | 
|                    //",HInterID=" + omodel.HInterID.ToString() + | 
|                    ",HDate='" + omodel.HDate.ToShortDateString() + "'" + | 
|                    //",HBillNo='" + omodel.HBillNo + "'" + | 
|                    ",HBillStatus=" + omodel.HBillStatus.ToString() + | 
|                    ",HCheckItemNowID=" + omodel.HCheckItemNowID.ToString() + | 
|                    ",HCheckItemNextID=" + omodel.HCheckItemNextID.ToString() + | 
|                    ",HICMOInterID=" + omodel.HICMOInterID.ToString() + | 
|                    ",HICMOBillNo='" + omodel.HICMOBillNo + "'" + | 
|                    ",HMaterID=" + omodel.HMaterID.ToString() + | 
|                    ",HMaterNumber='" + omodel.HMaterNumber + "'" + | 
|                    ",HUnitID=" + omodel.HUnitID.ToString() + | 
|                    ",HUnitNumber='" + omodel.HUnitNumber + "'" + | 
|                    ",HPlanQty=" + omodel.HPlanQty.ToString() + | 
|                    ",HPlanBeginDate='" + omodel.HPlanBeginDate.ToShortDateString() + "'" + | 
|                    ",HPlanEndDate='" + omodel.HPlanEndDate.ToShortDateString() + "'" + | 
|                    ",HExplanation='" + omodel.HExplanation + "'" + | 
|                    ",HRemark='" + omodel.HRemark + "'" + | 
|                    ",HInnerBillNo='" + omodel.HInnerBillNo + "'" + | 
|                    ",HUpDater='" + omodel.HUpDater + "'" + | 
|                    ",HUpDateDate=getdate()" + | 
|                    " where HInterID=" + omodel.HInterID.ToString()); | 
|   | 
|                     //删除子表 | 
|                     oCN.RunProc("Delete From Sc_ProcessPlanSub where HInterID = " + omodel.HInterID.ToString() + " and hentryid=" + hentryid); | 
|                 } | 
|                 //保存子表 | 
|                 objJsonResult = AddBillSub(msg3, hentryid); | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         public json AddBillSub(string msg3, int hentryid) | 
|         { | 
|             DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_ProcessPlanSub>>(msg3); | 
|             int i = 1; | 
|             //插入子表 | 
|             foreach (Models.ClsSc_ProcessPlanSub oSub in DetailColl) | 
|             { | 
|                 oCN.RunProc("Insert into Sc_ProcessPlanSub " + | 
|                " (HInterID,HEntryID,HBillNo,HProcNo,HProcID,HWorkingQty" + | 
|                ",HProcNumber,HWorkRemark,HCenterID,HDeptID,HDeptNumber" + | 
|                ",HGroupID,HGroupNumber,HWorkerID,HWorkerNumber,HSourceID" + | 
|                ",HQty,HTimeUnit,HPlanWorkTimes,HPlanBeginDate,HPlanEndDate" + | 
|                ",HICMOInterID,HICMOBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + | 
|                ",HCloseMan,HCloseType,HRemark,HSourceInterID,HSourceEntryID" + | 
|                ",HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
|                ",HBeginDayQty,HBeginFixQty,HFixWorkDays,HTrunWorkDays,HReadyTimes" + | 
|                ",HReadyTime,HQueueTime,HMoveTime,HBatchNo" + | 
|                ") values(" | 
|                + omodel.HInterID.ToString() + "," + (hentryid == -1 ? i : hentryid) + ",'" + oSub.HBillNo + "'," + oSub.HProcNo.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HWorkingQty.ToString() + | 
|                ",'" + oSub.HProcNumber + "','" + oSub.HWorkRemark + "'," + oSub.HCenterID.ToString() + "," + oSub.HDeptID.ToString() + ",'" + oSub.HDeptNumber + "'" + | 
|                "," + oSub.HGroupID.ToString() + ",'" + oSub.HGroupNumber + "'," + oSub.HWorkerID.ToString() + ",'" + oSub.HWorkerNumber + "'," + oSub.HSourceID.ToString() + | 
|                "," + oSub.HQty.ToString() + ",'" + oSub.HTimeUnit + "'," + oSub.HPlanWorkTimes.ToString() + ",'" + oSub.HPlanBeginDate.ToString() + "','" + oSub.HPlanEndDate.ToString() + "'" + | 
|                "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" + | 
|                ",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + | 
|                ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + | 
|                "," + oSub.HBeginDayQty.ToString() + "," + oSub.HBeginFixQty.ToString() + "," + oSub.HFixWorkDays.ToString() + "," + oSub.HTrunWorkDays.ToString() + "," + oSub.HReadyTimes.ToString() + | 
|                "," + oSub.HReadyTime.ToString() + "," + oSub.HQueueTime.ToString() + "," + oSub.HMoveTime.ToString() + ",'" + oSub.HBatchNo + "'" + | 
|                ") "); | 
|                 i++; | 
|             } | 
|   | 
|             objJsonResult.code = "1"; | 
|             objJsonResult.count = 1; | 
|             objJsonResult.Message = null; | 
|             objJsonResult.data = null; | 
|             return objJsonResult; | 
|         } | 
|         #endregion | 
|   | 
|         #region 工序计划单 审核/反审核 | 
|         [Route("Sc_ProcessMangement/CheckDeOAuditBill")] | 
|         [HttpGet] | 
|         public object CheckDeOAuditBill(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             string ModRightNameCheck = "Sc_ProcessPlan_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; | 
|                 } | 
|   | 
|                 //判断id是否大于0 | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "ID小于0"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 //转换id | 
|                 Int64 lngBillKey = 0; | 
|                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
|   | 
|                 //查询审核的这条数据 | 
|                 ds = oCN.RunProcReturn("select * from Sc_ProcessPlanMain where HInterID='" + HInterID + "'", "Sc_ProcessPlanMain"); | 
|   | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     string HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();//关闭人 | 
|                     string HDeleteMan = ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();//作废人 | 
|                     string HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();//审核人 | 
|   | 
|                     if (HCloseMan != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "当前单据已关闭,不能审核"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (HDeleteMan != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "当前单据已作废,不能审核"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //IsAudit==0  审核 | 
|                     if (IsAudit == 0) | 
|                     { | 
|                         if (HChecker != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "当前数据已审核"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     //IsAudit==1  反审核 | 
|                     if (IsAudit == 1) | 
|                     { | 
|                         if (HChecker == "") | 
|                         { | 
|                             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 (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "审核失败,原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 //反审核提交 | 
|                 if (IsAudit == 1) | 
|                 { | 
|                     if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                     { | 
|                         objJsonResult.code = "1"; | 
|                         objJsonResult.count = 1; | 
|                         objJsonResult.Message = "反审核成功"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "反审核失败,原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或反审核失败" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|   | 
|         } | 
|         //审核 | 
|         public bool CheckBill(Int64 lngBillKey, ref string sReturn) | 
|         { | 
|             try | 
|             { | 
|                 string HChecker = DBUtility.ClsPub.CurUserName;//用户名 | 
|                 oCN.BeginTran();//打开事务 | 
|                 oCN.RunProc("update Sc_ProcessPlanMain set HChecker='" + HChecker + "',HCheckDate='" + DateTime.Now + "',HBillStatus=2 where HInterID='" + lngBillKey + "'"); | 
|                 oCN.Commit();//关闭事务 | 
|                 sReturn = "审核单据成功!"; | 
|                 return true; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 sReturn = e.Message; | 
|                 throw (e); | 
|             } | 
|         } | 
|         //反审核 | 
|         public bool AbandonCheck(Int64 lngBillKey, ref string sReturn) | 
|         { | 
|             try | 
|             { | 
|                 string HChecker = DBUtility.ClsPub.CurUserName;//用户名 | 
|                 oCN.BeginTran();//打开事务 | 
|                 oCN.RunProc("update Sc_ProcessPlanMain set HChecker='',HCheckDate=null,HBillStatus=1 where HInterID='" + lngBillKey + "'"); | 
|                 oCN.Commit();//关闭事务 | 
|                 sReturn = "反审核单据成功!"; | 
|                 return true; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 sReturn = e.Message; | 
|                 throw (e); | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 工序计划单 删除 | 
|         [Route("Sc_ProcessMangement/DeleteProcessBill")] | 
|         [HttpGet] | 
|         public object MouldDeleteBill(long HInterID, string User, string ModRightNameDelete) | 
|         { | 
|             try | 
|             { | 
|                 //判断权限 | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有删除权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|   | 
|                 if (oBill.omodel.HChecker != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "单据当前处于审核状态,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) | 
|                 { | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "删除成功"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "删除失败"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "无权限删除"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #endregion | 
|   | 
|         /// <summary> | 
|         /// 返回生产工序派工单列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_Sc_ProcessSendWorkMain_Json")] | 
|         [HttpGet] | 
|         public object MES_Sc_ProcessSendWorkMain_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessSendWorkList order by hmainid desc ", "h_v_Sc_ProcessSendWorkList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_Sc_ProcessSendWorkList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessSendWorkList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存派工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveProcessSendWork")] | 
|         [HttpPost] | 
|         public object SaveProcessSendWork([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string user = sArray[2].ToString();//用户名 | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 DAL.ClsSc_ProcessSendWork Sendwork = new DAL.ClsSc_ProcessSendWork(); | 
|                 List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", ""); | 
|                 lsmain = oListModels.getObjectByJson_SendWorkMain(msg2); | 
|                 foreach (Model.ClsSc_ProcessSendWorkMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DateTime.Now; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|   | 
|                     if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     Sendwork.omodel = oItem; | 
|   | 
|   | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 List<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>(); | 
|                 ls = oListModels.getObjectByJson_SendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Model.ClsSc_ProcessSendWorkSub> lss = new List<Model.ClsSc_ProcessSendWorkSub>(); | 
|                 foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub(); | 
|                     sendworksub.HProcID = oItemSub.hprocid.Value;//--工序ID | 
|                     sendworksub.HProcPlanBillNo = oItemSub.工序计划单号; //--工序计划单号 | 
|                     sendworksub.HProcPlanEntryID = oItemSub.hsubid.Value; //--工序计划单子ID | 
|                     sendworksub.HProcPlanInterID = oItemSub.hmainid.Value; //--工序计划单ID | 
|                     sendworksub.HICMOInterID = oItemSub.hicmointerid.Value; //--任务单ID | 
|                     sendworksub.HICMOBillNo = oItemSub.任务单号;  //--任务单号 | 
|                     sendworksub.HSeOrderBillNo = oItemSub.销售订单号; //--销售订单号 | 
|                     sendworksub.HSeOrderEntryID = oItemSub.销售订单子ID.Value; //--销售子ID | 
|                     sendworksub.HSeOrderInterID = oItemSub.销售订单主ID.Value; //--销售订单主ID | 
|                     sendworksub.HPlanTimes = (float)oItemSub.计划加工时间; //--计划工时 | 
|                     sendworksub.HPlanEndDate = oItemSub.计划完工日期.Value; //--计划完工日期 | 
|                     sendworksub.HPlanBeginDate = oItemSub.计划开工日期.Value; //--计划开工日期 | 
|                     sendworksub.HQty = (double)oItemSub.计划数量; //--派工数量 | 
|                     sendworksub.HWorkerNumber = oItemSub.操作员代码; //--操作工代码 | 
|                     sendworksub.HWorkerID = oItemSub.HWorkerID.Value; //--操作工ID | 
|                     sendworksub.HGroupNumber = oItemSub.班组代码; //班组代码 | 
|                     sendworksub.HGroupID = oItemSub.HGroupID.Value;  //--班组ID | 
|                     sendworksub.HSourceNumber = oItemSub.生产资源; //--生产资源代码 | 
|                     //--生产资源ID | 
|                     sendworksub.HProcNumber = oItemSub.工序代码; //--工序代码 | 
|                     sendworksub.HRemark = oItemSub.表体备注;  //--备注 | 
|   | 
|                     if (oItemSub.计划数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.计划数量)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行派工数量不能大于计划单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "") | 
|                     //{ | 
|                     //    objJsonResult.code = "0"; | 
|                     //    objJsonResult.count = 0; | 
|                     //    objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!"; | 
|                     //    objJsonResult.data = 1; | 
|                     //    return objJsonResult; | 
|                     //} | 
|   | 
|                     sendworksub.HEntryID = i; | 
|                     sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     sendworksub.HRemark = ""; | 
|                     sendworksub.HCloseMan = ""; | 
|                     sendworksub.HCloseType = false; | 
|                     sendworksub.HSourceBillType = oItemSub.HBillType; | 
|                     lss.Add(sendworksub);//先把数据存放到派工单子表集合里 | 
|   | 
|   | 
|                 } | 
|                 if (lss.Count > 0) | 
|                 { | 
|                     //然后再循环保存到派工单子表的集合里 | 
|                     foreach (Model.ClsSc_ProcessSendWorkSub Itemsendwork in lss) | 
|                     { | 
|                         Sendwork.DetailColl.Add(Itemsendwork); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lss集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (Sendwork.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存委外派工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWWProcessSendWork")] | 
|         [HttpPost] | 
|         public object SaveWWProcessSendWork([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string user = sArray[2].ToString(); | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcSendWorkBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 WebAPI.DLL.ClsSc_ProcessSendWork Sendwork = new WebAPI.DLL.ClsSc_ProcessSendWork(); | 
|                 List<WebAPI.Models.ClsSc_ProcessSendWorkMain> lsmain = new List<WebAPI.Models.ClsSc_ProcessSendWorkMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", ""); | 
|                 lsmain = oListModels.getObjectByJson_WWSendWorkMain(msg2); | 
|                 foreach (WebAPI.Models.ClsSc_ProcessSendWorkMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DateTime.Now; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|                     if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     Sendwork.omodel = oItem; | 
|   | 
|   | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 List<WebAPI.Models.WW_EntrustWorkOrderViewModel> ls = new List<WebAPI.Models.WW_EntrustWorkOrderViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WWSendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Model.ClsSc_ProcessSendWorkSub> lss = new List<Model.ClsSc_ProcessSendWorkSub>(); | 
|                 foreach (WebAPI.Models.WW_EntrustWorkOrderViewModel oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub(); | 
|                     sendworksub.HProcID = 0;//--工序ID | 
|                     sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id | 
|                     sendworksub.HSourceEntryID = oItemSub.hsubid; //--源单子ID | 
|                     sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 | 
|                     sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 | 
|                     sendworksub.HQty = oItemSub.数量; //--数量 | 
|                     sendworksub.HICMOBillNo = "";  //--任务单号 | 
|                     sendworksub.HSeOrderBillNo = ""; //--销售订单号 | 
|                     sendworksub.HSeOrderEntryID = 0; //--销售子ID | 
|                     sendworksub.HSeOrderInterID = 0; //--销售订单主ID | 
|                     sendworksub.HPlanTimes = 0; //--计划工时 | 
|                     sendworksub.HPlanEndDate = DateTime.Now; //--计划完工日期 | 
|                     sendworksub.HPlanBeginDate = DateTime.Now; //--计划开工日期 | 
|                     sendworksub.HQty = (double)oItemSub.数量; //--派工数量 | 
|                     sendworksub.HWorkerNumber = ""; //--操作工代码 | 
|                     sendworksub.HWorkerID = 0; //--操作工ID | 
|                     sendworksub.HGroupNumber = ""; //班组代码 | 
|                     sendworksub.HGroupID = 0;  //--班组ID | 
|                     sendworksub.HSourceNumber = ""; //--生产资源代码 | 
|                     //--生产资源ID | 
|                     sendworksub.HProcNumber = ""; //--工序代码 | 
|   | 
|                     if (oItemSub.数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外派工数量不能大于委外工单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "") | 
|                     //{ | 
|                     //    objJsonResult.code = "0"; | 
|                     //    objJsonResult.count = 0; | 
|                     //    objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!"; | 
|                     //    objJsonResult.data = 1; | 
|                     //    return objJsonResult; | 
|                     //} | 
|   | 
|                     sendworksub.HEntryID = i; | 
|                     sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     sendworksub.HRemark = ""; | 
|                     sendworksub.HCloseMan = ""; | 
|                     sendworksub.HCloseType = false; | 
|                     lss.Add(sendworksub);//先把数据存放到派工单子表集合里 | 
|   | 
|   | 
|                 } | 
|                 if (lss.Count > 0) | 
|                 { | 
|                     //然后再循环保存到派工单子表的集合里 | 
|                     foreach (Model.ClsSc_ProcessSendWorkSub Itemsendwork in lss) | 
|                     { | 
|                         Sendwork.DetailColl.Add(Itemsendwork); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lss集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (Sendwork.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工单列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_WW_EntrustWorkOrderBillMain_Json")] | 
|         [HttpGet] | 
|         public object MES_WW_EntrustWorkOrderBillMain_Json(string sWhere) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustWorkOrderBillList ", "h_v_WW_EntrustWorkOrderBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_WW_EntrustWorkOrderBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustWorkOrderBillList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回不合格评审列表 | 
|         /// </summary> | 
|         /// <param name="sWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_QC_NoPassProdCheckBill_Json")] | 
|         [HttpGet] | 
|         public object MES_QC_NoPassProdCheckBill_Json(string sWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //查看权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBillQuery", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sWhere == null || sWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_QC_NoPassProdCheckBillList order by hmainid desc ", "h_v_QC_NoPassProdCheckBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_QC_NoPassProdCheckBillList where 1 = 1 "; | 
|                     string sql = sql1 + sWhere + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_QC_NoPassProdCheckBillList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 不合格评审  删除 | 
|         /// </summary> | 
|         /// <param name="HInterID"></param> | 
|         /// <param name="user"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/ProcessMangementDeleteBill")] | 
|         [HttpGet] | 
|         public object ProcessMangementDeleteBill(string HInterID, string user) | 
|         { | 
|             try | 
|             { | 
|                 if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBill_Drop", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限删除"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select * from h_v_QC_NoPassProdCheckBillList where hmainid =" + HInterID + " ", "h_v_QC_NoPassProdCheckBillList"); | 
|   | 
|                 if (ds.Tables[0].Rows[0]["审核人"].ToString() != "") | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据已审核,不能删除!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 oCN.BeginTran(); | 
|                 oCN.RunProc("Delete from QC_NoPassProdCheckBillMain where HInterID=" + HInterID); | 
|                 oCN.RunProc("Delete from QC_NoPassProdCheckBillSub where HInterID=" + HInterID); | 
|                 oCN.Commit(); | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 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; | 
|             } | 
|         } | 
|   | 
|         #region 不合格评审 审核/反审核 | 
|         [Route("Sc_ProcessMangement/AuditProcessMangement")] | 
|         [HttpGet] | 
|         public object AuditProcessMangement(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             string ModRightNameCheck = "QC_NoPassProdCheckBill_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 = "ID小于0"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 Int64 lngBillKey = 0; | 
|                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);//数据转换 | 
|   | 
|                 //查询审核的数据 | 
|                 ds = oCN.RunProcReturn("select * from QC_NoPassProdCheckBillMain where HInterID='" + HInterID + "'", "QC_NoPassProdCheckBillMain"); | 
|   | 
|                 if (ds.Tables[0].Rows.Count > 0) | 
|                 { | 
|                     var hcloseman = ds.Tables[0].Rows[0]["HCloseMan"].ToString();//关闭人 | 
|                     var hdeleteman = ds.Tables[0].Rows[0]["HDeleteMan"].ToString();//作废人 | 
|                     var hchecker = ds.Tables[0].Rows[0]["HChecker"].ToString();//审核人 | 
|   | 
|                     if (hcloseman != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "当前单据已关闭,无法审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     if (hdeleteman != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "当前单据已作废,无法审核!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     //IsAudit==0 审核 | 
|                     if (IsAudit == 1) | 
|                     { | 
|                         if (hchecker != "") | 
|                         { | 
|                             objJsonResult.code = "0"; | 
|                             objJsonResult.count = 0; | 
|                             objJsonResult.Message = "当前单据已审核,无法再次审核!"; | 
|                             objJsonResult.data = null; | 
|                             return objJsonResult; | 
|                         } | 
|                     } | 
|                     //IsAudit==1 反审核 | 
|                     if (IsAudit == 2) | 
|                     { | 
|                         if (hchecker == "") | 
|                         { | 
|                             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 == 1) | 
|                 { | 
|                     oCN.RunProc(" Update QC_NoPassProdCheckBillMain set HChecker='" + CurUserName + "',HCheckDate='" + DateTime.Now + "',HBillStatus=2 Where HBillType='7509' and HInterID=" + HInterID); | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "审核成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 //反审核提交 | 
|                 if (IsAudit == 2) | 
|                 { | 
|                     oCN.RunProc(" Update QC_NoPassProdCheckBillMain set HChecker='',HCheckDate=null,HBillStatus=0 Where HBillType='7509' and HInterID=" + HInterID); | 
|                     objJsonResult.code = "1"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "反审核成功!"; | 
|                     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 | 
|   | 
|         /// <summary> | 
|         /// PDA工序汇报单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveProcessReport")] | 
|         [HttpPost] | 
|         public object SaveProcessReport([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport(); | 
|                 List<WebAPI.Models.Sc_ProcessReportViewModel> ls = new List<WebAPI.Models.Sc_ProcessReportViewModel>(); | 
|                 ls = oListModels.getObjectByJson_Report(msg1); | 
|                 int i = 0; | 
|   | 
|                 foreach (Models.Sc_ProcessReportViewModel ItemView in ls) | 
|                 { | 
|                     i++; | 
|                     Model.ClsSc_ProcessReportMain ReportMain = new Model.ClsSc_ProcessReportMain(); | 
|                     Model.ClsSc_ProcessReportSub ReportSub = new Model.ClsSc_ProcessReportSub(); | 
|                     //工序汇报单主表保存 | 
|                     ReportMain.HBillType = "3714"; | 
|                     ReportMain.HBillNo = ItemView.HBillNo; | 
|                     ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     ReportMain.HDate = DateTime.Now; | 
|                     ReportMain.HMaker = ItemView.HEmp; | 
|                     ReportMain.HCloseType = false; | 
|                     ReportMain.HPlanQty = (double)ItemView.HQty; | 
|                     ReportMain.HMainSourceInterID = ItemView.HInterID; | 
|                     ReportMain.HInterID = 0; | 
|                     ReportMain.HPeriod = 1; | 
|                     ReportMain.HBillSubType = "3714"; | 
|                     ReportMain.HBillStatus = 0; | 
|                     ReportMain.HCheckItemNowID = 0; | 
|                     ReportMain.HCheckItemNextID = 0; | 
|                     ReportMain.HICMOInterID = (long)ItemView.HICMOInterID; | 
|                     ReportMain.HICMOBillNo = ItemView.HICMOBillNo; | 
|                     ReportMain.HDeptID = (long)ItemView.HDeptID; | 
|                     ReportMain.HDeptNumber = ItemView.HDeptNumber; | 
|                     ReportMain.HGroupID = (long)ItemView.HGroupID; | 
|                     ReportMain.HGroupNumber = ItemView.HGroupNumber; | 
|                     ReportMain.HMaterID = (long)ItemView.HMaterID; | 
|                     ReportMain.HMaterNumber = ItemView.HMaterNumber; | 
|                     ReportMain.HUnitID = ItemView.HUnitID; | 
|                     ReportMain.HUnitNumber = ItemView.HUnitNumber; | 
|                     ReportMain.HInStockQty = 0; | 
|                     ReportMain.HSumTimes = 0; | 
|                     ReportMain.HExplanation = ""; | 
|                     ReportMain.HInnerBillNo = ""; | 
|                     ReportMain.HSupID = 0; | 
|   | 
|   | 
|   | 
|                     //保存到汇报单主表 | 
|                     ReportModel.omodel = ReportMain; | 
|   | 
|   | 
|                     ReportSub.HEmpID = (long)ItemView.HEmpID; | 
|                     ReportSub.HICMOBillNo = ItemView.HICMOBillNo; | 
|                     ReportSub.HICMOInterID = (long)ItemView.HICMOInterID; | 
|                     ReportSub.HEntryID = i; | 
|                     ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     ReportSub.HRemark = ""; | 
|                     ReportSub.HCloseMan = ""; | 
|                     ReportSub.HCloseType = false; | 
|                     ReportSub.HSourceBillType = "3712"; | 
|                     ReportSub.HQty = (double)ItemView.HQty; | 
|                     ReportSub.HProcID = ItemView.HProcID; | 
|                     ReportSub.HProcNumber = ItemView.HProcNumber; | 
|                     ReportSub.HOutPrice = 0; | 
|                     ReportSub.HOutMoney = 0; | 
|                     ReportSub.HSourceID = (long)ItemView.HSourceID; | 
|                     ReportSub.HEmpNumber = ""; | 
|                     ReportSub.HRelBeginDate = DateTime.Now; | 
|                     ReportSub.HRelEndDate = DateTime.Now; | 
|                     ReportSub.HTimes = 3; | 
|                     ReportSub.HSeOrderInterID = 0; | 
|                     ReportSub.HSeOrderEntryID = 0; | 
|                     ReportSub.HSeOrderBillNo = ""; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceInterID = 0; | 
|                     ReportSub.HSourceBillNo = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HMaterID = (long)ItemView.HMaterID; | 
|                     ReportSub.HMaterNumber = ItemView.HMaterNumber; | 
|                     ReportSub.HCheckQty = 0; | 
|                     ReportSub.HBadCount = 0; | 
|                     ReportSub.HWasterQty = 0; | 
|                     ReportSub.HWasterQty2 = 0; | 
|                     ReportSub.HPrice = 0; | 
|                     ReportSub.HMoney = 0; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanEntryID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceEntryID = 0; | 
|                     ReportSub.HSourceBillType = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HBadPrirce = 0; | 
|                     ReportSub.HBadMoney = 0; | 
|                     ReportSub.HWasterPrice = 0; | 
|                     ReportSub.HWasterMoney = 0; | 
|                     ReportSub.HQualityRate = 0; | 
|                     ReportSub.HSecUnitQty1 = 0; | 
|                     ReportSub.HSecUnitRate1 = 0; | 
|                     ReportSub.HSecUnitQty2 = 0; | 
|                     ReportSub.HSecUnitRate2 = 0; | 
|                     ReportSub.HUsingQty = 0; | 
|                     ReportSub.HSelfBadCount = 0; | 
|                     ReportSub.HPreBadCount = 0; | 
|                     ReportSub.HPayMentQty = 0; | 
|                     ReportSub.HOtherDeduct = 0; | 
|                     ReportSub.HRelPay = 0; | 
|                     ReportSub.HOtherItem1 = ""; | 
|                     ReportSub.HOtherItem2 = ""; | 
|                     ReportSub.HOtherItem3 = ""; | 
|                     ReportSub.HOtherItem4 = ""; | 
|                     ReportSub.HOtherItem5 = ""; | 
|                     ReportSub.HPackType = ""; | 
|                     ReportSub.HCheckEmpID = 0; | 
|                     ReportSub.HWeight = 0; | 
|                     ReportSub.HBatchNo = ""; | 
|   | 
|                     //保存到汇报单子表 | 
|                     ReportModel.DetailColl.Add(ReportSub); | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (ReportModel.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = ReportModel.ModifyBill(ReportModel.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 派工单号获取信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/getHbarCodeDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> GetHbarCodeDetail(string sBillBarCode) | 
|         { | 
|             var model = LuBaoSevice.GetHbarCodeDetail(sBillBarCode); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         ///工序号获得信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/getProcDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> GetProcDetail(string sBillNo, string sProcNo) | 
|         { | 
|             var model = LuBaoSevice.GetProcDetail(sBillNo, sProcNo); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存工序汇报单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveProcessReportList")] | 
|         [HttpPost] | 
|         public object SaveProcessReportList([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string user = sArray[2].ToString();//用户名 | 
|             string UserName; | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport(); | 
|                 List<Model.ClsSc_ProcessReportMain> lsmain = new List<Model.ClsSc_ProcessReportMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", "");  //\n | 
|                 lsmain = oListModels.getObjectByJson_Reportlist(msg2); | 
|                 foreach (Model.ClsSc_ProcessReportMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMaker = UserName; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HBillType = "3714"; | 
|                     //oItem.HExRate = 1; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|                     //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     if (DBUtility.ClsPub.isStrNull(oItem.HPlanQty) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!没有填写派工数量,无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     ReportModel.omodel = oItem; | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 msg2 = msg2.Replace("'", "’"); | 
|                 List<WebAPI.Models.Sc_ProcessSendWorkViewModel> ls = new List<WebAPI.Models.Sc_ProcessSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_ViewReportlist(msg3); | 
|                 int i = 0; | 
|                 //定义汇报单子表集合用于存放下推派工单的多行数据 | 
|                 List<Model.ClsSc_ProcessReportSub> lsReportSub = new List<Model.ClsSc_ProcessReportSub>(); | 
|                 foreach (WebAPI.Models.Sc_ProcessSendWorkViewModel ItemView in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Model.ClsSc_ProcessReportSub reportSub = new Model.ClsSc_ProcessReportSub(); | 
|                     if (ItemView.数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if ((double)ItemView.数量 < ReportModel.omodel.HPlanQty) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!工序汇报单累计汇报数量不能大于源单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|   | 
|                     reportSub.HEntryID = i; | 
|                     reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     reportSub.HRemark = ""; | 
|                     reportSub.HCloseMan = ReportModel.omodel.HCloseMan; | 
|                     reportSub.HCloseType = false; | 
|                     reportSub.HEmpID = 0; | 
|                     reportSub.HICMOBillNo = ""; | 
|                     reportSub.HICMOInterID = (long)ItemView.HICMOInterID; | 
|                     reportSub.HRemark = ""; | 
|                     reportSub.HSourceBillType = "3712"; | 
|                     reportSub.HQty = (double)ItemView.数量; | 
|                     reportSub.HProcID = (long)ItemView.HprocID; | 
|                     reportSub.HProcNumber = ItemView.工序代码; | 
|                     reportSub.HOutPrice = 0; | 
|                     reportSub.HOutMoney = 0; | 
|                     reportSub.HSourceID = (long)ItemView.hmainid; | 
|                     reportSub.HEmpNumber = ""; | 
|                     reportSub.HRelBeginDate = DateTime.Now; | 
|                     reportSub.HRelEndDate = DateTime.Now; | 
|                     reportSub.HTimes = 3; | 
|                     reportSub.HSeOrderInterID = 0; | 
|                     reportSub.HSeOrderEntryID = 0; | 
|                     reportSub.HSeOrderBillNo = ""; | 
|                     reportSub.HProcPlanInterID = 0; | 
|                     reportSub.HProcPlanBillNo = ""; | 
|                     reportSub.HSourceInterID = (long)ItemView.hmainid; | 
|                     reportSub.HSourceBillNo = ItemView.单据号; | 
|                     reportSub.HRelationQty = 0; | 
|                     reportSub.HRelationMoney = 0; | 
|                     reportSub.HMaterID = (long)ItemView.HMaterID; | 
|                     reportSub.HMaterNumber = ItemView.物料代码; | 
|                     reportSub.HCheckQty = 0; | 
|                     reportSub.HBadCount = 0; | 
|                     reportSub.HWasterQty = 0; | 
|                     reportSub.HWasterQty2 = 0; | 
|                     reportSub.HPrice = 0; | 
|                     reportSub.HMoney = 0; | 
|                     reportSub.HProcPlanInterID = 0; | 
|                     reportSub.HProcPlanEntryID = 0; | 
|                     reportSub.HProcPlanBillNo = ""; | 
|                     reportSub.HSourceEntryID = 0; | 
|                     reportSub.HSourceBillType = "3712"; | 
|                     reportSub.HRelationQty = 0; | 
|                     reportSub.HRelationMoney = 0; | 
|                     reportSub.HBadPrirce = 0; | 
|                     reportSub.HBadMoney = 0; | 
|                     reportSub.HWasterPrice = 0; | 
|                     reportSub.HWasterMoney = 0; | 
|                     reportSub.HQualityRate = 0; | 
|                     reportSub.HSecUnitQty1 = 0; | 
|                     reportSub.HSecUnitRate1 = 0; | 
|                     reportSub.HSecUnitQty2 = 0; | 
|                     reportSub.HSecUnitRate2 = 0; | 
|                     reportSub.HUsingQty = 0; | 
|                     reportSub.HSelfBadCount = 0; | 
|                     reportSub.HPreBadCount = 0; | 
|                     reportSub.HPayMentQty = 0; | 
|                     reportSub.HOtherDeduct = 0; | 
|                     reportSub.HRelPay = 0; | 
|                     reportSub.HOtherItem1 = ""; | 
|                     reportSub.HOtherItem2 = ""; | 
|                     reportSub.HOtherItem3 = ""; | 
|                     reportSub.HOtherItem4 = ""; | 
|                     reportSub.HOtherItem5 = ""; | 
|                     reportSub.HPackType = ""; | 
|                     reportSub.HCheckEmpID = 0; | 
|                     reportSub.HWeight = 0; | 
|                     reportSub.HBatchNo = ""; | 
|   | 
|                     lsReportSub.Add(reportSub); | 
|   | 
|                 } | 
|                 if (lsReportSub.Count > 0) | 
|                 { | 
|                     //然后在循环保存到汇报但子表 | 
|                     foreach (Model.ClsSc_ProcessReportSub item in lsReportSub) | 
|                     { | 
|   | 
|                         ReportModel.DetailColl.Add(item); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lsReportSub集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 ////保存前判断(单据号重复,笔录项目) | 
|                 ////保存 | 
|                 ////保存完毕后处理 | 
|                 bool bResult; | 
|                 if (ReportModel.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = ReportModel.ModifyBill(ReportModel.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存不良评审单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveBadReasonList")] | 
|         [HttpPost] | 
|         public object SaveBadReasonList([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|             string user = sArray[2].ToString(); | 
|   | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 //判断权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无保存权限"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 DLL.ClsQC_NoPassProdCheckBill oBill = new DLL.ClsQC_NoPassProdCheckBill(); | 
|                 List<Model.ClsQC_NoPassProdCheckBillMain> lsmain = new List<Model.ClsQC_NoPassProdCheckBillMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", "");  //\n | 
|                 lsmain = oListModels.getObjectByJson_NoPassProdCheckMain(msg2); | 
|                 foreach (Model.ClsQC_NoPassProdCheckBillMain oItem in lsmain) | 
|                 { | 
|                     //oItem.HMaker = ""; | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HBillType = "7509"; | 
|                     oItem.HBillSubType = "7509"; | 
|                     oItem.HBillStatus = 1; | 
|                     oItem.HPeriod = 0; | 
|                     oItem.HGroupName = ""; | 
|                     oItem.HSourceID = 0; | 
|                     oItem.HICMOInterID = 0; | 
|                     oItem.HICMOBillNo = ""; | 
|                     oItem.HInStockQty = 0; | 
|                     oItem.HCheckQty = 0; | 
|                     oItem.HRightQty = 0; | 
|                     oItem.HBadPNL = 0; | 
|                     oItem.HPlanPNL = 0; | 
|                     oItem.HFirstCheckEmp = 0; | 
|                     oItem.HCheckerResult = ""; | 
|                     oItem.HWorkCenterID = 0; | 
|                     oItem.HProcExchInterID = 0; | 
|                     oItem.HProcExchEntryID = 0; | 
|                     oItem.HProcExchBillNo = ""; | 
|                     oItem.HOrderProcNo = ""; | 
|                     oItem.HProcExchQty = 0; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|                     //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     oBill.omodel = oItem; | 
|                 } | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 //msg2 = msg2.Replace("'", "’"); | 
|                 List<Model.ClsQC_NoPassProdCheckBillSub> ls = new List<Model.ClsQC_NoPassProdCheckBillSub>(); | 
|                 ls = oListModels.getObjectByJson_NoPassProdCheckSub(msg3); | 
|                 int i = 0; | 
|                 foreach (Model.ClsQC_NoPassProdCheckBillSub oItemSub in ls) | 
|                 { | 
|                     i++; | 
|                     if (string.IsNullOrWhiteSpace(oItemSub.HWasterReasonName)) | 
|                     { | 
|                         break; | 
|                     } | 
|                     //将前台临时存放的值传过来的值赋给对应的不良数量字段 | 
|                     oItemSub.HBadQty = Convert.ToDecimal(oItemSub.HMRBChecker); | 
|                     if (oItemSub.HBadQty <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行不良评审数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if ((double)oItemSub.HBadQty > oBill.omodel.HPlanQty) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不能大于不良数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (DBUtility.ClsPub.isStrNull(oItemSub.HWasterReasonName) == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写不良原因!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     oItemSub.HSourceEntryID = oBill.omodel.HMainSourceEntryID; | 
|                     oItemSub.HSourceInterID = oBill.omodel.HMainSourceInterID; | 
|                     oItemSub.HEntryID = i; | 
|                     oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     oItemSub.HCloseType = false; | 
|                     oItemSub.HBillNo_bak = oBill.omodel.HBillNo; | 
|                     oItemSub.HMRBChecker = ""; | 
|                     oItemSub.HSourceBillNo = oBill.omodel.HMainSourceBillNo; | 
|                     oItemSub.HSourceBillType = "3715"; | 
|                     oItemSub.HRelationQty = 0; | 
|                     oItemSub.HRelationMoney = 0; | 
|                     oItemSub.HMaterID = oBill.omodel.HMaterID; | 
|                     oItemSub.HUnitID = 0; | 
|                     oItemSub.HMustQty = 0; | 
|                     oItemSub.HDisposeNote = ""; | 
|                     oItemSub.HPunishmentBillNo = ""; | 
|                     oItemSub.HBadPCSQty = 0; | 
|                     oItemSub.HQCResultID = 0; | 
|                     oBill.DetailColl.Add(oItemSub); | 
|   | 
|                 } | 
|                 //保存前判断(单据号重复,笔录项目) | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (oBill.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 汇报单编辑关闭功能 | 
|         /// </summary> | 
|         /// <param name="HInterID"></param> | 
|         /// <param name="IsClose"></param> | 
|         ///  <param name="CurUserName"></param> | 
|         /// <returns></returns> | 
|         [Route("CloseProcessReportList")] | 
|         [HttpGet] | 
|         public object CloseProcessReportList(int HInterID, int IsClose, string CurUserName) | 
|         { | 
|             DataSet ds; | 
|             string ModRightNameCheck = "Sc_ProcessReport_check"; | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select * from Sc_ProcessReportMain where HInterID=" + HInterID, "Sc_ProcessReportMain"); | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有这个单据,无法关闭!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|                 var HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString(); | 
|                 var HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString(); | 
|   | 
|                 if (IsClose == 0) | 
|                 { | 
|                     if (HCloseMan.Trim() != "" || HChecker.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据未审核、已关闭、已作废状态下不允许关闭!!!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|                     oCN.RunProc("update  Sc_ProcessReportMain set HCloseMan='" + CurUserName + "' ,HCloseDate=GETDATE() where HInterID=" + HInterID); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "* 单据关闭成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|                 else if (IsClose == 1) | 
|                 { | 
|                     if (HCloseMan.Trim() == "" || HChecker.Trim() == "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据未审核、未关闭、已作废状态下不允许撤销关闭!!!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     oCN.RunProc("update  Sc_ProcessReportMain set HCloseMan='' ,HCloseDate=null where HInterID=" + HInterID); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "* 单据反关闭成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据无法关闭!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; ; | 
|                 } | 
|   | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "关闭失败或则反关闭失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 汇报单编辑审核反审核功能 | 
|         /// </summary> | 
|         /// <param name="HInterID"></param> | 
|         /// <param name="IsAudit"></param> | 
|         ///  <param name="CurUserName"></param> | 
|         /// <returns></returns> | 
|         [Route("AuditProcessReportList")] | 
|         [HttpGet] | 
|         public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName) | 
|         { | 
|             DataSet ds; | 
|             string ModRightNameCheck = "Sc_ProcessReport_check"; | 
|             var a = DBUtility.ClsPub.CurUserName; | 
|             try | 
|             { | 
|                 //审核权限 | 
|                 if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "审核失败!无权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (HInterID <= 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "HInterID小于0!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 ds = oCN.RunProcReturn("select * from Sc_ProcessReportMain where HInterID=" + HInterID, "Sc_ProcessReportMain"); | 
|                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "没有这个单据,无法审核!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 var HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString();//取审核人 | 
|                 var HMaker = ds.Tables[0].Rows[0]["HMaker"].ToString();//取制单人 | 
|                 var HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString();//取关闭人 | 
|                 if (IsAudit == 0) | 
|                 { | 
|                     if (HChecker.Trim() != "" || HChecker.Trim() == HMaker || HCloseMan != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据已审核、已关闭、已作废状态不允许审核!!!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     oCN.RunProc("update  Sc_ProcessReportMain set HChecker='" + CurUserName + "' ,HCheckDate=GETDATE() where HInterID=" + HInterID); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "* 单据审核成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else if (IsAudit == 1) | 
|                 { | 
|                     if (HChecker.Trim() == "" || HChecker.Trim() == CurUserName || HCloseMan != "") | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "单据未审核、已关闭、已作废状态下不允许反审核!!!"; | 
|                         objJsonResult.data = null; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     oCN.RunProc("update  Sc_ProcessReportMain set HChecker='' ,HCheckDate=null where HInterID=" + HInterID); | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 1; | 
|                     objJsonResult.Message = "* 单据反审核成功!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "单据无法审核!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|   | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序派工单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_WW_EntrustProcSendWorkBill_Json")] | 
|         [HttpGet] | 
|         public object MES_WW_EntrustProcSendWorkBill_Json(string sqlWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcSendWorkBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sqlWhere == null || sqlWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcSendWorkBillList order by hmainid desc ", "h_v_WW_EntrustProcSendWorkBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_WW_EntrustProcSendWorkBillList where 1 = 1 "; | 
|                     string sql = sql1 + sqlWhere + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcSendWorkBillList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序计划汇报单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_WW_EntrustProcessReportBill_Json")] | 
|         [HttpGet] | 
|         public object MES_WW_EntrustProcessReportBill_Json(string sqlWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessReportBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sqlWhere == null || sqlWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessReportBillList ", "h_v_WW_EntrustProcessReportBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_WW_EntrustProcessReportBillList where 1 = 1 "; | 
|                     string sql = sql1 + sqlWhere; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcessReportBillList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 返回委外工序计划转出单列表 | 
|         /// </summary> | 
|         /// <param name="sqlWhere"></param> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/MES_WW_EntrustProcessSendOutBillList_Json")] | 
|         [HttpGet] | 
|         public object MES_WW_EntrustProcessSendOutBillList_Json(string sqlWhere, string user) | 
|         { | 
|             DataSet ds; | 
|             try | 
|             { | 
|                 //判断是否有查询权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessSendOutBill_Query", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限查询!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|                 if (sqlWhere == null || sqlWhere.Equals("")) | 
|                 { | 
|                     ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessSendOutBillList order by hmainid desc ", "h_v_WW_EntrustProcessSendOutBillList"); | 
|                 } | 
|                 else | 
|                 { | 
|                     string sql1 = "select * from h_v_WW_EntrustProcessSendOutBillList where 1 = 1 "; | 
|                     string sql = sql1 + sqlWhere + " order by hmainid desc "; | 
|                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcessSendOutBillList"); | 
|                 } | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "没有返回任何记录!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             return GetObjectJson(ds); | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存委外汇报单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWW_EntrustProcessReportBill")] | 
|         [HttpPost] | 
|         public object SaveWW_EntrustProcessReportBill([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string user = sArray[2].ToString();//用户名 | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessReportBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 WebAPI.DLL.ClsWW_EntrustProcessReportBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessReportBill(); | 
|                 List<WebAPI.Models.ClsWW_EntrustProcessReportBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessReportBillMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", ""); | 
|                 lsmain = oListModels.getObjectByJson_WW_EntrustProcessReportBillMain(msg2); | 
|                 foreach (WebAPI.Models.ClsWW_EntrustProcessReportBillMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DateTime.Now; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|                     Sendwork.omodel = oItem; | 
|   | 
|   | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 List<WebAPI.Models.WW_EntrustProcSendWorkViewModel> ls = new List<WebAPI.Models.WW_EntrustProcSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustProcessReportBillSub> lss = new List<Models.ClsWW_EntrustProcessReportBillSub>(); | 
|                 foreach (WebAPI.Models.WW_EntrustProcSendWorkViewModel oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Models.ClsWW_EntrustProcessReportBillSub sendworksub = new Models.ClsWW_EntrustProcessReportBillSub(); | 
|                     sendworksub.HProcID = 0;//--工序ID | 
|                     sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id | 
|                     sendworksub.HSourceEntryID = (long)oItemSub.hsubid; //--源单子ID | 
|                     sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 | 
|                     sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 | 
|                     sendworksub.HQty = (decimal)oItemSub.数量; //--数量 | 
|                     sendworksub.HICMOBillNo = "";  //--任务单号 | 
|                     sendworksub.HSeOrderBillNo = ""; //--销售订单号 | 
|                     sendworksub.HSeOrderEntryID = 0; //--销售子ID | 
|                     sendworksub.HSeOrderInterID = 0; //--销售订单主ID | 
|                     sendworksub.HTimes = 0; //--计划工时 | 
|                     if (oItemSub.数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外汇报数量不能大于委外派工单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|   | 
|                     sendworksub.HEntryID = i; | 
|                     sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     sendworksub.HRemark = ""; | 
|                     sendworksub.HCloseMan = ""; | 
|                     sendworksub.HCloseType = false; | 
|                     lss.Add(sendworksub);//先把数据存放到派工单子表集合里 | 
|   | 
|   | 
|                 } | 
|                 if (lss.Count > 0) | 
|                 { | 
|                     //然后再循环保存到派工单子表的集合里 | 
|                     foreach (Models.ClsWW_EntrustProcessReportBillSub Itemsendwork in lss) | 
|                     { | 
|                         Sendwork.DetailColl.Add(Itemsendwork); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lss集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (Sendwork.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 委外派工单号获取信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/WWgetHbarCodeDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> WWGetHbarCodeDetail(string sBillBarCode) | 
|         { | 
|             var model = LuBaoSevice.WWGetHbarCodeDetail(sBillBarCode); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         ///委外工序号获得信息 | 
|         /// </summary> | 
|         /// <returns></returns> | 
|         [Route("Sc_ProcessMangement/WWgetProcDetail")] | 
|         [HttpGet] | 
|         public ApiResult<DataSet> WWGetProcDetail(string sBillNo, string sProcNo) | 
|         { | 
|             var model = LuBaoSevice.WWGetProcDetail(sBillNo, sProcNo); | 
|             return model; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// PDA委外工序汇报单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWWReport")] | 
|         [HttpPost] | 
|         public object SaveWWReport([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 WebAPI.DLL.ClsWW_EntrustProcessReportBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessReportBill(); | 
|                 List<WebAPI.Models.WWReportViewModel> ls = new List<WebAPI.Models.WWReportViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WWReport(msg1); | 
|                 int i = 0; | 
|   | 
|                 foreach (Models.WWReportViewModel ItemView in ls) | 
|                 { | 
|                     i++; | 
|                     Models.ClsWW_EntrustProcessReportBillMain ReportMain = new Models.ClsWW_EntrustProcessReportBillMain(); | 
|                     Models.ClsWW_EntrustProcessReportBillSub ReportSub = new Models.ClsWW_EntrustProcessReportBillSub(); | 
|                     //工序汇报单主表保存 | 
|                     ReportMain.HBillType = "3742"; | 
|                     ReportMain.HBillNo = ItemView.HBillNo; | 
|                     ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     ReportMain.HDate = DateTime.Now; | 
|                     ReportMain.HMaker = ""; | 
|                     ReportMain.HCloseType = false; | 
|                     ReportMain.HPrintQty = 0; | 
|                     ReportMain.HMainSourceBillType = "3740"; | 
|                     ReportMain.HMainSourceInterID = 0; | 
|                     ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo; | 
|                     ReportMain.HInterID = 0; | 
|                     ReportMain.HPeriod = 1; | 
|                     ReportMain.HBillSubType = "3742"; | 
|                     ReportMain.HBillStatus = 0; | 
|                     ReportMain.HCheckItemNowID = 0; | 
|                     ReportMain.HCheckItemNextID = 0; | 
|                     ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID); | 
|                     ReportMain.HExplanation = ""; | 
|                     ReportMain.HInnerBillNo = ""; | 
|                     ReportMain.HSupID = Convert.ToInt32(ItemView.HSupID); | 
|   | 
|   | 
|                     //保存到汇报单主表 | 
|                     ReportModel.omodel = ReportMain; | 
|   | 
|   | 
|                     ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID); | 
|                     ReportSub.HICMOBillNo = ""; | 
|                     ReportSub.HICMOInterID = 0; | 
|                     ReportSub.HEntryID = i; | 
|                     ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     ReportSub.HRemark = ""; | 
|                     ReportSub.HCloseMan = ""; | 
|                     ReportSub.HCloseType = false; | 
|                     ReportSub.HSourceBillType = "3740"; | 
|                     ReportSub.HQty = Convert.ToDecimal(ItemView.HQty); | 
|                     ReportSub.HProcID = Convert.ToInt32(ItemView.HProcID); | 
|                     ReportSub.HTimes = 0; | 
|                     ReportSub.HSeOrderInterID = 0; | 
|                     ReportSub.HSeOrderEntryID = 0; | 
|                     ReportSub.HSeOrderBillNo = ""; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceInterID = 0; | 
|                     ReportSub.HSourceBillNo = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HCheckQty = 0; | 
|                     ReportSub.HBadCount = 0; | 
|                     ReportSub.HWasterQty = 0; | 
|                     ReportSub.HWasterQty2 = 0; | 
|                     ReportSub.HPrice = 0; | 
|                     ReportSub.HMoney = 0; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanEntryID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceEntryID = 0; | 
|                     ReportSub.HSourceBillType = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HBadPrirce = 0; | 
|                     ReportSub.HBadMoney = 0; | 
|                     ReportSub.HWasterPrice = 0; | 
|                     ReportSub.HWasterMoney = 0; | 
|                     ReportSub.HQualityRate = 0; | 
|                     ReportSub.HUsingQty = 0; | 
|                     ReportSub.HSelfBadCount = 0; | 
|                     ReportSub.HPreBadCount = 0; | 
|                     ReportSub.HPayMentQty = 0; | 
|                     ReportSub.HPackType = ""; | 
|                     ReportSub.HCheckEmpID = 0; | 
|                     ReportSub.HWeight = 0; | 
|                     ReportSub.HBatchNo = ""; | 
|   | 
|                     //保存到委外汇报单子表 | 
|                     ReportModel.DetailColl.Add(ReportSub); | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 保存委外转出单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWW_EntrustProcessSendOutBill")] | 
|         [HttpPost] | 
|         public object SaveWW_EntrustProcessSendOutBill([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string user = sArray[1].ToString();//用户名 | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 //判断是否有编辑权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessSendOutBill_Edit", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无权限编辑!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 WebAPI.DLL.ClsWW_EntrustProcessSendOutBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill(); | 
|                 List<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", ""); | 
|                 lsmain = oListModels.getObjectByJson_WW_EntrustProcessSendOutBillMain(msg2); | 
|                 foreach (WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DateTime.Now; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|                     Sendwork.omodel = oItem; | 
|   | 
|   | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 List<WebAPI.Models.WW_EntrustProcSendWorkViewModel> ls = new List<WebAPI.Models.WW_EntrustProcSendWorkViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustProcessSendOutBillSub> lss = new List<Models.ClsWW_EntrustProcessSendOutBillSub>(); | 
|                 foreach (WebAPI.Models.WW_EntrustProcSendWorkViewModel oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Models.ClsWW_EntrustProcessSendOutBillSub sendworksub = new Models.ClsWW_EntrustProcessSendOutBillSub(); | 
|                     sendworksub.HProcID = 0;//--工序ID | 
|                     sendworksub.HSourceInterID = (long)oItemSub.hmainid;//源单id | 
|                     sendworksub.HSourceEntryID = (long)oItemSub.hsubid; //--源单子ID | 
|                     sendworksub.HSourceBillNo = oItemSub.单据号; //--源单单号 | 
|                     sendworksub.HSourceBillType = oItemSub.HBillType; //--源单类型 | 
|                     sendworksub.HQty = (decimal)oItemSub.数量; //--数量 | 
|                     sendworksub.HICMOBillNo = "";  //--任务单号 | 
|                     sendworksub.HSeOrderBillNo = ""; //--销售订单号 | 
|                     sendworksub.HSeOrderEntryID = 0; //--销售子ID | 
|                     sendworksub.HSeOrderInterID = 0; //--销售订单主ID | 
|                     if (oItemSub.数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.数量)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行委外汇报数量不能大于委外派工单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|   | 
|                     sendworksub.HEntryID = i; | 
|                     sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     sendworksub.HRemark = ""; | 
|                     sendworksub.HCloseMan = ""; | 
|                     sendworksub.HCloseType = false; | 
|                     lss.Add(sendworksub);//先把数据存放到派工单子表集合里 | 
|   | 
|   | 
|                 } | 
|                 if (lss.Count > 0) | 
|                 { | 
|                     //然后再循环保存到派工单子表的集合里 | 
|                     foreach (Models.ClsWW_EntrustProcessSendOutBillSub Itemsendwork in lss) | 
|                     { | 
|                         Sendwork.DetailColl.Add(Itemsendwork); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lss集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (Sendwork.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|         /// <summary> | 
|         /// PDA委外工序转出单保存 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWWSendOutBill")] | 
|         [HttpPost] | 
|         public object SaveWWSendOutBill([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             ListModels oListModels = new ListModels(); | 
|             try | 
|             { | 
|                 WebAPI.DLL.ClsWW_EntrustProcessSendOutBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill(); | 
|                 List<WebAPI.Models.WWSendOutBillViewModel> ls = new List<WebAPI.Models.WWSendOutBillViewModel>(); | 
|                 ls = oListModels.getObjectByJson_WWSendOutBill(msg1); | 
|                 int i = 0; | 
|   | 
|                 foreach (Models.WWSendOutBillViewModel ItemView in ls) | 
|                 { | 
|                     i++; | 
|                     Models.ClsWW_EntrustProcessSendOutBillMain ReportMain = new Models.ClsWW_EntrustProcessSendOutBillMain(); | 
|                     Models.ClsWW_EntrustProcessSendOutBillSub ReportSub = new Models.ClsWW_EntrustProcessSendOutBillSub(); | 
|                     //工序转出单主表保存 | 
|                     ReportMain.HBillType = "3741"; | 
|                     ReportMain.HBillNo = ItemView.HBillNo; | 
|                     ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     ReportMain.HDate = DateTime.Now; | 
|                     ReportMain.HMaker = ""; | 
|                     ReportMain.HCloseType = false; | 
|                     ReportMain.HPrintQty = 0; | 
|                     ReportMain.HMainSourceBillType = "3740"; | 
|                     ReportMain.HMainSourceInterID = 0; | 
|                     ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo; | 
|                     ReportMain.HInterID = 0; | 
|                     ReportMain.HPeriod = 1; | 
|                     ReportMain.HBillSubType = "3741"; | 
|                     ReportMain.HBillStatus = 0; | 
|                     ReportMain.HCheckItemNowID = 0; | 
|                     ReportMain.HCheckItemNextID = 0; | 
|                     ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID); | 
|                     ReportMain.HExplanation = ""; | 
|                     ReportMain.HInnerBillNo = ""; | 
|                     ReportMain.HSupID = Convert.ToInt32(ItemView.HSupID); | 
|   | 
|   | 
|                     //保存到转出单主表 | 
|                     ReportModel.omodel = ReportMain; | 
|   | 
|   | 
|                     ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID); | 
|                     ReportSub.HICMOBillNo = ""; | 
|                     ReportSub.HICMOInterID = 0; | 
|                     ReportSub.HEntryID = i; | 
|                     ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     ReportSub.HRemark = ""; | 
|                     ReportSub.HCloseMan = ""; | 
|                     ReportSub.HCloseType = false; | 
|                     ReportSub.HSourceBillType = "3740"; | 
|                     ReportSub.HQty = Convert.ToDecimal(ItemView.HQty); | 
|                     ReportSub.HProcID = Convert.ToInt32(ItemView.HProcID); | 
|                     ReportSub.HSeOrderInterID = 0; | 
|                     ReportSub.HSeOrderEntryID = 0; | 
|                     ReportSub.HSeOrderBillNo = ""; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceInterID = 0; | 
|                     ReportSub.HSourceBillNo = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HPrice = 0; | 
|                     ReportSub.HMoney = 0; | 
|                     ReportSub.HProcPlanInterID = 0; | 
|                     ReportSub.HProcPlanEntryID = 0; | 
|                     ReportSub.HProcPlanBillNo = ""; | 
|                     ReportSub.HSourceEntryID = 0; | 
|                     ReportSub.HSourceBillType = ""; | 
|                     ReportSub.HRelationQty = 0; | 
|                     ReportSub.HRelationMoney = 0; | 
|                     ReportSub.HPackType = ""; | 
|                     ReportSub.HBatchNo = ""; | 
|   | 
|                     //保存到委外转出单子表 | 
|                     ReportModel.DetailColl.Add(ReportSub); | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|   | 
|         /// <summary> | 
|         /// 保存委外工单信息 | 
|         /// </summary> | 
|         /// <param name="msg"></param> | 
|         /// <returns></returns> | 
|         [Route("SaveWWWorkOrder")] | 
|         [HttpPost] | 
|         public object SaveWWWorkOrder([FromBody] JObject msg) | 
|         { | 
|             var _value = msg["msg"].ToString(); | 
|             string msg1 = _value.ToString(); | 
|             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|             string msg2 = sArray[0].ToString(); | 
|             string msg3 = sArray[1].ToString(); | 
|   | 
|             string UserName = ""; | 
|             ListModels oListModels = new ListModels(); | 
|   | 
|             try | 
|             { | 
|                 WebAPI.DLL.ClsWW_EntrustWorkOrderBill WorkOrder = new WebAPI.DLL.ClsWW_EntrustWorkOrderBill(); | 
|                 List<Models.ClsWW_EntrustWorkOrderBillMain> lsmain = new List<Models.ClsWW_EntrustWorkOrderBillMain>(); | 
|                 msg2 = msg2.Replace("\\", ""); | 
|                 msg2 = msg2.Replace("\n", ""); | 
|                 lsmain = oListModels.getObjectByJson_WorkOrderMain(msg2); | 
|                 foreach (Models.ClsWW_EntrustWorkOrderBillMain oItem in lsmain) | 
|                 { | 
|                     UserName = oItem.HMaker; | 
|                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); | 
|                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); | 
|                     oItem.HDate = DateTime.Now; | 
|                     oItem.HMainSourceInterID = oItem.HInterID; | 
|                     oItem.HInterID = 0; | 
|   | 
|   | 
|   | 
|                     WorkOrder.omodel = oItem; | 
|   | 
|   | 
|                 } | 
|   | 
|                 //表体数据 | 
|                 //按 },{来拆分数组 //去掉【和】 | 
|                 msg3 = msg3.Substring(1, msg3.Length - 2); | 
|                 msg3 = msg3.Replace("\\", ""); | 
|                 msg3 = msg3.Replace("\n", "");  //\n | 
|                 List<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>(); | 
|                 ls = oListModels.getObjectByJson_SendWorkSub(msg3); | 
|                 int i = 0; | 
|                 List<Models.ClsWW_EntrustWorkOrderBillSub> lss = new List<Models.ClsWW_EntrustWorkOrderBillSub>(); | 
|                 foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls) | 
|                 { | 
|   | 
|                     i++; | 
|                     Models.ClsWW_EntrustWorkOrderBillSub WorkOrdersub = new Models.ClsWW_EntrustWorkOrderBillSub(); | 
|                     WorkOrdersub.HProcID = oItemSub.hprocid.Value;//--工序ID | 
|                     WorkOrdersub.HSourceInterID = oItemSub.hmainid.Value; //--源单id | 
|                     WorkOrdersub.HSourceEntryID = oItemSub.hsubid.Value; //--源单子ID | 
|                     WorkOrdersub.HSourceBillNo = oItemSub.单据号; //--源单单号 | 
|                     WorkOrdersub.HSourceBillType = oItemSub.HBillType; //--源单类型 | 
|                     WorkOrdersub.HRelationQty = 0;  //--关联数量 | 
|                     WorkOrdersub.HRelationMoney = 0; //--关联金额 | 
|                     WorkOrdersub.HOrderBillNo = ""; //--销售订单号 | 
|                     WorkOrdersub.HMaterLenModel = ""; //--材质 | 
|                     WorkOrdersub.HMaterQty = 0; //--材质数量 | 
|                     WorkOrdersub.HMaterID = oItemSub.HMaterID.Value; //--物料 | 
|                     WorkOrdersub.HQty = (double)oItemSub.计划数量; //--订单数量 | 
|                     WorkOrdersub.HEntrustType = "3739"; //--委外类型 | 
|                     WorkOrdersub.HNextProcName = ""; //--下道工序 | 
|                     WorkOrdersub.HPrice = 0; //加工费 | 
|                     WorkOrdersub.HOutQty = 0;  //--关联发出数量 | 
|                     WorkOrdersub.HInQty = 0; //--关联接收数量 | 
|                     WorkOrdersub.HBackSupDate = DateTime.Now; //--实际交货日期 | 
|                     WorkOrdersub.HInDate = DateTime.Now; //--交货日期  | 
|                     WorkOrdersub.HWorkProcFlow = ""; //--工艺流 | 
|                     WorkOrdersub.HLeftMater = ""; //--余料情况 | 
|   | 
|                     if (oItemSub.计划数量 <= 0) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|                     if (Convert.ToInt32(WorkOrdersub.HQty) > Convert.ToInt32(oItemSub.计划数量)) | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "保存失败!第" + i.ToString() + "行派工数量不能大于计划单数量!"; | 
|                         objJsonResult.data = 1; | 
|                         return objJsonResult; | 
|                     } | 
|   | 
|                     WorkOrdersub.HEntryID = i; | 
|                     WorkOrdersub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); | 
|                     WorkOrdersub.HRemark = ""; | 
|                     WorkOrdersub.HCloseMan = ""; | 
|                     WorkOrdersub.HCloseType = false; | 
|                     WorkOrdersub.HSourceBillType = oItemSub.HBillType; | 
|                     lss.Add(WorkOrdersub);//先把数据存放到委外工单子表集合里 | 
|   | 
|   | 
|                 } | 
|                 if (lss.Count > 0) | 
|                 { | 
|                     //然后再循环保存到委外工单子表的集合里 | 
|                     foreach (Models.ClsWW_EntrustWorkOrderBillSub Itemsendwork in lss) | 
|                     { | 
|                         WorkOrder.DetailColl.Add(Itemsendwork); | 
|                     } | 
|                 } | 
|                 else | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "保存失败!lss集合小于0"; | 
|                     objJsonResult.data = 1; | 
|                     return objJsonResult; | 
|                 } | 
|                 //保存 | 
|                 //保存完毕后处理 | 
|                 bool bResult; | 
|                 if (WorkOrder.omodel.HInterID == 0) | 
|                 { | 
|                     // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                     bResult = WorkOrder.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 else | 
|                 { | 
|                     bResult = WorkOrder.ModifyBill(WorkOrder.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); | 
|                 } | 
|                 if (bResult) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     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; | 
|             } | 
|         } | 
|   | 
|   | 
|   | 
|     } | 
| } |