This commit is contained in:
linfso 2024-07-27 07:29:56 +08:00
parent 25de31fb12
commit d6a4eb02e8
2 changed files with 66 additions and 0 deletions

View File

@ -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);

View File

@ -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;
}