You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Areas/Import/Controllers/ReceiptIOController.cs

259 lines
8.8 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using DSWeb.Areas.OA.Models.Comm;
using DSWeb.TruckMng.Comm.Cookie;
using DSWeb.TruckMng.Helper;
using DSWeb.TruckMng.Helper.Repository;
using DSWeb.Areas.CommMng.DAL;
using HcUtility.Comm;
using HcUtility.Core;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Text;
using System.Data;
using DSWeb.Areas.Import.DAL.ReceiptIO;
using DSWeb.Areas.Import.Models.ReceiptIO;
using DSWeb.EntityDA;
using WebSqlHelper;
using DSWeb.SoftMng.Filter;
namespace DSWeb.Areas.Import.Controllers
{
[JsonRequestBehavior]
public class ReceiptIOController : Controller
{
//
// GET: /Import/XXH
public ActionResult Index()
{
return View();
}
//
// GET: /Import/XXH/Edit
public ActionResult Edit()
{
return View();
}
//
// GET/Import/XXH/GetDataList
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetDataList(int start, int limit, string sort, string condition)
{
var dataList = ReceiptIODAL.GetDataList(condition,Convert.ToString(Session["USERID"]));
var list = dataList.Skip(start).Take(limit);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
public ContentResult GetData(string handle, string condition)
{
ReceiptIOmb head = null;
if (handle == "edit")
{
var list = ReceiptIODAL.GetDataList(condition, Convert.ToString(Session["USERID"]));
if (list.Count > 0)
head = list[0];
}
if (head == null)
{
head = new ReceiptIOmb();
}
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
public ContentResult Save(string opstatus, string data, string Body, string DelBody)
{
var head = JsonConvert.Deserialize<ReceiptIOmb>(data);
var bodyList = JsonConvert.Deserialize<List<ReceiptIOBodymb>>(Body);
var DelbodyList = JsonConvert.Deserialize<List<ReceiptIOBodymb>>(DelBody);
if (opstatus == "add")
{
head.DbOperationType = DbOperationType.DbotIns;
head.ModelUIStatus = "I";
head.GID = PubSysDAL.getGuid();
head.CORPID = Convert.ToString(Session["COMPANYID"]);
head.DEPTGID = Convert.ToString(Session["USERID"]);
if (bodyList!=null)
foreach (var IOBody in bodyList)
{
if (IOBody.GID == "")
{
IOBody.GID = PubSysDAL.getGuid();
}
else {
}
}
}
else if (opstatus == "edit")
{
head.CORPID = Convert.ToString(Session["COMPANYID"]);
head.DEPTGID = Convert.ToString(Session["USERID"]);
if (bodyList != null)
foreach (var IOBody in bodyList)
{
if (IOBody.GID == "")
{
IOBody.GID = PubSysDAL.getGuid();
}
else
{
}
}
head.DbOperationType = DbOperationType.DbotUpd;
head.ModelUIStatus = "E";
}
else
{
head.DbOperationType = DbOperationType.DbotDel;
}
//首先判断插入的快递单据明细是否重复
if (bodyList != null)
{
foreach (var R_Body in bodyList)
{
if (R_Body.ReceiptName == ""||R_Body.NeedType=="")
{
var jsonRespose = new JsonResponse
{
Success = false,
Message = R_Body.CUSTNO + "/" + R_Body.MBLNO + " 没有指定单据类型或单据操作 无法进行处理",
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
var _count = ReceiptIODAL.SearchBody(R_Body);
/*
if (_count > 0)
{
var jsonRespose = new JsonResponse
{
Success = false,
Message = R_Body.CUSTNO + "/" + R_Body.MBLNO + " 的 " + R_Body.ReceiptName + " 已经进行过 '" + R_Body.NeedType + "'",
Data = ""
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}*/
}
}
var modb = new ModelObjectRepository();
DBResult result = modb.Save(head,
ModelObjectConvert<ReceiptIOBodymb>.ToModelObjectList(bodyList),
ModelObjectConvert<ReceiptIOBodymb>.ToModelObjectList(DelbodyList)
);
//head.OP = CookieConfig.GetCookie_UserName(Request);
//head.COMPANY = CookieConfig.GetCookie_OrgName(Request);
if (result.Success == true) {
var Userid=CookieConfig.GetCookie_UserId(Request);
var UserName=CookieConfig.GetCookie_UserName(Request);
if (bodyList!=null)
ReceiptIODAL.WriteBody(bodyList, Userid, head);
ReceiptIODAL.InsertRemark(bodyList, head);
if (DelbodyList != null)
ReceiptIODAL.DelBody(DelbodyList, Userid, head);
}
//刷新父窗口上的父节点
var jsonRespose2 = new JsonResponse
{
Success = result.Success,
Message = result.Message,
Data = ReceiptIODAL.GetData(" GID='" + head.GID + "'")
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
public ContentResult Delete(string data,string USERID)
{
var head = JsonConvert.Deserialize<ReceiptIOmb>(data);
var GID = head.GID;
var modb = new ModelObjectDB();
DBResult result = modb.Delete(head,USERID,true);
var _count = 0;
if (result.Success == true) {
_count=ReceiptIODAL.DELBody(GID);
var ReceiptList = ReceiptIODAL.GetBodyList(" IO_GID='" + GID + "' ");
var Userid = CookieConfig.GetCookie_UserId(Request);
var UserName = CookieConfig.GetCookie_UserName(Request);
_count = _count + ReceiptIODAL.DelBody(ReceiptList, Userid, head);
}
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
public ContentResult GetBodyList ( string GID )
{
var dataList = ReceiptIODAL.GetBodyList(" IO_GID='" + GID + "' ");
var list = dataList;
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}
public ContentResult GetRemark ( string BSNO )
{
var dataList = ReceiptIODAL.GetRemark(BSNO);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() });
return new ContentResult() { Content = json };
}
#region 参照部分
#endregion
/*
public ContentResult TESTC ( )
{
var dataList = new List<Testmb>();
var n1=new Testmb();
n1.fieldLabel = "DisplayLabel";
n1.name = "display1";
dataList.Add(n1);
var list = dataList;
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };
}*/
}
}