| | |
| | | |
| | | #region 单据缓存列表 *整理后 |
| | | |
| | | #region 金蝶云单据查询 |
| | | [WebMethod] |
| | | public bool GetBillQuery_WMS(Int64 HInterID, string HBillNo, string HBillType, string HMaker, string sCloudMode, string sERPMode, Int64 sHType, ref string sErrMsg) |
| | | { |
| | | //sCloudMode:系统参数 是否为私有云模式(N为公有云模式,Y为私有云模式); |
| | | //sERPMode:系统参数 库存控制-WMS库存控制ERP模式 (WISE、CLOUD、MES); |
| | | //sHType:值 1 对应缓存列表删除;值 2 对应已上传撤销; |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); |
| | | |
| | | //公有云模式 |
| | | if (sCloudMode == "N") |
| | | { |
| | | string sFormId = ""; //业务对象表单Id |
| | | |
| | | //生产汇报单 |
| | | if (HBillType == "3711") |
| | | { |
| | | sFormId = "PRD_MORPT"; |
| | | } |
| | | //采购入库单、委外入库单 |
| | | else if (HBillType == "1201" || HBillType == "1210") |
| | | { |
| | | sFormId = "STK_InStock"; |
| | | } |
| | | //生产入库单 |
| | | else if (HBillType == "1202") |
| | | { |
| | | sFormId = "PRD_INSTOCK"; |
| | | } |
| | | //其他入库单 |
| | | else if (HBillType == "1203") |
| | | { |
| | | sFormId = "STK_MISCELLANEOUS"; |
| | | } |
| | | //领料出库单 |
| | | else if (HBillType == "1204") |
| | | { |
| | | sFormId = "PRD_PickMtrl"; |
| | | } |
| | | //销售出库单 |
| | | else if (HBillType == "1205") |
| | | { |
| | | sFormId = "SAL_OUTSTOCK"; |
| | | } |
| | | //其他出库单 |
| | | else if (HBillType == "1206") |
| | | { |
| | | sFormId = "STK_MisDelivery"; |
| | | } |
| | | //委外出库单 |
| | | else if (HBillType == "1211") |
| | | { |
| | | sFormId = "SUB_PickMtrl"; |
| | | } |
| | | //生产补料单 |
| | | else if (HBillType == "1254") |
| | | { |
| | | sFormId = "PRD_FeedMtrl"; |
| | | } |
| | | //委外补料单 |
| | | else if (HBillType == "1255") |
| | | { |
| | | sFormId = "SUB_FEEDMTRL"; |
| | | } |
| | | //直接调拨单 |
| | | else if (HBillType == "1207") |
| | | { |
| | | sFormId = "STK_TransferDirect"; |
| | | } |
| | | //分步式调出单 |
| | | else if (HBillType == "1250") |
| | | { |
| | | sFormId = "STK_TRANSFEROUT"; |
| | | } |
| | | //分步式调入单 |
| | | else if (HBillType == "1251") |
| | | { |
| | | sFormId = "STK_TRANSFERIN"; |
| | | } |
| | | //采购退料单(采购入库单红字) |
| | | else if (HBillType == "1239") |
| | | { |
| | | sFormId = "PUR_MRB"; |
| | | } |
| | | //生产退库单(产品入库单红字) |
| | | else if (HBillType == "1245") |
| | | { |
| | | sFormId = "PRD_RetStock"; |
| | | } |
| | | //其他入库单(红字) |
| | | else if (HBillType == "1248") |
| | | { |
| | | sFormId = ""; |
| | | } |
| | | //委外退库单(委外入库单红字) |
| | | else if (HBillType == "1246") |
| | | { |
| | | sFormId = ""; |
| | | } |
| | | //生产退料单(生产领料单红字) |
| | | else if (HBillType == "1244") |
| | | { |
| | | sFormId = "PRD_ReturnMtrl"; |
| | | } |
| | | //销售退货单(销售出库单红字) |
| | | else if (HBillType == "1247") |
| | | { |
| | | sFormId = "SAL_RETURNSTOCK"; |
| | | } |
| | | //其他出库单(红字) |
| | | else if (HBillType == "1249") |
| | | { |
| | | sFormId = ""; |
| | | } |
| | | //委外退料单(委外出库单红字) |
| | | else if (HBillType == "1238") |
| | | { |
| | | sFormId = "SUB_RETURNMTRL"; |
| | | } |
| | | |
| | | //从配置文件获取 CLOUD网址、账套信息、登录用户、登录密码 |
| | | if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) |
| | | { |
| | | sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; |
| | | return false; |
| | | } |
| | | |
| | | //获取CLOUD账号密码 |
| | | string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; |
| | | string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; |
| | | string dbId = Pub_Class.ClsPub.sCLOUDAcc; |
| | | ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); |
| | | bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); |
| | | |
| | | if (bLogin) |
| | | { |
| | | //单据查询 |
| | | string sJson = "{\"FormId\":\"" + sFormId + "\"," + |
| | | "\"FieldKeys\":\"FBillNo\"," + |
| | | "\"FilterString\":\"FBillNo='" + HBillNo + "'\"," + // 过滤条件 |
| | | "\"OrderString\":\"\"," + // 排序条件 |
| | | "\"TopRowCount\":\"0\"," + // 最多允许查询的数量,0或者不要此属性表示不限制 |
| | | "\"StartRow\":\"0\"," + // 分页取数开始行索引,从0开始,例如每页10行数据,第2页开始是10,第3页开始是20 |
| | | "\"Limit\":\"0\"" + // 分页取数每页允许获取的数据,最大不能超过2000 |
| | | " }"; |
| | | var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery", |
| | | new object[] { sJson }); |
| | | var _saveObj = JArray.Parse(result); |
| | | |
| | | //判断返回的数组中有无数据,无数据代表没查询到对应单据 |
| | | if (_saveObj.Count == 0) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | //sHType = 1对应缓存列表删除 |
| | | if (sHType == 1) |
| | | { |
| | | //判断返回的数组数据中是否存在"false",存在代表递入的业务对象表单Id不正确 |
| | | if (_saveObj[0][0].ToString().Contains("false") == true) |
| | | { |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "数据存在异常,不允许删除!单据号:" + HBillNo + " 在金蝶云中已生成单据,请先在金蝶云里删除该单据,并在缓存列表的已上传界面撤销该单据,再对该单据进行编辑或删除操作!"; |
| | | return false; |
| | | } |
| | | } |
| | | //sHType = 2对应已上传撤销 |
| | | else |
| | | { |
| | | //判断返回的数组数据中是否存在"false",存在代表递入的业务对象表单Id不正确 |
| | | if (_saveObj[0][0].ToString().Contains("false") == true) |
| | | { |
| | | sErrMsg = "此模块暂不支持撤销功能!"; |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "撤销单据失败,单据号:" + HBillNo + ",金蝶云里未删除,不允许撤销!"; |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "默认金蝶云账号登录失败!"; |
| | | return false; |
| | | } |
| | | } |
| | | //私有云模式 |
| | | else |
| | | { |
| | | DataSet ds = oCn.RunProcReturn("exec h_p_WMS_BillQuery " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + sERPMode + "'," + sHType.ToString(), "h_p_WMS_BillQuery"); |
| | | if (ds == null || ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "单据查询发生错误!"; |
| | | return false; |
| | | } |
| | | else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1) |
| | | { |
| | | sErrMsg = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | //缓存列表界面,选择编辑时,判断所选单据是否存在已上传记录 |
| | | [WebMethod] |
| | | public bool TempList_Modify(Int64 sHInterID, string sHBillNo, string sHBillType, ref string sErrMsg) |