|
|
|
@ -15,7 +15,6 @@ import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.repository.SysOrderNoRuleRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -78,6 +77,17 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
|
|
|
|
|
return sysOrderNoRuleRDao.getById(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据code 查询单号
|
|
|
|
|
*
|
|
|
|
|
* @param code 单号code
|
|
|
|
|
* @return 单号信息
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public SysOrderNoRule getSysOrderNoRuleByCode(String code) {
|
|
|
|
|
return sysOrderNoRuleRDao.getByProperty("orderNoRuleCode",code);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager) {
|
|
|
|
|
if (sysOrderNoRule == null) {
|
|
|
|
@ -90,77 +100,32 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@ApiOperation(value = "根据code查询最新单号规则")
|
|
|
|
|
public synchronized SysOrderNoRule doGetSysOrderNoRuleCode(String code) {
|
|
|
|
|
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code);
|
|
|
|
|
|
|
|
|
|
if (sysOrderNoRule == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("[" + code + "]规则代码不存在存在")
|
|
|
|
|
.setErrorSolution("请重新输入规则代码")
|
|
|
|
|
.build();
|
|
|
|
|
} else if (sysOrderNoRule.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("[" + code + "]单号规则已禁用")
|
|
|
|
|
.setErrorSolution("请重新输入规则代码")
|
|
|
|
|
.build();
|
|
|
|
|
} else {
|
|
|
|
|
sysOrderNoRule = OrderNoMakeUtil.next(sysOrderNoRule);
|
|
|
|
|
sysOrderNoRuleRDao.update(sysOrderNoRule);
|
|
|
|
|
return sysOrderNoRule;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据单号代码获取单号信息
|
|
|
|
|
*
|
|
|
|
|
* @param code 单号代码
|
|
|
|
|
* @param sysOrderNoRule 单号代码
|
|
|
|
|
* @param num
|
|
|
|
|
* @return 单号信息
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public synchronized List<SysOrderNoRule> doGetSysOrderNoRuleByCodeAndNum(String code, int num) {
|
|
|
|
|
SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code);
|
|
|
|
|
sysOrderNoRuleRDao.detachObject(sysOrderNoRule);
|
|
|
|
|
public synchronized List<SysOrderNoRule> doGetSysOrderNoRuleByNum(SysOrderNoRule sysOrderNoRule, int num) {
|
|
|
|
|
List<SysOrderNoRule> resultList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
if (sysOrderNoRule == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("[" + code + "]规则代码不存在存在")
|
|
|
|
|
.setErrorSolution("请重新输入规则代码")
|
|
|
|
|
.build();
|
|
|
|
|
} else if (sysOrderNoRule.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
|
try {
|
|
|
|
|
for (int i = 0; i < num; i++) {
|
|
|
|
|
sysOrderNoRule = OrderNoMakeUtil.next(CloneTool.clone(sysOrderNoRule));
|
|
|
|
|
resultList.add(sysOrderNoRule);
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
LOGGER.error("单号生成异常:",e);
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("[" + code + "]单号规则已禁用")
|
|
|
|
|
.setErrorSolution("请重新输入规则代码")
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("单号生成异常 %s",e.getMessage())
|
|
|
|
|
.build();
|
|
|
|
|
} else {
|
|
|
|
|
try {
|
|
|
|
|
for (int i = 0; i < num; i++) {
|
|
|
|
|
sysOrderNoRule = OrderNoMakeUtil.next((SysOrderNoRule) CloneTool.clone(sysOrderNoRule));
|
|
|
|
|
resultList.add(sysOrderNoRule);
|
|
|
|
|
}
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
LOGGER.error("单号生成异常:",e);
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("单号生成异常 %s",e.getMessage())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sysOrderNoRuleRDao.update(sysOrderNoRule);
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sysOrderNoRuleRDao.update(sysOrderNoRule);
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -185,5 +150,13 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService {
|
|
|
|
|
sysOrderNoRuleRDao.saveAll(sysOrderNoRuleList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param sysOrderNoRule
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void detachSysOrderNoRule(SysOrderNoRule sysOrderNoRule) {
|
|
|
|
|
sysOrderNoRuleRDao.detachObject(sysOrderNoRule);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|