chenhaozhe
2025-10-19 876602afd2ed18f139f331c55a1cbf868e606b7b
Merge branch 'master' of http://101.37.171.70:10101/r/simoer_jiekou
1个文件已添加
8个文件已修改
183 ■■■■ 已修改文件
zymes/OperationService/zymes_MOCHANGE.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessCustomer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPrdMo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPurPoorder.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessPurReceive.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessSalOrder.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessUnit.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_RealessUnitConvertRate.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/zymes_Project.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zymes/OperationService/zymes_MOCHANGE.cs
@@ -87,7 +87,7 @@
                    ,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} 
zymes/OperationService/zymes_RealessCustomer.cs
@@ -130,7 +130,7 @@
                {
                    ["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);
zymes/OperationService/zymes_RealessPrdMo.cs
@@ -216,7 +216,7 @@
                ,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} 
zymes/OperationService/zymes_RealessPurPoorder.cs
@@ -215,7 +215,7 @@
                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
zymes/OperationService/zymes_RealessPurReceive.cs
@@ -215,12 +215,12 @@
                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}
zymes/OperationService/zymes_RealessSalOrder.cs
@@ -45,11 +45,9 @@
            base.AfterExecuteOperationTransaction(e);
            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*/
@@ -81,15 +79,28 @@
                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, 1204 as HBillType, 1204 as HBillSubType, a.FBILLNO as HBillNo
                , a.FDATE as HDate, YEAR(a.FDATE) as HYear, MONTH(a.FDATE) as HPeriod, 'CLOUD导入' as HRemark
                , a.FCREATORID as HMaker, a.FCREATEDATE as HMakeDate, 0 as HSupID, FSTOCKERID as HWHID, 0 as HSCWHID
                , a.FPICKERID as HEmpID, 0 as HManagerID, a.FPICKERID as HSecManagerID, a.FSTOCKERID as HKeeperID
                , 0 as HDeptID, 'CLOUD导入' as HExplanation, a.FBILLNO as HInnerBillNo, 0 as HRedBlueFlag
                from T_PRD_PICKMTRL a with(nolock)
                inner join T_ORG_Organizations o with (nolock) on a.FSTOCKORGID = o.FORGID
                Where 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 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}
                    ";
                DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                DataTable maindt = ds.Tables[1];
                DataTable subdt = ds.Tables[0];
zymes/OperationService/zymes_RealessUnit.cs
@@ -51,10 +51,11 @@
                /*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_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)
@@ -64,7 +65,7 @@
                }
                //获取单位的使用组织
                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;
zymes/OperationService/zymes_RealessUnitConvertRate.cs
New file
@@ -0,0 +1,126 @@
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;
            }
        }
    }
}
zymes/zymes_Project.csproj
@@ -129,6 +129,7 @@
    <Compile Include="OperationService\zymes_MOCHANGE.cs" />
    <Compile Include="OperationService\zymes_RealessCurrency.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" />