Browse Source

fix

release_toaliyun_real
winter 1 year ago
parent
commit
317e28dafa
7 changed files with 86 additions and 37 deletions
  1. +7
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java
  2. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java
  3. +2
    -3
      mallinkService/src/main/java/com/iformall/enums/EnumFinanceFinishStatus.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishReceiveMapper.java
  5. +65
    -29
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java
  6. +2
    -1
      mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml
  7. +5
    -0
      mallinkService/src/main/resources/mapper/WxFinanceFinishReceiveMapper.xml

+ 7
- 4
mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java View File

@@ -611,9 +611,9 @@ public class WxFinanceController extends BaseController {
public ResultData finishList(@ModelAttribute WxFinanceFinish record, Integer pageNum, Integer pageSize) {
record.updateTenantInfo(getTenantInfo());
record.setSortColumns(BaseEntity.SortField.CreateTime_DESC);
if (null != record.getIsMyCreate() && EnumYesOrNo.YES.getCode() == record.getIsMyCreate()) {
record.setCreateBy(this.getUser().getId());
}
// if (null != record.getIsMyCreate() && EnumYesOrNo.YES.getCode() == record.getIsMyCreate()) {
// record.setCreateBy(this.getUser().getId());
// }
PageInfo<WxFinanceFinish> page = wxFinanceService.finishListAsPage(record, pageNum, pageSize);
return new ResultData(page);
}
@@ -687,7 +687,7 @@ public class WxFinanceController extends BaseController {
return new ResultData(page);
}
@ApiOperation("交款收付款总计")
@ApiOperation("交款收付单列表")
@PostMapping("finishReceiveList")
public ResultData finishReceiveList(@RequestBody WxFinanceFinish record) {
record.updateTenantInfo(getTenantInfo());
@@ -699,6 +699,9 @@ public class WxFinanceController extends BaseController {
@PostMapping("saveFinish")
public ResultData saveFinish(@RequestBody WxFinanceFinish record) {
record.updateTenantInfo(getTenantInfo());
if (null == record.getReceiveIds() || record.getReceiveIds().size() <= 0 ) {
return new ResultData(Result.ERROR,"无关联的单据");
}
wxFinanceService.saveOrUpdateFinish(record, getUser());
return new ResultData();
}


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java View File

@@ -146,6 +146,9 @@ public class WxFinanceFinish extends TenantEntity {
return null;
}
@io.swagger.annotations.ApiModelProperty(value="总金额",name="total")
private String total;
@TableField(exist = false)
private List<Long> receiveIds;


+ 2
- 3
mallinkService/src/main/java/com/iformall/enums/EnumFinanceFinishStatus.java View File

@@ -5,9 +5,8 @@ package com.iformall.enums;

public enum EnumFinanceFinishStatus {

READY(1,"待审核结账"),
COMPLETE(2,"已审核结账"),
REREADY(3, "重新结账中")
UN_AUDIT(1,"未审核"),
AUDITED(2,"已审核")
;

public static EnumFinanceFinishStatus getEnum(Integer code) {


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxFinanceFinishReceiveMapper.java View File

@@ -17,5 +17,7 @@ public interface WxFinanceFinishReceiveMapper extends CommonMapper<WxFinanceFini
List<Long> findReceiveIdList(WxFinanceFinishReceive wxBillRent);
List<Long> findFinishIdList(WxFinanceFinishReceive wxBillRent);
void deleteByCondition(WxFinanceFinishReceive wxBillRent);
}

+ 65
- 29
mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java View File

@@ -1608,33 +1608,6 @@ public class WxFinanceServiceImpl implements WxFinanceService {
return wxFinanceFinishMapper.selectById(id, tenantEntity.getTenantId());
}

@Override
public void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user) {
Date date = new Date();
if (record.getId() == null) {
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateTime(date);
record.setCreateBy(user.getId());
record.setCreateByName(user.getName());
record.setUpdateTime(date);
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
record.setStatus(EnumFinanceFinishStatus.READY.getCode());
try {
wxFinanceFinishMapper.insert(record);
} catch (Exception e) {
logger.error("保存失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
} else {
record.setUpdateTime(date);
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
wxFinanceFinishMapper.updateById(record);
}
}

@Override
public WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record) {
initQueryParam(record);
@@ -1650,7 +1623,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
WxFinanceFinish ff = new WxFinanceFinish();
ff.updateTenantInfo(record);
ff.setId(finish.getId());
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode());
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode());
ff.setUpdateTime(new Date());
ff.setUpdateBy(user.getId());
ff.setUpdateByName(user.getName());
@@ -1682,7 +1655,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
WxFinanceFinish ff = new WxFinanceFinish();
ff.updateTenantInfo(record);
ff.setId(record.getId());
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode());
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode());
ff.setUpdateTime(new Date());
ff.setUpdateBy(user.getId());
ff.setUpdateByName(user.getName());
@@ -1830,5 +1803,68 @@ public class WxFinanceServiceImpl implements WxFinanceService {
}
return null;
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})
@Override
public void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user) {
WxFinanceReceive fr = new WxFinanceReceive();
fr.updateTenantInfo(record);
fr.setIds(record.getReceiveIds());
WxFinanceReceiveSumVo vo = wxFinanceReceiveMapper.getReceiveSum(fr);
BigDecimal receive = new BigDecimal(0);
if (StringUtils.isNotBlank(vo.getTotalReceive())){
receive = new BigDecimal(vo.getTotalReceive());
}
BigDecimal pay = new BigDecimal(0);
if (StringUtils.isNotBlank(vo.getTotalPay())){
pay = new BigDecimal(vo.getTotalPay());
}
record.setTotal(receive.subtract(pay).toPlainString());
//删除之前的单据关联
WxFinanceFinishReceive frdel = new WxFinanceFinishReceive();
frdel.updateTenantInfo(record);
frdel.setFinishId(record.getId());;
wxFinanceFinishReceiveMapper.deleteByCondition(frdel);
final IdWorker idWorker = IdWorker.get();
Date date = new Date();
if (record.getId() == null) {
record.setId(idWorker.nextId());
record.setCreateTime(date);
record.setCreateBy(user.getId());
record.setCreateByName(user.getName());
record.setUpdateTime(date);
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
record.setStatus(EnumFinanceFinishStatus.UN_AUDIT.getCode());
try {
wxFinanceFinishMapper.insert(record);
} catch (Exception e) {
logger.error("保存失败,e:" + e.getMessage());
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage());
}
} else {
record.setUpdateTime(date);
record.setUpdateBy(user.getId());
record.setUpdateByName(user.getName());
wxFinanceFinishMapper.updateById(record);
}
//新增关联
for (int i = 0 ; i < record.getReceiveIds().size() ; i ++) {
Long receiveId = record.getReceiveIds().get(i);
WxFinanceFinishReceive ffr = new WxFinanceFinishReceive();
ffr.updateTenantInfo(record);
ffr.setId(idWorker.nextId());
ffr.setCreateTime(new Date());
ffr.setUpdateTime(new Date());
ffr.setStatus(record.getStatus());
ffr.setFinishId(record.getId());
ffr.setReceiveId(receiveId);
wxFinanceFinishReceiveMapper.insert(ffr);
}
}

}

+ 2
- 1
mallinkService/src/main/resources/mapper/WxFinanceFinishMapper.xml View File

@@ -22,11 +22,12 @@
<result column="buildings" jdbcType="VARCHAR" property="buildings"/>
<result column="fees" jdbcType="VARCHAR" property="fees"/>
<result column="payways" jdbcType="VARCHAR" property="payways"/>
<result column="total" jdbcType="VARCHAR" property="total"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`create_by`,`create_by_name`,`update_by`,`update_by_name`,
`status`,`remark`,`audit_remark`,`start_date`,`end_date`,`audit_time`,`audit_by`,`audit_by_name`,`buildings,`fees`,`payways`
`status`,`remark`,`audit_remark`,`start_date`,`end_date`,`audit_time`,`audit_by`,`audit_by_name`,`buildings,`fees`,`payways`,`total`
</sql>

<sql id="dynamicWhereConditions">


+ 5
- 0
mallinkService/src/main/resources/mapper/WxFinanceFinishReceiveMapper.xml View File

@@ -65,5 +65,10 @@
from wx_finance_finish_receive where id = #{id} and `tenant_id` = #{tenantId}
</select>
<delete id="deleteByCondition" parameterType="com.iformall.domain.po.WxFinanceFinishReceive">
delete from wx_finance_finish_receive
<include refid="dynamicWhereConditions"/>
</delete>
</mapper>


Loading…
Cancel
Save