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 javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@ -134,4 +136,43 @@ public class EmisSitePrepaidRechargeController extends EmisBaseController
|
||||
{
|
||||
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 billCode;
|
||||
/* 结算类型:应收 应付 */
|
||||
/* 结算类型:1-应收 2-应付 */
|
||||
private String recPayType;
|
||||
/* 结算类型: 充值等 */
|
||||
private String settleType;
|
||||
|
||||
@ -83,4 +83,13 @@ public interface EmisSiteAccountMapper extends BaseMapper<EmisSiteAccount>
|
||||
* @return
|
||||
*/
|
||||
public String getHasAddSite();
|
||||
|
||||
|
||||
/**
|
||||
* 调整账户余额
|
||||
*
|
||||
* @param emisSiteAccount
|
||||
* @return
|
||||
*/
|
||||
public int updateSiteAccountBalance(EmisSiteAccount emisSiteAccount);
|
||||
}
|
||||
|
||||
@ -77,4 +77,12 @@ public interface EmisSitePrepaidRechargeMapper extends BaseMapper<EmisSitePrepai
|
||||
* @return 结果
|
||||
*/
|
||||
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.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.HTTPHelper;
|
||||
@ -147,6 +148,14 @@ public class EmisBaseService {
|
||||
@Autowired
|
||||
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
|
||||
|
||||
@ -75,4 +75,9 @@ public interface IEmisSitePrepaidRechargeService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteEmisSitePrepaidRechargeById(Long id);
|
||||
|
||||
public int auditPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||
|
||||
public int auditNoPass(EmisSitePrepaidRecharge emisSitePrepaidRecharge);
|
||||
|
||||
}
|
||||
|
||||
@ -10,21 +10,27 @@
|
||||
|
||||
package com.xdadan.erp.emis.service.impl;
|
||||
|
||||
import java.util.Date;
|
||||
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.stereotype.Service;
|
||||
import com.xdadan.erp.emis.domain.EmisSitePrepaidRecharge;
|
||||
import com.xdadan.erp.emis.mapper.EmisSitePrepaidRechargeMapper;
|
||||
import com.xdadan.erp.emis.service.IEmisSitePrepaidRechargeService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
/**
|
||||
* 站点预付款充值Service业务层处理
|
||||
*
|
||||
* @author linfso
|
||||
* @date 2024-06-16 13:43:48
|
||||
*/
|
||||
@Service
|
||||
public class EmisSitePrepaidRechargeServiceImpl implements IEmisSitePrepaidRechargeService
|
||||
public class EmisSitePrepaidRechargeServiceImpl extends EmisBaseService implements IEmisSitePrepaidRechargeService
|
||||
{
|
||||
@Autowired
|
||||
private EmisSitePrepaidRechargeMapper emisSitePrepaidRechargeMapper;
|
||||
@ -114,4 +120,44 @@ public class EmisSitePrepaidRechargeServiceImpl implements IEmisSitePrepaidRecha
|
||||
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}
|
||||
</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">
|
||||
update emis_site_account set del_flag='0' where id = #{id}
|
||||
</delete>
|
||||
|
||||
@ -221,12 +221,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</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 from emis_site_prepaid_recharge where id = #{id}
|
||||
update emis_site_prepaid_recharge set del_flag='1' where id = #{id}
|
||||
</delete>
|
||||
|
||||
<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=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user