示例#1
0
        /// <summary>
        /// 根据传入的单号信息删除送货单
        /// </summary>
        /// <param name="delivery_no">送货单号</param>
        public void DeleteFilArrival(string delivery_no)
        {
            try {
                //20170508 add by liwei1 for P001-161209002 ---begin---
                //检查该送货单是否已生成到货单,若已生成到货单则不能审核
                if (GetCountNum(delivery_no) > 0)
                {
                    IInfoEncodeContainer infoEnCode = GetService <IInfoEncodeContainer>();
                    throw new BusinessRuleException(infoEnCode.GetMessage("A111446"));//该送货单已生成到货单,不能删除!
                }
                //20170508 add by liwei1 for P001-161209002 ---end---

                using (ITransactionService transActionService = GetService <ITransactionService>()) {
                    //删除送货单
                    QueryNode queryNode = OOQL.Delete("FIL_ARRIVAL")
                                          .Where((OOQL.CreateProperty("FIL_ARRIVAL.DOC_NO") == OOQL.CreateConstants(delivery_no)));
                    GetService <IQueryService>().ExecuteNoQuery(queryNode);

                    //删除送货单单身
                    queryNode = OOQL.Delete("FIL_ARRIVAL.FIL_ARRIVAL_D")
                                .Where(OOQL.CreateProperty("FIL_ARRIVAL.FIL_ARRIVAL_D.DOC_NO") == OOQL.CreateConstants(delivery_no));
                    GetService <IQueryService>().ExecuteNoQuery(queryNode);
                    transActionService.Complete();
                }
            } catch (Exception) {
                throw;
            }
        }
示例#2
0
        /// <summary>
        /// 先删除BCLine,后面再重新生成
        /// </summary>
        /// <param name="qrySrv"></param>
        /// <param name="tmpIssueReceiptD"></param>
        private void DeleteBCLine(IQueryService qrySrv, IDataEntityType tmpIssueReceiptD)
        {
            QueryNode deleteNode = OOQL.Delete("BC_LINE")
                                   .Where(OOQL.CreateProperty("SOURCE_ID.ROid").In(
                                              OOQL.Select(OOQL.CreateProperty("ISSUE_RECEIPT_D.ISSUE_RECEIPT_D_ID"))
                                              .From("ISSUE_RECEIPT", "ISSUE_RECEIPT")
                                              .InnerJoin(tmpIssueReceiptD.Name, "TMP")
                                              .On(OOQL.CreateProperty("ISSUE_RECEIPT.DOC_NO") == OOQL.CreateProperty("TMP.DOC_NO"))
                                              .InnerJoin("ISSUE_RECEIPT.ISSUE_RECEIPT_D", "ISSUE_RECEIPT_D")
                                              .On(OOQL.CreateProperty("ISSUE_RECEIPT.ISSUE_RECEIPT_ID") == OOQL.CreateProperty("ISSUE_RECEIPT_D.ISSUE_RECEIPT_ID"))
                                              ));

            qrySrv.ExecuteNoQuery(deleteNode);
        }
        /// <summary>
        /// 先删除BCLine,后面再重新生成
        /// </summary>
        /// <param name="qrySrv"></param>
        /// <param name="tmpIssueReceiptD"></param>
        private void DeleteBCLine(IQueryService qrySrv, IDataEntityType tempEntityD)
        {
            QueryNode deleteNode = OOQL.Delete("BC_LINE")
                                   .Where(OOQL.CreateProperty("SOURCE_ID.ROid").In(
                                              OOQL.Select(OOQL.CreateProperty("SALES_ISSUE_D.SALES_ISSUE_D_ID"))
                                              .From("SALES_ISSUE", "SALES_ISSUE")
                                              .InnerJoin(tempEntityD.Name, "TMP")
                                              .On(OOQL.CreateProperty("SALES_ISSUE.DOC_NO") == OOQL.CreateProperty("TMP.doc_no"))
                                              .InnerJoin("SALES_ISSUE.SALES_ISSUE_D", "SALES_ISSUE_D")
                                              .On(OOQL.CreateProperty("SALES_ISSUE.SALES_ISSUE_ID") == OOQL.CreateProperty("SALES_ISSUE_D.SALES_ISSUE_ID"))
                                              ));

            qrySrv.ExecuteNoQuery(deleteNode);
        }
        /// <summary>
        /// 删除条码交易明细
        /// </summary>
        private void DeleteBcLine()
        {
            QueryNode deleteNode =
                OOQL.Delete("BC_LINE")
                .Where((OOQL.CreateProperty("SOURCE_ID.RTK") == OOQL.CreateConstants("TRANSACTION_DOC.TRANSACTION_DOC_D")) &
                       OOQL.CreateProperty("SOURCE_ID.ROid")
                       .In(OOQL.Select(OOQL.CreateProperty("TRANSACTION_DOC_D.TRANSACTION_DOC_D_ID"))
                           .From("TRANSACTION_DOC.TRANSACTION_DOC_D", "TRANSACTION_DOC_D")
                           .InnerJoin("TRANSACTION_DOC", "TRANSACTION_DOC")
                           .On(OOQL.CreateProperty("TRANSACTION_DOC.TRANSACTION_DOC_ID") == OOQL.CreateProperty("TRANSACTION_DOC_D.TRANSACTION_DOC_ID"))
                           .InnerJoin(_TEMP_SCAN_DETAIL.Name, "TEMP_SCAN_DETAIL")
                           .On((OOQL.CreateProperty("TEMP_SCAN_DETAIL.doc_no") == OOQL.CreateProperty("TRANSACTION_DOC.DOC_NO")) &
                               (OOQL.CreateProperty("TEMP_SCAN_DETAIL.seq") == OOQL.CreateProperty("TRANSACTION_DOC_D.SequenceNumber")))
                           ));

            _querySrv.ExecuteNoQuery(deleteNode);
        }