winter 1 год назад
Родитель
Сommit
9e6bd558e0
3 измененных файлов: 89 добавлений и 0 удалений
  1. +32
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxFinanceService.java
  3. +55
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java

+ 32
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java Просмотреть файл

@@ -312,6 +312,38 @@ public class WxFinanceController extends BaseController {
return new ResultData(map);
}
@ApiOperation("更新收款单时间")
@PostMapping("updateReceiveDate")
public ResultData updateReceiveDate(@RequestBody WxFinanceReceive record) {
record.updateTenantInfo(getTenantInfo());
if (null == record.getId()) {
return new ResultData(Result.ERROR,"请选择单据");
}
if (null == record.getReceiveDate()) {
return new ResultData(Result.ERROR,"请选择支付时间");
}
if (!this.isValidPayTime(record.getReceiveDate())) {
return new ResultData(Result.ERROR,"支付时间请在结账截止时间之后");
}
wxFinanceService.updateReceive(record,this.getUser());
return new ResultData();
}
@ApiOperation("更新收款单付款方式")
@PostMapping("updateReceivePayway")
public ResultData updateReceivePayway(@RequestBody WxFinanceReceive record) {
record.updateTenantInfo(getTenantInfo());
if (null == record.getId()) {
return new ResultData(Result.ERROR,"请选择单据");
}
try {
wxFinanceService.updateReceivePayways(record,this.getUser());
}catch(Exception e) {
return new ResultData(Result.ERROR,e.getMessage());
}
return new ResultData();
}
@ApiOperation("新增减免")
@PostMapping("createCut")
public ResultData createCut(@RequestBody WxFinanceReceive record) {


+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxFinanceService.java Просмотреть файл

@@ -44,6 +44,8 @@ public interface WxFinanceService {
void exportReceiveBill(WxFinanceReceiveBill record,HttpServletRequest request, HttpServletResponse response);
List<WxFinanceReceive> findReceiveList(WxFinanceReceive record);
Map createReceive(WxFinanceReceive record,MallUserInfo user);
void updateReceive(WxFinanceReceive record,MallUserInfo user);
void updateReceivePayways(WxFinanceReceive record,MallUserInfo user);
Map createCut(WxFinanceReceive record,MallUserInfo user);
Map createPay(WxFinanceReceive record,MallUserInfo user);
WxFinanceReceive getReceiveById(TenantEntity tenantEntity,Long id);


+ 55
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java Просмотреть файл

@@ -979,6 +979,61 @@ public class WxFinanceServiceImpl implements WxFinanceService {
}
}
@Override
public void updateReceive(WxFinanceReceive record,MallUserInfo user) {
record.setUpdateTime(new Date());
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
wxFinanceReceiveMapper.updateById(record);
}
@Override
public void updateReceivePayways(WxFinanceReceive record,MallUserInfo user) {
WxFinanceReceive receive = this.getReceiveById(record, record.getId());
record.setUpdateTime(new Date());
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
List<WxFinanceReceivePayway> receivePayWayList = new ArrayList<WxFinanceReceivePayway>();
StringBuffer moneyDetail = new StringBuffer();
BigDecimal receiveTotal = new BigDecimal(0);
if (null != record.getPayWays()) {
final IdWorker idWorker = IdWorker.get();
for (int i = 0 ; i < record.getPayWays().size() ; i ++) {
WxBillPayWay payWay = record.getPayWays().get(i);
if (StringUtils.isNotBlank(payWay.getMoney())) {
if (null == payWay.getId()) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"收款方式不能为空");
}
receiveTotal = receiveTotal.add(new BigDecimal(payWay.getMoney()));
WxFinanceReceivePayway rpw = new WxFinanceReceivePayway();
rpw.setId(idWorker.nextId());
rpw.updateTenantInfo(record);
rpw.setReceiveId(record.getId());
rpw.setReceive(payWay.getMoney());
rpw.setPayWay(payWay.getId());
rpw.setPayWayName(payWay.getName());
rpw.setCreateTime(new Date());
rpw.setUpdateTime(new Date());
rpw.setIsDel(EnumYesOrNo.NO.getCode());
receivePayWayList.add(rpw);
moneyDetail.append(payWay.getName()).append(":").append(payWay.getMoney()).append("元");
}
}
if (receiveTotal.compareTo(new BigDecimal(receive.getReceiveMoney())) != 0) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"总收款金额不正确");
}else {
record.setMoneyDetail(moneyDetail.toString());
//删除之前的收款方式
WxFinanceReceivePayway pd = new WxFinanceReceivePayway();
pd.updateTenantInfo(record);
pd.setReceiveId(record.getId());
wxFinanceReceivePaywayMapper.deleteByConditon(pd);
wxFinanceReceivePaywayMapper.insertPayWays(record.getTenantId(),receivePayWayList);
}
wxFinanceReceiveMapper.updateById(record);
}
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override


Загрузка…
Отмена
Сохранить