当前位置: 首页 > news >正文

PurchasereturnController

目录

1、 PurchasereturnController

1.1、 保存采购退货单

1.1.1、 //修改保存后的仓库ID

1.1.2、 //保存要删除的ID的集合,通过 Except() 算出前面两个集合的相同的元素。

1.1.3、 var Quantity = ReturnFormDetail[i].Quantity;//明细数量

1.1.4、 //库存量

1.1.5、 //从某集合中删除与其另一个集合中相同的元素

  1. PurchasereturnController 

using QXQPS.Models;

using QXQPS.Vo;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace QXQPS.Areas.AccessoriessalesManagment.Controllers

{

    public class PurchasereturnController : Controller

    {

        QXQPEntities myModels = new Models.QXQPEntities();

        // GET: AccessoriessalesManagment/Purchasereturn

    1. 保存采购退货单

        public ActionResult listReturnForm(List<PW_ReturnForm> listReturn, List<SYS_ReturnFormDetail> ReturnFormDetail)//保存采购退货单

        {

            ReturnJson returnJson = new ReturnJson();

            Session["ReturnFormDetail"] = ReturnFormDetail;

            var ReturnFormID = listReturn[0].ReturnFormID;

            var WarehouseID = listReturn[0].WarehouseID;

            var IncomAudit = listReturn[0].IncomingNumber;//入库单号

            var dd=0;

            try

            {

                listReturn[0].DocumentsTypeID = 5;//单据类型

                listReturn[0].BalanceStateID = 2;//结算状态

                if (ReturnFormID == 0)

                {

                    myModels.PW_ReturnForm.Add(listReturn[0]);

                }

                else

                {

                    myModels.Entry(listReturn[0]).State = System.Data.Entity.EntityState.Modified;

                }

                if (myModels.SaveChanges() > 0)

                {

                    //var WarehouseID = listIncome[0].WarehouseID;

      1. //修改保存后的仓库ID

                    ReturnFormID = listReturn[0].ReturnFormID;

                    WarehouseID = listReturn[0].WarehouseID;

                    if (ReturnFormDetail != null)

                    {

                        List<int> oldID = new List<int>();//保存原来ID的集合

                        List<int> newID = new List<int>();//保存从页面传来的新ID的集合

                        List<int> DeleteID = new List<int>();

      1. //保存要删除的ID的集合,通过 Except() 算出前面两个集合的相同的元素。

                        var RetuDetail = myModels.SYS_ReturnFormDetail.Where(m => m.ReturnFormID == ReturnFormID).Select(m => new { m.ReturnFormDetailID }).ToList();

                        foreach (var item in RetuDetail)

                        {

                            oldID.Add(item.ReturnFormDetailID);

                        }

                        for (int i = 0; i < ReturnFormDetail.Count(); i++)

                        {

                            var FittingsInfoID = ReturnFormDetail[i].FittingsInfoID;

      1.                             var Quantity = ReturnFormDetail[i].Quantity;//明细数量

                            var FittingsInfo = myModels.SYS_FittingsInfo.Where(m => m.FittingsInfoID == FittingsInfoID).SingleOrDefault();//编码

                            var FittingsCode = FittingsInfo.FittingsCode;

                            var B = myModels.SYS_Inventory.Where(m => m.WarehouseID == WarehouseID && m.FittingsCode == FittingsCode).SingleOrDefault();

      1. //库存量

                            if (B != null)

                            {

                                var InvenQuan = B.InvenQuan;

                                if (InvenQuan + Quantity >= 0)

                                {

                                    ReturnFormDetail[i].ReturnFormID = ReturnFormID;

                                    var ReturnFormDetailID = ReturnFormDetail[i].ReturnFormDetailID;

                                    if (ReturnFormDetailID == 0)

                                    {

                                        myModels.SYS_ReturnFormDetail.Add(ReturnFormDetail[i]);

                                    }

                                    else

                                    {

                                        myModels.Entry(ReturnFormDetail[i]).State = System.Data.Entity.EntityState.Modified;

                                    }

                                    newID.Add(ReturnFormDetailID);

                                   

                                }

                                else

                                {

                                    returnJson.State = false;

                                    returnJson.Text= "库存数量小于退货数量!";

                                    return Json(returnJson, JsonRequestBehavior.AllowGet);

                                }

                            }

                            else

                            {

                                returnJson.State = false;

                                returnJson.Text = "库存数量小于退货数量!";

                                return Json(returnJson, JsonRequestBehavior.AllowGet);

                            }

                        }

                        DeleteID = oldID.Except(newID).ToList();

      1. //从某集合中删除与其另一个集合中相同的元素

                        foreach (var item in DeleteID)

                        {

                            var delete = myModels.SYS_ReturnFormDetail.Where(m => m.ReturnFormDetailID == item).Single();

                            myModels.SYS_ReturnFormDetail.Remove(delete);

                        }

                        dd = myModels.SaveChanges();

                        if (dd > 0)

                        {

                            returnJson.State = true;

                            returnJson.Text = ReturnFormID.ToString();

                        }

                    }

                }

            }

            catch (Exception)

            {

                returnJson.State = false;

                returnJson.Text = "数据异常!";

            }

            return Json(returnJson, JsonRequestBehavior.AllowGet);

        }

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • HTML/CSS/JS学习笔记 Day1(HTML--工具语法规范)
  • 忘记开 long long
  • 编写Dockerfile第二版
  • emlogpro插件-优雅的时间进度侧边栏小工具插件
  • Kafka (快速)安装部署
  • jenkins工具的介绍和gitlab安装
  • 算法:插入排序
  • 杀毒软件火绒下载地址
  • 数学建模强化宝典(13)M-K检验法
  • 【系统架构设计师】状态模式
  • matlab实现kaiser窗+时域采样序列(不管原信号拉伸成什么样子)是一样的,变到频谱后再采样就是一样的频域序列。
  • CCPC网络预选赛感想
  • 深入了解以太坊
  • COD论文笔记 Adaptive Guidance Learning for Camouflaged Object Detection
  • EmguCV学习笔记 VB.Net 11.2 DNN推理流程
  • 深入了解以太坊
  • Angular 2 DI - IoC DI - 1
  • Angular 响应式表单之下拉框
  • const let
  • docker python 配置
  • JavaScript函数式编程(一)
  • JAVA之继承和多态
  • JS笔记四:作用域、变量(函数)提升
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 基于web的全景—— Pannellum小试
  • 小程序 setData 学问多
  • 终端用户监控:真实用户监控还是模拟监控?
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 通过调用文摘列表API获取文摘
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (02)vite环境变量配置
  • (12)Hive调优——count distinct去重优化
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (二十六)Java 数据结构
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (七)glDrawArry绘制
  • (四)软件性能测试
  • (学习日记)2024.01.09
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (杂交版)植物大战僵尸
  • (转载)从 Java 代码到 Java 堆
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net framework 4.8 开发windows系统服务
  • .NET 给NuGet包添加Readme
  • .NET 解决重复提交问题
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .Net实现SCrypt Hash加密
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @AutoConfigurationPackage的使用
  • @TableId注解详细介绍 mybaits 实体类主键注解