王 垚
2021-09-08 16c4f4c84653feead5c62e124fafcb254e3827b9
nothing
3个文件已修改
21 ■■■■■ 已修改文件
src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_PPBomSave.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_DayPlanPushZJDB.cs
@@ -13,11 +13,11 @@
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.SCM.App;
namespace Demo.DynamicForm.PRD
namespace Demo.BillView.PRD
{
    /// <summary>
    /// 日计划用料清单下推后,建立直接调拨单与日计划用料清单关联关系
    /// </summary>
    /// </summary>T_PUR_Receive
    /// <remarks>
    /// 要求:
    /// 1. 需要引入单据体的源单类型、源单编号字段
src/BLL/Demo.BillView/PRD/Pro_PPBomSave.cs
@@ -40,7 +40,6 @@
                var fBillNo = this.View.Model.GetValue("FBILLNO");
                Stopwatch sw = new Stopwatch();
                sw.Start();//开始计时
                LogHelper.Info("生成日计划用料清单准备数据");
                //锁定的日计划不生成
                try
                {
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -145,13 +145,18 @@
                                FMoFBillType = _dt.Rows[0]["FMoFBillType"].ToString();
                            }
                            //物料编码 + 生产订单号 + 生产资源 + 生产订单行号 去判断是否导入过 带出日计划工单ID及编号 和 关闭数量(6.18更)
                            //9.2 关闭的日计划需要排除
                            string fDayPlanID = "";
                            string fDayPlanBillNo = "";
                            string fCloseCount = "";
                            string fQtyLS = "";
                            sql = string.Format(@"select a.FID,FBILLNO,FSCOrderNo,FHMaterID,FHSourceID,a.FCloseCount,isnull((select SUM(isnull(FHQTY,0)) from SC_WORKBILLSORTBILLSub t2 where t2.FID = a.FID and DATEDIFF(D,FHMASTERDATE,GETDATE())>0),0)FQTYLS  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 a.FSRCBILLENTRYSEQ ='{3}' and (isnull(c.FNUMBER,'') ='{2}' or (select count(*) from T_ENG_WORKCENTER where isnull(c.FNUMBER,'') ='{2}')=0)", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString(), dt.Rows[i][2].ToString());
                            sql = string.Format(@"/*dialect*/
SELECT A.FID,FBILLNO,FSCORDERNO,FHMATERID,FHSOURCEID,A.FCLOSECOUNT,ISNULL((SELECT SUM(ISNULL(FHQTY,0)) FROM SC_WORKBILLSORTBILLSUB T2 WHERE T2.FID = A.FID AND DATEDIFF(D,FHMASTERDATE,GETDATE())>0),0)FQTYLS
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 A.FDOCUMENTSTATUS NOT IN ('E') AND
FSCORDERNO ='{0}' AND B.FNUMBER ='{1}' AND A.FSRCBILLENTRYSEQ ='{3}' AND (ISNULL(C.FNUMBER,'') ='{2}' OR (SELECT COUNT(*) FROM T_ENG_WORKCENTER WHERE ISNULL(C.FNUMBER,'') ='{2}')=0)", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][4].ToString(), dt.Rows[i][2].ToString());
                            //LogHelper.Error(sql);
                            DataTable dayPlanDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                            if (dayPlanDt.Rows.Count > 0)
@@ -268,9 +273,10 @@
                }
                int res = DBServiceHelper.ExecuteBatch(Context, sqlList);
                string _result = "";
                //验证是否有生产订单明细行
                foreach (DynamicObject current in entityDataObjoct)
                {
                    //根据生产订单号和物料查询是否存在明细 +生产订单明细行号
                    //根据生产订单号和物料查询是否存在生产订单明细明细 +生产订单明细行号
                    sql = string.Format(@"/*dialect*/SELECT T1.FBILLNO,T2.* FROM T_PRD_MO T1
                                LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID
                                WHERE T1.FBILLNO = '{0}'  AND T2.FMATERIALID = '{1}' AND T2.FSEQ = '{2}'", Convert.ToString(current["FSCOrderNo"]), Convert.ToString(current["FMatrailId_Id"]), Convert.ToString(current["FSRCBILLENTRYSEQ"]));
@@ -316,7 +322,7 @@
                {
                    if (string.IsNullOrEmpty(Convert.ToString(current["FSCOrderNo"])))
                        continue;
                    //根据生产订单号和物料查询是否存在明细 +生产订单明细行号
                    //查询生产订单数据
                    sql = string.Format(@"
/*dialect*/
SELECT t4.FNAME as FMoFBillType,T1.FBILLNO,T2.*,t3.FNUMBER as FUnitNumber,tBom.FNUMBER as FBomNumber FROM T_PRD_MO T1