winter 1 год назад
Родитель
Сommit
317e28dafa
7 измененных файлов: 86 добавлений и 37 удалений
  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 Просмотреть файл

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


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxFinanceFinish.java Просмотреть файл

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


+ 2
- 3
mallinkService/src/main/java/com/iformall/enums/EnumFinanceFinishStatus.java Просмотреть файл

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


public enum EnumFinanceFinishStatus { public enum EnumFinanceFinishStatus {


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


public static EnumFinanceFinishStatus getEnum(Integer code) { public static EnumFinanceFinishStatus getEnum(Integer code) {


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

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

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

@@ -1608,33 +1608,6 @@ public class WxFinanceServiceImpl implements WxFinanceService {
return wxFinanceFinishMapper.selectById(id, tenantEntity.getTenantId()); 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 @Override
public WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record) { public WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record) {
initQueryParam(record); initQueryParam(record);
@@ -1650,7 +1623,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
WxFinanceFinish ff = new WxFinanceFinish(); WxFinanceFinish ff = new WxFinanceFinish();
ff.updateTenantInfo(record); ff.updateTenantInfo(record);
ff.setId(finish.getId()); ff.setId(finish.getId());
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode());
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode());
ff.setUpdateTime(new Date()); ff.setUpdateTime(new Date());
ff.setUpdateBy(user.getId()); ff.setUpdateBy(user.getId());
ff.setUpdateByName(user.getName()); ff.setUpdateByName(user.getName());
@@ -1682,7 +1655,7 @@ public class WxFinanceServiceImpl implements WxFinanceService {
WxFinanceFinish ff = new WxFinanceFinish(); WxFinanceFinish ff = new WxFinanceFinish();
ff.updateTenantInfo(record); ff.updateTenantInfo(record);
ff.setId(record.getId()); ff.setId(record.getId());
ff.setStatus(EnumFinanceFinishStatus.COMPLETE.getCode());
ff.setStatus(EnumFinanceFinishStatus.AUDITED.getCode());
ff.setUpdateTime(new Date()); ff.setUpdateTime(new Date());
ff.setUpdateBy(user.getId()); ff.setUpdateBy(user.getId());
ff.setUpdateByName(user.getName()); ff.setUpdateByName(user.getName());
@@ -1830,5 +1803,68 @@ public class WxFinanceServiceImpl implements WxFinanceService {
} }
return null; 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 Просмотреть файл

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


<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`create_by`,`create_by_name`,`update_by`,`update_by_name`, `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>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


+ 5
- 0
mallinkService/src/main/resources/mapper/WxFinanceFinishReceiveMapper.xml Просмотреть файл

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



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