コード例 #1
0
        /// <summary>
        /// 新增驳船分发规则
        /// </summary>
        /// <param name="row"></param>
        public void InsertBarge(string companyCode, string shipCode, string voyageIn, string voyageOut, decimal berthplanno)
        {
            if (string.IsNullOrEmpty(companyCode))
            {
                throw new Exception("请输入外理公司代码");
            }
            if (string.IsNullOrEmpty(shipCode))
            {
                throw new Exception("请输入船名代码");
            }
            if (string.IsNullOrEmpty(voyageIn))
            {
                throw new Exception("请输入进口航次");
            }
            if (string.IsNullOrEmpty(voyageOut))
            {
                throw new Exception("请输入出口航次");
            }

            DataSet1.T_OCRX_BARGERow row = new DataSet1.T_OCRX_BARGEDataTable().NewT_OCRX_BARGERow();
            row.COMPANYCODE     = companyCode;
            row.SHIP_CODE       = shipCode;
            row.IN_VOYAGE_CODE  = voyageIn;
            row.OUT_VOYAGE_CODE = voyageOut;
            row.BERTHPLANNO     = berthplanno;
            row.CREATEDBY       = Config.UserId;

            DAL.cctdbDAL.InsertBarge(row);
        }
コード例 #2
0
        /// <summary>
        /// 修改驳船分发规则
        /// </summary>
        /// <param name="row"></param>
        public void UpdateBarge(string companyCode, string shipAgent, string shipOwner)
        {
            if (string.IsNullOrEmpty(companyCode))
            {
                throw new Exception("请输入外理公司代码");
            }
            if (string.IsNullOrEmpty(shipAgent))
            {
                throw new Exception("请输入船代");
            }
            if (string.IsNullOrEmpty(shipOwner))
            {
                throw new Exception("请输入船东");
            }

            //较验船东
            bool isValid = ValidateBLL.CheckEnglishComma(shipOwner, 1, 10);

            if (!isValid)
            {
                throw new Exception("船东不合法。多个船东请用英文逗号隔开");
            }

            CheckOwners(shipOwner, shipAgent, companyCode);

            DataSet1.T_OCRX_BARGERow row = new DataSet1.T_OCRX_BARGEDataTable().NewT_OCRX_BARGERow();
            row.COMPANYCODE = companyCode;
            row.SHIPOWNER   = shipOwner;
            row.SHIPAGENT   = shipAgent;
            row.UPDATEDBY   = Config.UserId;

            DAL.cctdbDAL.UpdateBarge(row);
        }
コード例 #3
0
        /// <summary>
        /// 查找驳船外理
        /// </summary>
        /// <param name="shipAgent"></param>
        /// <param name="shipOwner"></param>
        /// <param name="barges"></param>
        /// <returns></returns>
        private string GetCompanyCode(string shipAgent, string shipOwner, DataSet1.T_OCRX_BARGEDataTable barges)
        {
            string companyCode = string.Empty;

            //船代必须匹配,船东匹配上优先
            foreach (DataSet1.T_OCRX_BARGERow row in barges)
            {
                if (row.SHIPAGENT == shipAgent)
                {
                    if (row.SHIPOWNER == "ALL")
                    {
                        companyCode = row.COMPANYCODE;
                    }
                    else
                    {
                        row.SHIPOWNER = string.Format(",{0},", row.SHIPOWNER);
                        string shipOwner1 = string.Format(",{0},", shipOwner);
                        if (row.SHIPOWNER.Contains(shipOwner1))
                        {
                            companyCode = row.COMPANYCODE;
                            break;
                        }
                    }
                }
            }

            return(companyCode);
        }
コード例 #4
0
        /// <summary>
        /// 删除驳船分发规则
        /// </summary>
        /// <param name="row"></param>
        public void DeleteBarge(string companyCode, string shipCode, string voyageIn, string voyageOut, decimal berthplanno)
        {
            DataSet1.T_OCRX_BARGERow row = new DataSet1.T_OCRX_BARGEDataTable().NewT_OCRX_BARGERow();
            row.COMPANYCODE = companyCode;
            row.BERTHPLANNO = berthplanno;
            row.UPDATEDBY   = Config.UserId;

            DAL.cctdbDAL.DeleteBarge(row);
        }
コード例 #5
0
        /// <summary>
        /// 校验船东是否有重复
        /// </summary>
        /// <param name="shipOwner"></param>
        /// <param name="shipAgent"></param>
        /// <returns></returns>
        private void CheckOwners(string shipOwner, string shipAgent, string companyCode)
        {
            //校验船东是否有重复
            string[] newLines     = SplitLines(shipOwner);
            bool     isDuplicated = false;

            DataSet1.T_OCRX_BARGEDataTable dt = DAL.cctdbDAL.SelectBargeByAgent(shipAgent);
            foreach (DataSet1.T_OCRX_BARGERow r1 in dt)
            {
                if (r1.COMPANYCODE != companyCode)
                {
                    string[] lines = SplitLines(r1.SHIPOWNER);
                    foreach (string l1 in lines)
                    {
                        foreach (string l2 in newLines)
                        {
                            if (l2.Equals(l1))
                            {
                                isDuplicated = true;
                                break;
                            }
                        }
                        if (isDuplicated)
                        {
                            break;
                        }
                    }
                    if (isDuplicated)
                    {
                        break;
                    }
                }
            }

            if (isDuplicated)
            {
                throw new Exception("该船代下船东重复定义。");
            }
        }
コード例 #6
0
ファイル: webDAL.cs プロジェクト: ZPMAI/OCR_WebAPI
        /// <summary>
        /// 获取该公司在该船的分发船东
        /// </summary>
        /// <param name="vslaliase"></param>
        /// <param name="CompanyCode"></param>
        /// <param name="disc"></param>
        /// <returns></returns>
        public static List <string> SelectCompanyVesselOwner(string vslaliase, string CompanyCode, bool disc)
        {
            if (vslaliase.StartsWith("8"))
            {
                DataSet1.T_OCRX_BARGEDataTable barge = SelectBargeByVelaliase(vslaliase);

                if (barge.Count > 0)
                {
                    if (barge[0].COMPANYCODE == CompanyCode)
                    {
                        List <string> line = new List <string> {
                            "ALL"
                        };
                        return(line);
                    }
                    return(null);
                }
                else
                {
                    return(null);
                }
            }

            DataTable vslService = SelectService(vslaliase);
            string    service    = string.Empty;

            if (vslService.Rows.Count > 0)
            {
                service = disc ? vslService.Rows[0]["INVESSELLINECODE"].ToString() : vslService.Rows[0]["OUTVESSELLINECODE"].ToString();
            }
            else
            {
                return(null);
            }
            DataSet1.T_OCRX_VESSELDataTable serviceRule = SelectVesselByService(service);
            DataSet1.T_OCRX_VESSELDataTable companyRule = SelectVesselByCompany(service, CompanyCode);
            List <string> VesselOwners = SelectVesselOwners(vslaliase);

            HashSet <string> others  = new HashSet <string>();
            HashSet <string> company = new HashSet <string>();
            HashSet <string> vessel  = new HashSet <string>(VesselOwners);

            foreach (DataSet1.T_OCRX_VESSELRow dr in serviceRule)
            {
                if (dr.COMPANYCODE != CompanyCode)
                {
                    string[] owners = dr.LINECODE.Split(',');
                    foreach (string s in owners)
                    {
                        others.Add(s);
                    }
                }
            }
            foreach (DataSet1.T_OCRX_VESSELRow dr in companyRule)
            {
                string[] owners = dr.LINECODE.Split(',');
                foreach (string s in owners)
                {
                    company.Add(s);
                }
            }

            company.ExceptWith(others);
            vessel.IntersectWith(company);
            return(vessel.ToList <string>());
        }
コード例 #7
0
 public void DeleteBarge([FromBody] DataSet1.T_OCRX_BARGEDataTable row)
 {
     webDAL.DeleteBarge(row[0]);
     //return Json<DataSet1.T_OCRX_CODataTable>(result);
 }