| @@ -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(); | ||||
| } | } | ||||
| @@ -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; | ||||
| @@ -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) { | ||||
| @@ -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); | |||||
| } | } | ||||
| @@ -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); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -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"> | ||||
| @@ -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> | ||||