Merge pull request 'develop' (#118) from develop into master
Reviewed-on: http://git.xdadan.loc/tanex/emis-service/pulls/118
This commit is contained in:
commit
22e02e951b
@ -106,9 +106,12 @@ public class EmisCommissionQuoteController extends BaseController
|
|||||||
@PreAuthorize("@ss.hasPermi('emis:emisCommissionQuote:add')")
|
@PreAuthorize("@ss.hasPermi('emis:emisCommissionQuote:add')")
|
||||||
@Log(title = "员工提成方案报价", businessType = BusinessType.INSERT)
|
@Log(title = "员工提成方案报价", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody EmisCommissionQuote emisCommissionQuote)
|
public AjaxResult add(@RequestBody EmisCommissionQuote emisCommissionQuote) {
|
||||||
{
|
try {
|
||||||
return toAjax(emisCommissionQuoteService.insertEmisCommissionQuote(emisCommissionQuote));
|
return toAjax(emisCommissionQuoteService.insertEmisCommissionQuote(emisCommissionQuote));
|
||||||
|
} catch (EmisBizError e) {
|
||||||
|
return AjaxResult.error(e.getMessage(), e.getErrorCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -117,9 +120,12 @@ public class EmisCommissionQuoteController extends BaseController
|
|||||||
@PreAuthorize("@ss.hasPermi('emis:emisCommissionQuote:edit')")
|
@PreAuthorize("@ss.hasPermi('emis:emisCommissionQuote:edit')")
|
||||||
@Log(title = "员工提成方案报价", businessType = BusinessType.UPDATE)
|
@Log(title = "员工提成方案报价", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody EmisCommissionQuote emisCommissionQuote)
|
public AjaxResult edit(@RequestBody EmisCommissionQuote emisCommissionQuote) {
|
||||||
{
|
try {
|
||||||
return toAjax(emisCommissionQuoteService.updateEmisCommissionQuote(emisCommissionQuote));
|
return toAjax(emisCommissionQuoteService.updateEmisCommissionQuote(emisCommissionQuote));
|
||||||
|
} catch (EmisBizError e) {
|
||||||
|
return AjaxResult.error(e.getMessage(), e.getErrorCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -51,7 +51,7 @@ public interface IEmisCommissionQuoteService
|
|||||||
* @param emisCommissionQuote 员工提成方案报价
|
* @param emisCommissionQuote 员工提成方案报价
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote);
|
public int insertEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote) throws EmisBizError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改员工提成方案报价
|
* 修改员工提成方案报价
|
||||||
@ -59,7 +59,7 @@ public interface IEmisCommissionQuoteService
|
|||||||
* @param emisCommissionQuote 员工提成方案报价
|
* @param emisCommissionQuote 员工提成方案报价
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int updateEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote);
|
public int updateEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote) throws EmisBizError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除员工提成方案报价
|
* 批量删除员工提成方案报价
|
||||||
|
|||||||
@ -76,6 +76,25 @@ public class EmisCommissionQuoteServiceImpl implements IEmisCommissionQuoteServi
|
|||||||
return emisCommissionQuoteMapper.checkUnique(emisCommissionQuote);
|
return emisCommissionQuoteMapper.checkUnique(emisCommissionQuote);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公共验重方法,检查日期交叉和完全重复
|
||||||
|
*
|
||||||
|
* @param emisCommissionQuote 当前报价
|
||||||
|
* @throws EmisBizError 存在冲突时抛出
|
||||||
|
*/
|
||||||
|
private void checkQuoteConflict(EmisCommissionQuote emisCommissionQuote) throws EmisBizError {
|
||||||
|
List<EmisCommissionQuote> overlapList = checkDateOverlap(emisCommissionQuote);
|
||||||
|
if (!overlapList.isEmpty()) {
|
||||||
|
StringBuilder errorMsg = new StringBuilder();
|
||||||
|
errorMsg.append("报价[").append(emisCommissionQuote.getQuoteName());
|
||||||
|
for (EmisCommissionQuote overlap : overlapList) {
|
||||||
|
errorMsg.append("\n- 与报价[").append(overlap.getQuoteName()).append("(ID:")
|
||||||
|
.append(overlap.getQuoteId()).append(")]重复");
|
||||||
|
}
|
||||||
|
throw new EmisBizError(EmisBizErrorType.EXISTS, errorMsg.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增员工提成方案报价
|
* 新增员工提成方案报价
|
||||||
*
|
*
|
||||||
@ -83,8 +102,8 @@ public class EmisCommissionQuoteServiceImpl implements IEmisCommissionQuoteServi
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote)
|
public int insertEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote) throws EmisBizError {
|
||||||
{
|
checkQuoteConflict(emisCommissionQuote);
|
||||||
// 插入提成方案
|
// 插入提成方案
|
||||||
emisCommissionQuoteMapper.insertEmisCommissionQuote(emisCommissionQuote);
|
emisCommissionQuoteMapper.insertEmisCommissionQuote(emisCommissionQuote);
|
||||||
|
|
||||||
@ -107,8 +126,8 @@ public class EmisCommissionQuoteServiceImpl implements IEmisCommissionQuoteServi
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int updateEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote)
|
public int updateEmisCommissionQuote(EmisCommissionQuote emisCommissionQuote) throws EmisBizError {
|
||||||
{
|
checkQuoteConflict(emisCommissionQuote);
|
||||||
return emisCommissionQuoteMapper.updateEmisCommissionQuote(emisCommissionQuote);
|
return emisCommissionQuoteMapper.updateEmisCommissionQuote(emisCommissionQuote);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,26 +227,7 @@ public class EmisCommissionQuoteServiceImpl implements IEmisCommissionQuoteServi
|
|||||||
if (emisCommissionQuote.getPriorityLevel() == null) {
|
if (emisCommissionQuote.getPriorityLevel() == null) {
|
||||||
emisCommissionQuote.setPriorityLevel(dbQuote.getPriorityLevel());
|
emisCommissionQuote.setPriorityLevel(dbQuote.getPriorityLevel());
|
||||||
}
|
}
|
||||||
|
checkQuoteConflict(emisCommissionQuote);
|
||||||
// 检查日期交叉重复
|
|
||||||
List<EmisCommissionQuote> overlapList = checkDateOverlap(emisCommissionQuote);
|
|
||||||
if (!overlapList.isEmpty()) {
|
|
||||||
StringBuilder errorMsg = new StringBuilder();
|
|
||||||
errorMsg.append("报价[").append(emisCommissionQuote.getQuoteName()).append("]存在冲突:");
|
|
||||||
|
|
||||||
for (EmisCommissionQuote overlap : overlapList) {
|
|
||||||
// 判断是否为完全重复
|
|
||||||
boolean isDuplicate = isDuplicateQuote(emisCommissionQuote, overlap);
|
|
||||||
if (isDuplicate) {
|
|
||||||
errorMsg.append("\n- 与报价[").append(overlap.getQuoteName()).append("(ID:")
|
|
||||||
.append(overlap.getQuoteId()).append(")]重复");
|
|
||||||
} else {
|
|
||||||
errorMsg.append("\n- 与报价[").append(overlap.getQuoteName()).append("(ID:")
|
|
||||||
.append(overlap.getQuoteId()).append(")]日期交叉");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
throw new EmisBizError(EmisBizErrorType.EXISTS, errorMsg.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新数据
|
// 更新数据
|
||||||
result += emisCommissionQuoteMapper.updateEmisCommissionQuote(emisCommissionQuote);
|
result += emisCommissionQuoteMapper.updateEmisCommissionQuote(emisCommissionQuote);
|
||||||
@ -263,6 +263,8 @@ public class EmisCommissionQuoteServiceImpl implements IEmisCommissionQuoteServi
|
|||||||
StringUtils.equals(quote1.getTransType(), quote2.getTransType()) &&
|
StringUtils.equals(quote1.getTransType(), quote2.getTransType()) &&
|
||||||
StringUtils.equals(quote1.getFromCountry(), quote2.getFromCountry()) &&
|
StringUtils.equals(quote1.getFromCountry(), quote2.getFromCountry()) &&
|
||||||
StringUtils.equals(quote1.getCountry(), quote2.getCountry()) &&
|
StringUtils.equals(quote1.getCountry(), quote2.getCountry()) &&
|
||||||
|
StringUtils.equals(quote1.getTransLineCode(), quote2.getTransLineCode()) &&
|
||||||
|
StringUtils.equals(quote1.getProdCode(), quote2.getProdCode()) &&
|
||||||
quote1.getStartDate() == quote2.getStartDate() &&
|
quote1.getStartDate() == quote2.getStartDate() &&
|
||||||
quote1.getEndDate() == quote2.getEndDate();
|
quote1.getEndDate() == quote2.getEndDate();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,13 @@
|
|||||||
<if test="transLineCode != null and transLineCode != ''"> and trans_line_code=#{transLineCode} </if>
|
<if test="transLineCode != null and transLineCode != ''"> and trans_line_code=#{transLineCode} </if>
|
||||||
<if test="prodCode != null and prodCode != ''"> and FIND_IN_SET(#{prodCode},prod_code) </if>
|
<if test="prodCode != null and prodCode != ''"> and FIND_IN_SET(#{prodCode},prod_code) </if>
|
||||||
|
|
||||||
|
<if test="startDate != null">
|
||||||
|
and DATE(start_date) >= DATE(#{startDate})
|
||||||
|
</if>
|
||||||
|
<if test="endDate != null">
|
||||||
|
and DATE(end_date) <= DATE(#{endDate})
|
||||||
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
order by create_time desc
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
@ -253,7 +260,9 @@
|
|||||||
<include refid="selectEmisCommissionQuoteVo"/>
|
<include refid="selectEmisCommissionQuoteVo"/>
|
||||||
<where>
|
<where>
|
||||||
del_flag='0'
|
del_flag='0'
|
||||||
|
<if test="quoteId != null and quoteId != ''">
|
||||||
and quote_id != #{quoteId}
|
and quote_id != #{quoteId}
|
||||||
|
</if>
|
||||||
and (
|
and (
|
||||||
(start_date <![CDATA[ <= ]]> #{startDate} and #{startDate} <![CDATA[ < ]]> end_date)
|
(start_date <![CDATA[ <= ]]> #{startDate} and #{startDate} <![CDATA[ < ]]> end_date)
|
||||||
or
|
or
|
||||||
@ -303,6 +312,22 @@
|
|||||||
or country='-1'
|
or country='-1'
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
|
<if test="transLineCode != null and transLineCode != ''">
|
||||||
|
and (
|
||||||
|
trans_line_code = #{transLineCode}
|
||||||
|
or FIND_IN_SET(#{transLineCode}, trans_line_code)
|
||||||
|
or FIND_IN_SET(trans_line_code, #{transLineCode})
|
||||||
|
or trans_line_code='-1'
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
<if test="prodCode != null and prodCode != ''">
|
||||||
|
and (
|
||||||
|
prod_code = #{prodCode}
|
||||||
|
or FIND_IN_SET(#{prodCode}, prod_code)
|
||||||
|
or FIND_IN_SET(prod_code, #{prodCode})
|
||||||
|
or prod_code='-1'
|
||||||
|
)
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by create_time desc
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user