md
This commit is contained in:
parent
9d61f854b8
commit
cd8375a80d
@ -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: <p> 电子底单信息 控制器 </p>
|
||||
*/
|
||||
|
||||
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<EmisWaybillOrigData> 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<EmisWaybillOrigData> list = emisWaybillOrigDataService.selectEmisWaybillOrigDataList(emisWaybillOrigData);
|
||||
ExcelUtil<EmisWaybillOrigData> util = new ExcelUtil<EmisWaybillOrigData>(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));
|
||||
}
|
||||
}
|
||||
@ -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: <p> 电子底单信息 实体类 </p>
|
||||
*/
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
@ -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);
|
||||
|
||||
// 发件人
|
||||
|
||||
@ -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: <p> 电子底单信息 Mapper 接口 </p>
|
||||
* <span style='color:red'> Warning : This file is generate by ai tools,don't edit!!! </span>
|
||||
*/
|
||||
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 <p> 电子底单信息 Mapper 接口 </p>
|
||||
* @author linfso
|
||||
* @date 2024-08-24 01:18:09
|
||||
*/
|
||||
public interface EmisWaybillOrigDataMapper extends BaseMapper<EmisWaybillOrigData>
|
||||
{
|
||||
/**
|
||||
* 主键查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public EmisWaybillOrigData selectEmisWaybillOrigDataById(Long id);
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
*
|
||||
* @param emisWaybillOrigData
|
||||
* @return 集合
|
||||
*/
|
||||
public List<EmisWaybillOrigData> 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);
|
||||
}
|
||||
@ -80,7 +80,7 @@ public interface IEmisTmsScanRecordService
|
||||
* 运单扫描操作
|
||||
* @param scanInfo
|
||||
*/
|
||||
public ScanResult scan(ScanInfo scanInfo) ;
|
||||
public ScanResult scan(ScanInfo scanInfo,String scanManCode,String scanSiteCode);
|
||||
|
||||
/**
|
||||
* 根据运单号获取扫描记录
|
||||
|
||||
@ -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: <p> 电子底单信息 服务类接口 </p>
|
||||
*/
|
||||
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<EmisWaybillOrigData> 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);
|
||||
}
|
||||
@ -205,4 +205,6 @@ public interface IEmisWaybillService
|
||||
|
||||
public void genWarehouseInTplFile(HttpServletResponse response, String orderSn) throws EmisBizError ;
|
||||
|
||||
public void genWaybillOrigAttach(String billCode);
|
||||
|
||||
}
|
||||
|
||||
@ -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<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem) {
|
||||
public List<ScanResultItem> doScanCheck(String scanType,Map<String,Object> scanDataItem,String scanManCode,String scanSiteCode) {
|
||||
|
||||
List<ScanResultItem> itemList = new ArrayList<>();
|
||||
|
||||
@ -398,7 +399,7 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
|
||||
* @param scanDataItem
|
||||
* @return
|
||||
*/
|
||||
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem) {
|
||||
public List<ScanResultItem> doScan(String scanType,Map<String,Object> scanDataItem,String scanManCode,String scanSiteCode) {
|
||||
|
||||
List<ScanResultItem> 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<ScanResultItem> resultList = new ArrayList<>();
|
||||
if(scanInfo.getOpType()==2){
|
||||
for (Map<String,Object> item: scanInfo.getScanData()) {
|
||||
List<ScanResultItem> itemCheckList=doScan(scanInfo.getScanType(),item);
|
||||
List<ScanResultItem> itemCheckList=doScan(scanInfo.getScanType(),item,scanManCode,scanSiteCode);
|
||||
resultList.addAll(itemCheckList);
|
||||
}
|
||||
}
|
||||
else{
|
||||
for (Map<String,Object> item: scanInfo.getScanData()) {
|
||||
List<ScanResultItem> itemCheckList=doScanCheck(scanInfo.getScanType(),item);
|
||||
List<ScanResultItem> itemCheckList=doScanCheck(scanInfo.getScanType(),item,scanManCode,scanSiteCode);
|
||||
resultList.addAll(itemCheckList);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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: <p> 电子底单信息 实体类 </p>
|
||||
*/
|
||||
|
||||
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<EmisWaybillOrigData> 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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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<String, Object> 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
|
||||
|
||||
121
emis-biz/src/main/resources/mapper/EmisWaybillOrigDataMapper.xml
Normal file
121
emis-biz/src/main/resources/mapper/EmisWaybillOrigDataMapper.xml
Normal file
@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xdadan.erp.emis.mapper.EmisWaybillOrigDataMapper">
|
||||
|
||||
<resultMap type="EmisWaybillOrigData" id="EmisWaybillOrigDataResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="billCode" column="bill_code" />
|
||||
<result property="jsonData" column="json_data" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectEmisWaybillOrigDataVo">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<select id="selectEmisWaybillOrigDataList" parameterType="EmisWaybillOrigData" resultMap="EmisWaybillOrigDataResult">
|
||||
<include refid="selectEmisWaybillOrigDataVo"/>
|
||||
<where>
|
||||
del_flag='0'
|
||||
<if test="id != null "> and id = #{id}</if>
|
||||
<if test="billCode != null and billCode != ''"> and bill_code like concat('%', #{billCode}, '%')</if>
|
||||
<if test="jsonData != null and jsonData != ''"> and json_data like concat('%', #{jsonData}, '%')</if>
|
||||
<if test="remark != null and remark != ''"> and remark like concat('%', #{remark}, '%')</if>
|
||||
<if test="tenantId != null and tenantId != ''"> and tenant_id like concat('%', #{tenantId}, '%')</if>
|
||||
<if test="delFlag != null and delFlag != ''"> and del_flag like concat('%', #{delFlag}, '%')</if>
|
||||
<if test="createBy != null and createBy != ''"> and create_by like concat('%', #{createBy}, '%')</if>
|
||||
<if test="createTime != null "> and create_time = #{createTime}</if>
|
||||
<if test="updateBy != null and updateBy != ''"> and update_by like concat('%', #{updateBy}, '%')</if>
|
||||
<if test="updateTime != null "> and update_time = #{updateTime}</if>
|
||||
<if test="createSite != null and createSite != ''"> and create_site like concat('%', #{createSite}, '%')</if>
|
||||
<if test="updateSite != null and updateSite != ''"> and update_site like concat('%', #{updateSite}, '%')</if>
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
|
||||
<select id="checkUnique" parameterType="EmisWaybillOrigData" resultType="int">
|
||||
select count(1) from emis_waybill_orig_data
|
||||
where del_flag='0'
|
||||
and id = #{id}
|
||||
and bill_code = #{billCode}
|
||||
and json_data = #{jsonData}
|
||||
and remark = #{remark}
|
||||
and tenant_id = #{tenantId}
|
||||
and del_flag = #{delFlag}
|
||||
and create_by = #{createBy}
|
||||
and create_time = #{createTime}
|
||||
and update_by = #{updateBy}
|
||||
and update_time = #{updateTime}
|
||||
and create_site = #{createSite}
|
||||
and update_site = #{updateSite}
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="selectEmisWaybillOrigDataById" parameterType="Long" resultMap="EmisWaybillOrigDataResult">
|
||||
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 a
|
||||
where a.id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertEmisWaybillOrigData" parameterType="EmisWaybillOrigData" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into emis_waybill_orig_data
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">id,</if>
|
||||
<if test="billCode != null and billCode != ''">bill_code,</if>
|
||||
<if test="jsonData != null and jsonData != ''">json_data,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="tenantId != null and tenantId != ''">tenant_id,</if>
|
||||
<if test="delFlag != null and delFlag != ''">del_flag,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="createSite != null and createSite != ''">create_site,</if>
|
||||
<if test="updateSite != null and updateSite != ''">update_site,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">#{id},</if>
|
||||
<if test="billCode != null and billCode != ''">#{billCode},</if>
|
||||
<if test="jsonData != null and jsonData != ''">#{jsonData},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="tenantId != null and tenantId != ''">#{tenantId},</if>
|
||||
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="createSite != null and createSite != ''">#{createSite},</if>
|
||||
<if test="updateSite != null and updateSite != ''">#{updateSite},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateEmisWaybillOrigData" parameterType="EmisWaybillOrigData">
|
||||
update emis_waybill_orig_data
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="billCode != null and billCode != ''">bill_code = #{billCode},</if>
|
||||
<if test="jsonData != null and jsonData != ''">json_data = #{jsonData},</if>
|
||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||
<if test="tenantId != null and tenantId != ''">tenant_id = #{tenantId},</if>
|
||||
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
|
||||
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||
<if test="createSite != null and createSite != ''">create_site = #{createSite},</if>
|
||||
<if test="updateSite != null and updateSite != ''">update_site = #{updateSite},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteEmisWaybillOrigDataById" parameterType="Long">
|
||||
delete from emis_waybill_orig_data where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteEmisWaybillOrigDataByIds" parameterType="String">
|
||||
delete from emis_waybill_orig_data where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user