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