diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillOrigDataController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillOrigDataController.java
new file mode 100644
index 000000000..612c7df7e
--- /dev/null
+++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillOrigDataController.java
@@ -0,0 +1,134 @@
+
+/**
+ * @Project: emis
+ * @Title: EmisWaybillOrigDataController.java
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description:
电子底单信息 控制器
+ */
+
+package com.xdadan.erp.web.emis;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xdadan.erp.common.annotation.Log;
+import com.xdadan.erp.common.core.controller.BaseController;
+import com.xdadan.erp.common.core.domain.AjaxResult;
+import com.xdadan.erp.common.core.page.TableDataInfo;
+import com.xdadan.erp.common.enums.BusinessType;
+import com.xdadan.erp.common.utils.StringUtils;
+import com.xdadan.erp.common.utils.poi.ExcelUtil;
+
+import com.xdadan.erp.emis.domain.EmisWaybillOrigData;
+import com.xdadan.erp.emis.service.IEmisWaybillOrigDataService;
+
+/**
+ * 电子底单信息Controller
+ *
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ */
+@RestController
+@RequestMapping("/emis/emisWaybillOrigData")
+public class EmisWaybillOrigDataController extends BaseController
+{
+ @Autowired
+ private IEmisWaybillOrigDataService emisWaybillOrigDataService;
+
+ /**
+ * 查询电子底单信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ startPage();
+ List list = emisWaybillOrigDataService.selectEmisWaybillOrigDataList(emisWaybillOrigData);
+ return getDataTable(list);
+ }
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisWaybillOrigData
+ * @return 数量
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:list')")
+ @GetMapping("/checkUnique")
+ public AjaxResult checkUnique(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ int cnt=emisWaybillOrigDataService.checkUnique(emisWaybillOrigData);
+ return AjaxResult.success("检查成功",cnt);
+ }
+
+
+ /**
+ * 导出电子底单信息列表
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:export')")
+ @Log(title = "电子底单信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, EmisWaybillOrigData emisWaybillOrigData)
+ {
+ List list = emisWaybillOrigDataService.selectEmisWaybillOrigDataList(emisWaybillOrigData);
+ ExcelUtil util = new ExcelUtil(EmisWaybillOrigData.class);
+ util.exportExcel(response, list, "电子底单信息数据");
+ }
+
+ /**
+ * 获取电子底单信息详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return AjaxResult.success(emisWaybillOrigDataService.selectEmisWaybillOrigDataById(id));
+ }
+
+ /**
+ * 新增电子底单信息
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:add')")
+ @Log(title = "电子底单信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return toAjax(emisWaybillOrigDataService.insertEmisWaybillOrigData(emisWaybillOrigData));
+ }
+
+ /**
+ * 修改电子底单信息
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:edit')")
+ @Log(title = "电子底单信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return toAjax(emisWaybillOrigDataService.updateEmisWaybillOrigData(emisWaybillOrigData));
+ }
+
+ /**
+ * 删除电子底单信息
+ */
+ @PreAuthorize("@ss.hasPermi('emis:emisWaybillOrigData:remove')")
+ @Log(title = "电子底单信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(emisWaybillOrigDataService.deleteEmisWaybillOrigDataByIds(ids));
+ }
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOrigData.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOrigData.java
new file mode 100644
index 000000000..8a30c698d
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillOrigData.java
@@ -0,0 +1,43 @@
+/**
+ * @Project: emis
+ * @Title: EmisWaybillOrigData.java
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: 电子底单信息 实体类
+ */
+
+package com.xdadan.erp.emis.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.xdadan.erp.common.annotation.Excel;
+import com.xdadan.erp.common.core.domain.BaseEntity;
+import com.xdadan.erp.common.core.domain.TreeEntity;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * @ClassName EmisWaybillOrigData
+ * @Description 电子底单信息
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ */
+ @Data
+public class EmisWaybillOrigData extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /* id */
+ private Long id;
+ /* 运单号 */
+ private String billCode;
+ /* json_data */
+ private String jsonData;
+
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
index bb02a9950..0375f3188 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java
@@ -18,6 +18,8 @@ import java.util.List;
public class WaybillOrder implements Serializable {
private static final long serialVersionUID = 1L;
+ private Long id;
+
// 收件人
private Reciever reciever;
@@ -422,6 +424,9 @@ public class WaybillOrder implements Serializable {
reciever.setAddress(dbWaybill.getReceiveAddress());
reciever.setPostCode(dbWaybill.getReceivePostcode());
reciever.setCompany(dbWaybill.getReceiveCompany());
+
+ voItem.setId(dbWaybill.getId());
+
voItem.setReciever(reciever);
// 发件人
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillOrigDataMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillOrigDataMapper.java
new file mode 100644
index 000000000..b9b00f8f5
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillOrigDataMapper.java
@@ -0,0 +1,80 @@
+/**
+ * @Project: emis
+ * @Title: EmisWaybillOrigDataMapper.java
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ * @Copyright: ShangHai Doitinfo 2022 All rights reserved.
+ * @version v1.0
+ * @Description: 电子底单信息 Mapper 接口
+ * Warning : This file is generate by ai tools,don't edit!!!
+ */
+package com.xdadan.erp.emis.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xdadan.erp.emis.domain.EmisWaybillOrigData;
+/**
+ * @ClassName EmisWaybillOrigDataMapper
+ * @Description 电子底单信息 Mapper 接口
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ */
+public interface EmisWaybillOrigDataMapper extends BaseMapper
+{
+ /**
+ * 主键查询
+ * @param id
+ * @return
+ */
+ public EmisWaybillOrigData selectEmisWaybillOrigDataById(Long id);
+
+ /**
+ * 查询列表
+ *
+ * @param emisWaybillOrigData
+ * @return 集合
+ */
+ public List selectEmisWaybillOrigDataList(EmisWaybillOrigData emisWaybillOrigData);
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisWaybillOrigData
+ * @return 数量
+ */
+ public int checkUnique(EmisWaybillOrigData emisWaybillOrigData);
+
+
+ /**
+ * 新增
+ *
+ * @param emisWaybillOrigData
+ * @return
+ */
+ public int insertEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData);
+
+ /**
+ * 修改
+ *
+ * @param emisWaybillOrigData
+ * @return
+ */
+ public int updateEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData);
+
+ /**
+ * 删除
+ *
+ * @param id 主键
+ * @return 结果
+ */
+ public int deleteEmisWaybillOrigDataById(Long id);
+
+ /**
+ * 批量删除
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteEmisWaybillOrigDataByIds(Long[] ids);
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsScanRecordService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsScanRecordService.java
index 73d3e69dd..f6f5a2748 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsScanRecordService.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisTmsScanRecordService.java
@@ -80,7 +80,7 @@ public interface IEmisTmsScanRecordService
* 运单扫描操作
* @param scanInfo
*/
- public ScanResult scan(ScanInfo scanInfo) ;
+ public ScanResult scan(ScanInfo scanInfo,String scanManCode,String scanSiteCode);
/**
* 根据运单号获取扫描记录
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillOrigDataService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillOrigDataService.java
new file mode 100644
index 000000000..c2484b8d3
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillOrigDataService.java
@@ -0,0 +1,78 @@
+ /**
+ * @Project: emis
+ * @Title: EmisWaybillOrigDataService.java
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: 电子底单信息 服务类接口
+ */
+package com.xdadan.erp.emis.service;
+
+import java.util.List;
+import com.xdadan.erp.emis.domain.EmisWaybillOrigData;
+
+/**
+ * @ClassName EmisWaybillOrigDataService
+ * @Description 电子底单信息
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ */
+public interface IEmisWaybillOrigDataService
+{
+ /**
+ * 主键查询
+ * @param id
+ * @return
+ */
+ public EmisWaybillOrigData selectEmisWaybillOrigDataById(Long id);
+
+ /**
+ * 查询电子底单信息列表
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 电子底单信息集合
+ */
+ public List selectEmisWaybillOrigDataList(EmisWaybillOrigData emisWaybillOrigData);
+
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisWaybillOrigData
+ * @return 数量
+ */
+ public int checkUnique(EmisWaybillOrigData emisWaybillOrigData);
+
+ /**
+ * 新增电子底单信息
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 结果
+ */
+ public int insertEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData);
+
+ /**
+ * 修改电子底单信息
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 结果
+ */
+ public int updateEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData);
+
+ /**
+ * 批量删除电子底单信息
+ *
+ * @param ids 需要删除的电子底单信息主键集合
+ * @return 结果
+ */
+ public int deleteEmisWaybillOrigDataByIds(Long[] ids);
+
+ /**
+ * 删除电子底单信息信息
+ *
+ * @param id 电子底单信息主键
+ * @return 结果
+ */
+ public int deleteEmisWaybillOrigDataById(Long id);
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java
index 20cbe3ee4..4b359a96e 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillService.java
@@ -205,4 +205,6 @@ public interface IEmisWaybillService
public void genWarehouseInTplFile(HttpServletResponse response, String orderSn) throws EmisBizError ;
+ public void genWaybillOrigAttach(String billCode);
+
}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
index e748882a8..a3856edaa 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsScanRecordServiceImpl.java
@@ -38,6 +38,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import com.xdadan.erp.emis.service.IEmisTmsScanRecordService;
import org.springframework.transaction.annotation.Transactional;
@@ -166,7 +167,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
}
- public List doScanCheck(String scanType,Map scanDataItem) {
+ public List doScanCheck(String scanType,Map scanDataItem,String scanManCode,String scanSiteCode) {
List itemList = new ArrayList<>();
@@ -398,7 +399,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
* @param scanDataItem
* @return
*/
- public List doScan(String scanType,Map scanDataItem) {
+ public List doScan(String scanType,Map scanDataItem,String scanManCode,String scanSiteCode) {
List itemList = new ArrayList<>();
@@ -2371,10 +2372,8 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
}
-
-
@Override
- public ScanResult scan(ScanInfo scanInfo){
+ public ScanResult scan(ScanInfo scanInfo,String scanManCode,String scanSiteCode){
ScanResult scanResult = new ScanResult();
scanResult.setScanType(scanInfo.getScanType());
@@ -2382,13 +2381,13 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
List resultList = new ArrayList<>();
if(scanInfo.getOpType()==2){
for (Map item: scanInfo.getScanData()) {
- List itemCheckList=doScan(scanInfo.getScanType(),item);
+ List itemCheckList=doScan(scanInfo.getScanType(),item,scanManCode,scanSiteCode);
resultList.addAll(itemCheckList);
}
}
else{
for (Map item: scanInfo.getScanData()) {
- List itemCheckList=doScanCheck(scanInfo.getScanType(),item);
+ List itemCheckList=doScanCheck(scanInfo.getScanType(),item,scanManCode,scanSiteCode);
resultList.addAll(itemCheckList);
}
}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillOrigDataServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillOrigDataServiceImpl.java
new file mode 100644
index 000000000..f595fbe74
--- /dev/null
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillOrigDataServiceImpl.java
@@ -0,0 +1,117 @@
+ /**
+ * @Project: emis
+ * @Title: EmisWaybillOrigDataServiceImpl.java
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ * @Copyright: ShangHai Duta 2022 All rights reserved.
+ * @version v1.0
+ * @Description: 电子底单信息 实体类
+ */
+
+package com.xdadan.erp.emis.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.xdadan.erp.emis.domain.EmisWaybillOrigData;
+import com.xdadan.erp.emis.mapper.EmisWaybillOrigDataMapper;
+import com.xdadan.erp.emis.service.IEmisWaybillOrigDataService;
+
+/**
+ * 电子底单信息Service业务层处理
+ *
+ * @author linfso
+ * @date 2024-08-24 01:18:09
+ */
+@Service
+public class EmisWaybillOrigDataServiceImpl implements IEmisWaybillOrigDataService
+{
+ @Autowired
+ private EmisWaybillOrigDataMapper emisWaybillOrigDataMapper;
+
+ /**
+ * 查询电子底单信息
+ *
+ * @param id 电子底单信息主键
+ * @return 电子底单信息
+ */
+ @Override
+ public EmisWaybillOrigData selectEmisWaybillOrigDataById(Long id)
+ {
+ return emisWaybillOrigDataMapper.selectEmisWaybillOrigDataById(id);
+ }
+
+
+ /**
+ * 查询电子底单信息列表
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 电子底单信息
+ */
+ @Override
+ public List selectEmisWaybillOrigDataList(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return emisWaybillOrigDataMapper.selectEmisWaybillOrigDataList(emisWaybillOrigData);
+ }
+
+ /**
+ * 检查是否重复
+ *
+ * @param emisWaybillOrigData
+ * @return 数量
+ */
+ @Override
+ public int checkUnique(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return emisWaybillOrigDataMapper.checkUnique(emisWaybillOrigData);
+ }
+
+ /**
+ * 新增电子底单信息
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 结果
+ */
+ @Override
+ public int insertEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return emisWaybillOrigDataMapper.insertEmisWaybillOrigData(emisWaybillOrigData);
+ }
+
+ /**
+ * 修改电子底单信息
+ *
+ * @param emisWaybillOrigData 电子底单信息
+ * @return 结果
+ */
+ @Override
+ public int updateEmisWaybillOrigData(EmisWaybillOrigData emisWaybillOrigData)
+ {
+ return emisWaybillOrigDataMapper.updateEmisWaybillOrigData(emisWaybillOrigData);
+ }
+
+ /**
+ * 批量删除电子底单信息
+ *
+ * @param ids 需要删除的电子底单信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEmisWaybillOrigDataByIds(Long[] ids)
+ {
+ return emisWaybillOrigDataMapper.deleteEmisWaybillOrigDataByIds(ids);
+ }
+
+ /**
+ * 删除电子底单信息信息
+ *
+ * @param id 电子底单信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteEmisWaybillOrigDataById(Long id)
+ {
+ return emisWaybillOrigDataMapper.deleteEmisWaybillOrigDataById(id);
+ }
+
+}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
index 9cf84c1a3..3dd2a6015 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java
@@ -19,12 +19,15 @@ package com.xdadan.erp.emis.service.impl;
import com.deepoove.poi.data.Pictures;
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
import com.googlecode.aviator.AviatorEvaluator;
+ import com.xdadan.erp.common.config.PayConfig;
import com.xdadan.erp.common.core.domain.entity.SysUser;
import com.xdadan.erp.common.core.redis.RedissonService;
import com.xdadan.erp.common.utils.BarcodeUtils;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.DictUtils;
import com.xdadan.erp.common.utils.SecurityUtils;
+ import com.xdadan.erp.common.utils.file.FileUploadUtils;
+ import com.xdadan.erp.common.utils.idgen.UUID;
import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.enumtype.*;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
@@ -35,24 +38,26 @@ package com.xdadan.erp.emis.service.impl;
import com.xdadan.erp.emis.service.IEmisElectronicSitePagService;
import com.xdadan.erp.emis.service.IEmisTmsScanRecordService;
import com.xdadan.erp.emis.service.IEmisWaybillService;
+ import com.xdadan.erp.emis.service.print.IXddTplPrint;
+ import com.xdadan.erp.emis.service.print.tanex.TanexPdfPrinter;
import com.xdadan.erp.emis.service.warehouse.DocUtils;
import com.xdadan.erp.emis.utils.WaybillHelper;
import com.xdadan.erp.emis.utils.sensitive.Convert;
+ import com.xdadan.erp.system.domain.SysFileInfo;
+ import com.xdadan.erp.system.service.ISysFileInfoService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
+ import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
+ import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.text.DecimalFormat;
@@ -99,6 +104,12 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
@Autowired
private EmisExchangeRateMapper emisExchangeRateMapper;
+ @Autowired
+ private EmisWaybillOrigDataMapper emisWaybillOrigDataMapper;
+
+ @Autowired
+ private ISysFileInfoService sysFileInfoService;
+
/**
* 直接数据查询运单列表 by billCode
@@ -259,7 +270,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
goodsImgBmk=StringUtils.removeEnd(goodsImgBmk, ",");
gotImgBmk=StringUtils.removeEnd(gotImgBmk, ",");
-
// private String billPicSendRmk;
// /* 签收底单图片 */
// private String billPicDispatchRmk;
@@ -1154,7 +1164,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
scanInfo.setScanData(scanDataList);
try {
- emisTmsScanRecordService.scan(scanInfo);
+ emisTmsScanRecordService.scan(scanInfo,dispatchOrSendManCode,emisWaybillSave.getSendSiteCode());
} catch (Exception e) {
e.printStackTrace();
}
@@ -2421,10 +2431,18 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
scanInfo.setScanData(scanDataList);
try {
- emisTmsScanRecordService.scan(scanInfo);
+ emisTmsScanRecordService.scan(scanInfo,dispatchOrSendManCode,emisWaybillSave.getSendSiteCode());
} catch (Exception e) {
e.printStackTrace();
}
+
+ // 生成寄件底单联
+ try {
+ this.genWaybillOrigAttach(emisWaybillSave.getBillCode());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
@@ -2568,7 +2586,8 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
scanInfo.setScanData(scanDataList);
try {
- emisTmsScanRecordService.scan(scanInfo);
+ emisTmsScanRecordService.scan(scanInfo,dispatchOrSendManCode,emisWaybillSave.getSendSiteCode());
+
} catch (Exception e) {
e.printStackTrace();
}
@@ -2595,8 +2614,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
// 记录修改的数据
-
-
// 绑定专属业务员
String bindEmpCode=emisWaybillSave.getTakePieceEmployeeCode();
if(StringUtils.isEmpty(bindEmpCode)){
@@ -2662,7 +2679,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
// 运单修改需要重新出账
try {
// 判断是否需要重新出账
-
redoGenerateBill(emisWaybillSave.getBillCode());
}catch (Exception ex){
ex.printStackTrace();
@@ -2670,6 +2686,58 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
}
+ /**
+ * 生成电子底单信息并上传
+ * @param billCode
+ */
+ @Override
+ public void genWaybillOrigAttach(String billCode){
+ try {
+ WaybillOrder wOrder=getWaybillOrderByBillCode(billCode);
+
+ // 记录原始数据
+ EmisWaybillOrigData origData = new EmisWaybillOrigData();
+ origData.setBillCode(billCode);
+ origData.setJsonData(JSON.toJSONString(wOrder));
+
+ emisWaybillOrigDataMapper.insertEmisWaybillOrigData(origData);
+
+ // 生成寄件图片
+ String tplCode="TAN-CM-130";
+ Map order = getWaybillPrintOrder(billCode, "1,1",tplCode, "zh", tplCode,"1");
+ if(order!=null) {
+ // 保存寄件底单图片
+ emisWaybillAttachmentMapper.deleteByBillCodeAndAttachType(billCode,WaybillAttachType.GOT_PIC.typeCode);
+
+ EmisWaybillAttachment goodsPicAttachment = new EmisWaybillAttachment();
+ goodsPicAttachment.setWaybillId(wOrder.getId());
+ goodsPicAttachment.setAttachType(WaybillAttachType.GOT_PIC.typeCode);
+ goodsPicAttachment.setBillCode(billCode);
+
+ IXddTplPrint tplPrint = new TanexPdfPrinter();
+
+ String fileId = UUID.fastUUID().toString();
+ String fileSavePath = PayConfig.getUploadPath();
+ File fileFullPath = FileUploadUtils.getAbsoluteFile(fileSavePath,fileId+".png");
+
+ FileOutputStream os = new FileOutputStream(fileFullPath);
+ tplPrint.genPNG(order,tplCode,"", os);
+
+ SysFileInfo sysFileInfo=sysFileInfoService.ossUploadFile(fileFullPath);
+ String fileUrl = sysFileInfo.getFileRemoteUrl();
+ goodsPicAttachment.setFileUrl(fileUrl);
+ emisWaybillAttachmentMapper.insertEmisWaybillAttachment(goodsPicAttachment);
+ }else{
+ log.debug("生成寄件图片信息失败");
+ }
+
+
+ }catch (Exception ex){
+ ex.printStackTrace();
+ }
+
+ }
+
/**
* 运单费用计算接口
* @param emisWaybill
diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillOrigDataMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillOrigDataMapper.xml
new file mode 100644
index 000000000..c5ec3af56
--- /dev/null
+++ b/emis-biz/src/main/resources/mapper/EmisWaybillOrigDataMapper.xml
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+
+
+ select id, bill_code, json_data, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_waybill_orig_data
+
+
+
+
+
+
+
+
+
+ insert into emis_waybill_orig_data
+
+ id,
+ bill_code,
+ json_data,
+ remark,
+ tenant_id,
+ del_flag,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ create_site,
+ update_site,
+
+
+ #{id},
+ #{billCode},
+ #{jsonData},
+ #{remark},
+ #{tenantId},
+ #{delFlag},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{createSite},
+ #{updateSite},
+
+
+
+
+ update emis_waybill_orig_data
+
+ bill_code = #{billCode},
+ json_data = #{jsonData},
+ remark = #{remark},
+ tenant_id = #{tenantId},
+ del_flag = #{delFlag},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ create_site = #{createSite},
+ update_site = #{updateSite},
+
+ where id = #{id}
+
+
+
+ delete from emis_waybill_orig_data where id = #{id}
+
+
+
+ delete from emis_waybill_orig_data where id in
+
+ #{id}
+
+
+
\ No newline at end of file