王 垚
2020-12-22 25c5ea9d524cc7ba92b676bbd85a05889c335796
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -27,11 +27,7 @@
    [HotUpdate]
    public class Pro_ScDayImport : AbstractDynamicFormPlugIn
    {
        private string fileFullPath = string.Empty;
        //public override void BarItemClick(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e)
        //{
        //    base.BarItemClick(e);
@@ -53,8 +49,6 @@
        //    }
        //}
        public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
            base.AfterBarItemClick(e);
@@ -98,6 +92,10 @@
            }
            base.CustomEvents(e);
        }
        /// <summary>
        /// 文件上传界面数据显示
        /// </summary>
        /// <param name="fileFullPath"></param>
        private void ImportDataSC(string fileFullPath)
        {
            using (ExcelOperation helper = new ExcelOperation(this.View))
@@ -116,7 +114,6 @@
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            //根据生产订单号和物料查询是否存在明细
                            string sql = string.Format(@"/*dialect*/ SELECT T1.FBILLNO,T2.* FROM T_PRD_MO T1
LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID
@@ -124,19 +121,27 @@
WHERE T1.FBILLNO = '{0}'  AND T3.FNUMBER = '{1}'", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString());
                            DataTable _dt = new DataTable();
                            _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                            string FLOT = "";//FLOT  批次
                            string FQTY = "";//FQTY 生产订单数量
                            string FBILLNO = "";//FBILLNO 原单号 
                            if (_dt.Rows.Count > 0)
                            {
                                FLOT = _dt.Rows[0]["FLOT"].ToString();
                                FQTY = _dt.Rows[0]["FQTY"].ToString();
                                FBILLNO = _dt.Rows[0]["FBILLNO"].ToString();
                            }
                            //物料编码 + 生产订单号 + 生产资源 去判断是否导入过 带出日计划工单ID及编号
                            string fDayPlanID = "";
                            string fDayPlanBillNo = "";
                            sql = string.Format(@"select a.FID,FBILLNO,FSCOrderNo,FHMaterID,FHSourceID from Sc_WorkBillSortBillMain a JOIN T_BD_MATERIAL b ON a.FHMaterID = b.FMATERIALID
left join T_ENG_WORKCENTER c on a.FHSourceID=c.fid
 where FSCOrderNo ='{0}' and b.FNUMBER ='{1}' and isnull(c.FNUMBER,'') ='{2}' ", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString());
                            DataTable dayPlanDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                            if (dayPlanDt.Rows.Count > 0)
                            {
                                fDayPlanID = _dt.Rows[0]["FID"].ToString();
                                fDayPlanBillNo = _dt.Rows[0]["FBILLNO"].ToString();
                            }
                            //DynamicObject row = new DynamicObject(entity.DynamicObjectType);
                            this.Model.CreateNewEntryRow("FEntity");
                            this.Model.SetValue("FSEQ", i + 1, i);
@@ -147,27 +152,23 @@
                            this.Model.SetItemValueByNumber("FResourcesId", dt.Rows[i][4].ToString(), i);
                            //  this.Model.SetValue("FMatrailId", dt.Rows[i][5].ToString(), i);
                            this.Model.SetItemValueByNumber("FMatrailId", dt.Rows[i][5].ToString(), i);
                            this.Model.SetValue("FMatrailName", dt.Rows[i][6].ToString(), i);
                            this.Model.SetValue("FModel", dt.Rows[i][7].ToString(), i);
                            this.Model.SetValue("FUnit", dt.Rows[i][8].ToString(), i);
                            this.Model.SetValue("FBatch", dt.Rows[i][9].ToString(), i);
                            this.Model.SetValue("FSalOrderCount", dt.Rows[i][10].ToString(), i);
                            this.Model.SetValue("FCompleteSetCount", dt.Rows[i][12].ToString(), i);
                            this.Model.SetValue("FDeliveryDate", ToDateTimeValue(dt.Rows[i][13].ToString()), i);
                            this.Model.SetValue("FOrderLevel", dt.Rows[i][14].ToString(), i);
                            this.Model.SetValue("FOrderLevel", OrderType(dt.Rows[i][14].ToString()), i);
                            this.Model.SetValue("FOrderQuantity", FQTY, i);
                            this.Model.SetValue("FDayPlanID", fDayPlanID, i);//日计划工单ID
                            this.Model.SetValue("FDayPlanBillNo", fDayPlanBillNo, i);//日工单编号
                            for (int j = 0; j <= 60; j++)
                            {
                                this.Model.SetValue("FT" + "" + j + "", dt.Rows[i][15 + j].ToString(), i);
                            }
                            //调用数量值更新
                            this.View.InvokeFieldUpdateService("FT0", i);
                        }
                    }
                    this.View.UpdateView();
                    for (int j = 0; j <= 60; j++)
                    {
                        this.View.GetControl("FT" + "" + j + "").Text = date.AddDays(j).ToShortDateString();
@@ -179,7 +180,30 @@
        }
        /// <summary>
        /// 订单状态等级
        /// </summary>
        /// <param name="Type"></param>
        /// <returns></returns>
        public string OrderType(string Type)
        {
            switch (Type)
            {
                case "特急":
                    return "1";
                    break;
                case "紧急":
                    return "2";
                    break;
                case "普通":
                    return "3";
                    break;
                default:
                    return " ";
                    break;
            }
        }
        /// <summary>  
        /// 时间戳Timestamp转换成日期  
        /// </summary>  
@@ -193,7 +217,6 @@
            DateTime targetDt = dtStart.Add(toNow);
            return targetDt;
        }
        /// <summary>
        /// 导入功能
        /// </summary>
@@ -269,8 +292,6 @@
                        FQTY = dt.Rows[0]["FQTY"].ToString();
                        FBILLNO = dt.Rows[0]["FBILLNO"].ToString();
                    }
                    JObject jsonRoot = new JObject();
                    jsonRoot.Add("Creator", "");
                    jsonRoot.Add("NeedUpDateFields", new JArray());
@@ -346,7 +367,7 @@
                    {
                        jsonModel.Add("FID", Convert.ToString(current["FDayPlanID"])); ;//源单编号
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -355,29 +376,22 @@
                        {
                            string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
                            string FDayPlanID = saveObj["Result"]["Id"].ToString();
                            this.Model.SetValue("FDayPlanBillNo", FDayPlanBillNo, Convert.ToInt32(current["SEQ"]) - 1);// 
                            this.Model.SetValue("FDayPlanID", FDayPlanID, Convert.ToInt32(current["SEQ"]) - 1);// 
                            this.View.ShowMessage("导入成功");
                        }
                        else
                        {
                            //LogService.WriteAsync(saveIsSuc);
                            LogService.WriteAsync(jsonRoot);
                            LogHelper.Error(jsonRoot.ToString());
                            this.View.ShowErrMessage(jsonRoot.ToString());
                        }
                    }
                    else
                    {
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -418,9 +432,6 @@
            }
        }
        /// <summary>
        /// 数字转换时间格式
        /// </summary>
@@ -468,7 +479,6 @@
            }
            return string.Empty;
        }
    }
}