md
This commit is contained in:
parent
c677363714
commit
5156fccac7
@ -13,6 +13,8 @@ package com.xdadan.erp.web.emis;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -134,4 +136,43 @@ public class EmisSitePrepaidRechargeController extends EmisBaseController
|
|||||||
{
|
{
|
||||||
return toAjax(emisSitePrepaidRechargeService.deleteEmisSitePrepaidRechargeByIds(ids));
|
return toAjax(emisSitePrepaidRechargeService.deleteEmisSitePrepaidRechargeByIds(ids));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核通过
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('emis:emisSitePrepaidRecharge:pass')")
|
||||||
|
@Log(title = "审核通过", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("/auditPass/{ids}")
|
||||||
|
public AjaxResult auditPass(@PathVariable Long[] ids)
|
||||||
|
{
|
||||||
|
if(ids!=null && ids.length>0){
|
||||||
|
for(int i=0;i<ids.length;i++){
|
||||||
|
long id=ids[i];
|
||||||
|
EmisSitePrepaidRecharge emisSitePrepaidRecharge = new EmisSitePrepaidRecharge();
|
||||||
|
emisSitePrepaidRecharge.setId(id);
|
||||||
|
emisSitePrepaidRechargeService.auditPass(emisSitePrepaidRecharge);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AjaxResult.success("操作成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核通过
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('emis:emisSitePrepaidRecharge:nopass')")
|
||||||
|
@Log(title = "审核不通过", businessType = BusinessType.UPDATE)
|
||||||
|
@PostMapping("/auditNoPass/{ids}")
|
||||||
|
public AjaxResult auditPass(@PathVariable Long[] ids,String remark)
|
||||||
|
{
|
||||||
|
if(ids!=null && ids.length>0){
|
||||||
|
for(int i=0;i<ids.length;i++){
|
||||||
|
long id=ids[i];
|
||||||
|
EmisSitePrepaidRecharge emisSitePrepaidRecharge = new EmisSitePrepaidRecharge();
|
||||||
|
emisSitePrepaidRecharge.setId(id);
|
||||||
|
emisSitePrepaidRecharge.setAuditDesc(remark);
|
||||||
|
emisSitePrepaidRechargeService.auditNoPass(emisSitePrepaidRecharge);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AjaxResult.success("操作成功");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,7 +39,7 @@ public class EmisSiteSettleRecord extends BaseEntity
|
|||||||
private String accCode;
|
private String accCode;
|
||||||
/* 运单号 */
|
/* 运单号 */
|
||||||
private String billCode;
|
private String billCode;
|
||||||
/* 结算类型:应收 应付 */
|
/* 结算类型:1-应收 2-应付 */
|
||||||
private String recPayType;
|
private String recPayType;
|
||||||
/* 结算类型: 充值等 */
|
/* 结算类型: 充值等 */
|
||||||
private String settleType;
|
private String settleType;
|
||||||
|
|||||||
@ -83,4 +83,13 @@ public interface EmisSiteAccountMapper extends BaseMapper<EmisSiteAccount>
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getHasAddSite();
|
public String getHasAddSite();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调整账户余额
|
||||||
|
*
|
||||||
|
* @param emisSiteAccount
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int updateSiteAccountBalance(EmisSiteAccount emisSiteAccount);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,4 +77,12 @@ public interface EmisSitePrepaidRechargeMapper extends BaseMapper<EmisSitePrepai
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteEmisSitePrepaidRechargeByIds(Long[] ids);
|
public int deleteEmisSitePrepaidRechargeByIds(Long[] ids);
|
||||||
|
|
||||||
|
|
||||||
|
public int auditPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||||
|
|
||||||
|
public int auditNoPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,7 @@ package com.xdadan.erp.emis.service;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.xdadan.erp.common.core.domain.AjaxResult;
|
import com.xdadan.erp.common.core.domain.AjaxResult;
|
||||||
import com.xdadan.erp.common.core.domain.entity.SysUser;
|
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.DateUtils;
|
||||||
import com.xdadan.erp.common.utils.DictUtils;
|
import com.xdadan.erp.common.utils.DictUtils;
|
||||||
import com.xdadan.erp.common.utils.HTTPHelper;
|
import com.xdadan.erp.common.utils.HTTPHelper;
|
||||||
@ -147,6 +148,14 @@ public class EmisBaseService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AliyunSMSService aliyunSMSService;
|
private AliyunSMSService aliyunSMSService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmisSiteSettleRecordMapper emisSiteSettleRecordMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
RedissonService redissonService;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -544,6 +553,66 @@ public class EmisBaseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加站点结算记录
|
||||||
|
* @param emisSiteSettleRecord
|
||||||
|
*/
|
||||||
|
public void addSiteSettleRecord(EmisSiteSettleRecord emisSiteSettleRecord) throws EmisBizError {
|
||||||
|
|
||||||
|
String lockKey="LOCK:SITEACCOUNT:CHANGE-"+emisSiteSettleRecord.getAccCode();
|
||||||
|
// 加锁操作
|
||||||
|
redissonService.lock(lockKey,300);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 调整账户总余额
|
||||||
|
EmisSiteAccount emisSiteAccount = getSiteAccountBySiteCode(emisSiteSettleRecord.getSiteCode());
|
||||||
|
if (emisSiteAccount == null) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "网点账户不存在,请先建立网点账户");
|
||||||
|
}
|
||||||
|
|
||||||
|
BigDecimal curMoney=emisSiteAccount.getCurMoney();
|
||||||
|
BigDecimal confirmMoney=emisSiteAccount.getConfirmMoney();
|
||||||
|
|
||||||
|
// 变动前余额
|
||||||
|
emisSiteSettleRecord.setPreBalance(curMoney);
|
||||||
|
emisSiteSettleRecord.setPreConfirmBalance(confirmMoney);
|
||||||
|
|
||||||
|
// 总账户变动
|
||||||
|
|
||||||
|
// 增加
|
||||||
|
if("1".equals(emisSiteSettleRecord.getChangeType())){
|
||||||
|
curMoney.add(emisSiteSettleRecord.getCurMoney());
|
||||||
|
confirmMoney.add(emisSiteSettleRecord.getCurConfirmMoney());
|
||||||
|
}
|
||||||
|
// 减少
|
||||||
|
else if("1".equals(emisSiteSettleRecord.getChangeType())){
|
||||||
|
curMoney.subtract(emisSiteSettleRecord.getCurMoney());
|
||||||
|
confirmMoney.subtract(emisSiteSettleRecord.getCurConfirmMoney());
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL, "费用增减类型错误!");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 变动后余额
|
||||||
|
emisSiteSettleRecord.setBackBalance(curMoney);
|
||||||
|
emisSiteSettleRecord.setBackConfirmBalance(confirmMoney);
|
||||||
|
|
||||||
|
// 插入明细记录
|
||||||
|
emisSiteSettleRecordMapper.insertEmisSiteSettleRecord(emisSiteSettleRecord);
|
||||||
|
|
||||||
|
// 调整总账户余额
|
||||||
|
emisSiteAccount.setCurMoney(curMoney);
|
||||||
|
emisSiteAccount.setConfirmMoney(confirmMoney);
|
||||||
|
emisSiteAccountMapper.updateSiteAccountBalance(emisSiteAccount);
|
||||||
|
|
||||||
|
}catch(Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
redissonService.unlock(lockKey);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新打印状态
|
* 更新打印状态
|
||||||
* @param billCode
|
* @param billCode
|
||||||
|
|||||||
@ -75,4 +75,9 @@ public interface IEmisSitePrepaidRechargeService
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteEmisSitePrepaidRechargeById(Long id);
|
public int deleteEmisSitePrepaidRechargeById(Long id);
|
||||||
|
|
||||||
|
public int auditPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||||
|
|
||||||
|
public int auditNoPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,12 +10,18 @@
|
|||||||
|
|
||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.xdadan.erp.emis.domain.EmisSite;
|
||||||
|
import com.xdadan.erp.emis.domain.EmisSiteSettleRecord;
|
||||||
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.xdadan.erp.emis.domain.EmisSitePrepaidRecharge;
|
import com.xdadan.erp.emis.domain.EmisSitePrepaidRecharge;
|
||||||
import com.xdadan.erp.emis.mapper.EmisSitePrepaidRechargeMapper;
|
import com.xdadan.erp.emis.mapper.EmisSitePrepaidRechargeMapper;
|
||||||
import com.xdadan.erp.emis.service.IEmisSitePrepaidRechargeService;
|
import com.xdadan.erp.emis.service.IEmisSitePrepaidRechargeService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 站点预付款充值Service业务层处理
|
* 站点预付款充值Service业务层处理
|
||||||
@ -24,7 +30,7 @@ import com.xdadan.erp.emis.service.IEmisSitePrepaidRechargeService;
|
|||||||
* @date 2024-06-16 13:43:48
|
* @date 2024-06-16 13:43:48
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class EmisSitePrepaidRechargeServiceImpl implements IEmisSitePrepaidRechargeService
|
public class EmisSitePrepaidRechargeServiceImpl extends EmisBaseService implements IEmisSitePrepaidRechargeService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmisSitePrepaidRechargeMapper emisSitePrepaidRechargeMapper;
|
private EmisSitePrepaidRechargeMapper emisSitePrepaidRechargeMapper;
|
||||||
@ -114,4 +120,44 @@ public class EmisSitePrepaidRechargeServiceImpl implements IEmisSitePrepaidRecha
|
|||||||
return emisSitePrepaidRechargeMapper.deleteEmisSitePrepaidRechargeById(id);
|
return emisSitePrepaidRechargeMapper.deleteEmisSitePrepaidRechargeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
@Override
|
||||||
|
public int auditPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge){
|
||||||
|
|
||||||
|
|
||||||
|
// 重新从数据库取信息
|
||||||
|
emisSitePrepaidRecharge = emisSitePrepaidRechargeMapper.selectEmisSitePrepaidRechargeById(emisSitePrepaidRecharge.getId());
|
||||||
|
|
||||||
|
// 增加结算账户额度,插入明细数据
|
||||||
|
EmisSiteSettleRecord emisSiteSettleRecord=new EmisSiteSettleRecord();
|
||||||
|
emisSiteSettleRecord.setAccCode(emisSitePrepaidRecharge.getRechargeSiteCode()+"001");
|
||||||
|
emisSiteSettleRecord.setRecPayType("1"); // 收入
|
||||||
|
emisSiteSettleRecord.setSettleType("001");// 充值
|
||||||
|
emisSiteSettleRecord.setSettleName("预付款-充值");
|
||||||
|
emisSiteSettleRecord.setCurMoney(emisSitePrepaidRecharge.getRechargeAmount());
|
||||||
|
emisSiteSettleRecord.setCurConfirmMoney(emisSitePrepaidRecharge.getRechargeAmount());
|
||||||
|
emisSiteSettleRecord.setChangeType("1"); // 增加
|
||||||
|
emisSiteSettleRecord.setCurrency("CNY");
|
||||||
|
emisSiteSettleRecord.setChangeDate(new Date());
|
||||||
|
|
||||||
|
emisSiteSettleRecord.setSiteCode(emisSitePrepaidRecharge.getRechargeSiteCode());
|
||||||
|
emisSiteSettleRecord.setSourceType("pc");
|
||||||
|
emisSiteSettleRecord.setOperataDate(new Date());
|
||||||
|
emisSiteSettleRecord.setFinanceDate(new Date());
|
||||||
|
emisSiteSettleRecord.setBlCenter("1");
|
||||||
|
emisSiteSettleRecord.setCenterCode(getCurrentUser().getOwnerSiteCode());
|
||||||
|
emisSiteSettleRecord.setCenterManCode(getCurrentUser().getEmpCode());
|
||||||
|
emisSiteSettleRecord.setBlChargeFee("1");
|
||||||
|
|
||||||
|
addSiteSettleRecord(emisSiteSettleRecord);
|
||||||
|
|
||||||
|
// 审核通过
|
||||||
|
return emisSitePrepaidRechargeMapper.auditPass(emisSitePrepaidRecharge);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int auditNoPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge){
|
||||||
|
return emisSitePrepaidRechargeMapper.auditNoPass(emisSitePrepaidRecharge);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -224,6 +224,10 @@
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="updateSiteAccountBalance" parameterType="EmisSiteAccount">
|
||||||
|
update emis_site_account set cur_money = #{curMoney},confirm_money = #{confirmMoney} where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
<delete id="deleteEmisSiteAccountById" parameterType="Long">
|
<delete id="deleteEmisSiteAccountById" parameterType="Long">
|
||||||
update emis_site_account set del_flag='0' where id = #{id}
|
update emis_site_account set del_flag='0' where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|||||||
@ -221,12 +221,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="auditPass" parameterType="EmisSitePrepaidRecharge">
|
||||||
|
update emis_site_prepaid_recharge set audit_status='1',audit_date=now() where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="auditNoPass" parameterType="EmisSitePrepaidRecharge">
|
||||||
|
update emis_site_prepaid_recharge set audit_status='2',audit_desc = #{auditDesc},audit_date=now() where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
<delete id="deleteEmisSitePrepaidRechargeById" parameterType="Long">
|
<delete id="deleteEmisSitePrepaidRechargeById" parameterType="Long">
|
||||||
delete from emis_site_prepaid_recharge where id = #{id}
|
update emis_site_prepaid_recharge set del_flag='1' where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deleteEmisSitePrepaidRechargeByIds" parameterType="String">
|
<delete id="deleteEmisSitePrepaidRechargeByIds" parameterType="String">
|
||||||
delete from emis_site_prepaid_recharge where id in
|
update emis_site_prepaid_recharge set del_flag='1' where id in
|
||||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user