| | |
| | | /// <returns></returns> |
| | | public bool SaveICMOReportBill_ICMO_CLD(Model.ClsSc_ICMOReportBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) |
| | | { |
| | | string sRemark = ""; |
| | | //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码 |
| | | if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) |
| | | { |
| | |
| | | string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 |
| | | bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); |
| | | |
| | | sRemark = sRemark + " ;获取验证CLOUD账号密码" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | |
| | | try |
| | | { |
| | |
| | | ") "); |
| | | //更新关联数量 |
| | | oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToICMOReport_Add " + oMain.HInterID.ToString()); |
| | | |
| | | sRemark = sRemark + " ;生成出入库单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | |
| | | //根据TMP表 返回 信息 |
| | | DataSet Ds; |
| | |
| | | string sJson_End = " ] }}"; |
| | | string sJson = sJson_Main + sJson_Entry + sJson_End; |
| | | |
| | | sRemark = sRemark + " ;获取CLOUD单据API递入值" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | |
| | | //生成金蝶云单据 |
| | | if (bLogin) |
| | | { |
| | | var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", |
| | | new object[] { "PRD_MORPT", sJson }); |
| | | |
| | | sRemark = sRemark + " ;生成CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | |
| | | //生成单据后更新自定义字段 |
| | | oCn.RunProc("exec h_p_Sc_UpDateSelfFildICMOReport '" + oMain.HBillNo + "','" + sHSourceType + "'"); |
| | | |
| | | sRemark = sRemark + " ;生成单据后回填字段信息" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | |
| | | HReturn = result.ToString(); |
| | | |
| | |
| | | { |
| | | oCn.RunProc("exec h_p_WMS_UpdateSourceByBarCodeBill_ICMOReportBill '" + oMain.HBillNo + "'"); |
| | | } |
| | | LogService.Write("生成生产汇报单(源单:生产订单)成功!" + sJson); |
| | | sRemark = sRemark + sJson; |
| | | oCn.Commit(); |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogService.Write("生成回滚" + sRemark); |
| | | sErrMsg = "生成生产汇报单失败!" + e.Message; |
| | | oCn.RollBack(); |
| | | return false; |
| | |
| | | |
| | | if (HReturn.Contains("\"IsSuccess\":false") == true) |
| | | { |
| | | LogService.Write("审核单据失败" + sRemark); |
| | | sErrMsg = "生成生产汇报单成功,审核单据失败!" + HReturn; |
| | | oCn.RollBack(); |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | LogService.Write("生成并审核生产汇报单(源单:生产订单)成功!" + sRemark); |
| | | sErrMsg = "生成并审核生产汇报单成功!单据号为:" + oMain.HBillNo; |
| | | oCn.Commit(); |
| | | return true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LogService.Write("审核回滚" + sRemark); |
| | | sErrMsg = "审核生产汇报单失败!" + e.Message; |
| | | oCn.RollBack(); |
| | | return false; |
| | |
| | | } |
| | | else |
| | | { |
| | | LogService.Write("生成生产汇报单(源单:生产订单)成功!" + sRemark); |
| | | sErrMsg = "生成生产汇报单成功!单据号为:" + oMain.HBillNo; |
| | | return true; |
| | | } |
| | |
| | | Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); |
| | | Int64 sMulSourceFlag = 0; //多源单标志(0为非多源单模式,1为多源单模式) |
| | | |
| | | if (oSystemParameterMain.Kf_OtherInBill_MulSourceBill.ToUpper() == "Y") //系统参数 其他入库单-多源单模式 |
| | | if (oSystemParameterMain.Sc_ICMOReportBill_MulSourceBill.ToUpper() == "Y") //系统参数 生产汇报单-多源单模式 |
| | | { |
| | | sMulSourceFlag = 1; |
| | | } |
| | |
| | | string sOneScanCtl = "N"; //一次扫码控制('Y'为控制) |
| | | string sFIFOCtl = "N"; //先进先出控制('Y'为控制) |
| | | string sMulSourceCtl = "N"; //是否启用多源单扫码模式('Y'为启用) |
| | | int sWHSPCtl = 0; //界面仓库为空时,值变为1 |
| | | |
| | | //根据单据类型,获取对应单据系统参数值 |
| | | if (get_SystemParameter_BarCode(HBillType, oSystemParameterMain, ref sSourceBillCtl, ref sBatchNoCtl, ref sMultilineCtl, ref sMustQtyCtl, ref sMaterWHSPCtl, ref sSourceWHSPCtl, ref sOneScanCtl, ref sFIFOCtl, ref sMulSourceCtl, ref sErrMsg)) |
| | |
| | | if (oBar == null) |
| | | { |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | SourceFlag = true; |
| | | } |
| | | } |
| | | else |
| | |
| | | omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HMaterID"]); |
| | | omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSourceInterID"]); |
| | | omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(dsSource.Tables[0].Rows[0]["HSumQtyMust"]); //HSumQtyMust为源单相同物料剩余可扫数量 |
| | | omodel_View.HWHID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HWhID"]); |
| | | omodel_View.HSPID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSPID"]); |
| | | //获取仓库仓位信息 |
| | | if (HWhID == 0) |
| | | { |
| | | HWhID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HWhID"]); |
| | | HSPID = DBUtility.ClsPub.isLong(dsSource.Tables[0].Rows[0]["HSPID"]); |
| | | sWHSPCtl = 1; |
| | | } |
| | | HMaterNumber = DBUtility.ClsPub.isStrNull(dsSource.Tables[0].Rows[0]["HMaterNumber"]); |
| | | } |
| | | else |
| | |
| | | { |
| | | //根据仓库ID,判断是否启用仓位 |
| | | DataSet dsInWH = oCn.RunProcReturn(" select HSPFlag from Gy_Warehouse with(nolock) where HItemID= " + HWhID.ToString() + " and HUSEORGID= " + HStockOrgID.ToString(), "Gy_Warehouse"); |
| | | if (dsInWH == null || dsInWH.Tables[0].Rows.Count == 0) |
| | | |
| | | if (sWHSPCtl == 1) |
| | | { |
| | | sErrMsg = "所选仓库不属于当前登入组织!"; |
| | | return null; |
| | | if (dsInWH == null || dsInWH.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "源单或物料默认仓库维护信息错误,请重新维护正确仓库信息!"; |
| | | return null; |
| | | } |
| | | else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsInWH.Tables[0].Rows[0]["HSPFlag"]) == true) |
| | | { |
| | | sErrMsg = "源单或物料中所维护的仓库启用了仓位,但没有维护仓位信息,请先维护好仓位信息!"; |
| | | return null; |
| | | } |
| | | } |
| | | else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsInWH.Tables[0].Rows[0]["HSPFlag"]) == true) |
| | | else |
| | | { |
| | | sErrMsg = "所选仓库启用了仓位,仓位不允许为空,请选择对应仓位!"; |
| | | return null; |
| | | if (dsInWH == null || dsInWH.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "所选仓库不属于当前登入组织!"; |
| | | return null; |
| | | } |
| | | else if (HSPID == 0 && DBUtility.ClsPub.isBool(dsInWH.Tables[0].Rows[0]["HSPFlag"]) == true) |
| | | { |
| | | sErrMsg = "所选仓库启用了仓位,仓位不允许为空,请选择对应仓位!"; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | break; |
| | | } |
| | | } |
| | | oBar.HBarType = "物料条码"; |
| | | return oBar; |
| | | } |
| | | |