From d6a4eb02e8bc07f6d541c9e2f4ef9d9d6403be58 Mon Sep 17 00:00:00 2001 From: linfso Date: Sat, 27 Jul 2024 07:29:56 +0800 Subject: [PATCH] md --- .../service/impl/EmisWaybillServiceImpl.java | 55 +++++++++++++++++++ .../xdadan/erp/emis/utils/WaybillHelper.java | 11 ++++ 2 files changed, 66 insertions(+) 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 41185f006..54e498559 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 @@ -18,10 +18,12 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.annotation.JsonFormat; import com.googlecode.aviator.AviatorEvaluator; import com.xdadan.erp.common.annotation.audit.DataAuditFilter; import com.xdadan.erp.common.core.domain.AjaxResult; import com.xdadan.erp.common.core.domain.entity.SysUser; +import com.xdadan.erp.common.core.redis.RedissonService; import com.xdadan.erp.common.utils.DateUtils; import com.xdadan.erp.common.utils.DictUtils; import com.xdadan.erp.common.utils.SecurityUtils; @@ -73,6 +75,12 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb @Autowired private IEmisTmsScanRecordService emisTmsScanRecordService; + @Autowired + RedissonService redissonService; + + @Autowired + private EmisWarehouseInMapper emisWarehouseInMapper; + /** * 直接数据查询运单列表 by billCode @@ -1081,6 +1089,8 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb recieveAddress.setAddressType("2"); + // 获取客户简码 + String simpleName="TL"; // 月结客户直接根据月结编号获取客户编码和名称 if( "2".equals(emisWaybillSave.getPaymentType()) @@ -1095,6 +1105,19 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybillSave.setCustName(emisCustomerUser.getCustName()); emisWaybillSave.setSalesmen(emisCustomerUser.getSalesmen()); emisWaybillSave.setPayee(emisCustomerUser.getPayee()); + + simpleName=emisCustomerUser.getSimpleName(); + }else{ + EmisCustomerUser emisCustomerUser=getCustomerUserByCode(customerCode); + simpleName=emisCustomerUser.getPhone(); + if(StringUtils.isEmpty(simpleName)){ + simpleName=emisWaybillSave.getSendMobile(); + } + + // 获取客户电话号码后4位 + if(simpleName.length()>4){ + simpleName=simpleName.substring(0,4); + } } // 保存客户收件、寄件地址 @@ -1115,6 +1138,38 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybillSave.setSendDate(new Date()); } + // 仓库收货时建立入仓预报单 + if("1".equals(emisWaybillSave.getPickupMethod())) { + // 获取进仓单号 + try { + // TAN-SMD-240603-01 + String YYMMDD = "yyMMdd"; + String hbKey = "TAN" + "-" + simpleName +"-"+ DateUtils.parseDateToStr(YYMMDD, new Date()); + Long lockNo = redissonService.addAndGetLong(hbKey, 1L); + String wayhoustInNo = hbKey + "" + StringUtils.leftPad(String.valueOf(lockNo), 2, "0"); + emisWaybillSave.setIntoWarehouseBillCode(wayhoustInNo); + + + // 建立入仓预报信息 + EmisWarehouseIn emisWarehouseIn = new EmisWarehouseIn(); + emisWarehouseIn.setInNo(emisWaybillSave.getIntoWarehouseBillCode()); + emisWarehouseIn.setOrderSn(emisWaybillSave.getOrderSn()); + emisWarehouseIn.setCustomerCode(customerCode); + emisWarehouseIn.setCustomerName(customerName); + emisWarehouseIn.setEntryDate(emisWaybillSave.getPickStartDate()); + emisWarehouseIn.setConfirmStatus("0"); + emisWarehouseIn.setUsedStatus("0"); + emisWarehouseIn.setStatus(0); + emisWarehouseIn.setBillCode(emisWaybillSave.getBillCode()); + emisWarehouseIn.setSerialNo(WaybillHelper.genSeqNo()); + + emisWarehouseInMapper.insertEmisWarehouseIn(emisWarehouseIn); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + + try { // 计算体积重量 calcVolumeWeight(emisWaybillSave); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java index 10678ce32..8b82e8a5c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/utils/WaybillHelper.java @@ -79,6 +79,17 @@ public class WaybillHelper { return billId; } + /** + * 生成流水号 + * @return + */ + public static String genSeqNo(){ + String seqNo = formatter.format(new Date()); + seqNo += (int)((Math.random() * 9 + 1) * 1000); + return seqNo; + } + +