|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Web.Mvc;
|
|
|
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
|
using DSWeb.Areas.Import.DAL.XXH;
|
|
|
|
|
using DSWeb.Areas.Import.Models.XXH;
|
|
|
|
|
using DSWeb.Areas.Import.Models.PortOperate;
|
|
|
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
|
|
|
using DSWeb.TruckMng.Helper;
|
|
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
|
|
|
|
|
|
|
using HcUtility.Comm;
|
|
|
|
|
using HcUtility.Core;
|
|
|
|
|
|
|
|
|
|
using DSWeb.MvcShipping.Controllers;
|
|
|
|
|
using DSWeb.MvcShipping.Models.MsOpAmend;
|
|
|
|
|
using DSWeb.Areas.Import.DAL.ImportTrade;
|
|
|
|
|
using DSWeb.Areas.Import.DAL.Comm;
|
|
|
|
|
using DSWeb.Areas.Import.Models.Comm;
|
|
|
|
|
|
|
|
|
|
namespace DSWeb.Areas.Import.Controllers
|
|
|
|
|
{
|
|
|
|
|
[JsonRequestBehavior]
|
|
|
|
|
public class PortOperateController : Controller
|
|
|
|
|
{
|
|
|
|
|
//
|
|
|
|
|
// GET: /Import/create
|
|
|
|
|
public ActionResult Index()
|
|
|
|
|
{
|
|
|
|
|
return View();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ActionResult Index2 ( )
|
|
|
|
|
{
|
|
|
|
|
return View();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// GET: /Import/create/Edit
|
|
|
|
|
public ActionResult Edit()
|
|
|
|
|
{
|
|
|
|
|
return View();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ActionResult Edit2 ( )
|
|
|
|
|
{//天津誉恒版
|
|
|
|
|
return View();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GET:/Import/operate/Save
|
|
|
|
|
|
|
|
|
|
public ContentResult Save(string opstatus, string data,
|
|
|
|
|
string Receiptbody, string Receiptdelbody,
|
|
|
|
|
string CargoBody, string CargoDelBody,
|
|
|
|
|
string AppstateBody, string AppstateDelBody,
|
|
|
|
|
string KCBody, string KCDelBody, string chfeebody, string chfeedelbody)
|
|
|
|
|
{
|
|
|
|
|
var head = JsonConvert.Deserialize<PortOperatemb>(data);
|
|
|
|
|
var ReceiptbodyList = JsonConvert.Deserialize<List<Receiptmb>>(Receiptbody);
|
|
|
|
|
var ReceiptdelbodyList = JsonConvert.Deserialize<List<Receiptmb>>(Receiptdelbody);
|
|
|
|
|
var CargobodyList = JsonConvert.Deserialize<List<Cargomb>>(CargoBody);
|
|
|
|
|
var CargodelbodyList = JsonConvert.Deserialize<List<Cargomb>>(CargoDelBody);
|
|
|
|
|
var AppstateBodyList = JsonConvert.Deserialize<List<Appstatemb>>(AppstateBody);
|
|
|
|
|
var AppstateDelBodyList = JsonConvert.Deserialize<List<Appstatemb>>(AppstateDelBody);
|
|
|
|
|
var KCBodyList = JsonConvert.Deserialize<List<KCmb>>(KCBody);
|
|
|
|
|
var KCDelBodyList = JsonConvert.Deserialize<List<KCmb>>(KCDelBody);
|
|
|
|
|
var chfeeBodyList = JsonConvert.Deserialize<List<DSWeb.Areas.TruckMng.Models.Comm.MsChFee>>(chfeebody);
|
|
|
|
|
var chfeeBodyDelList = JsonConvert.Deserialize<List<DSWeb.Areas.TruckMng.Models.Comm.MsChFee>>(chfeedelbody);
|
|
|
|
|
|
|
|
|
|
if (chfeeBodyList != null)
|
|
|
|
|
{
|
|
|
|
|
foreach (var _fee in chfeeBodyList)
|
|
|
|
|
{
|
|
|
|
|
_fee.MODIFIEDTIME = DateTime.Now.ToString();
|
|
|
|
|
_fee.MODIFIEDUSER = Session["USERID"].ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
|
|
|
|
|
head.ContractNo = PubSysDAL.GetBillNo("0201"); //获取合同号
|
|
|
|
|
//20131011 应客户要求,将合同号改为接单人手动填写的必填项目。不再自动生成合同号
|
|
|
|
|
|
|
|
|
|
/*自动填写接单审单人id
|
|
|
|
|
headData.UserCode = CookieConfig.GetCookie_UserCode(Request);
|
|
|
|
|
headData.UserName = CookieConfig.GetCookie_UserName(Request);
|
|
|
|
|
headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request);
|
|
|
|
|
headData.OrgName = CookieConfig.GetCookie_OrgName(Request);*/
|
|
|
|
|
|
|
|
|
|
//headData.LrDate = DateTime.Now;
|
|
|
|
|
}
|
|
|
|
|
else if (opstatus == "edit")
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
|
|
head.ModelUIStatus = "E";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
|
|
|
|
|
head.MODIFIEDUSER = Session["SHOWNAME"].ToString();
|
|
|
|
|
head.MODIFIEDTIME = System.DateTime.Now.ToString();
|
|
|
|
|
|
|
|
|
|
DBResult result = modb.Save(head,
|
|
|
|
|
ModelObjectConvert<Receiptmb>.ToModelObjectList(ReceiptbodyList),
|
|
|
|
|
ModelObjectConvert<Receiptmb>.ToModelObjectList(ReceiptdelbodyList),
|
|
|
|
|
ModelObjectConvert<Cargomb>.ToModelObjectList(CargobodyList),
|
|
|
|
|
ModelObjectConvert<Cargomb>.ToModelObjectList(CargodelbodyList),
|
|
|
|
|
ModelObjectConvert<Appstatemb>.ToModelObjectList(AppstateBodyList),
|
|
|
|
|
ModelObjectConvert<Appstatemb>.ToModelObjectList(AppstateDelBodyList),
|
|
|
|
|
ModelObjectConvert<KCmb>.ToModelObjectList(KCBodyList),
|
|
|
|
|
ModelObjectConvert<KCmb>.ToModelObjectList(KCDelBodyList),
|
|
|
|
|
ModelObjectConvert<DSWeb.Areas.TruckMng.Models.Comm.MsChFee>.ToModelObjectList(chfeeBodyList),
|
|
|
|
|
ModelObjectConvert<DSWeb.Areas.TruckMng.Models.Comm.MsChFee>.ToModelObjectList(chfeeBodyDelList)
|
|
|
|
|
);
|
|
|
|
|
BasicDataRefDAL.SaveLog(head, Session["USERID"].ToString(), "进口贸易_港口操作", "保存");
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
|
|
{
|
|
|
|
|
Success = result.Success,
|
|
|
|
|
Message = result.Message,
|
|
|
|
|
Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'", CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_UserName(Request), CookieConfig.GetCookie_CompanyId(Request))
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ContentResult SaveAmend(string ContractNo, string data,string chfeeBody, string chfeeBodyDel)
|
|
|
|
|
{
|
|
|
|
|
var head = JsonConvert.Deserialize<MsOpAmend>(data);
|
|
|
|
|
var chfeeBodyList = JsonConvert.Deserialize<List<MsChFee>>(chfeeBody);
|
|
|
|
|
var chfeeBodyDelList = JsonConvert.Deserialize<List<MsChFee>>(chfeeBodyDel);
|
|
|
|
|
//var result = new DBResult();
|
|
|
|
|
var ParentID = ContractNo;
|
|
|
|
|
|
|
|
|
|
if (head.ACCDATE!="")
|
|
|
|
|
{
|
|
|
|
|
head.ACCDATE = head.ACCDATE.Substring(0, 7);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var opstatus = "";
|
|
|
|
|
if (head.BSNO == "")
|
|
|
|
|
{
|
|
|
|
|
head.BSNO = PubSysDAL.GetBillNo("0206");
|
|
|
|
|
opstatus = "add";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{ opstatus = "edit"; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (opstatus == "add")
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
|
|
head.ModelUIStatus = "I";
|
|
|
|
|
}
|
|
|
|
|
else if (opstatus == "edit")
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotUpd;
|
|
|
|
|
head.ModelUIStatus = "E";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
head.DbOperationType = DbOperationType.DbotDel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
DBResult result = modb.Save(head,
|
|
|
|
|
ModelObjectConvert<MsChFee>.ToModelObjectList(chfeeBodyList),
|
|
|
|
|
ModelObjectConvert<MsChFee>.ToModelObjectList(chfeeBodyDelList)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
//刷新父窗口上的父节点
|
|
|
|
|
var jsonRespose = new JsonResponse
|
|
|
|
|
{
|
|
|
|
|
Success = result.Success,
|
|
|
|
|
Message = result.Message,
|
|
|
|
|
Data = ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ContentResult SetPrice ( string _price, string _price_agio, string _price_limit, string _weight, string _BoxCount
|
|
|
|
|
, string _Exchangerate, string _Exchangerate_Customs, string _PreProportion
|
|
|
|
|
, string CargoBody )
|
|
|
|
|
{
|
|
|
|
|
var CargobodyList = JsonConvert.Deserialize<List<Cargomb>>(CargoBody);
|
|
|
|
|
var result= new DBResult();
|
|
|
|
|
foreach (var _c in CargobodyList){
|
|
|
|
|
|
|
|
|
|
List<Cargomb> list = XXHDAL.GetCargoList("c.id="+_c.cgid);
|
|
|
|
|
Cargomb _cargo = list[0];
|
|
|
|
|
|
|
|
|
|
_cargo.U_weight = Convert.ToString(Convert.ToDecimal(_weight) / Convert.ToDecimal(_cargo.UnitRate));
|
|
|
|
|
_cargo.U_PRICE = Convert.ToString(Convert.ToDecimal(_price) * Convert.ToDecimal(_cargo.UnitRate));
|
|
|
|
|
Decimal tax_amount =0;
|
|
|
|
|
Decimal pay_amount=0;
|
|
|
|
|
Decimal amount = 0;
|
|
|
|
|
Decimal amount_writeoffs=0;
|
|
|
|
|
Decimal Exchangerate = Convert.ToDecimal(_Exchangerate);
|
|
|
|
|
Decimal Exchangerate_Customs = Convert.ToDecimal(_Exchangerate_Customs);
|
|
|
|
|
Decimal PreProportion = Convert.ToDecimal(_PreProportion);
|
|
|
|
|
_cargo.Exchangerate = _Exchangerate;
|
|
|
|
|
_cargo.Exchangerate_Customs = _Exchangerate_Customs;
|
|
|
|
|
_cargo.PreProportion = _PreProportion;
|
|
|
|
|
|
|
|
|
|
if (Convert.ToDecimal(_weight) == 0)
|
|
|
|
|
_weight = _c.weight;
|
|
|
|
|
|
|
|
|
|
var price = Convert.ToDecimal(_price);
|
|
|
|
|
var price_agio = Convert.ToDecimal(_price_agio);
|
|
|
|
|
var price_limit = Convert.ToDecimal(_price_limit);
|
|
|
|
|
var baolv = Convert.ToDecimal(_cargo.baolv);
|
|
|
|
|
var weight = Convert.ToDecimal(_weight);
|
|
|
|
|
|
|
|
|
|
var UNIT= _cargo.UnitRef;
|
|
|
|
|
if (UNIT!="磅") {
|
|
|
|
|
|
|
|
|
|
amount=0;
|
|
|
|
|
if (price_agio==0){
|
|
|
|
|
amount = weight*price ;} //Mul(price_limit,weight,baolv,2)
|
|
|
|
|
else {amount = weight*price_agio;} //amount=对国内客户的合同金额
|
|
|
|
|
|
|
|
|
|
//get_tax_amount 用于向客户收税金的完税价格
|
|
|
|
|
//tax_amount 用于向海关交税金的完税价格
|
|
|
|
|
|
|
|
|
|
if (price_limit != 0 && price_limit > price) {
|
|
|
|
|
tax_amount = price_limit*weight*baolv;
|
|
|
|
|
if (price_agio!=0 && price_limit>price_agio){//海关限价最高
|
|
|
|
|
Decimal get_tax_amount=tax_amount;
|
|
|
|
|
}else{Decimal get_tax_amount= price_agio*weight*baolv;}//差价(对国内客户)高于限价
|
|
|
|
|
} else {
|
|
|
|
|
tax_amount = price*weight*baolv;
|
|
|
|
|
if (price_agio!=0 ){
|
|
|
|
|
Decimal get_tax_amount=price_agio*weight*baolv;
|
|
|
|
|
}else{Decimal get_tax_amount= tax_amount;}//差价(对国内客户)高于限价
|
|
|
|
|
}
|
|
|
|
|
pay_amount = weight*price;//贸易商价格x重量x单价
|
|
|
|
|
|
|
|
|
|
_cargo.Amount=Convert.ToString(amount);
|
|
|
|
|
_cargo.AMOUNT_WRITEOFFS = Convert.ToString(amount);
|
|
|
|
|
_cargo.tax_Amount=Convert.ToString(tax_amount);
|
|
|
|
|
_cargo.pay_Amount=Convert.ToString(pay_amount);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else{
|
|
|
|
|
|
|
|
|
|
var U_weight = Convert.ToDecimal(_cargo.U_weight);
|
|
|
|
|
var U_PRICE = Convert.ToDecimal(_cargo.U_PRICE);
|
|
|
|
|
var UnitRate = Convert.ToDecimal(_cargo.UnitRate);
|
|
|
|
|
|
|
|
|
|
//var weight = Convert.ToDecimal(_weight);
|
|
|
|
|
|
|
|
|
|
//var price = Convert.ToDecimal(_cargo.price);
|
|
|
|
|
//var price_agio = Convert.ToDecimal(_cargo.price_agio);
|
|
|
|
|
//var price_limit = Convert.ToDecimal(_cargo.price_limit);
|
|
|
|
|
//var baolv = Convert.ToDecimal(_cargo.baolv);
|
|
|
|
|
|
|
|
|
|
amount = U_weight*U_PRICE;
|
|
|
|
|
amount_writeoffs=weight*price;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UNIT= _cargo.UnitRef;
|
|
|
|
|
if ((UNIT=="磅")&&(price_agio==0)) {
|
|
|
|
|
if (price_limit != 0 && price_limit > (price)) {
|
|
|
|
|
tax_amount = price_limit*weight*baolv;
|
|
|
|
|
} else {
|
|
|
|
|
tax_amount = U_weight*U_PRICE*baolv;
|
|
|
|
|
}
|
|
|
|
|
pay_amount = U_weight*U_PRICE;
|
|
|
|
|
}else{
|
|
|
|
|
if (price_limit != 0 && price_limit > price_agio) {
|
|
|
|
|
tax_amount = price_limit*weight*baolv;
|
|
|
|
|
} else {
|
|
|
|
|
tax_amount = price_agio*weight*baolv;
|
|
|
|
|
}
|
|
|
|
|
if (price_agio>price)
|
|
|
|
|
{
|
|
|
|
|
amount = weight*price_agio;
|
|
|
|
|
pay_amount = weight*price;
|
|
|
|
|
}else{
|
|
|
|
|
amount = weight*price;
|
|
|
|
|
pay_amount = weight*price;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
_cargo.Amount= Convert.ToString(amount);
|
|
|
|
|
_cargo.AMOUNT_WRITEOFFS= Convert.ToString(amount_writeoffs);
|
|
|
|
|
_cargo.tax_Amount= Convert.ToString(tax_amount);
|
|
|
|
|
_cargo.pay_Amount= Convert.ToString(pay_amount);
|
|
|
|
|
|
|
|
|
|
amount=Convert.ToDecimal(_cargo.Amount);
|
|
|
|
|
tax_amount=Convert.ToDecimal(_cargo.tax_Amount);
|
|
|
|
|
pay_amount=Convert.ToDecimal(_cargo.pay_Amount);
|
|
|
|
|
}
|
|
|
|
|
//if (amount>tax_amount){tax_amount=amount;}//确保tax_amount为给客户显示并使用的完税价格
|
|
|
|
|
Decimal tax = Convert.ToDecimal(_cargo.tax);//关税税率
|
|
|
|
|
Decimal tax_zz = Convert.ToDecimal(_cargo.tax_zz);//增值税税率
|
|
|
|
|
//Exchangerate_Customs = Convert.ToDecimal(_cargo.Exchangerate_Customs);//海关汇率
|
|
|
|
|
|
|
|
|
|
var HS = _cargo.cicode;
|
|
|
|
|
var isChicken = false;
|
|
|
|
|
Decimal ChickenTax = 0;
|
|
|
|
|
Decimal priceandtax = 0;
|
|
|
|
|
|
|
|
|
|
Decimal tax_1 = 0;
|
|
|
|
|
Decimal tax_zz_1 = 0;
|
|
|
|
|
Decimal tax_2 = 0;
|
|
|
|
|
Decimal tax_zz_2 = 0;
|
|
|
|
|
|
|
|
|
|
if (HS == "0207142100" || HS == "0207142200" || HS == "0207142900"|| HS == "02071200") {
|
|
|
|
|
isChicken = true;
|
|
|
|
|
if (HS == "0207142100") {
|
|
|
|
|
ChickenTax = 0.8M;
|
|
|
|
|
} else if (HS == "0207142200") {
|
|
|
|
|
ChickenTax = 1.0M;
|
|
|
|
|
} else if (HS == "0207142900"|| HS == "02071200") {
|
|
|
|
|
ChickenTax = 1.3M;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (isChicken) {
|
|
|
|
|
//Mul(weight,price);
|
|
|
|
|
priceandtax = tax_amount*Exchangerate_Customs + weight*ChickenTax;
|
|
|
|
|
|
|
|
|
|
tax_1 = weight*ChickenTax;
|
|
|
|
|
tax_zz_1 = priceandtax*tax_zz;
|
|
|
|
|
tax_2 = tax_1;
|
|
|
|
|
tax_zz_2 = tax_zz_1;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
priceandtax =tax_amount*(1.0M + tax); //完税价格x(1+关税税率)=含关税价格
|
|
|
|
|
|
|
|
|
|
//应付的
|
|
|
|
|
tax_2 =tax_amount*tax*Exchangerate_Customs; //关税
|
|
|
|
|
tax_zz_2 =tax_amount*(1.0M + tax)*tax_zz*Exchangerate_Customs; //decimal(tax_amount * (1.0 + tax) * tax_zz * Exchangerate_Customs,2); //增值税
|
|
|
|
|
|
|
|
|
|
//向客户收取的
|
|
|
|
|
//var weight = Convert.ToDecimal(_cargo.weight);
|
|
|
|
|
//var price_agio = Convert.ToDecimal(_cargo.price_agio);
|
|
|
|
|
if (price_agio != 0 && price_agio>price_limit){//如果“差价(对国内客户价格)”不为零而且高于限价 关税的完税价格依据差价价格计算
|
|
|
|
|
tax_1 = (weight*price_agio*baolv)*tax*Exchangerate_Customs; //应收关税
|
|
|
|
|
tax_zz_1 = (weight*price_agio*baolv)*(1.0M + tax)*tax_zz*Exchangerate_Customs;//应收增值税
|
|
|
|
|
|
|
|
|
|
}else
|
|
|
|
|
{
|
|
|
|
|
tax_1 = tax_2;
|
|
|
|
|
tax_zz_1 = tax_zz_2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_cargo.tax_1=Convert.ToString(tax_1);
|
|
|
|
|
_cargo.tax_zz_1=Convert.ToString(tax_zz_1);
|
|
|
|
|
_cargo.tax_2=Convert.ToString(tax_2);
|
|
|
|
|
_cargo.tax_zz_2=Convert.ToString(tax_zz_2);
|
|
|
|
|
|
|
|
|
|
var prepayments = amount*PreProportion/100;
|
|
|
|
|
var balance = amount-prepayments;
|
|
|
|
|
_cargo.prepayments = Convert.ToString(prepayments);
|
|
|
|
|
_cargo.balance= Convert.ToString(balance);
|
|
|
|
|
|
|
|
|
|
var pay_prepayments = pay_amount * PreProportion / 100;
|
|
|
|
|
var pay_balance = pay_amount - pay_prepayments;
|
|
|
|
|
_cargo.pay_prepayments = Convert.ToString(pay_prepayments);
|
|
|
|
|
_cargo.pay_balance= Convert.ToString(pay_balance);
|
|
|
|
|
|
|
|
|
|
var modb = new ModelObjectRepository();
|
|
|
|
|
var _cargolist=new List<Cargomb>();
|
|
|
|
|
_cargolist.Add(_cargo);
|
|
|
|
|
result = modb.SaveComm(
|
|
|
|
|
"ContractNo"
|
|
|
|
|
, _cargo.ContractNo
|
|
|
|
|
, ModelObjectConvert<Cargomb>.ToModelObjectList(_cargolist)
|
|
|
|
|
, null);
|
|
|
|
|
|
|
|
|
|
if (result.Success) {
|
|
|
|
|
//生成费用
|
|
|
|
|
var FeeList=new List<MsChFee>();
|
|
|
|
|
FeeList = MakeFee(_cargo);
|
|
|
|
|
var USERID=Session["USERID"].ToString();
|
|
|
|
|
var _r = MsChFeeDAL.Audit(0, FeeList, USERID, "True");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message };
|
|
|
|
|
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<MsChFee> MakeFee(Cargomb _c)
|
|
|
|
|
{
|
|
|
|
|
if (Convert.ToDecimal(_c.price_agio) == 0) {
|
|
|
|
|
_c.price_agio = _c.price;
|
|
|
|
|
}
|
|
|
|
|
var _count = 0;
|
|
|
|
|
var GIDs="";
|
|
|
|
|
|
|
|
|
|
var field = " (GId,BsNo,FeeStatus,FeeType,FeeName,FeeDescription,CustomerType,CustomerName,Unit,UnitPrice,TaxUnitPrice,Quantity ";
|
|
|
|
|
field = field + " ,Amount,NoTaxAmount,Currency,ExChangerate,Reason,Remark,Commissionrate,Settlement,Invoice,OrderAmount,OrderInvoice ";
|
|
|
|
|
field = field + " ,Auditoperator,EnterOperator,EnterDate,DebitNo,IsDebit,IsOpen,IsAdvancedpay,IsInvoice,FeeFrt,IsCrmOrderFee,AuditStatus) ";
|
|
|
|
|
|
|
|
|
|
//应收预付款
|
|
|
|
|
if (Convert.ToDecimal(_c.prepayments) > 0)
|
|
|
|
|
{
|
|
|
|
|
var GID=Guid.NewGuid().ToString();
|
|
|
|
|
GIDs="'"+GID+"'";
|
|
|
|
|
var _value = " select '" + GID + "',c.ContractNo,0,1,'预付款','','',m.buyer,''," + _c.prepayments + "," + _c.prepayments + ",1";
|
|
|
|
|
_value = _value + "," + _c.prepayments + "," + _c.prepayments + ",(select codename from code_currency where gid=c.currid),c.exchangerate,'' ";
|
|
|
|
|
_value = _value + ",case (select codename from code_currency where gid=c.currid) when 'RMB' then '' else convert(varchar(50)," + _c.prepayments + ")+(select codename from code_currency where gid=c.currid)+' 汇率'+convert(varchar(50),Exchangerate) end,0,0,0,0,0 ";
|
|
|
|
|
_value = _value + ",'','" + Session["USERID"] + "',getdate(),'',0,0,0,0,'PP',0,0 ";
|
|
|
|
|
_value = _value + " from Import_Cargo c ";
|
|
|
|
|
_value = _value + " left join Import_main m on M.ContractNo=c.ContractNo where c.id= '" + _c.id + "'";
|
|
|
|
|
|
|
|
|
|
var SQL = " Insert into ch_fee " + field + _value;
|
|
|
|
|
|
|
|
|
|
_count = ImportSyncDAL.SaveSync(SQL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//应付预付款
|
|
|
|
|
if (Convert.ToDecimal(_c.pay_prepayments) > 0)
|
|
|
|
|
{
|
|
|
|
|
var GID=Guid.NewGuid().ToString();
|
|
|
|
|
GIDs=GIDs+",'"+GID+"'";
|
|
|
|
|
var _value = " select '" + GID + "',c.ContractNo,0,2,'预付款','','',m.seller,''," + _c.pay_prepayments + "," + _c.pay_prepayments + ",1";
|
|
|
|
|
_value = _value + "," + _c.pay_prepayments + "," + _c.pay_prepayments + ",(select codename from code_currency where gid=c.currid),c.exchangerate,'' ";
|
|
|
|
|
_value = _value + ",case (select codename from code_currency where gid=c.currid) when 'RMB' then '' else convert(varchar(50)," + _c.prepayments + ")+(select codename from code_currency where gid=c.currid)+' 汇率'+convert(varchar(50),Exchangerate) end,0,0,0,0,0 ";
|
|
|
|
|
_value = _value + ",'','" + Session["USERID"] + "',getdate(),'',0,0,0,0,'PP',0,0 ";
|
|
|
|
|
_value = _value + " from Import_Cargo c ";
|
|
|
|
|
_value = _value + " left join Import_main m on M.ContractNo=c.ContractNo where c.id= '" + _c.id + "'";
|
|
|
|
|
|
|
|
|
|
var SQL = " Insert into ch_fee " + field + _value;
|
|
|
|
|
|
|
|
|
|
_count = ImportSyncDAL.SaveSync(SQL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//应收预付款手续费
|
|
|
|
|
if (Convert.ToDecimal(_c.prepayments) > 0)
|
|
|
|
|
{
|
|
|
|
|
var GID=Guid.NewGuid().ToString();
|
|
|
|
|
GIDs=GIDs+",'"+GID+"'";
|
|
|
|
|
var yfksxf = Convert.ToString(Convert.ToDecimal(_c.prepayments)/1000M);
|
|
|
|
|
var _value = " select '" + GID + "',c.ContractNo,0,1,'手续费','','',m.buyer,''," + yfksxf + "," + yfksxf + ",1";
|
|
|
|
|
_value = _value + "," + yfksxf + "," + yfksxf + ",(select codename from code_currency where gid=c.currid),c.exchangerate,'' ";
|
|
|
|
|
_value = _value + ",'预付款手续费',0,0,0,0,0 ";
|
|
|
|
|
_value = _value + ",'','" + Session["USERID"] + "',getdate(),'',0,0,0,0,'PP',0,0 ";
|
|
|
|
|
_value = _value + " from Import_Cargo c ";
|
|
|
|
|
_value = _value + " left join Import_main m on M.ContractNo=c.ContractNo where c.id= '" + _c.id + "'";
|
|
|
|
|
|
|
|
|
|
var SQL = " Insert into ch_fee " + field + _value;
|
|
|
|
|
|
|
|
|
|
_count = ImportSyncDAL.SaveSync(SQL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//应收预付款电汇费
|
|
|
|
|
if (Convert.ToDecimal(_c.prepayments) > 0)
|
|
|
|
|
{
|
|
|
|
|
var GID=Guid.NewGuid().ToString();
|
|
|
|
|
GIDs=GIDs+",'"+GID+"'";
|
|
|
|
|
var DHF = "150";
|
|
|
|
|
var _value = " select '" + GID + "',c.ContractNo,0,1,'电汇费','','',m.buyer,''," + DHF + "," + DHF + ",1";
|
|
|
|
|
_value = _value + "," + DHF + "," + DHF + ",'RMB',1,'' ";
|
|
|
|
|
_value = _value + ",'预付款电汇费',0,0,0,0,0 ";
|
|
|
|
|
_value = _value + ",'','" + Session["USERID"] + "',getdate(),'',0,0,0,0,'PP',0,0 ";
|
|
|
|
|
_value = _value + " from Import_Cargo c ";
|
|
|
|
|
_value = _value + " left join Import_main m on M.ContractNo=c.ContractNo where c.id= '" + _c.id + "'";
|
|
|
|
|
|
|
|
|
|
var SQL = " Insert into ch_fee " + field + _value;
|
|
|
|
|
|
|
|
|
|
_count = ImportSyncDAL.SaveSync(SQL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var FeeList = MsChFeeDAL.GetDataList("GID in(" + GIDs + ")", Session["USERID"].ToString());
|
|
|
|
|
return FeeList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 参照部分
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|