| New file |
| | |
| | | { |
| | | "ExpandedNodes": [ |
| | | "", |
| | | "\\zymes", |
| | | "\\zymes\\OperationService" |
| | | ], |
| | | "SelectedNode": "\\zymes\\OperationService\\zymes_RealessPurPoorder.cs", |
| | | "PreviewInSolutionExplorer": false |
| | | } |
| | |
| | | ,FPRDORGID HPRDORGID,FENTRUSTORGID HENTRUSTORGID,FOWNERID HOWNERID,FOWNERTYPEID HOWNERTYPEID |
| | | ,0 HCusID,isnull(a.FWORKSHOPID,0) HDeptID,'CLOUD导入' HRemark,a.FCREATORID HMaker,getdate() HMakeDate,a.FAPPROVERID HChecker,a.FAPPROVEDATE HCheckDate,'' HMTONo,a.FID HERPInterID,a.FBILLTYPE HERPBillType |
| | | ,case when a.FISREWORK=1 then '返工' else '普通' end HBillSubType |
| | | ,o.FNUMBER as HOrganNumber,a.FComboXSLX HComboXSLX |
| | | ,o.FNUMBER as HOrganNumber,'' HComboXSLX |
| | | from T_PRD_MO a with(nolock) |
| | | left join T_ORG_Organizations o with(nolock) on a.FPRDORGID=o.FORGID |
| | | Where a.FID={ids} |
| | |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | DataRow dr = dt.Rows[0]; |
| | | List<JObject> models = new List<JObject>(); |
| | | foreach (DataRow dr in dt.Rows) |
| | | { |
| | | JObject model = new JObject(); |
| | | foreach (DataColumn column in dt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | models.Add(model); |
| | | } |
| | | |
| | | // 如果需要将所有model放入一个JSON数组中 |
| | | JObject _jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | ["model"] = new JArray(models) |
| | | }; |
| | | |
| | | LogService.Write("客户物料对应表同步插件,JSON拼接完成:" + model); |
| | | LogService.Write("客户物料对应表同步插件,JSON拼接完成:" + models); |
| | | |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | |
| | | ,1 as HLevel,1 as HEndFlag,case when a.FFORBIDSTATUS='A' then 0 else 1 end as HStopflag,'CLD-ERP导入' as HRemark |
| | | ,'已使用' as HUseFlag,getdate() as HMakeTime,FCREATEORGID as HCREATEORGID,FUSEORGID as HUSEORGID,o.FNUMBER as HOrganNumber |
| | | from T_BD_CUSTOMER a with(nolock) |
| | | inner join T_BD_CUSTOMER_L l with(nolock) on a.FCUSTID=l.FCUSTID |
| | | inner join T_BD_CUSTOMER_L l with(nolock) on a.FCUSTID=l.FCUSTID and FLOCALEID=2052 |
| | | left join T_ORG_Organizations o with(nolock) on a.FUSEORGID=o.FORGID |
| | | Where a.FCUSTID = {id} |
| | | |
| | |
| | | --inner join T_BD_CUSTLOCATION_L l with(nolock) on a.FID=l.FID and FLOCALEID=2052 |
| | | Where a.FCUSTID= {id} |
| | | |
| | | select a.FCONTACTID as HItemID, a.FCUSTID as HCUSTID, a.FNUMBER as HNumber, l.FNAME as HName, a.FNUMBER as HShortNumber, 0 as HParentID, |
| | | select a.FCONTACTID as HItemID, b.FCUSTID as HCUSTID, a.FNUMBER as HNumber, l.FNAME as HName, a.FNUMBER as HShortNumber, 0 as HParentID, |
| | | 1 as HLevel, 'true' as HEndFlag, case when a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag, |
| | | 'CLD-ERP导入' as HRemark, '' as HHelpCode, '未检测' as HUseFlag, a.FCREATEDATE as HMakeTime, a.FCREATORID as HMakeEmp, |
| | | '' as HCheckEmp, getdate() as HCheckTime, a.FMODIFIERID as HModifyEmp, a.FMODIFYDATE as HModifyTime, '' as HStopEmp, |
| | | getdate() as HStopTime, 0 as HUSEORGID, 0 as HCREATEORGID |
| | | from T_BD_COMMONCONTACT a with(nolock) |
| | | inner join T_BD_COMMONCONTACT_L l with(nolock) on a.FCONTACTID = l.FCONTACTID and l.FLOCALEID = 2052 |
| | | where a.FCUSTID = {id} |
| | | inner join T_BD_CUSTOMER b on a.FCUSTID=b.FMASTERID |
| | | where b.FCUSTID = {id} |
| | | "; |
| | | |
| | | LogService.Write("客户同步sql:" + sql); |
| | | |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | DataTable maindt = ds.Tables[0];//客户信息 |
| | | DataTable subdt = ds.Tables[1];//客户_交货地点 |
| | |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | LogService.Write("客户同步资料:" + model); |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_Customer/SaveGy_CustomerListApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody); |
| | |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var forgName = Context.CurrentOrganizationInfo.Name; |
| | | //if (!forgName.Contains("杭州斯莫尔磁性材料有限公司")) |
| | | // continue; |
| | | //var sql = $"exec zymes_RealessMatePriceSup {billObj["Id"]} "; |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | select a.FID as HItemID,0 as HInterID,a.FNUMBER as HNumber,0 as HEntryID,0 as HMaterID,0 as HRelationID |
| | | ,0 as HUnitID,0 as HBeginQty,0 as HEndQty,0 as HCurID,'' as HType,0 as HPrice,a.FEFFECTIVEDATE as HBeginDate |
| | | ,a.FEXPIRYDATE as HEndDate,0 as HUsed,'' as HRemark,'' as HMaker,a.FCREATEDATE as HMakeDate |
| | | select a.FID as HItemID,0 as HInterID,a.FNUMBER as HNumber,b.FENTRYID as HEntryID,b.FMATERIALID as HMaterID,a.FSUPPLIERMASTERID as HRelationID |
| | | ,b.FUNITID as HUnitID,0 as HBeginQty,0 as HEndQty,a.FCURRENCYID as HCurID,a.FPRICEOBJECT as HType,b.FPRICE as HPrice,a.FEFFECTIVEDATE as HBeginDate |
| | | ,a.FEXPIRYDATE as HEndDate,0 as HUsed,'CLD-ERP导入' as HRemark,'' as HMaker,a.FCREATEDATE as HMakeDate |
| | | ,o.FNUMBER as HOrganNumber |
| | | from T_PUR_PRICELIST a with(nolock) |
| | | inner join T_PUR_PRICELIST_L l with(nolock) on a.FID=l.FID and FLOCALEID=2052 |
| | | inner join T_PUR_PRICELISTENTRY b with(nolock) on a.FID=b.FID |
| | | left join T_ORG_Organizations o with(nolock) on a.FUSEORGID=o.FORGID |
| | | Where a.FID={id} |
| | | "; |
| | | |
| | | LogService.Write("采购价格:" + sql); |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | { |
| | |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | LogService.Write("采购价格:" + model); |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_MatePriceSup/SaveGy_MatePriceSupListApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[组织机构-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessORGANIZATIONS : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | //e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | select a.FORGID HItemID,a.FNUMBER HNumber,l.FNAME Hname,a.FParentid HParentID,a.FNUMBER HOrganNumber |
| | | ,case when a.FFORBIDSTATUS='A' then 0 else 1 end HStopflag,'CLD导入' HRemark,getdate() HMakeTime |
| | | from T_ORG_ORGANIZATIONS a with(nolock) |
| | | inner join T_ORG_ORGANIZATIONS_L l with(nolock) on a.FORGID=l.FORGID |
| | | Where l.FLOCALEID=2052 and isnull(l.FNAME,'') <> '' and a.FORGID={id} |
| | | "; |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("组织机构同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取组织机构的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | DataRow dr = dt.Rows[0]; |
| | | JObject model = new JObject(); |
| | | foreach (DataColumn column in dt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | JObject _jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Xt_ORGANIZATIONS/SaveXt_ORGANIZATIONSAPI", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("组织机构同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("组织机构同步异常,POST," + "Xt_ORGANIZATIONS/SaveXt_ORGANIZATIONSAPI"); |
| | | LogService.Write("组织机构同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot)); |
| | | } |
| | | }; |
| | | |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var forgName = Context.CurrentOrganizationInfo.Name; |
| | | //if (!forgName.Contains("杭州斯莫尔磁性材料有限公司")) |
| | | // continue; |
| | | //var sql = $"exec zymes_RealessOperator {billObj["Id"]} "; |
| | | var id = billObj["Id"].ToString(); |
| | | string sql =string.Empty; |
| | | sql = $@" |
| | |
| | | inner join T_BD_OPERATORENTRY_L l with(nolock) on a.FENTRYID=l.FENTRYID and FLOCALEID=2052 |
| | | left join T_BD_STAFF st on a.FSTAFFID = st.FSTAFFID |
| | | left join T_ORG_Organizations o with(nolock) on a.FBIZORGID=o.FORGID |
| | | Where a.FOPERATORID={id} |
| | | Where a.FOPERATORID={id} and o.FNUMBER=3 |
| | | "; |
| | | LogService.Write("业务员同步:" + sql); |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | { |
| | |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | LogService.Write("业务员同步" + model); |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_Operator/SaveGy_OperatorListApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[生产入库单-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessPrdInStock : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | // e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | SELECT |
| | | a.FID as HInterID,a.FEntryID as HEntryID,isnull(a.FMTONO,'') as HMTONo, |
| | | 0 as HPlanMode,'CLD导入' as HRemark,'' as HExpressNumber,isnull(a.FMATERIALID,0) as HMaterID, |
| | | isnull(a.FUNITID,0) as HUnitID,isnull(a.FLOT_TEXT,'') as HBatchNo, |
| | | isnull(a.FAUXPROPID,0) as HPropertyID,isnull(a.FSTOCKID,0) as HWHID, |
| | | isnull(a.FSTOCKLOCID,0) as HSPID,0 as HSCWHID,0 as HSCSPID, |
| | | a.FMUSTQTY as HQtyMust,a.FREALQTY as HQty,isnull(c.FPRICE,0) as HPrice, |
| | | isnull(a.FAMOUNT,0) as HMoney,0 as HTaxPrice, |
| | | 0 as HTaxRate,isnull(a.FAMOUNT,0) as HTaxMoney, |
| | | 0 as HRelationQty,0 as HRelationMoney, |
| | | 0 as HSourceInterID,0 as HSourceEntryID,isnull(a.FSRCBILLNO,'') as HSourceBillNo, |
| | | '' as HSourceBillType,a.FID as HERPInterID,a.FEntryID as HERPEntryID, |
| | | '' as HERPBillNo_Sub,0 as HPOOrderInterID,0 as HPOOrderEntryID, |
| | | '' as HPOOrderBillNo,0 as HSeOrderInterID, |
| | | 0 as HSeOrderEntryID,'' as HSeOrderBillNo,0 as HICMOInterID, |
| | | 0 as HICMOEntryID,'' as HICMOBillNo,0 as HWWOrderInterID, |
| | | 0 as HWWOrderEntryID,'' as HWWOrderBillNo,isnull(a.FPRODUCEDATE, '') as HProduceDate, |
| | | a.FEXPIRYDATE as HExpiryDate,isnull(a.FOWNERID,0) as HOWNERID,isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID, |
| | | isnull(a.FKEEPERID,0) as HKEEPERID,isnull(a.FKEEPERTYPEID,'') as HKEEPERTYPEID, |
| | | '' as HSUPPLIERLOT,'' as HREQTRACENO, |
| | | isnull(a.FPROJECTNO,'') as HPROJECTNO,'' as HGIVEAWAY, |
| | | 0 as HSYSPRICE,0 as HPRICECOEFFICIENT, |
| | | 0 as HDISCOUNTRATE,0 as HBASEUNITPRICE, |
| | | 0 as HTAXCOMBINATION,0 as HPRICELISTENTRY, |
| | | 0 as HCOSTPRICE,isnull(a.FSEQ,0) as HSEQ, |
| | | '' as HROWTYPE,0 as HPARENTMATID, |
| | | '' as HPRILSTENTRYID,0 as HPURBASENUM,0 as HSTOCKBASEDEN, |
| | | isnull(a.FBFLOWID,'') as HBFLOWID,isnull(a.FSTOCKSTATUSID,0) as HSTOCKSTATUSID, |
| | | 0 as HPRICEUNITID,isnull(a.FBASEUNITID,0) as HBASEUNITID, |
| | | isnull(a.FSNUNITID,0) as HSNUNITID, 0 as HREMAININSTOCKUNITID, |
| | | 0 as HEXTAUXUNITID,0 as HTAXRATEID, |
| | | 0 as HTAXRATE_TAX,0 as HTAXAMOUNT, |
| | | 0 as HCOSTPERCENT,0 as HCOSTAMOUNT, |
| | | '' as HVAT,'' as HSELLERWITHHOLDING, |
| | | '' as HBUYERWITHHOLDING |
| | | from T_PRD_INSTOCKENTRY a with(nolock) |
| | | left join T_PRD_INSTOCKENTRY_A b with(nolock) on a.FENTRYID = b.FENTRYID and a.FID = b.FID |
| | | left join T_PRD_INSTOCKENTRY_C c with(nolock) on a.FENTRYID = c.FENTRYID |
| | | Where a.FID = {id}; |
| | | select |
| | | a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod, |
| | | isnull(a.FBILLNO,'') as HBillNo,'1202' as HBillType,'1202' as HBillSubType, |
| | | '' as HMainSourceBillType,a.FDATE as HDate,0 as HSupID, |
| | | 0 as HWHID,0 as HSCWHID,0 as HEmpID,0 as HManagerID,0 as HSecManagerID, |
| | | isnull(FSTOCKERID,0) as HKeeperID,0 as HDeptID,0 as HCurID, |
| | | '' as HSeOrderBillNo,'CLD导入' as HExplanation,'' as HRemark, |
| | | '' as HInnerBillNo,0 as HRedBlueFlag,case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end as HBillStatus, |
| | | isnull(us1.FNAME,'') as HMaker,a.FCREATEDATE as HMakeDate,isnull(us2.FNAME,'') as HChecker, |
| | | a.FAPPROVEDATE as HCheckDate,isnull(us3.FNAME,'') as HUpDater,a.FMODIFYDATE as HUpDateDate, |
| | | isnull(us4.FNAME,'') as HDeleteMan,a.FCANCELDATE as HDeleteDate,isnull(a.FOWNERID,0) as HOWNERID, |
| | | isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID,a.FID as HERPInterID,'' as HERPBillType, |
| | | isnull(a.FBILLNO,'') as HERPBillNo,0 as HPRDORGID, |
| | | isnull(a.FSTOCKORGID,0) as HSTOCKORGID,0 as HSTOCKERGROUPID, |
| | | 0 as HPURCHASERGROUPID,0 as HDEMANDORGID, |
| | | 0 as HCORRESPONDORGID, 0 as HPROVIDERCONTACTID, |
| | | 0 as HSUPPLYID,0 as HSETTLEID, |
| | | 0 as HCHARGEID,0 as HPURCHASEDEPTID, |
| | | '' as HBUSINESSTYPE,'' as HSUPPLYADDRESS, |
| | | 0 as HPAYORGID,0 as HSETTLEORGID, |
| | | 0 as HSETTLETYPEID,0 as HPAYCONDITIONID, |
| | | 0 as HSETTLECURRID,0 as HEXCHANGETYPEID, |
| | | 0 as HDISCOUNTLISTID,0 as HEXCHANGERATE, |
| | | '' as HPRICETIMEPOINT,0 as HLOCALCURRID, |
| | | '' as HISINCLUDEDTAX,'' as HISPRICEEXCLUDETAX |
| | | ,o.FNUMBER as HOrganNumber |
| | | from T_PRD_INSTOCK a with(nolock) |
| | | left join T_SEC_user us1 with(nolock) on a.FCREATORID=us1.FUSERID |
| | | left join T_SEC_user us2 with(nolock) on a.FAPPROVERID=us2.FUSERID |
| | | left join T_SEC_user us3 with(nolock) on a.FMODIFIERID=us3.FUSERID |
| | | left join T_SEC_user us4 with(nolock) on a.FCANCELER=us4.FUSERID |
| | | left join T_ORG_Organizations o with(nolock) on a.FSTOCKORGID=o.FORGID |
| | | Where a.FID = {id}; |
| | | "; |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | DataTable maindt = ds.Tables[1]; |
| | | DataTable subdt = ds.Tables[0]; |
| | | if (maindt.Rows.Count == 0 || subdt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("生产入库单同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取创建生产领料单的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, maindt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | JArray array = new JArray();//明细表 |
| | | foreach (DataRow dr in subdt.Rows) |
| | | { |
| | | JObject fentrymodel = new JObject(); |
| | | foreach (DataColumn column in subdt.Columns) |
| | | { |
| | | fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | array.Add(fentrymodel); |
| | | } |
| | | JObject model = new JObject();//主表 |
| | | DataRow maindr = maindt.Rows[0]; |
| | | foreach (DataColumn column in maindt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, maindr[column.ColumnName].ToString()); |
| | | } |
| | | model.Add("HENTRY", array); |
| | | JObject jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | | //新增 |
| | | var requestPost = new RestRequest("Kf_ProductInBill/Kf_ProductInBillSaveApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("生产入库同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("生产入库同步异常,POST," + "Kf_ProductInBill/Kf_ProductInBillSaveApi"); |
| | | LogService.Write("生产入库同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot)); |
| | | } |
| | | }; |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | ,FPRDORGID HPRDORGID,FENTRUSTORGID HENTRUSTORGID,FOWNERID HOWNERID,FOWNERTYPEID HOWNERTYPEID |
| | | ,0 HCusID,isnull(a.FWORKSHOPID,0) HDeptID,'CLOUD导入' HRemark,a.FCREATORID HMaker,getdate() HMakeDate,a.FAPPROVERID HChecker,a.FAPPROVEDATE HCheckDate,'' HMTONo,a.FID HERPInterID,a.FBILLTYPE HERPBillType |
| | | ,case when a.FISREWORK=1 then '返工' else '普通' end HBillSubType,o.FNUMBER as HOrganNumber |
| | | ,a.FComboXSLX HComboXSLX |
| | | ,'' HComboXSLX |
| | | from T_PRD_MO a with(nolock) |
| | | left join T_ORG_Organizations o with(nolock) on a.FPRDORGID=o.FORGID |
| | | Where a.FID={id} |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[生产领料单-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessPrdReceive : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | // e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | select |
| | | a.FID as HInterID,a.FEntryID as HEntryID,isnull(a.FMTONO,'') as HMTONo, |
| | | 0 as HPlanMode,'CLD导入' as HRemark,'' as HExpressNumber,isnull(a.FMATERIALID,0) as HMaterID, |
| | | isnull(a.FUNITID,0) as HUnitID,isnull(a.FLOT_TEXT,'') as HBatchNo, |
| | | isnull(a.FAUXPROPID,0) as HPropertyID,isnull(a.FSTOCKID,0) as HWHID, |
| | | isnull(a.FSTOCKLOCID,0) as HcD,0 as HSCWHID,0 as HSCcD, |
| | | 0 as HQtyMust,0 as HQty,isnull(b.FPRICE,0) as HPrice, |
| | | isnull(a.FAMOUNT,0) as HMoney,0 as HTaxPrice, |
| | | 0 as HTaxRate,a.FAMOUNT as HTaxMoney, |
| | | 0 as HRelationQty,0 as HRelationMoney, |
| | | 0 as HSourceInterID,0 as HSourceEntryID,isnull(a.FSRCBILLNO,'') as HSourceBillNo, |
| | | '' as HSourceBillType,a.FID as HERPInterID,a.FEntryID as HERPEntryID, |
| | | '' as HERPBillNo_Sub,0 as HPOOrderInterID,0 as HPOOrderEntryID, |
| | | '' as HPOOrderBillNo,0 as HSeOrderInterID, |
| | | 0 as HSeOrderEntryID,'' as HSeOrderBillNo,0 as HICMOInterID, |
| | | 0 as HICMOEntryID,'' as HICMOBillNo,0 as HWWOrderInterID, |
| | | 0 as HWWOrderEntryID,'' as HWWOrderBillNo,isnull(a.FPRODUCEDATE, '') as HProduceDate, |
| | | a.FEXPIRYDATE as HExpiryDate,isnull(c.FOWNERID,0) as HOWNERID,isnull(c.FOWNERTYPEID,'') as HOWNERTYPEID, |
| | | 0 as HKEEPERID,isnull(c.FKEEPERTYPEID,'') as HKEEPERTYPEID, |
| | | '' as HSUPPLIERLOT,'' as HREQTRACENO, |
| | | isnull(a.FPROJECTNO,'') as HPROJECTNO,'' as HGIVEAWAY, |
| | | 0 as HSYSPRICE,0 as HPRICECOEFFICIENT, |
| | | 0 as HDISCOUNTRATE,0 as HBASEUNITPRICE, |
| | | 0 as HTAXCOMBINATION,0 as HPRICELISTENTRY, |
| | | 0 as HCOSTPRICE,isnull(a.FSEQ,0) as HSEQ, |
| | | '' as HROWTYPE,0 as HPARENTMATID, |
| | | '' as HPRILSTENTRYID,0 as HPURBASENUM,0 as HSTOCKBASEDEN, |
| | | isnull(a.FBFLOWID,'') as HBFLOWID,isnull(a.FSTOCKSTATUSID,0) as HSTOCKSTATUSID, |
| | | 0 as HPRICEUNITID,isnull(a.FBASEUNITID,0) as HBASEUNITID, |
| | | isnull(c.FSNUNITID,0) as HSNUNITID,0 as HREMAININSTOCKUNITID, |
| | | 0 as HEXTAUXUNITID,0 as HTAXRATEID, |
| | | 0 as HTAXRATE_TAX,0 as HTAXAMOUNT, |
| | | 0 as HCOSTPERCENT,0 as HCOSTAMOUNT, |
| | | '' as HVAT,'' as HSELLERWITHHOLDING, |
| | | '' as HBUYERWITHHOLDING |
| | | from T_PRD_PICKMTRLDATA a with(nolock) |
| | | left join T_PRD_PICKMTRLDATA_C b with(nolock) on a.FENTRYID=b.FENTRYID |
| | | left join T_PRD_PICKMTRLDATA_A c with(nolock) on a.FID=c.FID and a.FENTRYID=c.FENTRYID |
| | | Where a.FID={id} |
| | | select |
| | | a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod, |
| | | isnull(a.FBILLNO,'') as HBillNo,'1204' as HBillType,'1204' as HBillSubType, |
| | | '' as HMainSourceBillType,a.FDATE as HDate,0 as HSupID, |
| | | 0 as HWHID,0 as HSCWHID,0 as HEmpID,0 as HManagerID,0 as HSecManagerID, |
| | | isnull(FSTOCKERID,0) as HKeeperID,0 as HDeptID,0 as HCurID, |
| | | '' as HSeOrderBillNo,'CLD导入' as HExplanation,'' as HRemark, |
| | | '' as HInnerBillNo,0 as HRedBlueFlag,case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end as HBillStatus, |
| | | isnull(us1.FNAME,'') as HMaker,a.FCREATEDATE as HMakeDate,isnull(us2.FNAME,'') as HChecker, |
| | | a.FAPPROVEDATE as HCheckDate,isnull(us3.FNAME,'') as HUpDater,a.FMODIFYDATE as HUpDateDate, |
| | | isnull(us4.FNAME,'') as HDeleteMan,a.FCANCELDATE as HDeleteDate,isnull(a.FOWNERID,0) as HOWNERID, |
| | | isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID,a.FID as HERPInterID,isnull(a.FBILLTYPE,'') as HERPBillType, |
| | | isnull(a.FBILLNO,'') as HERPBillNo,isnull(FPRDORGID,0) as HPRDORGID, |
| | | isnull(a.FSTOCKORGID,0) as HSTOCKORGID, 0 as HSTOCKERGROUPID, |
| | | 0 as HPURCHASERGROUPID,0 as HDEMANDORGID, |
| | | 0 as HCORRESPONDORGI,0 as HPROVIDERCONTACTID, |
| | | 0 as HSUPPLYID,0 as HSETTLEID, |
| | | 0 as HCHARGEID,0 as HPURCHASEDEPTID, |
| | | '' as HBUSINESSTYPE,'' as HSUPPLYADDRESS, |
| | | 0 as HPAYORGID,0 as HSETTLEORGID, |
| | | 0 as HSETTLETYPEID,0 as HPAYCONDITIONID, |
| | | 0 as HSETTLECURRID,0 as HEXCHANGETYPEID, |
| | | 0 as HDISCOUNTLISTID,0 as HEXCHANGERATE, |
| | | '' as HPRICETIMEPOINT,0 as HLOCALCURRID, |
| | | '' as HISINCLUDEDTAX,'' as HISPRICEEXCLUDETAX |
| | | ,o.FNUMBER as HOrganNumber |
| | | from T_PRD_PICKMTRL a with(nolock) |
| | | left join T_SEC_user us1 with(nolock) on a.FCREATORID=us1.FUSERID |
| | | left join T_SEC_user us2 with(nolock) on a.FAPPROVERID=us2.FUSERID |
| | | left join T_SEC_user us3 with(nolock) on a.FMODIFIERID=us3.FUSERID |
| | | left join T_SEC_user us4 with(nolock) on a.FCANCELER=us4.FUSERID |
| | | left join T_ORG_Organizations o with(nolock) on a.FSTOCKORGID=o.FORGID |
| | | Where a.FID={id} |
| | | "; |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | DataTable maindt = ds.Tables[1]; |
| | | DataTable subdt = ds.Tables[0]; |
| | | if (maindt.Rows.Count == 0 || subdt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("生产领料单同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取创建生产领料单的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, maindt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | JArray array = new JArray();//明细表 |
| | | foreach (DataRow dr in subdt.Rows) |
| | | { |
| | | JObject fentrymodel = new JObject(); |
| | | foreach (DataColumn column in subdt.Columns) |
| | | { |
| | | fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | array.Add(fentrymodel); |
| | | } |
| | | JObject model = new JObject();//主表 |
| | | DataRow maindr = maindt.Rows[0]; |
| | | foreach (DataColumn column in maindt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, maindr[column.ColumnName].ToString()); |
| | | } |
| | | model.Add("HENTRY", array); |
| | | JObject jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | | //新增 |
| | | var requestPost = new RestRequest("Kf_MateOutBill/Kf_MateOutBillSaveApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("生产领料单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("生产领料单同步异常,POST," + "Kf_MateOutBill/Kf_MateOutBillSaveApi"); |
| | | LogService.Write("生产领料单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot)); |
| | | } |
| | | }; |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[采购入库单-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessPurInStock : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | // e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | select |
| | | a.FID as HInterID,a.FEntryID as HEntryID,isnull(a.FMTONO,'') as HMTONo, |
| | | 0 as HPlanMode,a.FNOTE as HRemark,'' as HExpressNumber,isnull(a.FMATERIALID,0) as HMaterID, |
| | | isnull(a.FUNITID,0) as HUnitID,isnull(a.FLOT_TEXT,'') as HBatchNo, |
| | | isnull(a.FAUXPROPID,0) as HPropertyID,isnull(a.FSTOCKID,0) as HWHID, |
| | | isnull(a.FSTOCKLOCID,0) as HSPID,0 as HSCWHID,0 as HSCSPID, |
| | | a.FMUSTQTY as HQtyMust,a.FREALQTY as HQty,isnull(b.FPRICE,0) as HPrice, |
| | | isnull(b.FAMOUNT,0) as HMoney,isnull(b.FTAXPRICE,0) as HTaxPrice, |
| | | isnull(b.FTAXRATE,0) as HTaxRate,isnull(b.FAMOUNT,0) as HTaxMoney, |
| | | isnull(a.FRETURNJOINQTY,0) as HRelationQty,0 as HRelationMoney, |
| | | 0 as HSourceInterID,0 as HSourceEntryID,isnull(a.FSRCBILLNO,'') as HSourceBillNo, |
| | | '' as HSourceBillType,a.FID as HERPInterID,a.FEntryID as HERPEntryID, |
| | | '' as HERPBillNo_Sub,0 as HPOOrderInterID,isnull(a.FPOORDERENTRYID,0) as HPOOrderEntryID, |
| | | isnull(a.FPOORDERNO,'') as HPOOrderBillNo,0 as HSeOrderInterID, |
| | | 0 as HSeOrderEntryID,'' as HSeOrderBillNo,0 as HICMOInterID, |
| | | 0 as HICMOEntryID,'' as HICMOBillNo,0 as HWWOrderInterID, |
| | | 0 as HWWOrderEntryID,'' as HWWOrderBillNo,isnull(a.FPRODUCEDATE, '') as HProduceDate, |
| | | a.FEXPIRYDATE as HExpiryDate,isnull(a.FOWNERID,0) as HOWNERID,isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID, |
| | | isnull(a.FKEEPERID,0) as HKEEPERID,isnull(a.FKEEPERTYPEID,'') as HKEEPERTYPEID, |
| | | isnull(a.FSUPPLIERLOT,'') as HSUPPLIERLOT,isnull(a.FREQTRACENO,'') as HREQTRACENO, |
| | | isnull(a.FPROJECTNO,'') as HPROJECTNO,isnull(a.FGIVEAWAY,'') as HGIVEAWAY, |
| | | isnull(b.FSYSPRICE,0) as HSYSPRICE,isnull(b.FPRICECOEFFICIENT,0) as HPRICECOEFFICIENT, |
| | | isnull(b.FDISCOUNTRATE,0) as HDISCOUNTRATE,isnull(b.FBASEUNITPRICE,0) as HBASEUNITPRICE, |
| | | isnull(b.FTAXCOMBINATION,0) as HTAXCOMBINATION,isnull(b.FPRICELISTENTRY,0) as HPRICELISTENTRY, |
| | | isnull(b.FCOSTPRICE,0) as HCOSTPRICE,isnull(a.FSEQ,0) as HSEQ, |
| | | isnull(spi.FROWTYPE,'') as HROWTYPE,isnull(spi.FPARENTMATID,0) as HPARENTMATID, |
| | | isnull(spi.FPRILSTENTRYID,'') as HPRILSTENTRYID,isnull(spi.FPURBASENUM,0) as HPURBASENUM,isnull(spi.FSTOCKBASEDEN,0) as HSTOCKBASEDEN, |
| | | isnull(a.FBFLOWID,'') as HBFLOWID,isnull(a.FSTOCKSTATUSID,0) as HSTOCKSTATUSID, |
| | | isnull(b.FPRICEUNITID,0) as HPRICEUNITID,isnull(a.FBASEUNITID,0) as HBASEUNITID, |
| | | isnull(spi.FSNUNITID,0) as HSNUNITID,isnull(b.FREMAININSTOCKUNITID,0) as HREMAININSTOCKUNITID, |
| | | isnull(a.FEXTAUXUNITID,0) as HEXTAUXUNITID,isnull(px.FTAXRATEID,0) as HTAXRATEID, |
| | | isnull(px.FTAXRATE,0) as HTAXRATE_TAX,isnull(px.FTAXAMOUNT,0) as HTAXAMOUNT, |
| | | isnull(px.FCOSTPERCENT,0) as HCOSTPERCENT,isnull(px.FCOSTAMOUNT,0) as HCOSTAMOUNT, |
| | | isnull(px.FVAT,'') as HVAT,isnull(px.FSELLERWITHHOLDING,'') as HSELLERWITHHOLDING, |
| | | isnull(px.FBUYERWITHHOLDING,'') as HBUYERWITHHOLDING |
| | | from T_STK_INSTOCKENTRY a with(nolock) |
| | | left join T_STK_INSTOCKENTRY_F b with(nolock) on a.FID=b.FID and a.FENTRYID=b.FENTRYID |
| | | left join T_STK_INSTOCKENTRY_I spi with(nolock) on a.FID=spi.FID and a.FENTRYID=spi.FENTRYID |
| | | left join T_STK_INSTOCKENTRY_TAX px with(nolock) on a.FENTRYID=px.FENTRYID |
| | | Where a.FID={id} |
| | | select |
| | | a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod, |
| | | isnull(a.FBILLNO,'') as HBillNo,'1201' as HBillType,'1201' as HBillSubType, |
| | | '' as HMainSourceBillType,a.FDATE as HDate,a.FSUPPLIERID as HSupID, |
| | | 0 as HWHID,0 as HSCWHID,0 as HEmpID,0 as HManagerID,a.FPURCHASERID as HSecManagerID, |
| | | isnull(FSTOCKERID,0) as HKeeperID,a.FSTOCKDEPTID as HDeptID,0 as HCurID, |
| | | '' as HSeOrderBillNo,'CLD导入' as HExplanation,'' as HRemark, |
| | | '' as HInnerBillNo,0 as HRedBlueFlag,case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end as HBillStatus, |
| | | isnull(us1.FNAME,'') as HMaker,a.FCREATEDATE as HMakeDate,isnull(us2.FNAME,'') as HChecker, |
| | | a.FAPPROVEDATE as HCheckDate,isnull(us3.FNAME,'') as HUpDater,a.FMODIFYDATE as HUpDateDate, |
| | | isnull(us4.FNAME,'') as HDeleteMan,a.FCANCELDATE as HDeleteDate,isnull(a.FOWNERID,0) as HOWNERID, |
| | | isnull(a.FOWNERTYPEID,'') as HOWNERTYPEID,a.FID as HERPInterID,isnull(a.FBILLTYPEID,'') as HERPBillType, |
| | | isnull(a.FBILLNO,'') as HERPBillNo,isnull(FPURCHASEORGID,0) as HPRDORGID, |
| | | isnull(a.FSTOCKORGID,0) as HSTOCKORGID,isnull(a.FSTOCKERGROUPID,0) as HSTOCKERGROUPID, |
| | | isnull(a.FPURCHASERGROUPID,0) as HPURCHASERGROUPID,isnull(a.FDEMANDORGID,0) as HDEMANDORGID, |
| | | isnull(a.FCORRESPONDORGID,0) as HCORRESPONDORGID,isnull(a.FPROVIDERCONTACTID,0) as HPROVIDERCONTACTID, |
| | | isnull(a.FSUPPLYID,0) as HSUPPLYID,isnull(a.FSETTLEID,0) as HSETTLEID, |
| | | isnull(a.FCHARGEID,0) as HCHARGEID,isnull(a.FPURCHASEDEPTID,0) as HPURCHASEDEPTID, |
| | | isnull(a.FBUSINESSTYPE,'') as HBUSINESSTYPE,isnull(a.FSUPPLYADDRESS,'') as HSUPPLYADDRESS, |
| | | isnull(fin.FPAYORGID,0) as HPAYORGID,isnull(fin.FSETTLEORGID,0) as HSETTLEORGID, |
| | | isnull(fin.FSETTLETYPEID,0) as HSETTLETYPEID,isnull(fin.FPAYCONDITIONID,0) as HPAYCONDITIONID, |
| | | isnull(fin.FSETTLECURRID,0) as HSETTLECURRID,isnull(fin.FEXCHANGETYPEID,0) as HEXCHANGETYPEID, |
| | | isnull(fin.FDISCOUNTLISTID,0) as HDISCOUNTLISTID,isnull(fin.FEXCHANGERATE,0) as HEXCHANGERATE, |
| | | isnull(fin.FPRICETIMEPOINT,'') as HPRICETIMEPOINT,isnull(fin.FLOCALCURRID,0) as HLOCALCURRID, |
| | | isnull(fin.FISINCLUDEDTAX,'') as HISINCLUDEDTAX,isnull(fin.FISPRICEEXCLUDETAX,'') as HISPRICEEXCLUDETAX |
| | | ,o.FNUMBER as HOrganNumber |
| | | from T_STK_INSTOCK a with(nolock) |
| | | left join T_STK_INSTOCKFIN fin with(nolock) on a.FID=fin.FID |
| | | left join T_SEC_user us1 with(nolock) on a.FCREATORID=us1.FUSERID |
| | | left join T_SEC_user us2 with(nolock) on a.FAPPROVERID=us2.FUSERID |
| | | left join T_SEC_user us3 with(nolock) on a.FMODIFIERID=us3.FUSERID |
| | | left join T_SEC_user us4 with(nolock) on a.FCANCELLERID=us4.FUSERID |
| | | left join T_ORG_Organizations o with(nolock) on a.FPURCHASEORGID=o.FORGID |
| | | Where a.FID={id} |
| | | "; |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | DataTable maindt = ds.Tables[1]; |
| | | DataTable subdt = ds.Tables[0]; |
| | | if (maindt.Rows.Count == 0 || subdt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("采购入库单同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取创建采购订单的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, maindt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | JArray array = new JArray();//明细表 |
| | | foreach (DataRow dr in subdt.Rows) |
| | | { |
| | | JObject fentrymodel = new JObject(); |
| | | foreach (DataColumn column in subdt.Columns) |
| | | { |
| | | fentrymodel.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | array.Add(fentrymodel); |
| | | } |
| | | JObject model = new JObject();//主表 |
| | | DataRow maindr = maindt.Rows[0]; |
| | | foreach (DataColumn column in maindt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, maindr[column.ColumnName].ToString()); |
| | | } |
| | | model.Add("HENTRY", array); |
| | | JObject jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | | //新增 |
| | | var requestPost = new RestRequest("Kf_POStockInBill/Kf_POStockInBillSaveApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("采购入库单同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("采购入库单同步异常,POST," + "Kf_POStockInBill/Kf_POStockInBillSaveApi"); |
| | | LogService.Write("采购入库单同步异常,JsonConvert.SerializeObject(jsonRoot)," + JsonConvert.SerializeObject(jsonRoot)); |
| | | } |
| | | }; |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Where a.FID={id} |
| | | select a.FID as HInterID,year(a.FDATE) as HYear,month(a.FDATE) as HPeriod,'1102' as HBillType,'1102' as HBillSubType,a.FDate as HDate |
| | | ,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,'' as HAddress,0 as HSSID,a.FDATE as HSSDate,0 as HPSStyleID |
| | | ,a.FSUPPLIERID as HSupID,a.F_RCZU_JXS HSupDealerID,0 as HCurID,0 as HExRate,a.FPURCHASERID as HEmpID,0 as HManagerID,a.FPURCHASEDEPTID as HDeptID |
| | | ,a.FSUPPLIERID as HSupID,0 HSupDealerID,0 as HCurID,0 as HExRate,a.FPURCHASERID as HEmpID,0 as HManagerID,a.FPURCHASEDEPTID as HDeptID |
| | | ,'CLOUD导入' as HExplanation,'CLOUD导入' as HRemark,a.FBillNo as HInnerBillNo |
| | | ,a.FAPPROVERID as HChecker,a.FAPPROVEDATE as HCheckDate,a.FCREATORID as HMaker,a.FCREATEDATE as HMakeDate |
| | | ,a.FID as HERPInterID,a.FBILLTYPEID as HERPBillType,a.FPURCHASEORGID as HPURCHASEORGID,a.FPURCHASERGROUPID as HPURCHASERGROUPID,a.FPROVIDERID as HPROVIDERID,a.FSETTLEID as HSETTLEID |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[采购价目-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessPurPrice : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | //e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | select a.FID as HItemID,a.FNUMBER as HNumber,'' as HName,a.FNUMBER as HShortNumber,0 as HParentID,1 as HLevel, |
| | | 'true' as HEndFlag,case when a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP 导入 ' as HRemark,' 已使用 ' as HUseFlag, |
| | | a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID,a.FCREATORID as HMakeEmp,a.FCREATEDATE as HMakeTime,a.FAPPROVERID as HCheckEmp, |
| | | a.FAPPROVEDATE as HCheckTime,a.FMODIFIERID as HModifyEmp,a.FMODIFYDATE as HModifyTime,a.FFORBIDERID as HStopEmp,a.FFORBIDDATE as HStopTime, |
| | | a.FPURCHASEORGID as HPURCHASEORGID,a.FSUPPLIERID as HSupID,a.FCURRENCYID as HCurID,a.FPRICER as HPRICER,a.FPRICETYPE as HPRICETYPE, |
| | | a.FPRICEOBJECT as HPRICEOBJECT,a.FISINCLUDEDTAX as HISINCLUDEDTAX,a.FDEFPRICELISTID as HDEFPRICELISTID,a.FSUPPLIERMASTERID as HSUPPLIERMASTERID |
| | | ,o.FNUMBER as HOrganNumber |
| | | from T_PUR_PRICELIST a with (nolock) |
| | | left join T_ORG_Organizations o with(nolock) on a.FUSEORGID=o.FORGID |
| | | Where a.FID={id} |
| | | "; |
| | | LogService.Write("采购价目:" + sql); |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("采购价目同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取创建采购价目的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | DataRow dr = dt.Rows[0]; |
| | | JObject model = new JObject(); |
| | | foreach (DataColumn column in dt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | JObject _jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | LogService.Write("采购价目:" + model); |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_MatePriceSup/SaveGy_PurPriceApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("采购价目同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("采购价目同步异常,POST," + "Gy_MatePriceSup/SaveGy_PurPriceApi"); |
| | | LogService.Write("采购价目同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot)); |
| | | } |
| | | }; |
| | | |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | where a.FID={id} |
| | | |
| | | select a.FID as HInterID,year(isnull(a.FDATE,GETDATE())) as HYear,month(isnull(a.FDATE,GETDATE())) as HPeriod,'1103' as HBillType,case when a.FBUSINESSTYPE='WW' then '12511' else '12510' end as HBillSubType,isnull(a.FDATE,GETDATE()) as HDate |
| | | ,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,a.FSUPPLIERID as HSupID,a.F_RCZU_JXS HSupDealerID,a.FPURCHASERID as HManagerID,a.FRECEIVERID as HEmpID,a.FRECEIVEDEPTID as HDeptID,a.FNOTE as HRemark |
| | | ,a.FBillNo as HBillNo,case when a.FAPPROVERID=0 then 1 else 2 end HBillStatus,a.FSUPPLIERID as HSupID,0 HSupDealerID,a.FPURCHASERID as HManagerID,a.FRECEIVERID as HEmpID,a.FRECEIVEDEPTID as HDeptID,a.FNOTE as HRemark |
| | | ,a.FCREATORID as HMaker,a.FCREATEDATE as HMakeDate,a.FAPPROVERID as HChecker ,a.FAPPROVEDATE as HCheckDate,a.FOWNERTYPEID as HOWNERTYPEID,a.FOWNERID as HOWNERID |
| | | ,a.FID as HERPInterID,a.FBillTypeID as HERPBillType,a.FPURORGID as HPURCHASEORGID,a.FSTOCKORGID as HSTOCKORGID,a.FDEMANDORGID as HREQUIREORGID |
| | | ,a.FSTOCKGROUPID as HSTOCKGROUPID,isnull(a.FSENDBILLNO,'') as HSENDBILLNO,isnull(a.FLADBILLNO,'') as HLADBILLNO,a.FPURDEPTID as HPURDEPTID,a.FPURGROUPID as HPURGROUPID,a.FSUPPLYID as HSUPPLYID |
| | | ,a.FSETTLEID as HSETTLEID,a.FCHARGEID as HCHARGEID,a.FBUSINESSTYPE as HBUSINESSTYPE,a.FSUPPLYADDRESS as HSUPPLYADDRESS,isnull(a.FCORRESPONDORGID,0) as HCORRESPONDORGID,a.FPROVIDERCONTACTID as HPROVIDERCONTACTID |
| | | ,a.F_RCZU_NBDDH as HInnerBillNo,o.FNUMBER as HOrganNumber |
| | | ,0 as HInnerBillNo,o.FNUMBER as HOrganNumber |
| | | from T_PUR_RECEIVE a with(nolock) |
| | | left join T_ORG_Organizations o with(nolock) on a.FSTOCKORGID=o.FORGID |
| | | Where a.FID={id} |
| | |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var forgName = Context.CurrentOrganizationInfo.Name; |
| | | //if (!forgName.Contains("杭州斯莫尔磁性材料有限公司")) |
| | | // continue; |
| | | var id = billObj["Id"].ToString(); |
| | | LogService.Write("销售订单同步id:" + id); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | |
| | | left join T_SAL_ORDERFIN fin with(nolock) on a.FID=fin.FID |
| | | left join T_SAL_ORDERENTRY_LK LK with(nolock) on a.FENTRYID=LK.FENTRYID |
| | | Where a.FID={id} |
| | | select a.FID as HInterID, year(a.FDate) as HYear, month(a.FDate) as HPeriod, '1401' as HBillType, '1401' as HBillSubType, |
| | | a.FDate as HDate, a.FbillNo as HBillNo, case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end HBillStatus, |
| | | a.FRECEIVEADDRESS as HAddress, 0 as HSSID,a.FDATE as HSSDate, a.FCUSTID as HCusID, 0 as HCurID, 0 as HExRate, |
| | | a.FSALERID as HEmpID, 0 as HManagerID, isnull(a.FSALEDEPTID,0) as HDeptID, 'CLOUD导入' as HExplanation, a.FNOTE as HRemark, |
| | | ''as HInnerBillNo, a.FAPPROVERID as HChecker, a.FAPPROVEDATE as HCheckDate, a.FCREATORID as HMaker, a.FCREATEDATE as HMakeDate, |
| | | a.FCLOSERID as HCloseMan, a.FCLOSEDATE as HCloseDate, a.FID as HERPInterID, a.FBILLTYPEID as HERPBillType, a.FSALEORGID as HSALEORGID, |
| | | a.FSALEGROUPID as HSALEGROUPID, a.FRECEIVEID as HRECEIVEID, a.FSETTLEID as HSETTLEID, a.FCHARGEID as HCHARGEID, a.FHEADLOCID as HHEADLOCID, |
| | | a.FRECCONTACTID as HRECCONTACTID, isnull(a.FCORRESPONDORGID, 0) as HCORRESPONDORGID, a.FBUSINESSTYPE as HBUSINESSTYPE |
| | | ,o.FNUMBER as HOrganNumber |
| | | select |
| | | a.FID as HInterID,year(a.FDate) as HYear,month(a.FDate) as HPeriod,'1401' as HBillType,'1401' as HBillSubType,a.FDate as HDate, |
| | | a.FbillNo as HBillNo, |
| | | case when isnull(a.FAPPROVERID,0)=0 then 1 else 2 end as HBillStatus,a.FRECEIVEADDRESS as HAddress,0 as HSSID, |
| | | a.FDATE as HSSDate,a.FCUSTID as HCusID,0 as HCurID,0 as HExRate,a.FSALERID as HEmpID,0 as HManagerID, |
| | | isnull(a.FSALEDEPTID,0) as HDeptID,'CLOUD导入' as HExplanation,a.FNOTE as HRemark,'' as HInnerBillNo |
| | | ,isnull(us1.FNAME,'') as HMaker,a.FCREATEDATE as HMakeDate,isnull(us2.FNAME,'') as HChecker,a.FAPPROVEDATE as HCheckDate, |
| | | isnull(us5.FNAME,'') as HCloseMan,a.FCLOSEDATE as HCloseDate, |
| | | case when a.FCLOSESTATUS='A' then 'false' else 'true' end as HCloseType, |
| | | a.FID as HERPInterID,a.FBILLTYPEID as HERPBillType,a.FSALEORGID as HSALEORGID,a.FSALEGROUPID as HSALEGROUPID, |
| | | a.FRECEIVEID as HRECEIVEID,a.FSETTLEID as HSETTLEID,a.FCHARGEID as HCHARGEID, |
| | | a.FHEADLOCID as HHEADLOCID,a.FRECCONTACTID as HRECCONTACTID, |
| | | isnull(a.FCORRESPONDORGID,0) as HCORRESPONDORGID,a.FBUSINESSTYPE as HBUSINESSTYPE,o.FNUMBER HOrganNumber |
| | | from T_SAL_ORDER a with(nolock) |
| | | left join T_SEC_user us1 with(nolock) on a.FCREATORID=us1.FUSERID |
| | | left join T_SEC_user us2 with(nolock) on a.FAPPROVERID=us2.FUSERID |
| | | left join T_SEC_user us3 with(nolock) on a.FMODIFIERID=us3.FUSERID |
| | | left join T_SEC_user us4 with(nolock) on a.FCANCELLERID=us4.FUSERID |
| | | left join T_SEC_user us5 with(nolock) on a.FCLOSERID=us5.FUSERID |
| | | left join T_ORG_Organizations o with(nolock) on a.FSALEORGID=o.FORGID |
| | | Where FID={id} |
| | | where FID={id} |
| | | "; |
| | | DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql); |
| | | DataTable maindt = ds.Tables[1]; |
| | |
| | | public class zymes_RealessStock : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | // 添加一个字段来存储字段名 |
| | | private string _locationFieldName = "FF100001"; // 默认值 |
| | | |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | |
| | | // 第一步:获取仓位字段名 |
| | | _locationFieldName = GetLocationFieldName(id); |
| | | |
| | | string sql = string.Empty; |
| | | sql = string.Format(@" |
| | | /*dialect*/ |
| | |
| | | join T_BD_STOCK st on t1.FSTOCKID = st.FSTOCKID |
| | | join T_BD_STOCK_l stl on t1.FSTOCKID = stl.FSTOCKID and stl.FLOCALEID = 2052 |
| | | join T_BAS_FLEXVALUESDETAIL t2 on t1.FSTOCKLOCID = t2.FID |
| | | join T_BAS_FLEXVALUESENTRY t3 on t2.FF100001 = t3.FENTRYID--仓位值集列表明细 |
| | | join T_BAS_FLEXVALUESENTRY t3 on t2.{1} = t3.FENTRYID--仓位值集列表明细 |
| | | join T_BAS_FLEXVALUESENTRY_L t4 on t3.FENTRYID=t4.FENTRYID |
| | | where t1.fstockid= {0} |
| | | ", id); |
| | | ", id,_locationFieldName); |
| | | |
| | | //斯莫尔仓位集的值是 t2.FF100006 |
| | | //47测试可以用 t2.FF100001 |
| | |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | |
| | | // 新增方法:获取仓位字段名 |
| | | private string GetLocationFieldName(string stockId) |
| | | { |
| | | try |
| | | { |
| | | // 首先获取所有可能的字段名 |
| | | string getColumnsSql = @" |
| | | /*dialect*/ |
| | | SELECT COLUMN_NAME |
| | | FROM INFORMATION_SCHEMA.COLUMNS |
| | | WHERE TABLE_NAME = 'T_BAS_FLEXVALUESDETAIL' |
| | | AND COLUMN_NAME LIKE 'FF1%' |
| | | ORDER BY COLUMN_NAME"; |
| | | |
| | | DataSet columnsDs = DBServiceHelper.ExecuteDataSet(Context, getColumnsSql); |
| | | DataTable columnsDt = columnsDs.Tables[0]; |
| | | |
| | | // 在代码层面逐个检查字段 |
| | | foreach (DataRow row in columnsDt.Rows) |
| | | { |
| | | string columnName = row["COLUMN_NAME"].ToString(); |
| | | |
| | | string checkSql = $@" |
| | | /*dialect*/ |
| | | SELECT COUNT(1) as HasData |
| | | FROM T_BD_FLEXVALUESCOM t1 |
| | | JOIN T_BAS_FLEXVALUESDETAIL t2 ON t1.FSTOCKLOCID = t2.FID |
| | | JOIN T_BAS_FLEXVALUESENTRY t3 ON t2.{columnName} = t3.FENTRYID |
| | | JOIN T_BAS_FLEXVALUESENTRY_L t4 ON t3.FENTRYID = t4.FENTRYID |
| | | WHERE t1.fstockid = {stockId} |
| | | AND t4.FNAME IS NOT NULL"; |
| | | |
| | | DataSet checkDs = DBServiceHelper.ExecuteDataSet(Context, checkSql); |
| | | DataTable checkDt = checkDs.Tables[0]; |
| | | |
| | | if (checkDt.Rows.Count > 0 && Convert.ToInt32(checkDt.Rows[0]["HasData"]) > 0) |
| | | { |
| | | LogService.Write($"成功获取到仓位字段名: {columnName} 用于仓库ID: {stockId}"); |
| | | return columnName; |
| | | } |
| | | } |
| | | |
| | | LogService.Write($"未找到仓库 {stockId} 对应的仓位字段,使用默认值 FF100001"); |
| | | return "FF100001"; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogService.Write($"获取仓位字段名时发生异常: {ex.Message},使用默认值 FF100001"); |
| | | return "FF100001"; |
| | | } |
| | | } |
| | | |
| | | |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | |
| | | /*dialect*/ |
| | | select a.FUNITID as HItemID,a.FUNITID as HERPItemID,a.FNumber as HNumber,l.FName as HName,a.FNumber as HShortNumber,0 as HParentID |
| | | ,1 as HLevel,'true' as HEndFlag,case when a.FFORBIDSTATUS='A' then 'false' else 'true' end as HStopflag,'CLD-ERP导入' as HRemark,getdate() as HMakeTime |
| | | ,'true' as HStandard,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID |
| | | ,'true' as HStandard,a.FCREATEORGID as HCREATEORGID,a.FUSEORGID as HUSEORGID,o.FNUMBER as HOrganNumber |
| | | from T_BD_UNIT a with(nolock) |
| | | inner join T_BD_UNIT_L l with(nolock) on a.FUNITID=l.FUNITID |
| | | Where a.FUNITID={id} |
| | | inner join T_BD_UNIT_L l with(nolock) on a.FUNITID=l.FUNITID and l.FLOCALEID = 2052 |
| | | INNER JOIN T_ORG_Organizations o on a.FUSEORGID=o.FORGID |
| | | Where l.FLOCALEID=2052 and a.FUNITID={id} |
| | | "; |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | |
| | | } |
| | | |
| | | //获取单位的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.Rows[0]["HUSEORGID"].ToString()); |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Kingdee.BOS.Util; |
| | | using Kingdee.BOS.Core.Metadata.EntityElement; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn; |
| | | using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; |
| | | using Kingdee.BOS.Orm.DataEntity; |
| | | using System.ComponentModel; |
| | | using Kingdee.BOS.ServiceHelper; |
| | | using System.Data; |
| | | using Newtonsoft.Json.Linq; |
| | | using ZD.Cloud.WebApi; |
| | | using Newtonsoft.Json; |
| | | using Kingdee.BOS.Core.DynamicForm; |
| | | using System.Linq; |
| | | using RestSharp; |
| | | using zymes_Project.Utility; |
| | | |
| | | namespace zymes_Project.OperationService |
| | | { |
| | | [Description("[物料单位换算-审核]服务插件]")] |
| | | [HotUpdate] |
| | | public class zymes_RealessUnitConvertRate : AbstractOperationServicePlugIn |
| | | { |
| | | Dictionary<string, string> dictionary = new Dictionary<string, string>(); |
| | | public override void OnPrepareOperationServiceOption(OnPrepareOperationServiceEventArgs e) |
| | | { |
| | | base.OnPrepareOperationServiceOption(e); |
| | | |
| | | //为了在BeginOperationTransaction里检查数据抛出异常时 |
| | | //只回滚当前单据的事务,这里设置为不支持批量事务,这样BOS会 |
| | | //循环为每一张单据创建事务调用操作 |
| | | e.SupportTransaction = true; |
| | | //e.SurportBatchTransaction = false; |
| | | } |
| | | public override void OnPreparePropertys(PreparePropertysEventArgs e) |
| | | { |
| | | base.OnPreparePropertys(e); |
| | | e.FieldKeys.Add("FEntity"); |
| | | e.FieldKeys.Add("FEntity_FEntryID"); |
| | | } |
| | | public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) |
| | | { |
| | | base.AfterExecuteOperationTransaction(e); |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var id = billObj["Id"].ToString(); |
| | | string sql = string.Empty; |
| | | sql = $@" |
| | | /*dialect*/ |
| | | SELECT |
| | | a.FUNITCONVERTRATEID AS HItemID,'' AS HNumber,'' AS HName,'' AS HShortNumber, |
| | | 0 AS HParentID,1 AS HLevel,'true' AS HEndFlag,CASE WHEN a.FFORBIDSTATUS = 'A' THEN 'false' ELSE 'true' END AS HStopflag,'CLD-ERP导入' AS HRemark, |
| | | '已使用' AS HUseFlag,a.FUSEORGID AS HUSEORGID,a.FCREATEORGID AS HCREATEORGID,a.FBILLNO AS HBILLNO,a.FMATERIALID AS HMATERID, |
| | | a.FCURRENTUNITID AS HCURRENTUNITID,a.FDESTUNITID AS HDESTUNITID,a.FCONVERTTYPE AS HCONVERTTYPE,a.FCONVERTNUMERATOR AS HCONVERTNUMERATOR,a.FCONVERTDENOMINATOR AS HCONVERTDENOMINATOR, |
| | | a.FFORBIDSTATUS AS HFORBIDSTATUS,a.FUNITID AS HUnitID,ISNULL(m.FNUMBER, '') AS HMaterNumber,a.FCREATORID AS HMakeEmp, |
| | | a.FCREATEDATE AS HMakeTime,a.FAPPROVERID AS HCheckEmp,a.FAPPROVEDATE AS HCheckTime,a.FMODIFIERID AS HModifyEmp, |
| | | a.FMODIFYDATE AS HModifyTime,a.FFORBIDDERID AS HStopEmp,a.FFORBIDDATE AS HStopTime, o.FNUMBER as HOrganNumber |
| | | FROM T_BD_UNITCONVERTRATE a WITH(NOLOCK) |
| | | LEFT JOIN T_BD_MATERIAL m WITH(NOLOCK) ON a.FMATERIALID = m.FMATERIALID |
| | | INNER JOIN T_ORG_Organizations o on a.FUSEORGID=o.FORGID |
| | | where a.FUNITCONVERTRATEID={id} |
| | | "; |
| | | DataTable dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; |
| | | if (dt.Rows.Count == 0) |
| | | { |
| | | LogService.Write("物流单位换算同步异常:" + sql); |
| | | continue; |
| | | } |
| | | |
| | | //获取物流单位换算的使用组织 |
| | | DataTable dataTable = LogService.Get_DisPlayOrg(Context, dt.Rows[0]["HOrganNumber"].ToString()); |
| | | if (dataTable.Rows.Count == 0) |
| | | continue; |
| | | |
| | | if (dataTable.Rows[0]["FISNEEDPUSH"].ToString() == "0") |
| | | continue; |
| | | |
| | | string http = dataTable.Rows[0]["F_RCZU_MesIp"].ToString(); |
| | | |
| | | DataRow dr = dt.Rows[0]; |
| | | JObject model = new JObject(); |
| | | foreach (DataColumn column in dt.Columns) |
| | | { |
| | | model.Add(column.ColumnName, dr[column.ColumnName].ToString()); |
| | | } |
| | | JObject _jsonRoot = new JObject() |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_UnitConvertRateController/SaveGy_UnitConvertRateAPI", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| | | IRestResponse responsePost = client.Execute(requestPost); |
| | | var contentPost = responsePost.Content; |
| | | if (!contentPost.Contains("成功")) |
| | | { |
| | | LogService.Write("物流单位换算同步异常,POST方式获取结果," + billObj["Id"] + "," + responsePost.ErrorMessage); |
| | | LogService.Write("物流单位换算同步异常,POST," + "Gy_UnitConvertRateController/SaveGy_UnitConvertRateAPI"); |
| | | LogService.Write("物流单位换算同步异常,JsonConvert.SerializeObject(_jsonRoot)," + JsonConvert.SerializeObject(_jsonRoot)); |
| | | } |
| | | }; |
| | | |
| | | foreach (var item in dictionary) |
| | | { |
| | | ResultMessage.dataError(this.OperationResult.OperateResult, item.Key, item.Value); |
| | | } |
| | | } |
| | | public static class ResultMessage |
| | | {/// <summary> |
| | | /// 修改提示信息 |
| | | /// </summary> |
| | | /// <param name="operateResult"></param> |
| | | /// <param name="billno"></param> |
| | | public static void dataError(OperateResultCollection operateResult, string billno, string message) |
| | | { |
| | | OperateResult operate = operateResult.Where(n => n.Number == billno).First(); |
| | | operate.Message = message; |
| | | operate.SuccessStatus = false; |
| | | operate.MessageType = MessageType.FatalError; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | Entity entity = this.BusinessInfo.GetEntity("FEntity");//获取明细信息 |
| | | foreach (var billObj in e.DataEntitys) |
| | | { |
| | | var forgName = Context.CurrentOrganizationInfo.Name; |
| | | //if (!forgName.Contains("杭州斯莫尔磁性材料有限公司")) |
| | | // continue; |
| | | //var sql = $"exec zymes_RealessWork {billObj["Id"]} "; |
| | | var id = billObj["Id"].ToString(); |
| | | string sql =string.Empty; |
| | | sql = $@" |
| | |
| | | { |
| | | ["model"] = model |
| | | }; |
| | | |
| | | LogService.Write("作业同步:" + model); |
| | | var client = new RestSharp.RestClient(http); |
| | | var requestPost = new RestRequest("Gy_Work/SaveGy_WorkListApi", Method.POST); |
| | | requestPost.AddParameter("application/json", JsonConvert.SerializeObject(_jsonRoot), ParameterType.RequestBody); |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] |
| New file |
| | |
| | | // <autogenerated /> |
| | | using System; |
| | | using System.Reflection; |
| | | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = ".NET Framework 4.5.2")] |
| | |
| | | <Compile Include="LogService.cs" /> |
| | | <Compile Include="OperationService\zymes_MOCHANGE.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessCurrency.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessWW_PPBomBill.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessOperator.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessUnitConvertRate.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessPrdInStock.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessPrdReceive.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessPurInStock.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessEntrustOrderBill.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessRateType.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessDepartment.cs" /> |
| | |
| | | <Compile Include="OperationService\zymes_RealessSupplier.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessStockStatus.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessStaff.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessORGANIZATIONS.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessWork.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessUnit.cs" /> |
| | | <Compile Include="OperationService\zymes_RealessPrdMo.cs" /> |