1
zrg
1 天以前 d430c8baf7d62f95a9b22854dc7e1bb82e3e1996
1
2个文件已修改
138 ■■■■ 已修改文件
WarM/条码打印/Gy_BarCodeBill_Rework.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/条码管理/WEBSController.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WarM/ÌõÂë´òÓ¡/Gy_BarCodeBill_Rework.cs
@@ -601,27 +601,27 @@
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //生成物料条码时,机型码不允许为空,如若物料代码前缀不为G或L的,可跳过控制
                    if (oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl != "")
                    {
                        string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
                    //if (oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl != "")
                    //{
                    //    string[] HMaterNumberPrefix = oSystemParameter.omodel.Gy_BarCodeBill_Rework_Ctrl.Split(',');
                        
                        for (int j = 0; j < grdMain.Rows.Count; j++)
                        {
                            if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) == 0)
                            {
                                continue;
                            }
                    //    for (int j = 0; j < grdMain.Rows.Count; j++)
                    //    {
                    //        if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) == 0)
                    //        {
                    //            continue;
                    //        }
                            char HMaterfirstChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString()[0];
                    //        char HMaterfirstChar = grdMain.Rows[j].Cells[HMaterNumberCol].Value.ToString()[0];
                            if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "" && HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
                            {
                                MessageBox.Show("第" + (j + 1) + "行,机型码未维护,不允许生成条码");
                                bc.Enabled = true;
                                return;
                            }
                        }
                    }
                    //        if (ClsPub.isLong(grdMain.Rows[j].Cells[HMaterIDCol].Value) != 0 && grdMain.Rows[j].Cells[HSubjoin2Col].Value.ToString() == "" && HMaterNumberPrefix.Contains(HMaterfirstChar.ToString()))
                    //        {
                    //            MessageBox.Show("第" + (j + 1) + "行,机型码未维护,不允许生成条码");
                    //            bc.Enabled = true;
                    //            return;
                    //        }
                    //    }
                    //}
                }                
                oCn.BeginTran();
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -15623,6 +15623,7 @@
        public object MaterialDataToLocalByKDWebApi(string HDate,int limit)
        {
            bool hasMore = true;//是否循环查询
            string sJson = "";
            try
            {
                //访问金蝶
@@ -15651,7 +15652,7 @@
                while (hasMore) //循环分组查询,避免漏同步
                {
                    //拼接单据查询接口参数
                    string sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
                    sJson = $"{{\"FormId\":\"BD_MATERIAL\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
                    //调用金蝶webapi单据查询接口
                    var HReurnData = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
@@ -15713,10 +15714,104 @@
            catch (Exception e)
            {
                hasMore = false;
                LogService.Write("单据查询物料信息发生异常!:" + e.ToString() + "=======递入JSON参数:" + sJson);
                oCn.RollBack();//回滚事务
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据查询物料信息发生异常!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è®¡é‡å•位基础资料同步[接口里面查询不到创建组织和使用组织,先存0,然后数据库刷新下]
        [Route("WEBSController/UnitDataToLocalByKDWebApi")]
        [HttpGet]
        public object UnitDataToLocalByKDWebApi(string HDate, int limit)
        {
            bool hasMore = true;//是否循环查询
            try
            {
                //访问金蝶
                string sCLOUDUseName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "UserName");
                string sCLOUDPsd = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "PassWord");
                string dbId = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DbId");
                ApiClient client = new ApiClient(Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "KDApiUrl"));
                bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
                string HReturn;
                int startRow = 0;//分页,从第1条开始查询
                List<JObject> allData = new List<JObject>();//接收存储所有查询到的数据
                if (!bLogin)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "同步基础资料失败,金蝶账号登录异常。";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //要通过接口查询的字段
                string fieldKeys = "FUNITID,FNumber,FName,FFORBIDSTATUS";
                oCn.BeginTran();//开始事务
                while (hasMore) //循环分组查询,避免漏同步
                {
                    //拼接单据查询接口参数
                    string sJson = $"{{\"FormId\":\"BD_UNIT\",\"FieldKeys\":\"{fieldKeys}\",\"FilterString\":\"FApproveDate >= '{HDate}' and FLOCALEID = 2052\",\"Limit\":{limit},\"StartRow\":{startRow},\"TopRowCount\":0}}";
                    //调用金蝶webapi单据查询接口
                    var HReurnData = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery",
                    new object[] { sJson });
                    //将金蝶单据查询WEBAPI接口返回的纯数组转换为带字段名的对象列表
                    JArray formattedData = ConvertKingdeeResultToObjects(HReurnData, fieldKeys);
                    if (formattedData.Count < limit)
                    {
                        hasMore = false; // å¦‚果本次返回的数量少于请求的 limit,说明已经是最后一页了
                    }
                    else
                    {
                        startRow += limit; // å¦åˆ™ï¼Œå¢žåŠ èµ·å§‹è¡Œç´¢å¼•ï¼Œå‡†å¤‡è¯·æ±‚ä¸‹ä¸€é¡µ
                    }
                    foreach (JObject item in formattedData)
                    {
                        //删除原有记录
                        oCn.RunProc($"delete from Gy_Unit where HItemID = {item["FUNITID"]?.ToString()}");
                        oCn.RunProc("set identity_insert Gy_Unit on");
                        //重新写入表
                        oCn.RunProc($"insert into Gy_Unit(HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID" +
                        $", HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HRate" +
                        $", HMakeTime,HStandard,HCREATEORGID,HUSEORGID) " +
                        $" values ( {item["FUNITID"]?.ToString()},{item["FUNITID"]?.ToString()},'{item["FNumber"]?.ToString()}','{item["FName"]?.ToString()}','{item["FNumber"]?.ToString()}'" +
                        $",0,1,1,{(item["FFORBIDSTATUS"]?.ToString() == "A" ? 0 : 1)},'WEBAPI-导入','未检测','1',getdate(),1,{0},{0}" +
                        $")");
                        oCn.RunProc("set identity_insert Gy_Unit off");
                    }
                }
                oCn.Commit(); //提交事务
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "计量单位信息同步成功";
                objJsonResult.data = "";
                return objJsonResult;
            }
            catch (Exception e)
            {
                hasMore = false;
                oCn.RollBack();//回滚事务
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据查询计量单位信息发生异常!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -15911,7 +16006,6 @@
        }
        #endregion
        #region ä¾›åº”商基础资料同步
        [Route("WEBSController/SupplierDataToLocalByKDWebApi")]
@@ -16204,7 +16298,6 @@
        #endregion
        #region å®¢æˆ·åŸºç¡€èµ„料同步
        [Route("WEBSController/CustomerDataToLocalByKDWebApi")]
        [HttpGet]
@@ -16311,7 +16404,6 @@
        #endregion
        #region ç»„织基础资料同步
        [Route("WEBSController/ORGANIZATIONSDataToLocalByKDWebApi")]
        [HttpGet]
@@ -16402,7 +16494,6 @@
        #endregion
        #region è¾…助属性基础资料同步
        [Route("WEBSController/PropertyDataToLocalByKDWebApi")]
        [HttpGet]
@@ -16492,6 +16583,7 @@
        }
        #endregion
        #endregion
    }