|
|
using System;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Web.Mvc;
|
|
|
using DSWeb.MvcShipping.Helper;
|
|
|
using DSWeb.MvcShipping.Comm.Cookie;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using System.Collections.Generic;
|
|
|
using System.IO;
|
|
|
using System.Data;
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
using DSWeb.Areas.MvcShipping.DAL.MsOp_YAXIANG;
|
|
|
using DSWeb.MvcShipping.Models.MsOp_YAXIANG;
|
|
|
|
|
|
using DSWeb.Areas.OA.Models.WorkFlow;
|
|
|
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
|
|
|
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;//编码规则
|
|
|
|
|
|
using DSWeb.Areas.SysMng.DAL.SysTask;
|
|
|
|
|
|
using DSWeb.MvcShipping.DAL.MsOpSeaiDAL;
|
|
|
using DSWeb.MvcShipping.Models.MsOpSeai;//海运进口业务
|
|
|
|
|
|
using DSWeb.Areas.Import.Models.Comm;//用于生成费用
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;//查询OP权限
|
|
|
using DSWeb.MvcShipping.DAL.MsCodeOpDef;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.Controllers
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 押箱业务管理 邓羽 20190918
|
|
|
/// 需求编号 SR2019091100002
|
|
|
/// </summary>
|
|
|
[JsonRequestBehavior]
|
|
|
public class MsOp_YAXIANGController : Controller
|
|
|
{
|
|
|
//
|
|
|
// GET: /RptMng/MsRptPcHeadQry
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
public ActionResult Edit()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 由海运进口模块调用,参数是由逗号隔开的海运进口业务的BSNO
|
|
|
/// 如不可生成则返回错误
|
|
|
/// </summary>
|
|
|
/// <param name="BillnoList"></param>
|
|
|
/// <returns></returns>
|
|
|
public ContentResult MakeYX(string SeaiGIDListStr) {
|
|
|
|
|
|
var result = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = "",
|
|
|
Data = null//fieldlist
|
|
|
};
|
|
|
|
|
|
var SeaiList = MsOpSeaiDAL.GetDataList(" BSNO in ("+ SeaiGIDListStr + ")",Session["USERID"].ToString(),Session["SHOWNAME"].ToString(),Session["COMPANYID"].ToString());
|
|
|
|
|
|
//1.查询这些业务是否已生成押箱业务
|
|
|
var ExistYX = BasicDataRefDAL.GeneralSelect("MsOp_YAXIANG_Detail","BSNO","YXNO", "BSNO in("+ SeaiGIDListStr + ")");
|
|
|
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var newMessage = "";
|
|
|
var existMessage = "";
|
|
|
var NewYXNO = "";
|
|
|
|
|
|
var YXDetailList = new List<YX_DETAILmb>();
|
|
|
|
|
|
if (ExistYX.Count > 0) {
|
|
|
foreach (var YX in ExistYX) {
|
|
|
foreach (var Opseai in SeaiList) {
|
|
|
if (Opseai.BSNO == YX.GID) {
|
|
|
Opseai.SetValue("YXNO", YX.GVALUE);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var basebody = new YX_DETAILmb();
|
|
|
|
|
|
basebody.GetTableField(db);
|
|
|
|
|
|
foreach (var Opseai in SeaiList)
|
|
|
{
|
|
|
if (Opseai.GetValue("YXNO") == "")
|
|
|
{
|
|
|
|
|
|
if (newMessage == "")
|
|
|
{
|
|
|
NewYXNO = MsSysBillNoSetDAL.GetNewNo("押箱业务","委托编号", Session["COMPANYID"].ToString(), System.DateTime.Now.ToString("yyyy-MM-dd"));
|
|
|
if (string.IsNullOrWhiteSpace(NewYXNO)) {
|
|
|
result.Success = false;
|
|
|
result.Message = "本公司缺少【押箱业务-委托编号】的命名规则";
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
newMessage = " 生成新的押箱单" + NewYXNO;
|
|
|
}
|
|
|
var yxdetail = new YX_DETAILmb();
|
|
|
basebody.Copy(yxdetail);
|
|
|
yxdetail.SetValue("BSNO", Opseai.BSNO);
|
|
|
yxdetail.setDefault();
|
|
|
YXDetailList.Add(yxdetail);
|
|
|
}
|
|
|
else {
|
|
|
if (existMessage == "")
|
|
|
{
|
|
|
existMessage = " 以下已经生成押箱单的业务未作处理:" ;
|
|
|
}
|
|
|
existMessage += " " + Opseai.CUSTNO+";";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//2.对未生成押箱业务的,生成押箱业务
|
|
|
if (newMessage != "")
|
|
|
{
|
|
|
|
|
|
var head = new YXmb();
|
|
|
head.GetTableField(db);
|
|
|
head.SetValue("GID", System.Guid.NewGuid().ToString());
|
|
|
head.SetValue("YXNO", NewYXNO);
|
|
|
head.SetValue("COMPANYID", Session["COMPANYID"].ToString());
|
|
|
head.SetValue("DEPTID", Session["DEPTGID"].ToString());
|
|
|
head.SetValue("CREATEUSER", Session["USERID"].ToString());
|
|
|
head.SetValue("CREATETIME", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
head.SetValue("YXSTATE", "3001");//初始状态
|
|
|
head.SetValue("YXMONEY", "0");//
|
|
|
head.SetValue("RETURNMONEY", "0");//
|
|
|
head.SetValue("SPENDMONEY", "0");//
|
|
|
|
|
|
//20191223 根据设定的默认值设定字段默认值
|
|
|
var FieldList = MsCodeOpDefDAL.GetDataList(" BSTYPE='押箱业务' ", Convert.ToString(Session["COMPANYID"]));
|
|
|
if (FieldList.Count > 0)
|
|
|
{
|
|
|
foreach (var field in FieldList)
|
|
|
{
|
|
|
//SetPropertyValue
|
|
|
head.SetValue(field.FIELDNAME, field.DEFVALUE);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
DBResult _r = modb.Save(head,
|
|
|
ModelObjectConvert<YX_DETAILmb>.ToModelObjectList(YXDetailList),
|
|
|
ModelObjectConvert<YX_DETAILmb>.ToModelObjectList(null)
|
|
|
);
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = newMessage + existMessage;
|
|
|
}
|
|
|
else {
|
|
|
result.Success = false;
|
|
|
result.Message = existMessage;
|
|
|
}
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 生成费用 目前产生录入状态的费用
|
|
|
/// </summary>
|
|
|
/// <param name="Head"></param>
|
|
|
/// <param name="Body"></param>
|
|
|
/// <returns></returns>
|
|
|
public ContentResult MakeFee(string Head, string Body)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var basebody = new YX_DETAILmb();
|
|
|
basebody.GetTableField(db);
|
|
|
var BodyList = new List<YX_DETAILmb>();
|
|
|
//var DelBodyList = new List<YX_DETAILmb>();
|
|
|
|
|
|
var head = new YXmb();
|
|
|
head.SetValue(db, Head);
|
|
|
|
|
|
var USERID = Convert.ToString(Session["USERID"]);
|
|
|
var enterdate = DateTime.Now;
|
|
|
|
|
|
if (Body != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(Body);
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var body = new YX_DETAILmb();
|
|
|
basebody.Copy(body);
|
|
|
body.SetValue(sdl);
|
|
|
BodyList.Add(body);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var ChfeeList = new List<MsChFee>();
|
|
|
|
|
|
var existFeeList = new List<GeneralModel>();
|
|
|
|
|
|
existFeeList = BasicDataRefDAL.GeneralSelect(string.Format("select bsno gid,feename gvalue from ch_fee where feename in('修箱费','洗箱费','修洗箱费','超期箱使费','滞纳金') and feetype=2 and bxgid='{0}'", head.GetValue("YXNO")));
|
|
|
|
|
|
foreach (var YXDetail in BodyList) {
|
|
|
|
|
|
//修箱费
|
|
|
if (Convert.ToDecimal(YXDetail.GetValue("FIXFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "修箱费"))
|
|
|
{
|
|
|
var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "修箱费", Convert.ToDecimal(YXDetail.GetValue("FIXFEE")));
|
|
|
ChfeeList.Add(fee);
|
|
|
}
|
|
|
//洗箱费
|
|
|
if (Convert.ToDecimal(YXDetail.GetValue("WASHFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "洗箱费"))
|
|
|
{
|
|
|
var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "洗箱费", Convert.ToDecimal(YXDetail.GetValue("WASHFEE")));
|
|
|
ChfeeList.Add(fee);
|
|
|
}
|
|
|
//修洗箱费
|
|
|
if (Convert.ToDecimal(YXDetail.GetValue("FWFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "修洗箱费"))
|
|
|
{
|
|
|
var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "修洗箱费", Convert.ToDecimal(YXDetail.GetValue("FWFEE")));
|
|
|
ChfeeList.Add(fee);
|
|
|
}
|
|
|
//超期箱使费
|
|
|
if (Convert.ToDecimal(YXDetail.GetValue("OVERFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "超期箱使费"))
|
|
|
{
|
|
|
var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "超期箱使费", Convert.ToDecimal(YXDetail.GetValue("OVERFEE")));
|
|
|
ChfeeList.Add(fee);
|
|
|
}
|
|
|
//滞纳金
|
|
|
if (Convert.ToDecimal(YXDetail.GetValue("LATEFEE")) > 0 && !FeeExist(existFeeList, YXDetail.GetValue("BSNO"), "滞纳金"))
|
|
|
{
|
|
|
var fee = getFee(head.GetValue("YXNO"), YXDetail.GetValue("BSNO"), "滞纳金", Convert.ToDecimal(YXDetail.GetValue("LATEFEE")));
|
|
|
ChfeeList.Add(fee);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (ChfeeList.Count > 0) {
|
|
|
foreach (var _d in ChfeeList)
|
|
|
{
|
|
|
_d.FeeStatus = 1;//生成录入状态的费用
|
|
|
_d.DbOperationType = DbOperationType.DbotIns;
|
|
|
_d.CustomerName = head.GetValue("CUSTOMERNAME");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
var result = new DBResult();
|
|
|
|
|
|
if (ChfeeList.Count > 0)
|
|
|
{
|
|
|
result = modb.SaveHead(
|
|
|
ModelObjectConvert<MsChFee>.ToModelObjectList(ChfeeList)
|
|
|
);
|
|
|
}
|
|
|
else {
|
|
|
result.Success = false;
|
|
|
result.Message = "所有费用目前均已生成";
|
|
|
}
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
private MsChFee getFee(string YXNO, string BSNO, string FEENAME, decimal AMOUNT) {
|
|
|
|
|
|
var data = new MsChFee();
|
|
|
data.GId = Guid.NewGuid().ToString();
|
|
|
data.BsNo = BSNO;
|
|
|
data.UnitPrice = Convert.ToDecimal(AMOUNT);
|
|
|
data.Quantity = 1;
|
|
|
data.Amount = Convert.ToDecimal(AMOUNT);
|
|
|
//data.NoTaxAmount = Convert.ToDecimal(_C.prepayments);
|
|
|
data.FeeName = FEENAME;
|
|
|
//var CURRList = BasicDataRefDAL.GetcurrRefList("gid='" + _C.currid + "'");
|
|
|
var CURR = "RMB";
|
|
|
data.Currency = CURR;
|
|
|
data.ExChangerate = 1;
|
|
|
data.CARGO_GID = YXNO;//用CARGO_GID盛放YXNO
|
|
|
data.Remark = "押箱单号" + YXNO;//;
|
|
|
data.FeeType = 2;//应付
|
|
|
data.EnteroPerator = Session["USERID"].ToString();
|
|
|
data.EnterDate = DateTime.Now;
|
|
|
data.FeeStatus = 0;
|
|
|
return data;
|
|
|
|
|
|
}
|
|
|
|
|
|
private bool FeeExist(List<GeneralModel> existFeeList,string BSNO,string FEENAME)
|
|
|
{
|
|
|
foreach (var fee in existFeeList) {
|
|
|
if (fee.GID == BSNO && fee.GVALUE == FEENAME) {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#region 押箱业务 头表/明细表
|
|
|
|
|
|
//public ContentResult GetSqlStr(string YXNOList) {
|
|
|
|
|
|
// string sql = MsOp_YAXIANGDAL.gethea;
|
|
|
//}
|
|
|
|
|
|
public ContentResult GetDataList(int start, int limit, string condition, string sort="")
|
|
|
{
|
|
|
var dataList = MsOp_YAXIANGDAL.GetDataList(condition,Session["USERID"].ToString(), sort);
|
|
|
|
|
|
var _list = dataList.Skip(start).Take(limit);
|
|
|
|
|
|
//var list = new List<Dictionary<string, string>>();
|
|
|
|
|
|
//if (_list.Count() > 0) {
|
|
|
// foreach (var data in _list) {
|
|
|
// list.Add(data.ExtendDic);
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
var list_2 = ModelObjectBill.getDicList(ModelObjectConvert<YXmb>.ToModelObjectList(dataList));
|
|
|
var list_3 = list_2.Skip(start).Take(limit);
|
|
|
|
|
|
var json = JsonConvert.Serialize(new
|
|
|
{
|
|
|
Success = true,
|
|
|
Message = "查询成功",
|
|
|
totalCount = dataList.Count(),
|
|
|
data = list_3.ToList()
|
|
|
|
|
|
//totalCount = dataList.Count,
|
|
|
//data = list.ToList()
|
|
|
|
|
|
//,fieldlist = fieldlist.ToList()
|
|
|
});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetData( string condition)
|
|
|
{
|
|
|
var data = MsOp_YAXIANGDAL.GetData(condition, Session["USERID"].ToString());
|
|
|
|
|
|
var result = new YXmb();
|
|
|
|
|
|
if (data.GetValue("CREATEUSER")!="")
|
|
|
{//代表不是新增的,存在现存数据
|
|
|
result = data;
|
|
|
}
|
|
|
else {
|
|
|
//新增数据 需设定默认值
|
|
|
var createtimeStr = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
result.SetValue("CREATETIME", createtimeStr);
|
|
|
result.SetValue("CREATEUSER", Session["USERID"].ToString());
|
|
|
|
|
|
result.SetValue("COMPANYID", Session["COMPANYID"].ToString());
|
|
|
result.SetValue("DEPTID", Session["DEPTGID"].ToString());
|
|
|
|
|
|
//YXMONEY SPENDMONEY RETURNMONEY
|
|
|
result.SetValue("YXMONEY", "0.00");
|
|
|
result.SetValue("SPENDMONEY", "0.00");
|
|
|
result.SetValue("RETURNMONEY", "0.00");
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(new
|
|
|
{
|
|
|
Success = true,
|
|
|
Message = "查询成功",
|
|
|
//totalCount = 1,
|
|
|
data = result.ExtendDic
|
|
|
//,fieldlist = fieldlist.ToList()
|
|
|
});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
public ContentResult GetBodyList( string condition )
|
|
|
{
|
|
|
var dataList = MsOp_YAXIANGDAL.GetBodyList(condition);
|
|
|
|
|
|
var list = new List<Dictionary<string, string>>();
|
|
|
|
|
|
if (dataList.Count() > 0)
|
|
|
{
|
|
|
foreach (var data in dataList)
|
|
|
{
|
|
|
list.Add(data.ExtendDic);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var json = JsonConvert.Serialize(new
|
|
|
{
|
|
|
Success = true,
|
|
|
Message = "查询成功",
|
|
|
totalCount = list.Count,
|
|
|
data = list.ToList()
|
|
|
});
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
public ContentResult Save(string opstatus, string data, string Body, string DelBody)//
|
|
|
{
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
var head = new YXmb();
|
|
|
head.SetValue(db, data);
|
|
|
|
|
|
if (opstatus == "edit")
|
|
|
{
|
|
|
var _head = MsOp_YAXIANGDAL.GetData("GID='"+head.GetValue("GID")+"'", Session["USERID"].ToString());
|
|
|
|
|
|
var canbeedit = SysTaskDAL.TaskGetWord(_head.GetValue("YXSTATE"), "canedit");
|
|
|
|
|
|
if (!canbeedit) {
|
|
|
var jsonRespose1 = new JsonResponse
|
|
|
{
|
|
|
Success = false,
|
|
|
Message = "此状态下的押箱业务不能进行修改",
|
|
|
Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'", Session["USERID"].ToString()).ExtendDic//fieldlist
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose1) };
|
|
|
}
|
|
|
}
|
|
|
|
|
|
var basebody = new YX_DETAILmb();
|
|
|
basebody.GetTableField(db);
|
|
|
var BodyList = new List<YX_DETAILmb>();
|
|
|
var DelBodyList = new List<YX_DETAILmb>();
|
|
|
|
|
|
if (Body != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(Body);
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var body = new YX_DETAILmb();
|
|
|
basebody.Copy(body);
|
|
|
body.SetValue(sdl);
|
|
|
BodyList.Add(body);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
head.ModelUIStatus = "I";
|
|
|
head.SetValue("GID", System.Guid.NewGuid().ToString());
|
|
|
|
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='押箱业务' AND RULEBLNO='押箱编号' ", Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
var _date = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
var YXNO = MsSysBillNoSetDAL.GetBillNo(billnoset, _date, _date, "", Session["USERID"].ToString(), Session["COMPANYID"].ToString());
|
|
|
}
|
|
|
else if (opstatus == "edit")
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
}
|
|
|
|
|
|
DBResult result = modb.Save(head,
|
|
|
ModelObjectConvert<YX_DETAILmb>.ToModelObjectList(BodyList),
|
|
|
ModelObjectConvert<YX_DETAILmb>.ToModelObjectList(DelBodyList)
|
|
|
);
|
|
|
|
|
|
//保存完成后重新计算头表的实际扣款。
|
|
|
MsOp_YAXIANGDAL.ReCount(head);
|
|
|
|
|
|
|
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
{
|
|
|
Success = result.Success,
|
|
|
Message = result.Message,
|
|
|
Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'",Session["USERID"].ToString()).ExtendDic//fieldlist
|
|
|
};
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
private static void updateMoney(string YXNO) {
|
|
|
|
|
|
var strSql = " update MsOp_YAXIANG set SPENDMONEY= ";
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult Delete(string data)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var head = new YXmb();
|
|
|
head.SetValue(db, data);
|
|
|
|
|
|
var canbedel = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"),"candelete");
|
|
|
|
|
|
var HeadList = getCanOPList("["+data+"]");
|
|
|
|
|
|
//var canbedel = true;
|
|
|
if (canbedel == false && HeadList.Count>0)
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "此状态下的押箱业务不能进行删除!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var modb = new ModelObjectDBBill();
|
|
|
DBResult result = modb.Delete(head,
|
|
|
"delete from MsOp_YAXIANG_DETAIL where YXNO='" + head.GetValue("YXNO") + "'");
|
|
|
//MsSysBillNoSetDAL.DeleteBsNo(head.BillNo);
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
public ContentResult DelDetail(string data,string GID)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
var head = new YXmb();
|
|
|
head.SetValue(db, data);
|
|
|
|
|
|
var canbedel = SysTaskDAL.TaskGetWord(head.GetValue("YXSTATE"), "candelete");
|
|
|
//canbedel = true;
|
|
|
if (canbedel == false)
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "此状态下的押箱业务不能进行删除!" };
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "" };
|
|
|
|
|
|
strSql.Append(" delete from MsOp_YAXIANG_DETAIL where GID in (" + GID + ")");
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var _r = db.ExecuteNonQuery(CommandType.Text, strSql.ToString());
|
|
|
|
|
|
MsOp_YAXIANGDAL.ReCount(head);
|
|
|
}
|
|
|
catch (Exception ee)
|
|
|
{
|
|
|
jsonRespose.Success = false;
|
|
|
jsonRespose.Message = ee.Message;
|
|
|
}
|
|
|
jsonRespose.Success = true;
|
|
|
jsonRespose.Message = "明细删除成功";
|
|
|
jsonRespose.Data = MsOp_YAXIANGDAL.GetData(head.GetBillNoFieldName() + " = '" + head.GetBillNoValue() + "'",Session["USERID"].ToString()).ExtendDic;
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
#region 状态变更
|
|
|
|
|
|
public ContentResult PushState(string data,string Execution) {
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
var head = new YXmb();
|
|
|
head.SetValue(db, data);
|
|
|
|
|
|
return doPushState(head, Execution);
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
private ContentResult doPushState(YXmb head, string Execution)
|
|
|
{
|
|
|
var modb = new ModelObjectRepository();
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
var STATE = head.GetValue("YXSTATE");
|
|
|
|
|
|
var newState = SysTaskDAL.DoExecution(STATE, Execution);
|
|
|
|
|
|
if (newState.STATEKEY == "0000")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = head.GetValue("YXSTATEREF") + "状态下的业务不能进行此操作";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
head.SetValue("YXSTATE", newState.STATEKEY);
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
head.ModelUIStatus = "E";
|
|
|
var _r = modb.Save(head);
|
|
|
result.Success = _r.Success;
|
|
|
result.Message = _r.Message;
|
|
|
MsOp_YAXIANGDAL.ReCount(head);
|
|
|
}
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
public ContentResult PushState_List(string dataList, string Execution)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = new List<YXmb>();
|
|
|
|
|
|
if (dataList != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(dataList);
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var head = new YXmb();
|
|
|
baseHead.Copy(head);
|
|
|
head.SetValue(sdl);
|
|
|
HeadList.Add(head);
|
|
|
}
|
|
|
|
|
|
if (HeadList.Count > 0) {
|
|
|
foreach (var head in HeadList) {
|
|
|
doPushState(head, Execution);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
result.Success = true;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
//public ContentResult SQQR ( string USERID, string data ) //申请签入
|
|
|
//{
|
|
|
// var _r1 = SaveList_P(data);
|
|
|
|
|
|
// var _L = new List<MsOp_BLISSUEmb>();
|
|
|
|
|
|
// var result = new DBResult();
|
|
|
|
|
|
// foreach (var _p in _r1) {
|
|
|
// if (_p.BLSTATUS != "录入状态")
|
|
|
// {
|
|
|
|
|
|
// }
|
|
|
// else {
|
|
|
// _L.Add(_p);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// var jsonRespose = new JsonResponse();
|
|
|
// //var USERID=Convert.ToString(Session["USERID"]);
|
|
|
// if (_L.Count > 0)
|
|
|
// {
|
|
|
// result = MsOp_BLISSUEDAL.SQQR(_L, USERID);
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
|
|
|
// };
|
|
|
// }
|
|
|
// else {
|
|
|
// result.Success = false;
|
|
|
// result.Message = "没有可以提交的提单";
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// Data = null
|
|
|
// };
|
|
|
// }
|
|
|
|
|
|
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
//}
|
|
|
//public ContentResult SQQR_back ( string USERID, string data ) //申请签入_撤回
|
|
|
//{
|
|
|
// var _r1 = SaveList_P(data);
|
|
|
|
|
|
// var _L = new List<MsOp_BLISSUEmb>();
|
|
|
|
|
|
// var result = new DBResult();
|
|
|
|
|
|
// foreach (var _p in _r1)
|
|
|
// {
|
|
|
// if (_p.BLSTATUS != "待签入")
|
|
|
// {
|
|
|
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// _L.Add(_p);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// var jsonRespose = new JsonResponse();
|
|
|
// //var USERID=Convert.ToString(Session["USERID"]);
|
|
|
// if (_L.Count > 0)
|
|
|
// {
|
|
|
// result = MsOp_BLISSUEDAL.SQQR_back(_L, USERID);
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
|
|
|
// };
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result.Success = false;
|
|
|
// result.Message = "没有可以撤回的提单";
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// Data = null
|
|
|
// };
|
|
|
// }
|
|
|
|
|
|
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
//}
|
|
|
//public ContentResult SQQR_Auditback ( string USERID, string data,string REASON ) //申请签入_撤回
|
|
|
//{
|
|
|
// var _r1 = SaveList_P(data);
|
|
|
|
|
|
// var _L = new List<MsOp_BLISSUEmb>();
|
|
|
|
|
|
// var result = new DBResult();
|
|
|
|
|
|
// foreach (var _p in _r1)
|
|
|
// {
|
|
|
// if (_p.BLSTATUS == "待签入" || _p.BLSTATUS == "已签入")
|
|
|
// {
|
|
|
// _L.Add(_p);
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// //_L.Add(_p);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// var jsonRespose = new JsonResponse();
|
|
|
// //var USERID=Convert.ToString(Session["USERID"]);
|
|
|
// if (_L.Count > 0)
|
|
|
// {
|
|
|
// result = MsOp_BLISSUEDAL.SQQR_Auditback(_L, USERID,REASON);
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
|
|
|
// };
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result.Success = false;
|
|
|
// result.Message = "没有可以撤回的提单";
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// Data = null
|
|
|
// };
|
|
|
// }
|
|
|
|
|
|
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
//}
|
|
|
//public ContentResult SQQR_Audit ( string USERID, string data ) //申请签入_准许签入
|
|
|
//{
|
|
|
// var _r1 = SaveList_P(data);
|
|
|
|
|
|
// var _L = new List<MsOp_BLISSUEmb>();
|
|
|
|
|
|
// var result = new DBResult();
|
|
|
|
|
|
// foreach (var _p in _r1)
|
|
|
// {
|
|
|
// if (_p.BLSTATUS != "待签入")
|
|
|
// {
|
|
|
|
|
|
// //result.Success = false;
|
|
|
// //result.Message = "只有录入状态的提单才能申请签入";
|
|
|
// //var jsonRespose = new JsonResponse
|
|
|
// //{
|
|
|
// // Success = result.Success,
|
|
|
// // Message = result.Message,
|
|
|
// // Data = null
|
|
|
// //};
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// _L.Add(_p);
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// var jsonRespose = new JsonResponse();
|
|
|
// //var USERID=Convert.ToString(Session["USERID"]);
|
|
|
// if (_L.Count > 0)
|
|
|
// {
|
|
|
// result = MsOp_BLISSUEDAL.SQQR_Audit(_L, USERID);
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'")
|
|
|
// };
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// result.Success = false;
|
|
|
// result.Message = "没有可以提交的提单";
|
|
|
// jsonRespose = new JsonResponse
|
|
|
// {
|
|
|
// Success = result.Success,
|
|
|
// Message = result.Message,
|
|
|
// Data = null
|
|
|
// };
|
|
|
// }
|
|
|
|
|
|
// return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
//}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 工作流控制
|
|
|
|
|
|
private List<YXmb> getCanOPList(string dataList)
|
|
|
{
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = new List<YXmb>();
|
|
|
|
|
|
var dicCanedit = new Dictionary<string, string>();
|
|
|
var modname = "modYAXIANG";
|
|
|
var userid = Session["USERID"].ToString();
|
|
|
if (dataList != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(dataList);
|
|
|
if (savedl.Count > 0)
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var head = new YXmb();
|
|
|
baseHead.Copy(head);
|
|
|
head.SetValue(sdl);
|
|
|
|
|
|
//此处获取编辑权限
|
|
|
var canedit = "F";
|
|
|
if (!dicCanedit.TryGetValue(head.GetValue("CREATEUSER"), out canedit))
|
|
|
{
|
|
|
if (MsBaseInfoDAL.GetCanOP(modname, userid, head.GetValue("CREATEUSER")))
|
|
|
{
|
|
|
dicCanedit.Add(head.GetValue("CREATEUSER"), "T");
|
|
|
}
|
|
|
else dicCanedit.Add(head.GetValue("CREATEUSER"), "F");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
if (dicCanedit[head.GetValue("CREATEUSER")] == "T")
|
|
|
{
|
|
|
HeadList.Add(head);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return HeadList;
|
|
|
}
|
|
|
|
|
|
//提交
|
|
|
public ContentResult SubmitAudit(string dataList) {
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = getCanOPList(dataList);
|
|
|
|
|
|
if (HeadList.Count>0)
|
|
|
foreach (var head in HeadList)
|
|
|
{
|
|
|
AuditInfomb AuditInfo = AuditInfomb.getExecutionAudit(head, "YAXIANGAudit", "3000", Session["USERID"].ToString());
|
|
|
|
|
|
if (AuditInfo.cando())
|
|
|
{
|
|
|
var _r = WorkFlowDAL.SubmitAudit(AuditInfo);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
result.Success = true;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
//撤回
|
|
|
public ContentResult SubmitAuditBack(string dataList)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = getCanOPList(dataList);
|
|
|
|
|
|
if (HeadList.Count > 0)
|
|
|
foreach (var head in HeadList)
|
|
|
{
|
|
|
AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3001", Session["USERID"].ToString());
|
|
|
AuditInfo.FROMSTATE = "3002"; //从状态3002 提交审核出发
|
|
|
var _r = WorkFlowDAL.SubmitAuditBack(AuditInfo);
|
|
|
}
|
|
|
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
result.Success = true;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
//审核通过
|
|
|
public ContentResult Audit(string dataList)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = new List<YXmb>();
|
|
|
|
|
|
if (dataList != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(dataList);
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var head = new YXmb();
|
|
|
baseHead.Copy(head);
|
|
|
head.SetValue(sdl);
|
|
|
HeadList.Add(head);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
foreach (var head in HeadList)
|
|
|
{
|
|
|
AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3003", Session["USERID"].ToString());
|
|
|
AuditInfo.FROMSTATE = "3002"; //从状态3002 提交审核出发 到3003审核通过
|
|
|
var _r = WorkFlowDAL.Audit(AuditInfo);
|
|
|
}
|
|
|
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
result.Success = true;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
//驳回提交
|
|
|
public ContentResult AuditBack(string dataList,string reason)
|
|
|
{
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
var baseHead = new YXmb();
|
|
|
baseHead.GetTableField(db);
|
|
|
var HeadList = new List<YXmb>();
|
|
|
|
|
|
if (dataList != "")
|
|
|
{
|
|
|
var savedl = JsonConvert.Deserialize<List<Dictionary<string, string>>>(dataList);
|
|
|
foreach (var sdl in savedl)
|
|
|
{
|
|
|
var head = new YXmb();
|
|
|
baseHead.Copy(head);
|
|
|
head.SetValue(sdl);
|
|
|
HeadList.Add(head);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
foreach (var head in HeadList)
|
|
|
{
|
|
|
AuditInfomb AuditInfo = new AuditInfomb(head, "YAXIANGAudit", "3003", Session["USERID"].ToString());
|
|
|
AuditInfo.FROMSTATE = "3003"; //从状态3002 提交审核出发 到3003审核通过
|
|
|
|
|
|
//var reason = "";
|
|
|
var _r = WorkFlowDAL.AuditBack(AuditInfo,"PAYMENTREMARK='"+reason+"'", reason);
|
|
|
}
|
|
|
|
|
|
JsonResponse result = new JsonResponse();
|
|
|
result.Success = true;
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(result) };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 获取打印的sql文本
|
|
|
public ContentResult GetPrintSql(string printname,string YXNOList)
|
|
|
{
|
|
|
var jsonRespose = new JsonResponse { Success = false, Message = "" };
|
|
|
|
|
|
if (printname == "Print1")
|
|
|
{
|
|
|
var result = new PrintSql();
|
|
|
|
|
|
|
|
|
result.sql1 = MsOp_YAXIANGDAL.getHeadListStr(" and YXNO in("+ YXNOList + ")", Session["USERID"].ToString());
|
|
|
result.sql2 = MsOp_YAXIANGDAL.getBodyListStr(" and D.YXNO in(" + YXNOList + ")");
|
|
|
|
|
|
|
|
|
jsonRespose.Success = true;
|
|
|
jsonRespose.Message = "查询成功";
|
|
|
jsonRespose.Data = result;
|
|
|
|
|
|
}
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|