记得上下班打卡 | git大法好,push需谨慎

Commit fb9f5279 authored by jiangxiulong's avatar jiangxiulong

importExpress

parent 4678160a
...@@ -347,6 +347,19 @@ public class PerformancesExpressController extends BaseController { ...@@ -347,6 +347,19 @@ public class PerformancesExpressController extends BaseController {
return excelUtil.exportExcel(excelList, "券码数据"); return excelUtil.exportExcel(excelList, "券码数据");
} }
/**
* 下载导入模版
* @return
*/
@RequiresPermissions("kylin:performancesExpress:view")
@GetMapping("/importTemplate")
@ResponseBody
public AjaxResult importTemplate()
{
ExcelUtil<performancesExpressImportVo> util = new ExcelUtil<performancesExpressImportVo>(performancesExpressImportVo.class);
return util.importTemplateExcel("快递信息");
}
/** /**
* 导入外部快递信息 * 导入外部快递信息
*/ */
...@@ -354,12 +367,11 @@ public class PerformancesExpressController extends BaseController { ...@@ -354,12 +367,11 @@ public class PerformancesExpressController extends BaseController {
@RequiresPermissions("kylin:performancesExpress:import") @RequiresPermissions("kylin:performancesExpress:import")
@PostMapping("/importData") @PostMapping("/importData")
@ResponseBody @ResponseBody
public AjaxResult importData(MultipartFile file, boolean updateSupport) { public AjaxResult importData(MultipartFile file) {
try { try {
ExcelUtil<performancesExpressImportVo> util = new ExcelUtil<performancesExpressImportVo>(performancesExpressImportVo.class); ExcelUtil<performancesExpressImportVo> util = new ExcelUtil<performancesExpressImportVo>(performancesExpressImportVo.class);
List<performancesExpressImportVo> expressList = util.importExcel(file.getInputStream()); List<performancesExpressImportVo> expressList = util.importExcel(file.getInputStream());
String operName = ShiroUtils.getSysUser().getLoginName(); String message = performancesExpressServiceImpl.importExpress(expressList);
String message = performancesExpressServiceImpl.importExpress(expressList, updateSupport, operName);
return AjaxResult.success(message); return AjaxResult.success(message);
} catch (Exception e) { } catch (Exception e) {
logger.error("importDataException [e:{}]", e); logger.error("importDataException [e:{}]", e);
......
...@@ -87,7 +87,8 @@ ...@@ -87,7 +87,8 @@
shiro:hasPermission="kylin:performancesExpress:printExpress"> shiro:hasPermission="kylin:performancesExpress:printExpress">
批量打印 批量打印
</a> </a>
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="kylin:performancesExpress:import"> <a class="btn btn-info" onclick="$.table.importExcel()"
shiro:hasPermission="kylin:performancesExpress:import">
<i class="fa fa-upload"></i> 导入 <i class="fa fa-upload"></i> 导入
</a> </a>
</div> </div>
...@@ -368,6 +369,8 @@ ...@@ -368,6 +369,8 @@
getResultUrl: prefix + "/getResult", getResultUrl: prefix + "/getResult",
listOrderRouteUrl: prefix + "/listOrderRoute", listOrderRouteUrl: prefix + "/listOrderRoute",
generateImageUrl: prefix + "/generateImage", generateImageUrl: prefix + "/generateImage",
importUrl: prefix + "/importData",
importTemplateUrl: prefix + "/importTemplate",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -486,4 +489,20 @@ ...@@ -486,4 +489,20 @@
</script> </script>
</body> </body>
<!-- 导入区域 -->
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
&nbsp; <a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
</html> </html>
\ No newline at end of file
...@@ -678,7 +678,7 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -678,7 +678,7 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
return list; return list;
} }
public String importExpress(List<performancesExpressImportVo> expressList, boolean updateSupport, String operName) { public String importExpress(List<performancesExpressImportVo> expressList) {
if (StringUtils.isNull(expressList) || expressList.size() == 0) { if (StringUtils.isNull(expressList) || expressList.size() == 0) {
throw new BusinessException("导入用户数据不能为空!"); throw new BusinessException("导入用户数据不能为空!");
} }
...@@ -688,33 +688,40 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres ...@@ -688,33 +688,40 @@ public class PerformancesExpressServiceImpl extends ServiceImpl<KylinOrderExpres
StringBuilder failureMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder();
for (performancesExpressImportVo info : expressList) { for (performancesExpressImportVo info : expressList) {
try { try {
/*// 验证是否存在这个用户 KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
SysUser u = userMapper.selectUserByLoginName(user.getLoginName()); Wrappers.lambdaQuery(KylinOrderTickets.class)
if (StringUtils.isNull(u)) .eq(KylinOrderTickets::getOrderCode, info.getOrderCode())
{ .select(KylinOrderTickets::getOrderTicketsId)
user.setPassword(Md5Utils.hash(user.getLoginName() + password)); );
user.setCreateBy(operName); KylinOrderTicketRelations relations = kylinOrderTicketRelationsMapper.selectOne(
this.insertUser(user); Wrappers.lambdaQuery(KylinOrderTicketRelations.class)
successNum++; .eq(KylinOrderTicketRelations::getOrderId, orderInfo.getOrderTicketsId())
successMsg.append("<br/>" + successNum + "、账号 " + user.getLoginName() + " 导入成功"); .select(KylinOrderTicketRelations::getPerformanceId)
} );
else if (isUpdateSupport) // 生成快递单 防止因失败没办法再次发起也不能主动获取数据
{ KylinOrderExpress kylinOrderExpressPre = new KylinOrderExpress();
user.setUpdateBy(operName); String orderExpressId = IDGenerator.nextSnowId();
this.updateUser(user); kylinOrderExpressPre.setExpressStatus(30);
kylinOrderExpressPre.setOrderExpressId(orderExpressId);
kylinOrderExpressPre.setOrderTicketsId(orderInfo.getOrderTicketsId());
String OrderExpressCode = "NOW" + orderExpressId;
kylinOrderExpressPre.setOrderExpressCode(OrderExpressCode);
kylinOrderExpressPre.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressPre.setPerformancesId(relations.getPerformanceId());
kylinOrderExpressPre.setMailno(info.getMailno());
kylinOrderExpressMapper.insert(kylinOrderExpressPre);
KylinOrderExpressVo kylinOrderExpressVo = new KylinOrderExpressVo();
BeanUtils.copyProperties(kylinOrderExpressPre, kylinOrderExpressVo);
dataUtils.setOrderExpressInfo(orderInfo.getOrderTicketsId(), kylinOrderExpressVo);
successNum++; successNum++;
successMsg.append("<br/>" + successNum + "、账号 " + user.getLoginName() + " 更新成功"); successMsg.append("<br/>" + successNum + "、订单编号 " + info.getOrderCode() + " 导入成功");
}
else
{
failureNum++;
failureMsg.append("<br/>" + failureNum + "、账号 " + user.getLoginName() + " 已存在");
}*/
} catch (Exception e) { } catch (Exception e) {
failureNum++; failureNum++;
// String msg = "<br/>" + failureNum + "、账号 " + user.getLoginName() + " 导入失败:"; String msg = "<br/>" + failureNum + "、订单编号 " + info.getOrderCode() + " 导入失败:";
// failureMsg.append(msg + e.getMessage()); failureMsg.append(msg + e.getMessage());
// log.error(msg, e); log.error(msg, e);
} }
} }
if (failureNum > 0) { if (failureNum > 0) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment