|
|
|
|
@ -2,12 +2,12 @@ package org.springblade.desk.order.service.impl; |
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import org.springblade.common.utils.StringPrefixUtils; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.utils.DateUtil; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.desk.dashboard.utils.DateUtils; |
|
|
|
|
import org.springblade.desk.order.mapper.PlateGoodsRecordMapper; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; |
|
|
|
|
@ -48,11 +48,11 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean save(PlateGoodsRecord entity, List<PlateGoodsRecordDetail> detailList) { |
|
|
|
|
// todo 需求单号需要优化
|
|
|
|
|
entity.setDemandCode(DateUtils.dateTimeNow()); |
|
|
|
|
entity.setDemandCode(generateCode()); |
|
|
|
|
entity.setSurplus(entity.getDeclaredQuota()); |
|
|
|
|
entity.setStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); |
|
|
|
|
entity.setApprovalStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); |
|
|
|
|
entity.setDetailOrderNum(detailList.size()); |
|
|
|
|
if (this.save(entity)) { |
|
|
|
|
for (PlateGoodsRecordDetail detail : detailList) { |
|
|
|
|
detail.setPgrdId(entity.getId()); |
|
|
|
|
@ -107,4 +107,24 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor |
|
|
|
|
return yieldOrderList; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private String generateCode() { |
|
|
|
|
// 自增总长度
|
|
|
|
|
int len = 3; |
|
|
|
|
// 自增值
|
|
|
|
|
int num = 0; |
|
|
|
|
|
|
|
|
|
// 编码模式
|
|
|
|
|
String codePattern = DateUtil.today(); |
|
|
|
|
|
|
|
|
|
// 当前模式下最大编码
|
|
|
|
|
String demandCode = baseMapper.getMaxByCodePattern(codePattern); |
|
|
|
|
if (demandCode != null) { |
|
|
|
|
num = Integer.parseInt(demandCode.substring(codePattern.length(), codePattern.length() + len)); |
|
|
|
|
} |
|
|
|
|
num++; |
|
|
|
|
|
|
|
|
|
// 下个编码
|
|
|
|
|
return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|