datable及list、在某个服务里面修改另外一个服务的记录

49 阅读1分钟

背景:现在有一个余料采集的功能和一个退料功能,我做了采集之后再去做退料,问题是 退料提交之后怎么回传给余料采集一个结果,告诉它我已退料呢?

解决办法:在MaterialReturnDetail里面加上一个object:RemainMaterialCollectionDetail,并在RemainMaterialCollectionDetail里面添加一个字段status记录是否退料,修改一下CLF如图,这样就实现了在余料采集的历史记录里面可以查到是否退料

image.png

从这个clf可以看到 要想实现这样的效果 就必须把SJ_RemainMaterialHIsdeid转给退料的detail 可以放进二维码中扫码实现 如图是sql

image.png

historyid传值

item.SJ_RemainMaterialHisDe = new SubentityRef(Convert.ToString(dt.Rows[0]["SJ_RemainMaterialHisDeId"]));

转datatable已经判断recordset是否有值

 if (queryResult.IsSuccess && recordSet.Rows != null && recordSet.Rows.Length > 0)
        {
                DataTable dt = recordSet.GetAsExplicitlyDataTable();
                SJ_MaterialReturnDetails item = new SJ_MaterialReturnDetails();
                if(dt.Rows[0]["Statu"].Equals("已退料"))
                {
                    Page.DisplayMessage("此物料已退料!", false);
                    return;
                }
                if(dt.Rows[0]["wei"] != null)
                {
                item.SJ_Weight = dt.Rows[0]["wei"].ToString();
                }
                if (dt.Rows[0]["productname"] != null && dt.Rows[0]["pr"] != null)
                {
                    item.SJ_NewPN = new RevisionedObjectRef(Convert.ToString(dt.Rows[0]["productname"]), Convert.ToString(dt.Rows[0]["pr"]));
                }
                

自己拖出来的下拉选 怎么设置默认值

image.png