Esempio n. 1
0
        protected List <ReturnCancelDTO> GetCancal(GetOrderCancel bpObj)
        {
            List <ReturnCancelDTO> CancelList = new List <ReturnCancelDTO>();

            //标准订单行料品+销售单位查找 and 销售订单行.数量-已核销数量>0
            // 单据类型=自备库存订单  自备库存订单.状态=已审核
            SO.EntityList SoList = SO.Finder.FindAll("DocumentType=@DocumentType  and Status=3", new OqlParam(1));
            if (SoList.Count > 0)
            {
                for (int i = 0; i < SoList.Count; i++)
                {
                    SOLine.EntityList SolineList = SOLine.Finder.FindAll("SO=@SO and ItemInfo=@ItemInfo and PU=@PU and (OrderByQtyPU-DescFlexField.PrivateDescSeg20)>0", new OqlParam(SoList[i].ID), new OqlParam(bpObj.ItemMaster.ID), new OqlParam(bpObj.Uom.ID));//
                    if (SolineList.Count > 0)
                    {
                        ReturnCancelDTO cancel = new ReturnCancelDTO();
                        cancel.RowNo        = SolineList[i].DocLineNo;          //行号
                        cancel.SoID         = SoList[i].Key;                    //销售订单单号
                        cancel.ItemMasterID = SolineList[i].ItemInfo.ItemIDKey; //料号
                        cancel.ItemCode     = SolineList[i].ItemInfo.ItemCode;
                        cancel.ItemName     = SolineList[i].ItemInfo.ItemName;
                        cancel.Qty          = SolineList[i].OrderByQtyPU;//数量
                        if (string.IsNullOrEmpty(SolineList[i].DescFlexField.PrivateDescSeg20))
                        {
                            cancel.NotCancelQty = cancel.Qty - Convert.ToDecimal(SolineList[i].DescFlexField.PrivateDescSeg20);//可核销数量
                        }
                        CancelList.Add(cancel);
                    }
                }
            }
            return(CancelList);
        }
Esempio n. 2
0
 /// <summary>
 /// 修改销售订单行上的佣金标识
 /// </summary>
 /// <param name="LineList"></param>
 public void ModifyBrokerage(SOLine.EntityList LineList)
 {
     using (ISession session = Session.Open())
     {
         //佣金方式,单价,支付金额,支付币种,计算原则,佣金比例,销售订单行ID,佣金表ID
         for (int i = 0; i < LineList.Count; i++)
         {
             //修改销售订单行。,是否生成佣金
             LineList[i].DescFlexField.PrivateDescSeg6 = "true";
         }
         session.Commit();
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 联动删除 BOM 佣金 费用
 /// </summary>
 /// <param name="bpObj"></param>
 public void Delete(DeleteSo bpObj)
 {
     using (ISession session = Session.Open())
     {
         //随单Bom
         OrderBomHead.EntityList BomList = OrderBomHead.Finder.FindAll("OrderHead=@OrderHead", new OqlParam(bpObj.SoID));
         if (BomList != null && BomList.Count > 0)
         {
             foreach (OrderBomHead item in BomList)
             {
                 item.Remove();
             }
         }
         //订单行佣金
         SOLine.EntityList LineList = bpObj.SoID.GetEntity().SOLines;
         if (LineList != null && LineList.Count > 0)
         {
             foreach (SOLine item in LineList)
             {
                 OrderLineBrokerage.EntityList Brokerage = OrderLineBrokerage.Finder.FindAll("OrderLineID=@OrderLineID", new OqlParam(item.ID));
                 if (Brokerage != null && Brokerage.Count > 0)
                 {
                     foreach (OrderLineBrokerage items in Brokerage)
                     {
                         items.Remove();
                     }
                 }
             }
         }
         //订单费用 SellOrderID
         OrderCost.EntityList CostList = OrderCost.Finder.FindAll("SellOrderID=@SellOrderID", new OqlParam(bpObj.SoID));
         if (CostList != null && CostList.Count > 0)
         {
             foreach (OrderCost item in CostList)
             {
                 item.Remove();
             }
         }
         session.Commit();
     }
 }
Esempio n. 4
0
        public override object Do(object obj)
        {
            ModifyDiscount_Brokerage bpObj = (ModifyDiscount_Brokerage)obj;

            if (bpObj != null)
            {
                SO SoEntity = bpObj.SoID.GetEntity();
                if (bpObj.Type == 1)
                {
                    //修改销售订单头的 折扣标识

                    if (SoEntity != null)
                    {
                        ModifyDiscount(SoEntity);
                    }
                }
                else if (bpObj.Type == 2)
                {
                    //先判断销售订单头的是否生成折扣的标识是否为true
                    if (!string.IsNullOrEmpty(SoEntity.DescFlexField.PrivateDescSeg1) && Convert.ToBoolean(SoEntity.DescFlexField.PrivateDescSeg1))
                    {
                        //修改销售订单行的佣金标识
                        SOLine.EntityList LineList = SOLine.Finder.FindAll("SO=@SO", new OqlParam(bpObj.SoID.ID));
                        if (LineList != null && LineList.Count > 0)
                        {
                            ModifyBrokerage(LineList);
                        }
                    }
                    else
                    {
                        throw new Exception("当前销售订单未生成折扣,不可生成佣金!");
                    }
                }
            }
            return(true);
        }