作者 申海龙

安检申报 功能。。。。。

正在显示 27 个修改的文件 包含 2693 行增加26 行删除
... ... @@ -71,7 +71,6 @@
<element id="library" level="project" name="Maven: antlr:antlr:2.7.7" />
<element id="library" level="project" name="Maven: org.jboss:jandex:2.0.0.Final" />
<element id="library" level="project" name="Maven: dom4j:dom4j:1.6.1" />
<element id="library" level="project" name="Maven: xml-apis:xml-apis:1.0.b2" />
<element id="library" level="project" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.0.1.Final" />
<element id="library" level="project" name="Maven: org.hibernate:hibernate-entitymanager:5.0.6.Final" />
<element id="library" level="project" name="Maven: org.hibernate:hibernate-ehcache:5.0.6.Final" />
... ... @@ -132,6 +131,8 @@
<element id="library" level="project" name="Maven: com.google.code.gson:gson:2.8.2" />
<element id="library" level="project" name="Maven: com.jfinal:jfinal:3.4" />
<element id="library" level="project" name="Maven: cglib:cglib-nodep:3.2.5" />
<element id="library" level="project" name="Maven: net.sf.barcode4j:barcode4j-light:2.0" />
<element id="library" level="project" name="Maven: xml-apis:xml-apis:1.3.04" />
</element>
</element>
<element id="directory" name="META-INF">
... ...
... ... @@ -45,7 +45,6 @@
<dependencies>
<!-- Apache CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
... ... @@ -434,6 +433,14 @@
<artifactId>jfinal</artifactId>
<version>3.4</version>
</dependency>
<!--条形码-->
<!-- https://mvnrepository.com/artifact/net.sf.barcode4j/barcode4j-light -->
<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j-light</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
<!-- 配置文件 -->
... ... @@ -464,6 +471,8 @@
<package.environment>product</package.environment>
</properties>
</profile>
</profiles>
<build>
... ...
... ... @@ -12,7 +12,6 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;
import com.agent.entity.agent.*;
import com.agent.service.system.HzInfoService;
... ... @@ -20,18 +19,12 @@ import com.agent.service.system.HzWaybillService;
import com.agent.service.system.UserService;
import com.agent.util.ExcelUtil;
import com.agent.vo.agent.ManifestVo;
import com.framework.util.DateFormat;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.hibernate.SessionFactory;
import org.hibernate.StaleObjectStateException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.orm.ObjectOptimisticLockingFailureException;
import org.springframework.orm.jpa.vendor.HibernateJpaSessionFactoryBean;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.TransactionSystemException;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
... ... @@ -528,11 +521,12 @@ public class ManifestController extends BasicController {
UserEntity ue = (UserEntity) SecurityUtils.getSubject().getSession().getAttribute("user");
if (ue != null) {
Long u = ue.getId();
String s = String.valueOf(u);
Set<String> sk = pageForm.getSearchParams().keySet();
if (Tools.getUserId() != null && Tools.getUserId() != 1) {
// 不是管理员,添加用户id的条件
pageForm.getSearchParams().put("EQ_USER_ID", u);
pageForm.getSearchParams().put("EQ_USER_ID", s);
}
}
... ...
package com.agent.controller.agent;
import com.agent.entity.agent.ManifestEntity;
import com.agent.entity.agent.SDCargoNameEntity;
import com.agent.entity.agent.SDCargoTypeEntity;
import com.agent.entity.agent.SecurityDeclarationEntity;
import com.agent.entity.system.UserEntity;
import com.agent.service.agent.ManifestService;
import com.agent.service.system.SDCargoNameService;
import com.agent.service.system.SDCargoTypeService;
import com.agent.service.system.SecurityDeclarationService;
import com.agent.util.BarCodeUtil;
import com.agent.vo.ResponseModel;
import com.agent.vo.agent.SDVo;
import com.agent.vo.agent.SecurityDeclarationVo;
import com.agent.xml.XmlBuildTask;
import com.agent.xml.fhlsli.FSXmlKit;
import com.framework.core.Servlets;
import com.framework.util.MessageKit;
import com.framework.util.MessageType;
import com.framework.util.StringUtils;
import com.plugin.easyui.DataGrid;
import com.plugin.easyui.EasyPage;
import jxl.demo.XML;
import org.apache.axis.utils.XMLUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.web.session.HttpServletSession;
import org.apache.struts.chain.contexts.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import tools.Tools;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @Auther: shenhl
* @Date: 2019/4/23 19:14
*/
@Controller
@RequestMapping(value = "/declaration")
public class SecurityDeclarationController {
@Autowired
private SecurityDeclarationService securityDeclarationService;
@Autowired
private SDCargoTypeService sdCargoTypeService;
@Autowired
private SDCargoNameService sdCargoNameService;
@Autowired
private ManifestService manifestService;
@RequestMapping(value = "/list")
public String list(){
return "declaration/list";
}
/**
* 分页查询
* @param request
* @param pageForm
* @return
*/
@RequestMapping(value = "/grid.json")
@ResponseBody
public DataGrid<SecurityDeclarationVo> grid(HttpServletRequest request, EasyPage<SecurityDeclarationEntity> pageForm) {
Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, "search_");
UserEntity ue = (UserEntity)SecurityUtils.getSubject().getSession().getAttribute("user");
if (ue!=null){
Long u = ue.getId();
if (Tools.getUserId() != null && Tools.getUserId() != 1){
// 不是管理员,添加用户id的条件
pageForm.getSearchParams().put("EQ_SD_USER_ID", u);
}
}
pageForm.setSearchParams(searchParams);
pageForm.parseData(securityDeclarationService.getPage(pageForm));
DataGrid<SecurityDeclarationEntity> securityDeclarationEntityDataGrid = pageForm.getData();
List<SecurityDeclarationVo>rows = new ArrayList<>();
if (CollectionUtils.isNotEmpty(securityDeclarationEntityDataGrid.getRows())){
for (SecurityDeclarationEntity sd: securityDeclarationEntityDataGrid.getRows()){
SecurityDeclarationVo sdVo = new SecurityDeclarationVo();
sdVo.setId(sd.getId());
sdVo.setSd_waybill(sd.getSd_waybill());
sdVo.setSd_cargo_shipper_name(sd.getSd_cargo_shipper_name());
sdVo.setSd_cargo_agent_name(sd.getSd_cargo_agent_name());
sdVo.setSd_transport_certificate(sd.getSd_transport_certificate());
sdVo.setSd_transportation_prove(sd.getSd_transportation_prove());
sdVo.setSd_iata_number(sd.getSd_iata_number());
if("1".equals(sd.getSd_static())){
sdVo.setSd_static("已发送安检申报报文");
}
rows.add(sdVo);
}
}
DataGrid<SecurityDeclarationVo> vos = new DataGrid<>();
vos.setRows(rows);
vos.setTotal(securityDeclarationEntityDataGrid.getTotal());
return vos;
}
/**
* 跳转添加安检申报视图
*/
@RequestMapping(value = "/securityView")
public String securityView(String waybill, Model model){
model.addAttribute("waybill", waybill);
return "declaration/save";
}
/**
* 保存并发送报文
* @param request
* @param waybill
* @return
*/
@RequestMapping(value = "/save")
@ResponseBody
public ResponseModel save(HttpServletRequest request, String waybill){
ResponseModel model = new ResponseModel();
//货物性质(类型)
String one = request.getParameter("one");
String two = request.getParameter("two");
String three = request.getParameter("three");
String four = request.getParameter("four");
//航空货物托运人名称
String cargoShipperName = request.getParameter("sd_cargo_shipper_name");
//航空货运销售代理人名称
String cargoAgentName = request.getParameter("sd_cargo_agent_name");
//航协编号
String iataNumber = request.getParameter("sd_iata_number");
//货物品名
String cargoName = request.getParameter("sd_cargo_name");
//运输条件鉴定书
String transportCertificate = request.getParameter("sd_transport_certificate");
//航空公司同意运输证明
String transportationProve = request.getParameter("sd_transportation_prove");
//货物性质是否多选
List<String> list = new ArrayList();
if (!StringUtils.isBlank(one)){
list.add(one);
}
if (!StringUtils.isBlank(two)){
list.add(two);
}
if (!StringUtils.isBlank(three)){
list.add(three);
}
if (!StringUtils.isBlank(four)){
list.add(four);
}
//查询是否存在
if (securityDeclarationService.findWaybill(waybill) == 0){
//货物性质(类型)添加
for (String type: list){
SDCargoTypeEntity sdCargoTypeEntity = new SDCargoTypeEntity();
sdCargoTypeEntity.setSd_waybill(waybill);
sdCargoTypeEntity.setSd_cargo_type(type);
sdCargoTypeService.save(sdCargoTypeEntity);
}
//货物品名
String cName = cargoName.replaceAll(",", ",");
String[] split = cName.split(",");
for (int i=0; i<split.length; i++){
if (!StringUtils.isBlank(split[i]) || !"".equals(split[i])){
SDCargoNameEntity sdCargoNameEntity = new SDCargoNameEntity();
sdCargoNameEntity.setSd_waybill(waybill);
sdCargoNameEntity.setSd_cargo_name(split[i]);
sdCargoNameService.save(sdCargoNameEntity);
}
}
UserEntity ue = (UserEntity)SecurityUtils.getSubject().getSession().getAttribute("user");
//添加安检申报
SecurityDeclarationEntity sd = new SecurityDeclarationEntity();
sd.setSd_waybill(waybill);
sd.setSd_cargo_agent_name(cargoAgentName);
sd.setSd_cargo_shipper_name(cargoShipperName);
sd.setSd_iata_number(iataNumber);
sd.setSd_transport_certificate(transportCertificate);
sd.setSd_transportation_prove(transportationProve);
sd.setSd_static("1");
if (ue != null){
if (ue.getId() != null ){
sd.setSd_user_id(ue.getId());
}
}
securityDeclarationService.save(sd);
// 生成报文并且发送
String ndlrPath = MessageKit.getMessagePath(MessageType.NDLR);
//存放数据Vo
SDVo sdVo = new SDVo();
sdVo.setSd_waybill(waybill);
sdVo.setSd_cargo_agent_name(cargoAgentName);
sdVo.setSd_cargo_shipper_name(cargoShipperName);
sdVo.setSd_iata_number(iataNumber);
sdVo.setSd_transport_certificate(transportCertificate);
sdVo.setSd_transportation_prove(transportationProve);
//品名
sdVo.setSd_cargo_name(cargoName);
//货物类型
String cargoType = "";
for (String s: list){
cargoType+=s+",";
}
sdVo.setSd_cargo_type(cargoType);
//预配信息
ManifestEntity wbm = manifestService.findWbm(waybill);
sdVo.setFlightno(wbm.getFlightno());
sdVo.setFlightdate(wbm.getFlightdate());
sdVo.setCarrier(wbm.getCarrier());
sdVo.setTotalpiece(wbm.getTotalpiece());
sdVo.setTotalweight(wbm.getTotalweight());
new XmlBuildTask(securityDeclarationService.sendNDLRXml(sdVo), ndlrPath).perform();
model.setStatus(200);
}else {
model.setStatus(203);
}
return model;
}
/**
* 调转编辑页面
*/
@RequestMapping(value = "/edit")
public String edit(Model model, Long id){
String cargoName = "";
String cargoType = "";
SecurityDeclarationEntity sd = securityDeclarationService.findOne(id);
model.addAttribute("sd", sd);
//查询预配
ManifestEntity wbm = manifestService.findWbm(sd.getSd_waybill());
model.addAttribute("wbm", wbm);
List<SDCargoTypeEntity> sdCargoTypeEntities = sdCargoTypeService.waybillAll(sd.getSd_waybill());
for (SDCargoTypeEntity type: sdCargoTypeEntities){
cargoType+=type.getSd_cargo_type();
}
//货物性质(类型)
model.addAttribute("type", cargoType);
model.addAttribute("types", sdCargoTypeEntities);
List<SDCargoNameEntity> sdCargoNameEntities = sdCargoNameService.waybillAll(sd.getSd_waybill());
for (SDCargoNameEntity sdCargoNameEntity: sdCargoNameEntities){
cargoName+=sdCargoNameEntity.getSd_cargo_name()+",";
}
String name = cargoName.substring(0, cargoName.length() - 1);
model.addAttribute("name", name);
return "declaration/edit";
}
/**
* 安检申报修改
* @param sd
* @param request
* @param waybill
* @return
*/
@RequestMapping("/update")
@ResponseBody
public ResponseModel update(SecurityDeclarationEntity sd, HttpServletRequest request, String waybill){
ResponseModel model = new ResponseModel();
String one = request.getParameter("one");
String two = request.getParameter("two");
String three = request.getParameter("three");
String four = request.getParameter("four");
List<String> list = new ArrayList();
if (!StringUtils.isBlank(one)){
list.add(one);
}
if (!StringUtils.isBlank(two)){
list.add(two);
}
if (!StringUtils.isBlank(three)){
list.add(three);
}
if (!StringUtils.isBlank(four)){
list.add(four);
}
//先删除货物性质(类型
if (sdCargoTypeService.deleteAlls(waybill)>0){
//货物性质(类型)添加
for (String type: list){
SDCargoTypeEntity sdCargoTypeEntity = new SDCargoTypeEntity();
sdCargoTypeEntity.setSd_waybill(waybill);
sdCargoTypeEntity.setSd_cargo_type(type);
sdCargoTypeService.save(sdCargoTypeEntity);
}
}
if (sdCargoNameService.deleteAlls(waybill)>0){
//货物品名
String cName = request.getParameter("sd_cargo_name").replaceAll(",", ",");
String[] split = cName.split(",");
for (int i=0; i<split.length; i++){
if (!StringUtils.isBlank(split[i]) || !"".equals(split[i])){
SDCargoNameEntity sdCargoNameEntity = new SDCargoNameEntity();
sdCargoNameEntity.setSd_waybill(waybill);
sdCargoNameEntity.setSd_cargo_name(split[i]);
sdCargoNameService.save(sdCargoNameEntity);
}
}
}
if (securityDeclarationService.update(sd, waybill)>0){
model.setStatus(200);
}
// 生成报文并且发送
String ndlrPath = MessageKit.getMessagePath(MessageType.NDLR);
String dlcPath = MessageKit.getMessagePath(MessageType.DLCF);
String sliPath = MessageKit.getMessagePath(MessageType.SLI);
//存放数据Vo
SDVo sdVo = new SDVo();
sdVo.setSd_waybill(waybill);
sdVo.setSd_cargo_agent_name(sd.getSd_cargo_agent_name());
sdVo.setSd_cargo_shipper_name(sd.getSd_cargo_shipper_name());
sdVo.setSd_iata_number(sd.getSd_iata_number());
sdVo.setSd_transport_certificate(sd.getSd_transport_certificate());
sdVo.setSd_transportation_prove(sd.getSd_transportation_prove());
//品名
sdVo.setSd_cargo_name(request.getParameter("sd_cargo_name").replaceAll(",", ","));
//货物类型
String cargoType = "";
for (String s: list){
cargoType+=s+",";
}
sdVo.setSd_cargo_type(cargoType);
//预配信息
ManifestEntity wbm = manifestService.findWbm(waybill);
sdVo.setFlightno(wbm.getFlightno());
sdVo.setFlightdate(wbm.getFlightdate());
sdVo.setCarrier(wbm.getCarrier());
sdVo.setTotalpiece(wbm.getTotalpiece());
sdVo.setTotalweight(wbm.getTotalweight());
new XmlBuildTask(securityDeclarationService.sendNDLRXml(sdVo), ndlrPath).perform();
return model;
}
/**
* 打印
*/
@RequestMapping(value = "/print")
public String print(Model model, Long id, HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException, ParseException {
String cargoType = "";
//安检申报数据
SecurityDeclarationEntity sd = securityDeclarationService.findOne(id);
model.addAttribute("sd", sd);
//航空公司运输证明
String[] split1 = sd.getSd_transportation_prove().split(",");
//运单号取消 "-"
String replace = sd.getSd_waybill().replace("-", "");
//生成相对路径
URL resource = this.getClass().getClassLoader().getResource("/");
String path = resource.getPath();
String s = path +"../../resource/img/bar_code/"+replace+".png";
//生成条形码
BarCodeUtil.generateFile(replace, s);
model.addAttribute("path", replace);
//查询预配
ManifestEntity wbm = manifestService.findWbm(sd.getSd_waybill());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String format = simpleDateFormat.format(wbm.getFlightdate());
model.addAttribute("date", format);
//主单数据
model.addAttribute("wbm", wbm);
List<SDCargoTypeEntity> sdCargoTypeEntities = sdCargoTypeService.waybillAll(sd.getSd_waybill());
for (SDCargoTypeEntity type: sdCargoTypeEntities){
cargoType+=type.getSd_cargo_type();
}
//货物性质(类型)
model.addAttribute("type", cargoType);
String cargoName = "";
//货物品名
List<SDCargoNameEntity> sdCargoNameEntities = sdCargoNameService.waybillAll(sd.getSd_waybill());
for (SDCargoNameEntity cargoNames : sdCargoNameEntities){
cargoName += cargoNames.getSd_cargo_name()+",";
}
String substring = cargoName.substring(0, cargoName.length() - 1);
model.addAttribute("cargoName", substring);
//航空公司运输证明
String sd_transportation_prove = sd.getSd_transportation_prove();
String[] split = sd_transportation_prove.split(",");
String prove="";
for (int i=0; i<split.length; i++){
prove+=split[i]+",";
}
String substring1 = prove.substring(0, prove.length() - 1);
model.addAttribute("prove", substring1);
return "declaration/print";
}
}
... ...
... ... @@ -68,6 +68,8 @@ public class HzInfoController {
Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, "search_");
// searchParams.put("LIKE_phone","17600319854");
searchParams.put("LIKE_delete_flag","1");
pageForm.setSearchParams(searchParams);
pageForm.parseData(hzInfoService.getPage(pageForm));
DataGrid<HZSHIPPERINFORMATIONEntity> hzshipperinformationEntityDataGrid = pageForm.getData();
... ...
... ... @@ -262,10 +262,9 @@ public class WaybillnomasterController extends BasicController {
}
/**
* * 模糊查询匹配信息
*
* @param manifest
* @return
* 模糊查询匹配信息
* @param id
* @param model
* @return
*/
@RequestMapping(value = "/inforPre")
... ...
package com.agent.entity.agent;
import com.agent.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* @Auther: shenhl
* @Date: 2019/4/24 10:21
*/
@Entity
@Table(name = "SD_CARGO_NAME")
public class SDCargoNameEntity extends IdEntity{
/**
* 运单号
*/
private String sd_waybill;
/**
* 货物品名
*/
private String sd_cargo_name;
public String getSd_waybill() {
return sd_waybill;
}
public void setSd_waybill(String sd_waybill) {
this.sd_waybill = sd_waybill;
}
public String getSd_cargo_name() {
return sd_cargo_name;
}
public void setSd_cargo_name(String sd_cargo_name) {
this.sd_cargo_name = sd_cargo_name;
}
}
... ...
package com.agent.entity.agent;
import com.agent.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* @Auther: shenhl
* @Date: 2019/4/24 10:25
*/
@Entity
@Table(name = "SD_CARGO_TYPE")
public class SDCargoTypeEntity extends IdEntity{
/**
* 运单号
*/
private String sd_waybill;
/**
* 货物性质(类型) 1普通货物 2特种货物 3 危险品 4航空快件
*/
private String sd_cargo_type;
public String getSd_waybill() {
return sd_waybill;
}
public void setSd_waybill(String sd_waybill) {
this.sd_waybill = sd_waybill;
}
public String getSd_cargo_type() {
return sd_cargo_type;
}
public void setSd_cargo_type(String sd_cargo_type) {
this.sd_cargo_type = sd_cargo_type;
}
}
... ...
package com.agent.entity.agent;
import com.agent.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
* @Auther: shenhl
* @Date: 2019/4/24 10:14
*/
@Entity
@Table(name = "SECURITY_DECLARATION")
public class SecurityDeclarationEntity extends IdEntity{
/**
* 运单号
*/
private String sd_waybill;
/**
* 货物托运人名称
*/
private String sd_cargo_shipper_name;
/**
* 货物代理人名称
*/
private String sd_cargo_agent_name;
/**
* 航协编号
*/
private String sd_iata_number;
/**
* 运输条件鉴定书
*/
private String sd_transport_certificate;
/**
* 航空公司同意运输证明
*/
private String sd_transportation_prove;
/**
* 用户id
* @return
*/
private Long sd_user_id;
/**
* 状态 1已发送 2未发送
* @return
*/
private String sd_static;
public Long getSd_user_id() {
return sd_user_id;
}
public void setSd_user_id(Long sd_user_id) {
this.sd_user_id = sd_user_id;
}
public String getSd_static() {
return sd_static;
}
public void setSd_static(String sd_static) {
this.sd_static = sd_static;
}
public String getSd_waybill() {
return sd_waybill;
}
public void setSd_waybill(String sd_waybill) {
this.sd_waybill = sd_waybill;
}
public String getSd_cargo_shipper_name() {
return sd_cargo_shipper_name;
}
public void setSd_cargo_shipper_name(String sd_cargo_shipper_name) {
this.sd_cargo_shipper_name = sd_cargo_shipper_name;
}
public String getSd_cargo_agent_name() {
return sd_cargo_agent_name;
}
public void setSd_cargo_agent_name(String sd_cargo_agent_name) {
this.sd_cargo_agent_name = sd_cargo_agent_name;
}
public String getSd_iata_number() {
return sd_iata_number;
}
public void setSd_iata_number(String sd_iata_number) {
this.sd_iata_number = sd_iata_number;
}
public String getSd_transport_certificate() {
return sd_transport_certificate;
}
public void setSd_transport_certificate(String sd_transport_certificate) {
this.sd_transport_certificate = sd_transport_certificate;
}
public String getSd_transportation_prove() {
return sd_transportation_prove;
}
public void setSd_transportation_prove(String sd_transportation_prove) {
this.sd_transportation_prove = sd_transportation_prove;
}
}
... ...
package com.agent.repository.system;
import com.agent.entity.agent.SDCargoNameEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:39
*/
public interface SDCargoNameRepository extends PagingAndSortingRepository<SDCargoNameEntity, Long>,
JpaSpecificationExecutor<SDCargoNameEntity> {
@Query(value = "select * from SD_CARGO_NAME where sd_waybill = ?1", nativeQuery = true)
List<SDCargoNameEntity>waybillAll(String waybill);
@Transactional
@Modifying
@Query(value = "delete from SD_CARGO_NAME where id = ?1", nativeQuery = true)
int deleteAlls(Long waybill);
}
... ...
package com.agent.repository.system;
import com.agent.entity.agent.SDCargoTypeEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:39
*/
public interface SDCargoTypeRepository extends PagingAndSortingRepository<SDCargoTypeEntity, Long>,
JpaSpecificationExecutor<SDCargoTypeEntity> {
@Query(value = "select * from SD_CARGO_TYPE where sd_waybill =?1", nativeQuery = true)
List<SDCargoTypeEntity>waybillAll(String waybill);
@Transactional
@Modifying
@Query(value = "delete from SD_CARGO_TYPE where id=?1", nativeQuery = true)
int deleteAlls(Long waybill);
}
... ...
package com.agent.repository.system;
import com.agent.entity.agent.SecurityDeclarationEntity;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.transaction.annotation.Transactional;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:38
*/
public interface SecurityDeclarationRepository extends PagingAndSortingRepository<SecurityDeclarationEntity, Long>,
JpaSpecificationExecutor<SecurityDeclarationEntity> {
@Transactional
@Modifying
@Query(value = "update SECURITY_DECLARATION set SD_WAYBILL=?2, SD_CARGO_SHIPPER_NAME=?4, SD_CARGO_AGENT_NAME=?3, SD_IATA_NUMBER=?5, SD_TRANSPORT_CERTIFICATE=?6, SD_TRANSPORTATION_PROVE=?7 where id=?1", nativeQuery = true)
int update(Long id, String waybill,
String cargoAgent, String cargoShipper,
String iata, String tranposrt, String prove);
@Query(value = "select count(*) from SECURITY_DECLARATION where SD_WAYBILL = ?1", nativeQuery = true)
int findWaybill(String waybill);
}
... ...
... ... @@ -276,7 +276,7 @@ public class ManifestService extends BasicService<ManifestEntity> {
dms.setMeta(mdme);
DeclarePreparemasterXmlBody body = generateXml(manifest);
dms.setDeclarepreparemasterxmlbody(body);
// System.out.println(JSONObject.toJSONString(dms));
// System.out.println(JSONObject.toJSONString(dms));
return dms;
}
... ...
package com.agent.service.system;
import com.agent.entity.agent.SDCargoNameEntity;
import com.agent.entity.agent.SDCargoTypeEntity;
import com.agent.repository.system.SDCargoNameRepository;
import com.agent.service.BasicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:49
*/
@Service
public class SDCargoNameService extends BasicService<SDCargoNameEntity>{
@Autowired
private SDCargoNameRepository sdCargoNameRepository;
public SDCargoNameEntity save(SDCargoNameEntity sdCargoNameEntity){
return sdCargoNameRepository.save(sdCargoNameEntity);
}
public List<SDCargoNameEntity> waybillAll(String waybill){
return sdCargoNameRepository.waybillAll(waybill);
}
@Transactional
public int deleteAlls(String waybill){
int i =0;
List<SDCargoNameEntity> sdCargoNameEntities = sdCargoNameRepository.waybillAll(waybill);
for (SDCargoNameEntity sd : sdCargoNameEntities){
i = sdCargoNameRepository.deleteAlls(sd.getId());
}
return i;
}
}
... ...
package com.agent.service.system;
import com.agent.entity.agent.SDCargoTypeEntity;
import com.agent.repository.system.SDCargoTypeRepository;
import com.agent.service.BasicService;
import org.apache.xmlbeans.impl.xb.xsdschema.ListDocument;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:48
*/
@Service
public class SDCargoTypeService extends BasicService<SDCargoTypeEntity>{
@Autowired
private SDCargoTypeRepository sdCargoTypeRepository;
public SDCargoTypeEntity save(SDCargoTypeEntity sdCargoTypeEntity){
return sdCargoTypeRepository.save(sdCargoTypeEntity);
}
public List<SDCargoTypeEntity> waybillAll(String waybill){
return sdCargoTypeRepository.waybillAll(waybill);
}
@Transactional
public int deleteAlls(String waybill){
int i=0;
List<SDCargoTypeEntity> sdCargoTypeEntities = sdCargoTypeRepository.waybillAll(waybill);
for (SDCargoTypeEntity sd: sdCargoTypeEntities){
i=sdCargoTypeRepository.deleteAlls(sd.getId());
}
return i;
}
}
... ...
package com.agent.service.system;
import com.agent.entity.Constant;
import com.agent.entity.agent.ManifestEntity;
import com.agent.entity.agent.SecurityDeclarationEntity;
import com.agent.repository.system.SecurityDeclarationRepository;
import com.agent.service.BasicService;
import com.agent.vo.agent.SDVo;
import com.agent.xml.common.XmlHead;
import com.agent.xml.manifestdeclare.*;
import com.agent.xml.secuity.SecurityDeclarationXml;
import com.alibaba.fastjson.JSONObject;
import com.plugin.easyui.EasyPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Auther: shenhl
* @Date: 2019/4/24 16:46
*/
@Service
public class SecurityDeclarationService extends BasicService<SecurityDeclarationEntity> {
@Autowired
private SecurityDeclarationRepository securityDeclarationRepository;
/**
* 分页查询
*
* @param pageForm 分页对象
* @return 包含分页信息和数据的分页对象
*/
public Page<SecurityDeclarationEntity> getPage(EasyPage<SecurityDeclarationEntity> pageForm) {
PageRequest pageRequest = buildPageRequest(pageForm);
Specification<SecurityDeclarationEntity> spec = buildSpecification(pageForm);
Page<SecurityDeclarationEntity> page = securityDeclarationRepository.findAll(spec, pageRequest);
return page;
}
public int findWaybill(String waybill){
return securityDeclarationRepository.findWaybill(waybill);
}
public SecurityDeclarationEntity save(SecurityDeclarationEntity securityDeclarationEntity){
return securityDeclarationRepository.save(securityDeclarationEntity);
}
public SecurityDeclarationEntity findOne(Long id){
return securityDeclarationRepository.findOne(id);
}
public int update(SecurityDeclarationEntity sd, String waybill){
return securityDeclarationRepository.update(sd.getId(), waybill,
sd.getSd_cargo_agent_name(), sd.getSd_cargo_shipper_name(),
sd.getSd_iata_number(), sd.getSd_transport_certificate(),
sd.getSd_transportation_prove());
}
// 安检申报发送NDLR
public ManifestDeclareMsgXml sendNDLRXml(SDVo sdVo) {
// 同时生成2分报文 并且发送
ManifestDeclareMsgXml dms = new ManifestDeclareMsgXml();
ManifestDeclareMetaXml mdme = new ManifestDeclareMetaXml();
mdme.setSndr("NDLR");
mdme.setRcvr("");
mdme.setSeqn(sdVo.getSd_waybill());
mdme.setDdtm(Constant.dateTimeFormatnumber.format(new Date()));
mdme.setType("HYXX");
mdme.setStyp("AJXX");
dms.setMeta(mdme);
DeclarePreparemasterXmlBody body = generateXml(sdVo);
dms.setDeclarepreparemasterxmlbody(body);
System.out.println(dms.toString());
return dms;
}
// 安检申报公共报文
private DeclarePreparemasterXmlBody generateXml(SDVo sdVo) {
// 生成报文
DeclarePreparemasterXmlBody body = new DeclarePreparemasterXmlBody();
// 设置xml开头
XmlHead head = new XmlHead();
head.setMessageID("CN_MT2201_1P0_460470678920X_" + Constant.dateTimeFormatnumber.format(new Date()));
head.setFunctionCode("9");
head.setMessageType("MT2201MASTER");
head.setSenderID("460470678920X_DXPENT0000460002_" + Constant.dateTimeFormatnumber.format(new Date()));
head.setReceiverID("4604_" + Constant.dateTimeFormatnumber.format(new Date()));
head.setSendTime(Constant.dateTimeFormatnumber.format(new Date()));
head.setVersion("1.0");
body.setHead(head);
// 安检申报 共用预配舱单
ManifestDeclarationXml dec = new ManifestDeclarationXml();
// 承运人
ManifestCarrierXml carr = new ManifestCarrierXml();
carr.setId(sdVo.getCarrier());
dec.setCarrier(carr);
// 目的站
ManifestDesXml md = new ManifestDesXml();
md.setId(sdVo.getDestinationstation());
dec.setDes(md);
// 航班号-航班日期
ManifestBorderTransportMeansXml mt = new ManifestBorderTransportMeansXml();
mt.setJourneyid(sdVo.getFlightno() + "/" + Constant.dateFormat.format(sdVo.getFlightdate()));
dec.setBordertransportmeans(mt);
// 运单号
ManifestTransportContractDocumentXml mac = new ManifestTransportContractDocumentXml();
mac.setId(sdVo.getSd_waybill());
SecurityDeclarationXml sdXml = new SecurityDeclarationXml();
sdXml.setCargoAgentName(sdVo.getSd_cargo_agent_name());
sdXml.setCargoName(sdVo.getSd_cargo_name());
sdXml.setCargoType(sdVo.getSd_cargo_type().substring(0, sdVo.getSd_cargo_type().length()-1));
sdXml.setShipperName(sdVo.getSd_cargo_shipper_name());
sdXml.setIataNo(sdVo.getSd_iata_number());
sdXml.setPiece(sdVo.getTotalpiece());
sdXml.setWeight(sdVo.getTotalweight());
sdXml.setTransportCertificate(sdVo.getSd_transport_certificate());
sdXml.setTransportationProve(sdVo.getSd_transportation_prove());
dec.setSecurityDeclarationXml(sdXml);
body.setDeclaration(dec);
return body;
}
}
... ...
package com.agent.util;
import cn.jiguang.common.utils.StringUtils;
import org.krysalis.barcode4j.impl.code128.Code128Encoder;
import org.krysalis.barcode4j.impl.code39.Code39Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.krysalis.barcode4j.tools.UnitConv;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.*;
/**
* @Auther: shenhl
* @Date: 2019/4/30 10:11
*/
public class BarCodeUtil {
/**
* 生成文件
*
* @param msg
* @param path
* @return
*/
public static File generateFile(String msg, String path) {
File file = new File(path);
try {
generate(msg, new FileOutputStream(file));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
return file;
}
/**
* 生成字节
*
* @param msg
* @return
*/
public static byte[] generate(String msg) {
ByteArrayOutputStream ous = new ByteArrayOutputStream();
generate(msg, ous);
return ous.toByteArray();
}
/**
* 生成到流
*
* @param msg
* @param ous
*/
public static void generate(String msg, OutputStream ous) {
if (StringUtils.isEmpty(msg) || ous == null) {
return;
}
Code39Bean bean = new Code39Bean();
// 精细度
final int dpi = 150;
// module宽度
final double moduleWidth = UnitConv.in2mm(1.0f / dpi);
// 配置对象
bean.setModuleWidth(moduleWidth);
bean.setWideFactor(3);
bean.doQuietZone(false);
String format = "image/png";
try {
// 输出到流
BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi,
BufferedImage.TYPE_BYTE_BINARY, false, 0);
// 生成条形码
bean.generateBarcode(canvas, msg);
// 结束绘制
canvas.finish();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
// public static void main(String[] args) {
// String msg = "172-27295203";
// String path = "D:/shangyou/agent/barcode.png";
// File file = generateFile(msg, path);
// System.out.println(file);
// }
}
... ...
package com.agent.xml.manifestdeclare;
import com.agent.xml.secuity.SecurityDeclarationXml;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
... ... @@ -24,9 +26,21 @@ public class ManifestDeclarationXml {
@XmlElement(name = "BorderTransportMeans",required = false)
private ManifestBorderTransportMeansXml bordertransportmeans;
//安检申报
@XmlElement(name = "SD", required = false)
private SecurityDeclarationXml securityDeclarationXml;
@XmlElement(name = "Consignment",required = false)
private ManifestConsignmentXml consignment;
public SecurityDeclarationXml getSecurityDeclarationXml() {
return securityDeclarationXml;
}
public void setSecurityDeclarationXml(SecurityDeclarationXml securityDeclarationXml) {
this.securityDeclarationXml = securityDeclarationXml;
}
public ManifestCarrierXml getCarrier() {
return carrier;
}
... ...
... ... @@ -46,7 +46,7 @@ public class DynamicSpecifications {
if("java.lang.Integer".equals(c.getName()) || "int".equals(c.getName())) {
Integer v = Integer.parseInt(filter.value.toString());
predicates.add(builder.equal(expression, v));
}else if("java.lang.Long".equals(c.getName()) || "long".equals(c.getName())) {
}else if("java.lang.LongEntity4".equals(c.getName()) || "long".equals(c.getName())) {
Long v = Long.parseLong(filter.value.toString());
predicates.add(builder.equal(expression, v));
}else{
... ...
... ... @@ -77,6 +77,7 @@
/receipt/a0608c4054662dd902e1314f7e450e3eaa81c114 = anon
/login = anon
/loginApi= anon
/druid/** = anon
/unauthorized = anon
/resource/** = anon
... ... @@ -89,7 +90,7 @@
/**/cross/** = anon
/tracking/detail/** = anon
/img/bar_code/** = anon
/manifest/save = anon
/logout = logout
/** = anon
... ...
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="<%=basePath%>resource/css/base.css?version=${version}" rel="stylesheet">
<link href="<%=basePath%>resource/css/basic_info.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<%=basePath%>resource/easyui/uimaker/icon.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/easyui/uimaker/easyui.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/css/form.css?version=${version}">
<script type="text/javascript" src="<%=basePath%>resource/easyui/jquery.min.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/jquery.validate.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/validate-extends.js?version=${version}"></script>
<link rel="stylesheet" href="<%=basePath%>resource/layui/css/layui.css?version=${version}" media="all">
<script type="text/javascript" src="<%=basePath%>resource/layer-v3.0.3/layer/layer.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/layui/layui.js?version=${version}"></script>
<style type="text/css">
.required_span {
color: red;
margin-left: 10px;
font-size: 20px;
}
</style>
<!-- validate 验证中英文 -->
<script type="text/javascript"
src="<%=basePath %>resource/validate/jquery.validate-${pageContext.response.locale}.js"></script>
</head>
<body>
<div class="container">
<div class="content">
<form class="from-control" id="form">
<input type="hidden" id="id" name="id" value="${sd.id}">
<table class="kv-table" id="tableId">
<tbody>
<tr>
<td class="kv-label">主单号
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="waybill" minlength="12" name="waybill" value="${sd.sd_waybill}" disabled>
</td>
<td class="kv-label">航空货物性质
<span class="required_span">*</span>
</td>
<td class="kv-content">
<label>
<input id="one" name="one" type="checkbox" ${fn:contains(type, 1)?"checked":""} value="1" >普通货物
</label>
<label>
<input id="two" name="two" type="checkbox" ${fn:contains(type, 2)?"checked":""} value="2">特种货物
</label>
<label>
<input id="three" name="three" type="checkbox" ${fn:contains(type, 3)?"checked":""} value="3">危险品
</label>
<label>
<input id="four" name="four" type="checkbox" ${fn:contains(type, 4)?"checked":""} value="4">航空快件
</label>
</td>
</tr>
<tr>
<td class="kv-label">承运航空公司
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled value="${wbm.carrier}" disabled>
</td>
<td class="kv-label">航班号
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled value="${wbm.flightno}" disabled>
</td>
</tr>
<tr>
<td class="kv-label">航班日期
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled value="${wbm.flightdate}" disabled>
</td>
<td class="kv-label">航空货物托运人名称
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_shipper_name" name="sd_cargo_shipper_name" type="text" value="${sd.sd_cargo_shipper_name}">
</td>
</tr>
<tr>
<td class="kv-label">航空货运销售代理人名称
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_agent_name" name="sd_cargo_agent_name" type="text" value="${sd.sd_cargo_agent_name}">
</td>
<td class="kv-label">航协编号
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_iata_number" name="sd_iata_number" type="text" value="${sd.sd_iata_number}">
</td>
</tr>
<tr>
<td class="kv-label">货物品名
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_name" name="sd_cargo_name" type="text" value="${name}" placeholder="品名分别用逗号隔开">
</td>
<td class="kv-label">公斤
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled type="text" value="${wbm.totalweight}">
</td>
</tr>
<tr>
<td class="kv-label">件数
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled type="text" value="${wbm.totalpiece}">
</td>
<td class="kv-label">目的地
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input disabled type="text" value="${wbm.destinationstation}">
</td>
</tr>
<tr>
<td class="kv-label">运输条件鉴定书
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_transport_certificate" name="sd_transport_certificate" type="text" value="${sd.sd_transport_certificate}">
</td>
<td class="kv-label">航空公司同意运输证明
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_transportation_prove" name="sd_transportation_prove" type="text" value="${sd.sd_transportation_prove}" placeholder="运输证明分别用逗号隔开">
</td>
</tr>
<tr>
<%--<td colspan="2">--%>
<%--<div class="opt-buttons" style="padding-top: 20px;" id="divsubmit">--%>
<%--<button type="submit" class="easyui-linkbutton l-btn l-btn-small l-btn-selected "--%>
<%--data-options="selected:true">--%>
<%--<span class="l-btn-left"><span class="l-btn-text"><spring:message--%>
<%--code="opt.temsave" /></span></span>--%>
<%--</button>--%>
<%--</div>--%>
<%--</td>--%>
<td colspan="2" align="right">
<div class="opt-buttons" style="padding-top: 20px;text-align: right;" id="divsubmit">
<a onclick="savesend()" class="easyui-linkbutton l-btn l-btn-small l-btn-selected "
data-options="selected:true">
<span class="l-btn-left"><span class="l-btn-text"><spring:message
code="opt.saveandsend" /></span></span>
</a>
<%-- <a onclick="sendDelivery()" class="easyui-linkbutton l-btn l-btn-small l-btn-selected " data-options="selected:true">
<span class="l-btn-left"><span class="l-btn-text"><spring:message code="manifest.delivery"/></span></span>
</a> --%>
<%--<a onclick="windowprint()" href="javascript:void(0)">打印</a>--%>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div id="DialogShunt" class="easyui-dialog" title="报文" style="width: 800px; height: 800px;"
data-options="iconCls:'pag-list',modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,closed:true">
<div style="margin-left: 5px; margin-right: 5px; margin-top: 5px;">
<div class="data-tips-info">
<div class="data-tips-tip icon-tip"></div>
</div>
<div class="modal-body" style="padding-top: 3px; padding-left: 20px; padding-right: 3px;">
<textarea id="xmlContent" style="width: 100%; height: 400px;"></textarea>
</div>
<div style="text-align: center; padding-top: 30px;"></div>
</div>
</div>
<!-- 外部js -->
<script type="text/javascript" src="<%=basePath%>resource/My97DatePicker/WdatePicker.js?version=${version}"></script>
<script src="<%=basePath%>resource/easyui/jquery.easyui.min.js?version=${version}"></script>
<script src="<%=basePath%>/resource/js/tools.js?version=${version}"></script>
<!--弹出层引入的JS-->
<script type="text/javascript">
var layerIndex;
var layer;
layui.use('layer', function(){
layer = layui.layer;
});
var selectFals = false;
function submit(){
layerIndex = parent.layer.load(1, {
shade: [0.6,'#000000'] //0.1透明度
});
var chboxValue=[];
var checkBox = $("input[name=one],input[name=two],input[name=three],input[name=four]");
for (var i=0; i<checkBox.length; i++){
if (checkBox[i].checked){
selectFals = true;
}
}
if (selectFals == true){
var data = $("#form").serialize();
$.post("<%=basePath%>declaration/save",data,function (data) {
parent.layer.close(layerIndex);
if (data.status == 200) {
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
window.location.href = "<%=basePath%>declaration/list";
} else {
layer.open({content:""+data.msg});
}
});
}else {
alert("货主类型至少选择一项");
return false;
}
}
function viewXml(){
if($("#ids").val()==''){
layer.open({content:"<spring:message code='manifest.send.message.failed'/>"});
}else{
$("#mask").show();
showMask();
$("#mask").append("<spring:message code='manifest.send'/>");
$.post("<%=basePath%>manifest/xml",{id:$("#ids").val()},function(data){
// layer.open({content:data.data});
layer.open({content:"<spring:message code='manifest.send.message.successfully'/>"});
hideMask();
})
}
}
//发送报文并且保存
function savesend(){
var isValid = $("#form").valid();
if(isValid){
layerIndex = parent.layer.load(1, {
shade: [0.6,'#000000'] //0.1透明度
});
var chboxValue=[];
var checkBox = $("input[name=one],input[name=two],input[name=three],input[name=four]");
for (var i=0; i<checkBox.length; i++){
if (checkBox[i].checked){
selectFals = true;
}
}
var waybill = $("#waybill").val();
if (selectFals == true){
var data = $("#form").serialize();
$.post("<%=basePath%>declaration/update?waybill="+waybill,data,function (data) {
parent.layer.close(layerIndex);
if (data.status == 200) {
$("#xmlContent").val(data.data);
$("#DialogShunt").window('open');
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
window.location.href = "<%=basePath%>declaration/list";
} else {
layer.open({content:data.msg});
}
})
}else {
alert("货物性质至少选择一项");
return false;
}
}
}
//发送交运报文
function sendDelivery(){
var id3 = $("#waybillnomaster").val($("#waybill").val());
var data = $("#form").serialize();
$.post("<%=basePath%>manifest/sendDelivery",data,function (data) {
if (data.status == 200) {
// layer.confirm("<spring:message code="opt.savesuccess"/>", {btn: ['<spring:message code="opt.confirm"/>', '<spring:message code="opt.cancel"/>']}, function () {
<%-- window.location.href = "<%=basePath %>manifest/list" ; --%>
$("#xmlContent").val(data.data);
$("#DialogShunt").window('open');
window.location.href = "<%=basePath%>manifest/list";
// })
} else {
layer.open({content: data.msg});
}
})
}
// function windowprint() {
// var f = document.getElementById("tableId");
// f.style.display = "";
// window.print();
// f.style.display = "none";
// }
</script>
</body>
</html>
\ No newline at end of file
... ...
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="<%=basePath %>resource/css/base.css" rel="stylesheet">
<link rel="stylesheet" href="<%=basePath %>resource/easyui/uimaker/easyui.css">
<link rel="stylesheet" type="text/css" href="<%=basePath %>resource/easyui/uimaker/icon.css">
<link rel="stylesheet" href="<%=basePath %>resource/css/providers.css">
<link rel="stylesheet" href="<%=basePath%>resource/layui/css/layui.css" media="all">
<script type="text/javascript" src="<%=basePath%>resource/easyui/jquery.min.js"></script>
<script type="text/javascript" src="<%=basePath%>resource/layer-v3.0.3/layer/layer.js"></script>
<script type="text/javascript" src="<%=basePath%>resource/layui/layui.js"></script>
</head>
<body>
<div class="container">
<div data-options="closable:true">
<table id="dg" style="width:100%;" title="<spring:message code="manifest.list"/>"
data-options="
rownumbers:true,
singleSelect:false,
autoRowHeight:false,
pagination:true,
fitColumns:true,
striped:true,
collapsible:true,
toolbar:'#tb',
pageSize:10">
<thead>
<tr>
<th field="." formatter="editFormat"><spring:message code="opt.edit" /></th>
<th field="sd_waybill">运单号</th>
<%--货代信息--%>
<th field="sd_cargo_shipper_name">航空货运托运人名称</th>
<th field="sd_cargo_agent_name">航空货运销售代理人名称</th>
<th field="sd_iata_number">航协编号</th>
<th field="sd_transport_certificate">运输条件鉴定书</th>
<th field="sd_transportation_prove">航空公司同意运输证明</th>
<th field="sd_static"formatter="sdStatic" width="80">状态</th>
<th field=".." formatter="operatorFormat" width="60">操作</th>
</tr>
</thead>
</table>
<div id="tb" style="padding:0 30px;"><input type="hidden" id="idcc">
<form id="searchForm">
<table class="search_form_table">
<spring:message code="manifest.bill.number"/>:<input id="manifnum" type="text" name="search_LIKE_sd_waybill" style="width:166px;height:35px;line-height:35px;">
<a href="javascript:doSearch()" class="easyui-linkbutton" iconCls="icon-search" data-options="selected:true"><spring:message code="opt.search" /></a>
</table>
</form>
</div>
</div>
</div>
<script type="text/javascript" src="<%=basePath %>resource/easyui/jquery.min.js"></script>
<script type="text/javascript" src="<%=basePath %>resource/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="<%=basePath %>resource/easyui/easyui-lang-${pageContext.response.locale}.js"></script>
<script type="text/javascript" src="<%=basePath %>resource/easyui/datagrid-detailview.js"></script>
<script type="text/javascript" src="<%=basePath %>resource/js/tools.js?version=${version}"></script>
<!--弹出层引入的JS-->
<script type="text/javascript" src="<%=basePath %>resource/layer-v3.0.3/layer/layer.js"></script>
<script type="text/javascript">
function editFormat(val,row,index){
var html='<a href="javascript:void(0)" style="padding-left:10px;text-decoration:none;color:blue;padding-right:20px;" onclick="editRow('+row.id+')"><i class="iconfont">&#xe65a;</i></a>'
return html;
}
function sdStatic(value, row, index) {
var res = '';
res = '<span style="color:red;">'+value+'</span>';
return res;
}
function operatorFormat(val, row, index) {
var html = "<a href='javascript:void(0)' onclick='print("+row.id+")' style='text-decoration:none;color:blue;'>打印</a>";
return html;
}
$(function(){
function getPageNumber(){
var pageNumber = window.localStorage.getItem("pageNumber");
if(typeof(pageNumber) != "undefined")
{
try{
var pattern = /^\d+$/g; //判断是否是数字
//console.log(pageNumber.search(pattern));
if(pageNumber.search(pattern) >= 0)
{
var num = parseInt(pageNumber);
return num;
}
return 1;
}
catch(e){
return 1;
}
}
return 1;
}
//console.log(getPageNumber());
$('#dg').datagrid({
url:'<%=basePath %>declaration/grid.json',
//queryParams:$("#searchForm").serializeJson(),
pageNumber:getPageNumber(),
view: detailview,
detailFormatter:function(index,row){
return '<div id="ddv-' + index + '"style="padding:5px 0"></div>';
},
onExpandRow: function(index,row){
console.log("expand row index:"+index);
$('#ddv-'+index).datagrid({
url:'<%=basePath %>manifest/sub/grid.json?mawbId='+row.id,
fitColumns:true,
singleSelect:true,
loadMsg:'正在加载……',
height:'auto',
autoRowHeight:"true",
columns:[[
{field:'.',title:'<spring:message code="opt.name"/>',formatter:editHbillFormat},
{field:'waybillnosecondary',title:'<spring:message code="manifest.odd.number"/>'},
{field:'originatingstation',title:'<spring:message code="manifest.starting.point"/>'},
{field:'destinationstation',title:'<spring:message code="manifest.destination"/>'},
{field:'preparepiece',title:'<spring:message code="manifest.number.of.fittings"/>'},
{field:'prepareweight',title:'<spring:message code="manifest.pre.weight"/>'},
{field:'response_text',width:160,title:'<spring:message code="manifest.response_text"/>',
formatter:function(value, row, index){
var res = '';
if(value){
var start_yupei = value.indexOf("41301");
var start_yundi = value.indexOf("45201");
if(start_yupei>-1||start_yundi>-1){
// 成功
res = '<span style="color:green;">'+value+'</span>';
}else{
// 未通过或者未回执
var start_exception_1 = value.indexOf("分单");
var start_exception_2 = value.indexOf("主单");
if(start_exception_1>-1||start_exception_2>-1){
//没有回执
res = '<span style="color:black;">'+value+'</span>';
}else{
res = '<span style="color:red;">'+value+'</span>';
}
}
}
return res;
}
},
{field:'..', title:'<spring:message code="opt.operator" />', formatter:preoperatorFormat, width:40}
]],
onResize:function(){
$('#dg').datagrid('fixDetailRowHeight',index);
},
onLoadSuccess:function(){
$('#dg').datagrid('resize');
}
});
$('#dg').datagrid('fixDetailRowHeight',index);
}
});
});
function seeReceipt(waybill_no,sub_waybill_no,isMain){
layui.use('layer', function(){
var layer = layui.layer;
var api="<%=basePath%>receipt/seeReceipt";
var params = "waybill_no="+waybill_no;
if(!isMain){
params+="&sub_waybill_no="+sub_waybill_no;
}
var viewUrl = api+"?"+params;
parent.layer.open({
type: 2,
title: "<spring:message code='opt.open.receipt'/>",
shadeClose: true,
shade: 0.8,
area: ['80%', '60%'],
content: viewUrl
});
});
}
function editRow(id){
layer.open({
type : 2,
title : '修改',
maxmin : true,
shadeClose : false, // 点击遮罩关闭层
area : [ '80%', '65%' ],
content : '<%=basePath %>declaration/edit?id='+id
});
}
function doSearch(){
$('#dg').datagrid("options").queryParams=$("#searchForm").serializeJson();
$('#dg').datagrid("reload");
}
function getIds() {
var ids = [];
var rows = $("#dg").datagrid('getChecked');
$.each(rows,function(key,v){
ids.push(v.id);
});
return ids;
}
$("#manifnum").keyup(function(){
var leng = $("#manifnum").val().length;
if (leng == 3)
{
$("#manifnum").val( $("#manifnum").val()+"-")
}
})
function print(id) {
layer.open({
type : 2,
title : '打印',
maxmin : true,
shadeClose : false, // 点击遮罩关闭层
area : [ '80%', '65%' ],
content : '<%=basePath %>declaration/print?id='+id
});
}
</script>
</body>
</html>
... ...
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="<%=basePath%>resource/css/base.css?version=${version}" rel="stylesheet">
<link href="<%=basePath%>resource/css/basic_info.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<%=basePath%>resource/easyui/uimaker/icon.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/easyui/uimaker/easyui.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/css/form.css?version=${version}">
<script type="text/javascript" src="<%=basePath%>resource/easyui/jquery.min.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/jquery.validate.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/validate-extends.js?version=${version}"></script>
<link rel="stylesheet" href="<%=basePath%>resource/layui/css/layui.css?version=${version}" media="all">
<script type="text/javascript" src="<%=basePath%>resource/layer-v3.0.3/layer/layer.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/layui/layui.js?version=${version}"></script>
<style type="text/css">
.required_span {
color: red;
margin-left: 10px;
font-size: 20px;
}
</style>
<style media="print">
@page {
size: A4;
margin: 0;
}
</style>
<!-- validate 验证中英文 -->
<script type="text/javascript"
src="<%=basePath %>resource/validate/jquery.validate-${pageContext.response.locale}.js"></script>
</head>
<body>
<div style="width: 100%; height: 60px"></div>
<div id="printdiv" style="width: 90%; height: 100%; margin: 0 auto;">
<div>
<p style="line-height: 20pt;"><img src="<%=basePath%>resource/img/bar_code/${path}.png" width="250" height="60" alt="网络异常" style="-aw-left-pos:2.6pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:-52pt; -aw-wrap-type:none; margin-left:30.6pt; margin-top:-6pt; position:absolute; z-index:0" /></p>
<p style="line-height:100pt; margin:0pt 0pt -30pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:15pt; font-weight:bold">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
</p>
<p><button style="width: 100px; height: 35px" id="sa" onclick="print_page();" href="javascript:void(0);">确定打印</button></p>
<p style="line-height:25pt; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:12pt">航空货物性质:
普通货物<input id="one" type="checkbox" name="one" ${fn:contains(type, 1)?"checked":""} value="1">&nbsp;&nbsp;&nbsp;&nbsp;
特种货物<input id="two" type="checkbox" name="two" ${fn:contains(type, 2)?"checked":""} value="2">&nbsp;&nbsp;&nbsp;&nbsp;
危险品<input id="three" type="checkbox" name="three" ${fn:contains(type, 3)?"checked":""} value="3">&nbsp;&nbsp;&nbsp;&nbsp;
航空快件<input id="four" type="checkbox" name="four" ${fn:contains(type, 4)?"checked":""} value="4">
</span>
</p>
<p style="line-height:0pt; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:12pt">承运航空公司:</span>
<span style="font-family:宋体; font-size:12pt; display: inline-block; width: 120px; text-decoration: underline">${wbm.carrier}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">航班号:</span>
<span style="font-family:宋体; font-size:12pt; display: inline-block; width: 150px; text-decoration: underline">${wbm.flightno}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">日期:</span>
<span style="font-family:宋体; font-size:12pt; display: inline-block; width: 150px; text-decoration: underline">${date}&nbsp;&nbsp;&nbsp;</span>
</p>
<p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:12pt">航空货运单号:</span>
<span style="font-family:宋体; font-size:12pt; display: inline-block; width: 180px; text-decoration:underline">${sd.sd_waybill}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">航空货物托运人名称:</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:underline">${sd.sd_cargo_shipper_name}&nbsp;</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">&nbsp; </span>
</p>
<p style="line-height:5pt; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:12pt; text-decoration:none">航空货运销售代理人名称:</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:underline">${sd.sd_cargo_agent_name}&nbsp;</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">航协资质</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none">编号</span>
<span style="font-family:宋体; font-size:12pt; text-decoration:none"></span>
<span style="font-family:宋体; font-size:12pt; text-decoration:underline">${sd.sd_iata_number}&nbsp;&nbsp;&nbsp;</span>
</p>
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse; float:left; margin:0pt 9pt; width:520.25pt">
<tbody>
<tr style="height:29.75pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">货物品名</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">公斤</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">件数</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">目的地</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">运输条件<br>鉴定书</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">航空公司同意运输证明</span>
</p>
</td>
</tr>
<tr style="height:22.75pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name1">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">${wbm.totalweight}&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">${wbm.totalpiece}&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">${wbm.destinationstation}&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">${sd.sd_transport_certificate}&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove1">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:21.25pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name2">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove2">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22.75pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name3">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove3">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22.75pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name4">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove4">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name5">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove5">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name6">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove6">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name7">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove7">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:22pt">
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:83.95pt">
<p style="font-size:9pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:9pt; vertical-align:baseline" id="name8">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:46.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:43.25pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:49.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="3" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:78.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline" id="prove8">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:33.2pt">
<td colspan="15" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:429.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; font-weight:bold; text-decoration:none; vertical-align:baseline">航空货物托运人声明:航空货物申报内容真实准确,与实际货物相符,愿承担一切因该货物产生的后果和法律责任。</span>
</p>
</td>
</tr>
<tr style="height:50.05pt">
<td colspan="15" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:429.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; font-weight:bold; text-decoration:none; vertical-align:baseline">航空货运销售代理人声明:已按照《中华人民共和国反恐怖主义法》规定查验托运人身份,并对航空货物进行安全检查或者开封验视,申报内容与实际货物相符,并对客户身份、物品信息进行登记,愿承担一切因该货物产生的后果和法律责任。</span>
</p>
</td>
</tr>
<tr style="height:60.7pt">
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:65.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">航空货物托运</span>
</p>
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">人签章</span>
</p>
</td>
<td colspan="6" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:117.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="5" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:80.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; padding-left:10.5pt; text-align:center; text-indent:-10.5pt; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">航空货运销售代理人签章</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:132.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:18.45pt">
<td colspan="15" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.4pt; vertical-align:middle; width:429.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; font-weight:bold; text-decoration:none; vertical-align:baseline">以下由安检人员填写</span>
</p>
</td>
</tr>
<tr style="height:24pt">
<td colspan="2" rowspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:65.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">托运人或航空货运销售代理人信用情况</span>
</p>
</td>
<td colspan="4" rowspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:50.15pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:76.75pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">
安全检查<br>开始时间
</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:47.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="2" rowspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:61.2pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">安全检查</span>
</p>
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">&nbsp;&nbsp;</span>
</p>
</td>
<td rowspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; text-decoration:none; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:24pt">
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:76.75pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">安全检查<br>结束时间</span>
</p>
</td>
<td colspan="2" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:47.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:45.25pt">
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:28.45pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">安全<br>检查<br>通道</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:70.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:underline"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span></span>
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline"></span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:74.75pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">货邮快件安<br>检设备<br>操作员</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:79.9pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:47.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">开箱检查员</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:28.55pt">
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:89.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">安检勤务调度员</span>
</p>
</td>
<td colspan="6" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:113.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:119.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">单据审核员</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:26.45pt">
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:89.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">已检货物抽检员 </span>
</p>
</td>
<td colspan="6" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:113.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
<td colspan="4" style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:119.7pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:宋体; font-size:10.5pt; text-decoration:none; vertical-align:baseline">已检货物抽检情况</span>
</p>
</td>
<td style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:73.95pt">
<p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
<span style="font-family:Calibri; font-size:10.5pt; vertical-align:baseline">&nbsp;</span>
</p>
</td>
</tr>
<tr style="height:0pt">
<td style="width:39.25pt; border:none"></td>
<td style="width:37.5pt; border:none"></td>
<td style="width:18pt; border:none"></td>
<td style="width:6pt; border:none"></td>
<td style="width:20.25pt; border:none"></td>
<td style="width:16.7pt; border:none"></td>
<td style="width:14.8pt; border:none"></td>
<td style="width:53pt; border:none"></td>
<td style="width:1.05pt; border:none"></td>
<td style="width:18.7pt; border:none"></td>
<td style="width:41.25pt; border:none"></td>
<td style="width:17.25pt; border:none"></td>
<td style="width:13.5pt; border:none"></td>
<td style="width:58.5pt; border:none"></td>
<td style="width:84.75pt; border:none"></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 外部js -->
<script type="text/javascript" src="<%=basePath%>resource/My97DatePicker/WdatePicker.js?version=${version}"></script>
<script src="<%=basePath%>resource/easyui/jquery.easyui.min.js?version=${version}"></script>
<script src="<%=basePath%>/resource/js/tools.js?version=${version}"></script>
<!--弹出层引入的JS-->
<script type="text/javascript">
var layerIndex;
var layer;
layui.use('layer', function(){
layer = layui.layer;
});
var cargoName="${cargoName}";
var cargoNames =cargoName.split(",");
switch (cargoNames.length){
case 1:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 2:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 3:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 4:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 5:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 6:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 7:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
case 8:
for (var i=0; i<cargoNames.length; i++){
$("#name"+(i+1)).text(cargoNames[i]);
}
break;
}
var prove = "${prove}";
var proves = prove.split(",");
switch (proves.length){
case 1:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 2:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 3:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 4:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 5:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 6:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 7:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
case 8:
for (var i=0; i<proves.length; i++){
$("#prove"+(i+1)).text(proves[i]);
}
break;
}
function print_page(){
$("#sa").attr("style", "display:none;");
var f = document.getElementById("printdiv");
f.style.display = "";
window.print();
f.style.display = "none";
}
</script>
</body>
</html>
\ No newline at end of file
... ...
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="<%=basePath%>resource/css/base.css?version=${version}" rel="stylesheet">
<link href="<%=basePath%>resource/css/basic_info.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<%=basePath%>resource/easyui/uimaker/icon.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/easyui/uimaker/easyui.css?version=${version}">
<link rel="stylesheet" href="<%=basePath%>resource/css/form.css?version=${version}">
<script type="text/javascript" src="<%=basePath%>resource/easyui/jquery.min.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/jquery.validate.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/validate/validate-extends.js?version=${version}"></script>
<link rel="stylesheet" href="<%=basePath%>resource/layui/css/layui.css?version=${version}" media="all">
<script type="text/javascript" src="<%=basePath%>resource/layer-v3.0.3/layer/layer.js?version=${version}"></script>
<script type="text/javascript" src="<%=basePath%>resource/layui/layui.js?version=${version}"></script>
<style type="text/css">
.required_span {
color: red;
margin-left: 10px;
font-size: 20px;
}
</style>
<!-- validate 验证中英文 -->
<script type="text/javascript"
src="<%=basePath %>resource/validate/jquery.validate-${pageContext.response.locale}.js"></script>
</head>
<body>
<div class="container">
<div class="content">
<form class="from-control" id="form">
<table class="kv-table">
<tbody>
</br>
</br>
</br>
<tr>
<td class="kv-label">主单号
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="waybill" minlength="12" name="waybill" value="${waybill}" disabled>
</td>
<td class="kv-label">航空货物性质
<span class="required_span">*</span>
</td>
<td class="kv-content">
<label>
<input id="one" name="one" type="checkbox" value="1" checked>普通货物
</label>
<label>
<input id="two" name="two" type="checkbox" value="2">特种货物
</label>
<label>
<input id="three" name="three" type="checkbox" value="3">危险品
</label>
<label>
<input id="four" name="four" type="checkbox" value="4">航空快件
</label>
</td>
</tr>
<tr>
<td class="kv-label">航空货物托运人名称
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_shipper_name" name="sd_cargo_shipper_name" type="text">
</td>
<td class="kv-label">航空货运销售代理人名称
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_agent_name" name="sd_cargo_agent_name" type="text">
</td>
</tr>
<tr>
<td class="kv-label">航协编号
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_iata_number" name="sd_iata_number" type="text">
</td>
<td class="kv-label">货物品名
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_cargo_name" name="sd_cargo_name" type="text" placeholder="品名分别用逗号隔开">
</td>
</tr>
<tr>
<td class="kv-label">运输条件鉴定书
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_transport_certificate" name="sd_transport_certificate" type="text">
</td>
<td class="kv-label">航空公司同意运输证明
<span class="required_span">*</span>
</td>
<td class="kv-content">
<input required id="sd_transportation_prove" name="sd_transportation_prove" type="text" placeholder="运输证明分别用逗号隔开">
</td>
</tr>
<tr>
<%--<td colspan="2">--%>
<%--<div class="opt-buttons" style="padding-top: 20px;" id="divsubmit">--%>
<%--<button type="submit" class="easyui-linkbutton l-btn l-btn-small l-btn-selected "--%>
<%--data-options="selected:true">--%>
<%--<span class="l-btn-left"><span class="l-btn-text"><spring:message--%>
<%--code="opt.temsave" /></span></span>--%>
<%--</button>--%>
<%--</div>--%>
<%--</td>--%>
<td colspan="2" align="right">
<div class="opt-buttons" style="padding-top: 20px;text-align: right;" id="divsubmit">
<a onclick="savesend()" class="easyui-linkbutton l-btn l-btn-small l-btn-selected "
data-options="selected:true">
<span class="l-btn-left"><span class="l-btn-text"><spring:message
code="opt.saveandsend" /></span></span>
</a>
<%-- <a onclick="sendDelivery()" class="easyui-linkbutton l-btn l-btn-small l-btn-selected " data-options="selected:true">
<span class="l-btn-left"><span class="l-btn-text"><spring:message code="manifest.delivery"/></span></span>
</a> --%>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div id="DialogShunt" class="easyui-dialog" title="报文" style="width: 800px; height: 800px;"
data-options="iconCls:'pag-list',modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,closed:true">
<div style="margin-left: 5px; margin-right: 5px; margin-top: 5px;">
<div class="data-tips-info">
<div class="data-tips-tip icon-tip"></div>
</div>
<div class="modal-body" style="padding-top: 3px; padding-left: 20px; padding-right: 3px;">
<textarea id="xmlContent" style="width: 100%; height: 400px;"></textarea>
</div>
<div style="text-align: center; padding-top: 30px;"></div>
</div>
</div>
<!-- 外部js -->
<script type="text/javascript" src="<%=basePath%>resource/My97DatePicker/WdatePicker.js?version=${version}"></script>
<script src="<%=basePath%>resource/easyui/jquery.easyui.min.js?version=${version}"></script>
<script src="<%=basePath%>/resource/js/tools.js?version=${version}"></script>
<!--弹出层引入的JS-->
<script type="text/javascript">
var layerIndex;
var layer;
layui.use('layer', function(){
layer = layui.layer;
});
var selectFals = false;
function submit(){
layerIndex = parent.layer.load(1, {
shade: [0.6,'#000000'] //0.1透明度
});
var chboxValue=[];
var checkBox = $("input[name=one],input[name=two],input[name=three],input[name=four]");
for (var i=0; i<checkBox.length; i++){
if (checkBox[i].checked){
selectFals = true;
}
}
if (selectFals == true){
var data = $("#form").serialize();
$.post("<%=basePath%>declaration/save",data,function (data) {
parent.layer.close(layerIndex);
if (data.status == 200) {
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
window.location.href = "<%=basePath%>declaration/list";
} else {
layer.open({content:""+data.msg});
}
});
}else {
alert("货主类型至少选择一项");
return false;
}
}
function viewXml(){
if($("#ids").val()==''){
layer.open({content:"<spring:message code='manifest.send.message.failed'/>"});
}else{
$("#mask").show();
showMask();
$("#mask").append("<spring:message code='manifest.send'/>");
$.post("<%=basePath%>manifest/xml",{id:$("#ids").val()},function(data){
// layer.open({content:data.data});
layer.open({content:"<spring:message code='manifest.send.message.successfully'/>"});
hideMask();
})
}
}
//发送报文并且保存
function savesend(){
var isValid = $("#form").valid();
if(isValid){
layerIndex = parent.layer.load(1, {
shade: [0.6,'#000000'] //0.1透明度
});
var chboxValue=[];
var checkBox = $("input[name=one],input[name=two],input[name=three],input[name=four]");
for (var i=0; i<checkBox.length; i++){
if (checkBox[i].checked){
selectFals = true;
}
}
var waybill = $("#waybill").val();
// alert(waybill);
if (selectFals == true){
var data = $("#form").serialize();
$.post("<%=basePath%>declaration/save?waybill="+waybill,data,function (data) {
parent.layer.close(layerIndex);
if (data.status == 200) {
alert("保存成功");
var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
parent.layer.close(index);
window.location.href = "<%=basePath%>declaration/list";
} else if (data.status == 203){
alert("安检申报不可以重复添加");
}else {
layer.open({content:data.msg});
}
})
}else {
alert("货物性质至少选择一项");
return false;
}
}
}
//发送交运报文
function sendDelivery(){
var id3 = $("#waybillnomaster").val($("#waybill").val());
var data = $("#form").serialize();
$.post("<%=basePath%>manifest/sendDelivery",data,function (data) {
if (data.status == 200) {
// layer.confirm("<spring:message code="opt.savesuccess"/>", {btn: ['<spring:message code="opt.confirm"/>', '<spring:message code="opt.cancel"/>']}, function () {
<%-- window.location.href = "<%=basePath %>manifest/list" ; --%>
$("#xmlContent").val(data.data);
$("#DialogShunt").window('open');
window.location.href = "<%=basePath%>manifest/list";
// })
} else {
layer.open({content: data.msg});
}
})
}
</script>
</body>
</html>
\ No newline at end of file
... ...
... ... @@ -133,10 +133,17 @@ String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.
</li>
<li class="active">
<a href="javascript:void(0)" onclick="addTab('<spring:message code="menu.premanifest" />||manifest/list',this)">
<span class="iconfont sider-nav-icon">&#xe6c3;</span>
<span class="sider-nav-title"><spring:message code="menu.premanifest" /></span>
</a>
<a href="javascript:void(0);">
<span class="iconfont sider-nav-icon">&#xe6b7;</span>
<span class="sider-nav-title"><spring:message code="menu.premanifest" /></span>
<i class="iconfont">&#xe642;</i>
</a>
<ul class="sider-nav-s">
<li><a href="javascript:void(0);" onclick="addTab('<spring:message code="menu.premanifest" />||manifest/list',this)"><spring:message code="menu.premanifest" /></a></li>
<li><a href="javascript:void(0);" onclick="addTab('安检申报||declaration/list?type=national',this)">安检申报</a></li>
<%--<li><a href="javascript:void(0);" onclick="addTab('<spring:message code="bill.check" />||bill/CheckThrough?type=national',this)"><spring:message code="bill.check" /></a></li>--%>
</ul>
</li>
<li>
<a href="javascript:void(0)" onclick="addTab('<spring:message code="menu.consignee_info_set" />||consignee/list',this)">
... ...
... ... @@ -48,8 +48,8 @@
<th field="destinationstation"><spring:message code="manifest.destination"/></th>
<th field="preparetotalpiece"><spring:message code="manifest.number.of.fittings"/></th>
<th field="preparetotalweight"><spring:message code="manifest.pre.weight"/></th>
<th field="response_text" formatter="checkResponseText" width="200"><spring:message code="manifest.response_text" /></th>
<th field=".." formatter="operatorFormat"><spring:message code="opt.operator" /></th>
<th field="response_text" formatter="checkResponseText" width="80"><spring:message code="manifest.response_text" /></th>
<th field=".." formatter="operatorFormat" width="60"><spring:message code="opt.operator" /></th>
</tr>
</thead>
</table>
... ... @@ -61,7 +61,7 @@
<a href="javascript:doSearch()" class="easyui-linkbutton" iconCls="icon-search" data-options="selected:true"><spring:message code="opt.search" /></a>
<a href="javascript:editRow()" class="easyui-linkbutton" style="background:#18A197;color:#FFF;border: 1px solid #18A197;" iconCls="icon-add"><spring:message code="opt.add" /></a>
<%--<a href="javascript:doDelete()" class="easyui-linkbutton" style="background:red;color:#FFF;border: 1px solid red" iconCls="icon-no"><spring:message code="opt.delete" /></a> --%>
<a href="javascript:excelUpload()" class="easyui-linkbutton" style="background:#0EA14E;color:#FFF;border: 1px solid #18A197;"><spring:message code="manifest.excel"/></a>
<%--<a href="javascript:excelUpload()" class="easyui-linkbutton" style="background:#0EA14E;color:#FFF;border: 1px solid #18A197;"><spring:message code="manifest.excel"/></a>--%>
</table>
</form>
</div>
... ... @@ -236,6 +236,7 @@
function operatorFormat(val, row, index){
var html = "<a href='javascript:void(0)' onclick='backout("+row.id+")' style='text-decoration:none;color:blue;'><spring:message code='opt.backout'/></a>";
html+="<a href='javascript:void(0)' onclick='openReceipt(\""+row.waybillnomaster+"\")' style='text-decoration:none;color:blue;margin-left:20px;'><spring:message code='opt.open.receipt'/></a>";
html+="<a href='javascript:void(0)' onclick='security(\""+row.waybillnomaster+"\")' style='text-decoration:none;color:blue;margin-left:20px;'>添加安检申报</a>"
return html;
}
function backout(id){
... ... @@ -413,9 +414,22 @@
maxmin : true,
shadeClose : false, // 点击遮罩关闭层
area : [ '450px', '300px' ],
content : '/manifest/excelView/'
content : '<%=basePath %>manifest/excelView'
});
}
//添加安检申报
function security(waybill){
layer.open({
type : 2,
title : '添加安检申报',
maxmin : true,
shadeClose : false, // 点击遮罩关闭层
area : [ '80%', '65%' ],
content : '<%=basePath %>declaration/securityView?waybill='+waybill
});
}
</script>
</body>
</html>
... ...