diff --git a/DSWeb.Common/DB/Comm.cs b/DSWeb.Common/DB/Comm.cs
index 528c9242..ea9f3b59 100644
--- a/DSWeb.Common/DB/Comm.cs
+++ b/DSWeb.Common/DB/Comm.cs
@@ -2208,7 +2208,7 @@ namespace DSWeb.Common.DB
public string REMARK { get; set; }
public string INPUTBY { get; set; }
public DateTime? INPUTTIME { get; set; }
- public int? ORDENO { get; set; }
+ public int? ORDNO { get; set; }
public string STATUS_OPSEAE { get; set; }
public string STTYPE { get; set; }
public string ISOPEN { get; set; }
diff --git a/DSWeb/Areas/CommMng/DAL/BasicDataRefDAL.cs b/DSWeb/Areas/CommMng/DAL/BasicDataRefDAL.cs
index 503864d8..1a8cb6fd 100644
--- a/DSWeb/Areas/CommMng/DAL/BasicDataRefDAL.cs
+++ b/DSWeb/Areas/CommMng/DAL/BasicDataRefDAL.cs
@@ -45,6 +45,7 @@ using DSWeb.Areas.Account.DAL.Chfee_Recvapplication;
using DSWeb.Areas.Account.DAL.Chfee_Invoiceapplication;
using DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE;
using DSWeb.MvcShipping.DAL.Chfee_AuditDAL;
+using System.Data.Entity.Migrations;
namespace DSWeb.Areas.CommMng.DAL
{
@@ -6528,6 +6529,24 @@ namespace DSWeb.Areas.CommMng.DAL
cdc.SaveChangesAsync();
}
+
+ public static void DelOpStatus(string username, string bsno, string status)
+ {
+ var cdc = new Common.DB.CommonDataContext();
+
+ var currstatus = cdc.op_status.Where(x => x.BSNO == bsno && x.STATUS == status).OrderByDescending(o=>o.COMPTIME).ToList();
+
+ if (currstatus != null && currstatus.Count > 0)
+ {
+ var rec = currstatus[0];
+ rec.ISCOMP = false;
+ rec.COMPTIME = DateTime.Now;
+ rec.COMPOP = username;
+ cdc.op_status.AddOrUpdate(rec);
+ cdc.SaveChangesAsync();
+ }
+ }
+
public static void 已放舱(string username, string bsno) {
AddOpStatus( username, bsno, "已放舱");
}
@@ -6541,6 +6560,67 @@ namespace DSWeb.Areas.CommMng.DAL
{
AddOpStatus(username, bsno, "已发VGM");
}
+
+ public static void 已补料(string username, string bsno)
+ {
+ AddOpStatus(username, bsno, "已补料");
+ }
+
+ public static void 已截VGM(string username, string bsno)
+ {
+ AddOpStatus(username, bsno, "已截VGM");
+ }
+ public static void 已舱单(string username, string bsno)
+ {
+ AddOpStatus(username, bsno, "已舱单");
+ }
+ public static void 已订舱(string username, string bsno)
+ {
+ AddOpStatus(username, bsno, "已订舱");
+ }
+ public static void 退舱(string username, string bsno)
+ {
+ AddOpStatus(username, bsno, "退舱");
+ }
+
+ ///
+ public static void del放舱(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已放舱");
+ }
+
+ public static void del发舱单(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已发舱单");
+ }
+
+ public static void del发VGM(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已发VGM");
+ }
+
+ public static void del补料(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已补料");
+ }
+
+ public static void del截VGM(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已截VGM");
+ }
+ public static void del舱单(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已舱单");
+ }
+ public static void del订舱(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "已订舱");
+ }
+ public static void del退舱(string username, string bsno)
+ {
+ DelOpStatus(username, bsno, "退舱");
+ }
+
}
#endregion
diff --git a/DSWeb/Areas/MvcShipping/Controllers/MsOp_BLISSUEController.cs b/DSWeb/Areas/MvcShipping/Controllers/MsOp_BLISSUEController.cs
index 30c2bf2c..26e54a8f 100644
--- a/DSWeb/Areas/MvcShipping/Controllers/MsOp_BLISSUEController.cs
+++ b/DSWeb/Areas/MvcShipping/Controllers/MsOp_BLISSUEController.cs
@@ -2273,7 +2273,7 @@ namespace DSWeb.MvcShipping.Controllers
foreach (var _p in _r1)
{
- if (BLSTATUSTYPE.已放货或已放单(_p.BLSTATUS) || _p.ISSUETYPE=="SWB")
+ if (BLSTATUSTYPE.已放货或已放单(_p.BLSTATUS) || _p.ISSUETYPE=="SWB" )
{
//20230320 SWB的也扣不了
/*
@@ -2869,6 +2869,18 @@ namespace DSWeb.MvcShipping.Controllers
return BasicDataRefDAL.GetContentResult(data);
}
+ ///
+ /// 判断业务能否执行【取消提单签出】动作
+ ///
+ ///
+ ///
+ public ContentResult CanUNFDTZ(string BSNO)
+ {
+ var data = MsOp_BLISSUEDAL.CanUNFDTZ(BSNO, Session["SHOWNAME"].ToString());
+
+ return BasicDataRefDAL.GetContentResult(data);
+ }
+
///
/// 用于特放申请的是否允许签出
///
@@ -2896,6 +2908,16 @@ namespace DSWeb.MvcShipping.Controllers
return BasicDataRefDAL.GetContentResult(data);
}
+
+ public ContentResult CanDoCheckOut(string BSNO)
+ {
+
+ var data = MsOp_BLISSUEDAL.CanDoCheckOut(BSNO, Session["SHOWNAME"].ToString());
+
+ return BasicDataRefDAL.GetContentResult(data);
+ }
+
+
#region 特殊放单附件
public ContentResult GetFileList ( string PID )
diff --git a/DSWeb/Areas/MvcShipping/DAL/MsOpSeae/MsOpSeaeDAL.cs b/DSWeb/Areas/MvcShipping/DAL/MsOpSeae/MsOpSeaeDAL.cs
index 563e88d5..adc2cd0a 100644
--- a/DSWeb/Areas/MvcShipping/DAL/MsOpSeae/MsOpSeaeDAL.cs
+++ b/DSWeb/Areas/MvcShipping/DAL/MsOpSeae/MsOpSeaeDAL.cs
@@ -30,6 +30,8 @@ using DSWeb.Common.DB;
using System.Linq;
using DSWeb.MvcShipping.Models.MsSeaeOrder;
using System.Net.NetworkInformation;
+using sun.misc;
+using javax.management.loading;
namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
{
@@ -40,14 +42,14 @@ namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
//",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS";
///
- const string 业务状态查询子句OPSEAE = "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC)";
-
- const string 业务状态查询子句B = "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC)";
+ const string 业务状态查询子句OPSEAE = "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO and ISCOMP=1 and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC)";
+
+ const string 业务状态查询子句B = "(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO and ISCOMP=1 and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC)";
//",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS"
- const string 业务状态子句OPSEAE = ",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS";
+ const string 业务状态子句OPSEAE = ",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=OP_SEAE.BSNO and ISCOMP=1 and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS";
- const string 业务状态子句B = ",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS";
+ const string 业务状态子句B = ",(SELECT TOP 1 STATUS FROM V_OP_STATUS WITH (NOLOCK) WHERE BSNO=B.BSNO and ISCOMP=1 and status not in('操作确认','待截VGM','已截VGM','未截VGM','紧急截VGM','待舱单','已舱单','未舱单','紧急舱单','待补料','已补料','未补料','紧急补料') ORDER BY COMPTIME DESC,INPUTTIME DESC) as OPSTATUS";
const string 提单状态子句OPSEAE = " ,(select top 1 case ACTNAME when '取消签入' then '' when '取消签出' then '提单签入' else ACTNAME end from WorkLog where ACTNAME in ('提单签入','提单签出','取消签入','取消签出','扣单') and bsno in(select gid from op_blissue where bsno=OP_SEAE.bsno)order by OPDATE desc) BLISSUESTATUS ";
@@ -2390,9 +2392,10 @@ namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
var oldHeadData = new MsOpSeae();
oldHeadData.BSNO = null;
- if(opstatus=="edit")
+ if (opstatus == "edit") {
oldHeadData = MsOpSeaeDAL.GetData($" B.BSNO='{headData.BSNO}' ");
-
+ oldhead = oldHeadData;
+ }
if (headData.ISINSPECTION == true) //&& oldHeadData.iscancel = 0 ||= null)
{
if (!string.IsNullOrWhiteSpace(oldHeadData.BSNO))
@@ -2552,7 +2555,11 @@ namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
sdal.SaveStatusTree(BSNO, uname == null ? "" : uname);
result.Data = BSNO;
- //20230525 增加对业务状态勾
+ //20230525 增加对业务状态勾的状态变动记录
+ SetStatus(username, oldhead, headData, opstatus);
+
+
+
return result;
}
@@ -2567,6 +2574,91 @@ namespace DSWeb.MvcShipping.DAL.MsOpSeaeDAL
}
}
+ public static void SetStatus(string username, MsOpSeae oldhead, MsOpSeae head,string opstatus)
+ {
+ // ISINSPECTION 退舱
+ //SERVICE9 补料
+ //SERVICE4 海关验货
+ //SERVICE3 报检
+ //SERVICE6 商检验货
+ //ISBOOKING 订舱
+ //SERVICE1 换单
+ //SERVICE5 流程服务
+ //ISHBLNO 舱单
+ //ISLAND 待发账单
+ //SERVICE2 报关
+ //ISSTORAGE 待发FINAL
+ //SERVICE10 VGM
+ //ISAGENT 使用代理
+ //ISFUMIGATION 待发DRAFT
+
+ //已补料 已截VGM 已舱单 已订舱 已放舱 退舱
+ if (oldhead.SERVICE9 == false && head.SERVICE9 == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.已补料(username, head.BSNO);
+ }
+ if (oldhead.SERVICE9 == true && head.SERVICE9 == false)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.del补料(username, head.BSNO);
+ }
+
+ if (oldhead.SERVICE10 == false && head.SERVICE10 == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.已截VGM(username, head.BSNO);
+ }
+ if (oldhead.SERVICE10 == true && head.SERVICE10 == false)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.del截VGM(username, head.BSNO);
+ }
+
+ if (oldhead.ISHBLNO == false && head.ISHBLNO == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.已舱单(username, head.BSNO);
+ }
+ if (oldhead.ISHBLNO == true && head.ISHBLNO == false)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.del舱单(username, head.BSNO);
+ }
+
+ if (oldhead.ISBOOKING == false && head.ISBOOKING == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.已订舱(username, head.BSNO);
+ }
+ if (oldhead.ISBOOKING == true && head.ISBOOKING == false)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.del订舱(username, head.BSNO);
+ }
+
+ bool is放舱(MsOpSeae opseae) {
+ var result = (
+ string.IsNullOrWhiteSpace(head.ORDERNO)
+ && string.IsNullOrWhiteSpace(head.VESSEL)
+ && string.IsNullOrWhiteSpace(head.VOYNO)
+ && string.IsNullOrWhiteSpace(head.MBLNO)
+ && string.IsNullOrWhiteSpace(head.CLOSEDOCDATE)
+ && string.IsNullOrWhiteSpace(head.VGM_TIME)
+
+ );
+ return result;
+ }
+
+
+ if (is放舱(oldhead) == false && is放舱(head) == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.已放舱(username, head.BSNO);
+ }
+ if (is放舱(oldhead) == true && is放舱(head) == false)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.del放舱(username, head.BSNO);
+ }
+
+ if (oldhead.ISINSPECTION == false && head.ISINSPECTION == true)
+ {
+ BasicDataRefDAL.OP_STATUSHelper.退舱(username, head.BSNO);
+ }
+
+ }
+
public static string ToDBC(string input)
{
char[] c = input.ToCharArray();
diff --git a/DSWeb/Areas/MvcShipping/DAL/MsOp_BLISSUE/MsOp_BLISSUEDAL.cs b/DSWeb/Areas/MvcShipping/DAL/MsOp_BLISSUE/MsOp_BLISSUEDAL.cs
index 59a02cad..f283c26b 100644
--- a/DSWeb/Areas/MvcShipping/DAL/MsOp_BLISSUE/MsOp_BLISSUEDAL.cs
+++ b/DSWeb/Areas/MvcShipping/DAL/MsOp_BLISSUE/MsOp_BLISSUEDAL.cs
@@ -33,6 +33,7 @@ using static DSWeb.Areas.CommMng.DAL.BasicDataRefDAL;
using DSWeb.Common.DB;
using System.Linq;
using DSWeb.SoftMng.DAL;
+using DSWeb.WorkFlow;
namespace DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE
{
@@ -3681,14 +3682,7 @@ namespace DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE
return result;
}
- //2 看该客户目前是否欠费 如无直接可放
- result = 是否存在欠费_票结前期(head);
- if (result.Success == false)
- {
- result.OK();
- return result;
- }
-
+ //20230601 改为先看本票是否欠费
//3 本票业务是否欠费
result = 本票是否欠费(head);
if (!result.Success) return result;//出错返回报错
@@ -3699,6 +3693,15 @@ namespace DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE
//result.Success = false;
return result;
}
+
+ //2 看该客户目前是否欠费 如无直接可放
+ result = 是否存在欠费_票结前期(head);
+ if (result.Success == false)
+ {
+ result.OK();
+ return result;
+ }
+
//本票无欠费 继续走逻辑
//如果是“最后一单” 即:这票业务是 未签出的业务当中ATD(ETD)最晚的
@@ -3877,6 +3880,37 @@ namespace DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE
return result;
}
+ ///
+ /// 判断该业务能否执行[取消提单签出]
+ ///
+ ///
+ ///
+ ///
+ public static DBResult CanUNFDTZ(string BSNO, string USERNAME)
+ {
+ //20230207 增加判断 该单是否能够签出
+
+ var result = new DBResult();
+ result.OK();
+
+ var _recount = 0;
+ var headList = GetDataList(" B.BSNO in (" + BSNO + ") ", 0, 999, out _recount);
+
+ if (headList != null && headList.Count > 0) {
+ foreach (var item in headList) {
+ if (!BLSTATUSTYPE.CanUNFDTZ(item.BLSTATUS)) {
+ result.SetErrorInfo($"{item.MBLNO}业务状态【{item.BLSTATUS}】,不能取消放单通知");
+ return result;
+ }
+ }
+ }
+
+
+ return result;
+ }
+
+
+
///
/// GID是特殊放单申请op_blissueList的GID,形如R2300727
/// 来自
@@ -4410,6 +4444,93 @@ namespace DSWeb.Areas.MvcShipping.DAL.MsOp_BLISSUE
#endregion
+ #region 判断能否在提单管理界面做提单签出
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static DBResult CanDoCheckOut(string BSNO, string USERNAME)
+ {
+
+ var result = new DBResult();
+ result.OK();
+
+ result = 是否全部特放审核通过(BSNO);
+ if (result.Success) return result;
+
+ var _recount = 0;
+ var headList = GetDataList(" B.BSNO in (" + BSNO + ") ", 0, 999, out _recount);
+
+ var cdc = new CommonDataContext();
+
+
+ if (headList != null && headList.Count > 0)
+ {
+ var blissueGIDList = headList.Select(s => s.GID).ToList();
+
+ var worklogList = cdc.WorkLog.Where(x => blissueGIDList.Contains(x.BSNO)).ToList();
+
+ foreach (var item in headList)
+ {
+ if (item.BLSTATUS==BLSTATUSTYPE.扣单)
+ {
+ result.SetErrorInfo($"{item.MBLNO}业务状态【{item.BLSTATUS}】,不能做提单签出");
+ return result;
+ }
+
+ var _worklog = worklogList.Where(x => x.BSNO == item.GID).ToList();
+
+ //如果
+ result = 判断日志能否签出(_worklog);
+ if (!result.Success) {
+ return result;
+ }
+ }
+ }
+
+ return result;
+ }
+
+ public static DBResult 判断日志能否签出(List worklogList)
+ {
+ var result = new DBResult();
+
+ result.OK();
+
+ if (worklogList == null || worklogList.Count == 0)
+ {
+ result.SetErrorInfo("无提单签入数据,无法签出");
+ return result;
+ }
+ else {
+ var 签入count = worklogList.Where(x => x.ACTNAME == "提单签入").Count();
+ var 签出count = worklogList.Where(x => x.ACTNAME == "提单签出").Count();
+ var 取消签入count = worklogList.Where(x => x.ACTNAME == "取消签入").Count();
+ var 取消签出count = worklogList.Where(x => x.ACTNAME == "取消签出").Count();
+
+
+
+ if (签入count == 0)
+ {
+ result.SetErrorInfo("无提单签入数据,无法签出");
+ return result;
+ }
+
+ if (签入count- 取消签入count == 签出count- 取消签出count)
+ {
+ result.SetErrorInfo("签入与签出次数一致,无法进行一次提单签出");
+ return result;
+ }
+ }
+
+ return result;
+ }
+
+ #endregion
+
+
#region 附件处理
#region FileList
diff --git a/DSWeb/Areas/MvcShipping/Models/MsOp_BLISSUE/MsOp_BLISSUE.cs b/DSWeb/Areas/MvcShipping/Models/MsOp_BLISSUE/MsOp_BLISSUE.cs
index e7d711b9..08573426 100644
--- a/DSWeb/Areas/MvcShipping/Models/MsOp_BLISSUE/MsOp_BLISSUE.cs
+++ b/DSWeb/Areas/MvcShipping/Models/MsOp_BLISSUE/MsOp_BLISSUE.cs
@@ -992,6 +992,18 @@ namespace DSWeb.MvcShipping.Models.MsOp_BLISSUE
}
}
+ public static bool CanUNFDTZ(string BLSTATUS)
+ {
+ if (BLSTATUS == BLSTATUSTYPE.放单通知 || BLSTATUS == BLSTATUSTYPE.已放货)
+ {//BLSTATUS == BLSTATUSTYPE.提单签入 ||
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
public static bool 已放货或已放单(string BLSTATUS) {
if (BLSTATUS == BLSTATUSTYPE.提单签出 || BLSTATUS == BLSTATUSTYPE.已放货)
{
diff --git a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeFeeIndex.js b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeFeeIndex.js
index 36668278..5ead6ab0 100644
--- a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeFeeIndex.js
+++ b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeFeeIndex.js
@@ -14290,14 +14290,44 @@ Ext.extend(Shipping.MsOpSeaeFeeIndex, Ext.Panel, {
var bodyAddDatas = [];
_this = this;
+ var _bsno = "";
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
- if (rec.data.BLISSUESTATUS != '可放单') {
- Ext.Msg.show({ title: Zi.LAN.TiShi, msg: '提单号:' + rec.data.MBLNO + ',只有已放单通知的正本提单,才允许取消放单通知!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- return;
- }
+ //if (rec.data.BLISSUESTATUS != '可放单') {
+ // Ext.Msg.show({ title: Zi.LAN.TiShi, msg: '提单号:' + rec.data.MBLNO + ',只有已放单通知的正本提单,才允许取消放单通知!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ // return;
+ //}
+ if (_bsno != "") _bsno = _bsno + ",";
+ _bsno += "'" + rec.data.BSNO + "'";
bodyAddDatas.push(rec);
}
+
+ Ext.Ajax.request({
+ waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
+ url: '/MvcShipping/MsOp_BLISSUE/CanUnDoFDTZ',
+ async: false,
+ params: {
+ BSNO: _bsno
+ },
+ callback: function (options, success, response) {
+ if (success) {
+ var result = Ext.JSON.decode(response.responseText);
+ if (result.Success == false) {
+
+ Ext.Msg.show({
+ title: '提示',
+ msg: result.Message,
+ icon: Ext.MessageBox.ERROR,
+ buttons: Ext.Msg.OK
+ });
+ return;
+ } else {
+
+ }
+ }
+ }
+ });
+
var jsonbodyAddDatas = ConvertRecordsToJsonAll(bodyAddDatas);
Ext.Ajax.request({
waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
diff --git a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeIndex.js b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeIndex.js
index d31d1382..78eb790b 100644
--- a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeIndex.js
+++ b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeIndex.js
@@ -14634,26 +14634,30 @@ Ext.extend(Shipping.MsOpSeaeIndex, Ext.Panel, {
var bodyAddDatas = [];
_this = this;
+ var _bsno = "";
for (var i = 0; i < selections.length; i++) {
var rec = selections[i];
- if (rec.data.BLISSUESTATUS != '可放单') {
- Ext.Msg.show({ title: Zi.LAN.TiShi, msg: '提单号:' + rec.data.MBLNO + ',只有已放单通知的正本提单,才允许取消放单通知!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- return;
- }
+ //if (rec.data.BLISSUESTATUS != '可放单') {
+ // Ext.Msg.show({ title: Zi.LAN.TiShi, msg: '提单号:' + rec.data.MBLNO + ',只有已放单通知的正本提单,才允许取消放单通知!', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ // return;
+ //}
+ if (_bsno != "") _bsno = _bsno + ",";
+ _bsno += "'" + rec.data.BSNO + "'";
bodyAddDatas.push(rec);
}
- var jsonbodyAddDatas = ConvertRecordsToJsonAll(bodyAddDatas);
+
Ext.Ajax.request({
waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
- url: '/MvcShipping/MsOp_BLISSUE/UNFDTZ',
+ url: '/MvcShipping/MsOp_BLISSUE/CanUNFDTZ',
+ async: false,
params: {
- USERID: USERID,
- data: jsonbodyAddDatas
+ BSNO: _bsno
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
- if (!result.Success) {
+ if (result.Success==false) {
+
Ext.Msg.show({
title: '提示',
msg: result.Message,
@@ -14662,25 +14666,51 @@ Ext.extend(Shipping.MsOpSeaeIndex, Ext.Panel, {
});
return;
} else {
- this.storeList.reload();
- Ext.Msg.show({
- title: '提示',
- msg: result.Message,
- icon: Ext.MessageBox.ERROR,
- buttons: Ext.Msg.OK
- });
- return;
+ //执行放单通知取消
+ var jsonbodyAddDatas = ConvertRecordsToJsonAll(bodyAddDatas);
+ Ext.Ajax.request({
+ waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
+ url: '/MvcShipping/MsOp_BLISSUE/UNFDTZ',
+ params: {
+ USERID: USERID,
+ data: jsonbodyAddDatas
+ },
+ callback: function (options, success, response) {
+ if (success) {
+ var result = Ext.JSON.decode(response.responseText);
+ if (!result.Success) {
+ Ext.Msg.show({
+ title: '提示',
+ msg: result.Message,
+ icon: Ext.MessageBox.ERROR,
+ buttons: Ext.Msg.OK
+ });
+ return;
+ } else {
+ this.storeList.reload();
+ Ext.Msg.show({
+ title: '提示',
+ msg: result.Message,
+ icon: Ext.MessageBox.ERROR,
+ buttons: Ext.Msg.OK
+ });
+ return;
+ }
+ //this.onRefreshClick();
+ }
+ },
+ failure: function (response, options) {
+ Ext.Msg.show({ title: Zi.LAN.JingGao, msg: Zi.LAN.FuWuQiXiangYingChuCuo, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ },
+ success: function (response, options) { },
+ scope: this
+ }); //end Ext.Ajax.request
+
+
}
- //this.onRefreshClick();
}
- },
- failure: function (response, options) {
- Ext.Msg.show({ title: Zi.LAN.JingGao, msg: Zi.LAN.FuWuQiXiangYingChuCuo, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- },
- success: function (response, options) { },
- scope: this
- }); //end Ext.Ajax.request
-
+ }
+ });
},
diff --git a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpStatus/MsOpStatusIndex.js b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpStatus/MsOpStatusIndex.js
index cd04cf0c..41f52635 100644
--- a/DSWeb/Areas/MvcShipping/Viewsjs/MsOpStatus/MsOpStatusIndex.js
+++ b/DSWeb/Areas/MvcShipping/Viewsjs/MsOpStatus/MsOpStatusIndex.js
@@ -79,7 +79,7 @@ Ext.extend(Shipping.MsOpStatusIndex, Ext.Panel, {
this.storeList = Ext.create('Ext.data.Store', {
pageSize: this.PageSize,
model: 'MsOpStatus',
- remoteSort: true,
+ remoteSort: false,
proxy: {
type: 'ajax',
url: '/MvcShipping/MsOpStatus/GetListData',
@@ -111,6 +111,16 @@ Ext.extend(Shipping.MsOpStatusIndex, Ext.Panel, {
header: '业务状态',
editor: this.comboxOPSTATUS,
width: 120
+ }, {
+ sortable: true,
+ dataIndex: 'ISCOMP',
+ header: '是否完成',
+ width: 60,
+ renderer: function (value, cellmeta) {
+ if (value == '1') {
+ return "完成";
+ } else return "";
+ }
}, {
sortable: true,
dataIndex: 'COMPTIME',
diff --git a/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEDSIndex.js b/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEDSIndex.js
index d4821632..36e0641c 100644
--- a/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEDSIndex.js
+++ b/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEDSIndex.js
@@ -3955,7 +3955,7 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
Ext.Ajax.request({
waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
- url: '/MvcShipping/MsOp_BLISSUE/CanCheckOut',
+ url: '/MvcShipping/MsOp_BLISSUE/CanDoCheckOut',
async: false,
params: {
BSNO: BSNO
@@ -3964,88 +3964,13 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
- //Ext.Msg.show({
- // title: '提示',
- // msg: result.Message,
- // icon: Ext.MessageBox.ERROR,
- // buttons: Ext.Msg.OK
- //});
-
- if (result.Message.indexOf("此票被财务扣单")) {
- Ext.Msg.show({
- title: '提示',
- msg: result.Message,
- icon: Ext.MessageBox.ERROR,
- buttons: Ext.Msg.OK
- });
- } else {
+ Ext.Msg.show({
+ title: '提示',
+ msg: result.Message,
+ icon: Ext.MessageBox.ERROR,
+ buttons: Ext.Msg.OK
+ });
- Ext.MessageBox.confirm(Zi.LAN.JingGao, result.Message, function (btn) {
-
- if (btn == 'yes') {
-
- Ext.Ajax.request({
- waitMsg: '正在提交数据...',
- url: '/MvcShipping/MsOp_BLISSUE/GetBLINFO2',
- async: false,
- params: {
- BSNO: BSNO
- },
- callback: function (options, success, response) {
- if (success) {
-
- var result = Ext.JSON.decode(response.responseText);
- if (result.Success) {
- var _html = _this.getFDINFO(result);
- FDFINFO.update(_html);
- //alert(Ext.getCmp("FDINFO").html);
- } else {
- //return;
- }
- } else {
- Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
- return;
- }
- },
- scope: this
- });
-
- var jsonBody = ConvertRecordsToJsonAll(_this.QCLIST);
- Ext.Ajax.request({
- waitMsg: '正在锁定...',
- url: '/MvcShipping/MsOp_BLISSUE/ISFDTZ',
- params: {
- data: jsonBody
- },
- callback: function (options, success, response) {
- if (success) {
- var result = Ext.JSON.decode(response.responseText);
- if (!result.Success) {
-
- Ext.MessageBox.confirm('提示', '操作没有通知放单,是否继续?', function (btn) {
- if (btn == 'yes') {
-
- Ext.getCmp('REASON').setValue('');
- _this.winQCShow.show();
- }
- }, this);
- } else {
-
-
- Ext.getCmp('REASON').setValue('');
- _this.winQCShow.show();
-
- }
-
- } else {
- Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
- }
- },
- scope: this
- });
- }
- });
- }
}
else {
@@ -4380,6 +4305,60 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
}); //end Ext.Ajax.request
}
+ , onUnKDClick: function () {
+
+ //this.onSaveClick();
+
+ var selections = this.gridList.getSelectionModel().getSelection();
+
+ var bodyList = [];
+ var _bsno = "";
+ var _linkgid = "";
+ for (i = 0; i < selections.length; i += 1) {
+ var member = selections[i];
+ bodyList.push(member);
+ };
+
+ if (bodyList.length > 0) {
+ _bsno = bodyList[0].data.BSNO;
+ _linkgid = bodyList[0].data.GID;
+ }
+
+ var jsonBody = ConvertRecordsToJsonAll(bodyList);
+
+ if (jsonBody == '') {
+ return;
+ }
+
+ Ext.Ajax.request({
+ waitMsg: '正在提交数据...',
+ url: '/MvcShipping/MsOp_BLISSUE/KD',
+ params: {
+ USERID: USERID,
+ data: jsonBody
+ },
+ callback: function (options, success, response) {
+ if (success) {
+ //this.winQCShow.close();
+ //Ext.getCmp("REASON").setValue("");
+ this.onRefreshClick();
+
+ this.storeLog.load({
+ params: {
+ condition: " (BSNO='" + _linkgid + "' or BSNO in(select linkgid from op_blissuelist_detail where BSNO='" + _bsno + "'))"
+ }
+ });
+
+ }
+ },
+ failure: function (response, options) {
+ Ext.Msg.show({ title: '警告', msg: '服务器响应出错,请重试', icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ },
+ success: function (response, options) { },
+ scope: this
+ }); //end Ext.Ajax.request
+ }
+
//#region 废弃的旧流程
, onSQQRClick: function () {
diff --git a/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEIndex.js b/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEIndex.js
index 9a3c5841..77e9f26b 100644
--- a/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEIndex.js
+++ b/DSWeb/Areas/MvcShipping/Viewsjs/MsOp_BLISSUE/MsOp_BLISSUEIndex.js
@@ -2704,55 +2704,42 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
for (i = 0; i < selections.length; i += 1) {
var member = selections[i];
- //20230530 改为通过后台判断能否签出
- //if ((member.data.ISSUETYPE == "正本" && member.data.ISQR == "1") || member.data.ISSUETYPE != "正本") {
- // if (member.data.TSFD != "" && member.data.TSFD != "审核通过") {
- // // alert("提单号" + member.data.BLNO + " 已做特殊放单申请,还未审批通过,不能直接进行提单签出。");
- // Ext.Msg.show({ title: '提示', msg: "提单号" + member.data.BLNO + " 已做特殊放单申请,还未审批通过,不能直接进行提单签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // return;
- // }
- // // else if (member.data.TSFD != "" && member.data.TSFD == "审核通过" && member.data.ISCHAOQI == "是" && member.data.MNGBLSTATUS != "审核通过" && member.data.CUSTCARGOAFTER!="有") {
- // // Ext.Msg.show({ title: '提示', msg: "提单号" + member.data.BLNO + " 已做特殊放单申请,存在超期欠费,必须经理复核通过才能提单签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // // return;
- // // }
-
- // else {
-
- // if ((member.data.BLSTATUS == "" && (member.data.ISSUETYPE == "正本" || (member.data.ISSUETYPE != "正本" && member.data.ISSUETYPE != "")))
- // || member.data.BLSTATUS == "可放单" || member.data.BLSTATUS == "提单签入") {
-
- // if (CUSTOMERNAME == "") {
- // CUSTOMERNAME = member.data.CUSTOMERNAME;
- // ETD = member.data.ETD;
- // VESSEL = member.data.VESSEL;
- // VOYNO = member.data.VOYNO;
- // this.QCLIST.push(member);
- // } else if (CUSTOMERNAME == member.data.CUSTOMERNAME
- // && VESSEL == member.data.VESSEL
- // && VOYNO == member.data.VOYNO) {
-
- // this.QCLIST.push(member);
- // } else {
- // Ext.Msg.show({ title: '提示', msg: "只能同时签出相同委托单位、相同船名航次的提单。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // }
- // } else
- // if (member.data.BLSTATUS == "提单签出") {
- // Ext.Msg.show({ title: '提示', msg: "注意不可重复签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // //bodyList.push(member);
- // } else
- // if (member.data.BLSTATUS == "扣单") {
- // Ext.Msg.show({ title: '提示', msg: "注意已经扣单,不能签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // //bodyList.push(member);
- // } else if (member.data.BLSTATUS == "驳回放单通知") {
- // Ext.Msg.show({ title: '提示', msg: "注意已经驳回放单通知,不能签出,请申请特放。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
- // //bodyList.push(member);
- // }
- // }
- //} else {
-
- // Ext.MessageBox.alert("提示", "此票未做签入,请先做签入才能签出");
- //}
- this.QCLIST.push(member);
+ if ((member.data.ISSUETYPE == "正本") || member.data.ISSUETYPE != "正本") {
+ if (member.data.TSFD != "" && member.data.TSFD != "审核通过") {
+ // alert("提单号" + member.data.BLNO + " 已做特殊放单申请,还未审批通过,不能直接进行提单签出。");
+ Ext.Msg.show({ title: '提示', msg: "提单号" + member.data.BLNO + " 已做特殊放单申请,还未审批通过,不能直接进行提单签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ return;
+ } }
+
+ else {
+
+ if ((member.data.BLSTATUS == "" && (member.data.ISSUETYPE == "正本" || (member.data.ISSUETYPE != "正本" && member.data.ISSUETYPE != "")))
+ || member.data.BLSTATUS == "可放单" || member.data.BLSTATUS == "已放货" || member.data.BLSTATUS == "提单签入" || member.data.BLSTATUS == "状态更改" || member.data.ISGAIQIAN == "1") {
+
+ if (this.QCMUSTQR == 1 && member.data.QRDATE == '') {
+ Ext.Msg.show({ title: '提示', msg: "必须先签入才能签出!", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+
+ } else {
+ this.QCLIST.push(member);
+ }
+
+ } else
+ if (member.data.BLSTATUS == "提单签出") {
+ Ext.Msg.show({ title: '提示', msg: "注意不可重复签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ //bodyList.push(member);
+ } else
+ if (member.data.BLSTATUS == "扣单") {
+ Ext.Msg.show({ title: '提示', msg: "注意已经扣单,不能签出。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ //bodyList.push(member);
+ } else if (member.data.BLSTATUS == "驳回放单通知") {
+ Ext.Msg.show({ title: '提示', msg: "注意已经驳回放单通知,不能签出,请申请特放。", icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
+ //bodyList.push(member);
+ }
+ }
+ } else {
+
+ // Ext.MessageBox.alert("提示", "此票未做签入,请先做签入才能签出");
+ }
};
//var jsonBody = ConvertRecordsToJsonAll(bodyList);
@@ -2762,7 +2749,7 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
} else {
var BSNO = "";
var FDFINFO = Ext.getCmp("FDINFO");
- FDFINFO.update("正在载入信息");
+ FDFINFO.update("正在载入信息..");
//Ext.getCmp("IS欠费超期").setText("");
//Ext.getCmp("IS累计欠费").setText("");
@@ -2775,109 +2762,64 @@ Ext.extend(Shipping.MsOp_BLISSUEIndex, Ext.Panel, {
}
Ext.Ajax.request({
- waitMsg: Zi.LAN.ZhengZaiCaoZuoShuJu,
- url: '/MvcShipping/MsOp_BLISSUE/CanCheckOut',
+ waitMsg: '正在提交数据...',
+ url: '/MvcShipping/MsOp_BLISSUE/GetBLINFO2',
async: false,
params: {
BSNO: BSNO
},
+ callback: function (options, success, response) {
+ if (success) {
+
+ var result = Ext.JSON.decode(response.responseText);
+ if (result.Success) {
+ var _html = this.getFDINFO(result);
+ FDFINFO.update(_html);
+ //alert(Ext.getCmp("FDINFO").html);
+ } else {
+ //return;
+ }
+ } else {
+ Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
+ return;
+ }
+ },
+ scope: this
+ });
+
+ var jsonBody = ConvertRecordsToJsonAll(this.QCLIST);
+ Ext.Ajax.request({
+ waitMsg: '正在锁定...',
+ url: '/MvcShipping/MsOp_BLISSUE/ISFDTZ',
+ params: {
+ data: jsonBody
+ },
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
- //Ext.Msg.show({
- // title: '提示',
- // msg: result.Message,
- // icon: Ext.MessageBox.ERROR,
- // buttons: Ext.Msg.OK
- //});
-
- if (result.Message.indexOf("此票被财务扣单")) {
- Ext.Msg.show({
- title: '提示',
- msg: result.Message,
- icon: Ext.MessageBox.ERROR,
- buttons: Ext.Msg.OK
- });
- } else {
- Ext.MessageBox.confirm(Zi.LAN.JingGao, result.Message, function (btn) {
-
- if (btn == 'yes') {
-
- Ext.Ajax.request({
- waitMsg: '正在提交数据...',
- url: '/MvcShipping/MsOp_BLISSUE/GetBLINFO2',
- async: false,
- params: {
- BSNO: BSNO
- },
- callback: function (options, success, response) {
- if (success) {
-
- var result = Ext.JSON.decode(response.responseText);
- if (result.Success) {
- var _html = this.getFDINFO(result);
- FDFINFO.update(_html);
- //alert(Ext.getCmp("FDINFO").html);
- } else {
- //return;
- }
- } else {
- return;
- }
- },
- scope: this
- });
-
- this.winQCShow.show();
- }
- });
- }
- }
- else {
-
- Ext.Ajax.request({
- waitMsg: '正在提交数据...',
- url: '/MvcShipping/MsOp_BLISSUE/GetBLINFO2',
- async: false,
- params: {
- BSNO: BSNO
- },
- callback: function (options, success, response) {
- if (success) {
-
- var result = Ext.JSON.decode(response.responseText);
- if (result.Success) {
- var _html = this.getFDINFO(result);
- FDFINFO.update(_html);
- //alert(Ext.getCmp("FDINFO").html);
- } else {
- //return;
- }
- } else {
- return;
- }
- },
- scope: this
- });
+ Ext.MessageBox.confirm('提示', '操作没有通知放单,是否继续?', function (btn) {
+ if (btn == 'yes') {
+
+ Ext.getCmp('REASON').setValue('');
+ _this.winQCShow.show();
+ }
+ }, this);
+ } else {
- this.winQCShow.show();
+
+ Ext.getCmp('REASON').setValue('');
+ _this.winQCShow.show();
}
+
} else {
- Ext.Msg.show({
- title: '提示',
- msg: result.Message,
- icon: Ext.MessageBox.ERROR,
- buttons: Ext.Msg.OK
- });
+ Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
- }
+ },
+ scope: this
});
-
-
-
}
}