| @@ -7,7 +7,6 @@ import com.iformall.controller.base.BaseController; | |||||
| import com.iformall.domain.po.MallUserInfo; | import com.iformall.domain.po.MallUserInfo; | ||||
| import com.iformall.domain.po.WxBillProperty; | import com.iformall.domain.po.WxBillProperty; | ||||
| import com.iformall.domain.po.WxPropertyContract; | import com.iformall.domain.po.WxPropertyContract; | ||||
| import com.iformall.domain.po.WxRentContract; | |||||
| import com.iformall.enums.EnumRentStartType; | import com.iformall.enums.EnumRentStartType; | ||||
| import com.iformall.mapper.WxPropertyContractMapper; | import com.iformall.mapper.WxPropertyContractMapper; | ||||
| import com.iformall.service.WxBillPropertyService; | import com.iformall.service.WxBillPropertyService; | ||||
| @@ -21,6 +20,7 @@ import org.springframework.web.bind.annotation.*; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.Date; | |||||
| import java.util.Map; | import java.util.Map; | ||||
| /** | /** | ||||
| @@ -60,7 +60,11 @@ public class WxPropertyContractController extends BaseController { | |||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| wxPropertyContract.setTenantId(user.getTenantId()); | wxPropertyContract.setTenantId(user.getTenantId()); | ||||
| wxPropertyContract.setAdjustPeriodHandle(); | wxPropertyContract.setAdjustPeriodHandle(); | ||||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName()); | |||||
| if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | |||||
| wxPropertyContract.setRentalStartDate(wxPropertyContract.getStartDate()); | |||||
| } | |||||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(),0); | |||||
| } | } | ||||
| @PostMapping("updateRentStartTime") | @PostMapping("updateRentStartTime") | ||||
| @@ -77,7 +81,7 @@ public class WxPropertyContractController extends BaseController { | |||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| propertyContract.setTenantId(user.getTenantId()); | propertyContract.setTenantId(user.getTenantId()); | ||||
| propertyContract.setAdjustPeriodHandle(); | propertyContract.setAdjustPeriodHandle(); | ||||
| return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName()); | |||||
| return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName(),1); | |||||
| } | } | ||||
| @@ -88,7 +92,7 @@ public class WxPropertyContractController extends BaseController { | |||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| wxPropertyContract.setTenantId(user.getTenantId()); | wxPropertyContract.setTenantId(user.getTenantId()); | ||||
| wxPropertyContract.setAdjustPeriodHandle(); | wxPropertyContract.setAdjustPeriodHandle(); | ||||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName()); | |||||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(),0); | |||||
| } | } | ||||
| @GetMapping("/del") | @GetMapping("/del") | ||||
| @@ -89,10 +89,11 @@ public class WxRentContractController extends BaseController { | |||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| wxRentContract.setTenantId(user.getTenantId()); | wxRentContract.setTenantId(user.getTenantId()); | ||||
| wxRentContract.setAdjustPeriodHandle(); | wxRentContract.setAdjustPeriodHandle(); | ||||
| Date oldDate = wxRentContract.getRentalStartDate(); | |||||
| if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.save(wxRentContract, user.getId(),user.getName()); | |||||
| return wxRentContractService.save(wxRentContract, user.getId(),user.getName(),oldDate); | |||||
| } | } | ||||
| @PostMapping("updateRentStartTime") | @PostMapping("updateRentStartTime") | ||||
| @@ -101,7 +102,7 @@ public class WxRentContractController extends BaseController { | |||||
| logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentStartTime"); | logger.debug("[" + getIpAddr() + "] WxRentContractController::updateRentStartTime"); | ||||
| WxRentContract rentContract = wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()); | WxRentContract rentContract = wxRentContractMapper.selectByPrimaryKey(wxRentContract.getId()); | ||||
| rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); | rentContract.setRentalStartDate(wxRentContract.getRentalStartDate()); | ||||
| Date oldDate = wxRentContract.getRentalStartDate(); | |||||
| if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| rentContract.setRentalStartDate(rentContract.getStartDate()); | rentContract.setRentalStartDate(rentContract.getStartDate()); | ||||
| } | } | ||||
| @@ -109,7 +110,7 @@ public class WxRentContractController extends BaseController { | |||||
| rentContract.setTenantId(user.getTenantId()); | rentContract.setTenantId(user.getTenantId()); | ||||
| rentContract.setAdjustPeriodHandle(); | rentContract.setAdjustPeriodHandle(); | ||||
| rentContract.setRentPriceHandle(); | rentContract.setRentPriceHandle(); | ||||
| return wxRentContractService.update(rentContract, user.getId(),user.getName()); | |||||
| return wxRentContractService.update(rentContract, user.getId(),user.getName(),1,oldDate); | |||||
| } | } | ||||
| @PostMapping("update") | @PostMapping("update") | ||||
| @@ -120,10 +121,11 @@ public class WxRentContractController extends BaseController { | |||||
| wxRentContract.setTenantId(user.getTenantId()); | wxRentContract.setTenantId(user.getTenantId()); | ||||
| wxRentContract.setAdjustPeriodHandle(); | wxRentContract.setAdjustPeriodHandle(); | ||||
| wxRentContract.setRentPriceHandle(); | wxRentContract.setRentPriceHandle(); | ||||
| Date oldDate = wxRentContract.getRentalStartDate(); | |||||
| if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName()); | |||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),0,oldDate); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -139,11 +141,11 @@ public class WxRentContractController extends BaseController { | |||||
| wxRentContract.setTenantId(user.getTenantId()); | wxRentContract.setTenantId(user.getTenantId()); | ||||
| wxRentContract.setAdjustPeriodHandle(); | wxRentContract.setAdjustPeriodHandle(); | ||||
| wxRentContract.setRentPriceHandle(); | wxRentContract.setRentPriceHandle(); | ||||
| Date oldDate = wxRentContract.getRentalStartDate(); | |||||
| if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null &&wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName()); | |||||
| return wxRentContractService.update(wxRentContract, user.getId(),user.getName(),0,oldDate); | |||||
| } | } | ||||
| @PostMapping("updateFile") | @PostMapping("updateFile") | ||||
| @@ -154,10 +156,11 @@ public class WxRentContractController extends BaseController { | |||||
| wxRentContract.setTenantId(user.getTenantId()); | wxRentContract.setTenantId(user.getTenantId()); | ||||
| wxRentContract.setAdjustPeriodHandle(); | wxRentContract.setAdjustPeriodHandle(); | ||||
| wxRentContract.setRentPriceHandle(); | wxRentContract.setRentPriceHandle(); | ||||
| Date oldDate = wxRentContract.getRentalStartDate(); | |||||
| if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxRentContract.getRentStartType()!=null && wxRentContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | wxRentContract.setRentalStartDate(wxRentContract.getStartDate()); | ||||
| } | } | ||||
| return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName()); | |||||
| return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName(),oldDate); | |||||
| } | } | ||||
| @GetMapping("/del") | @GetMapping("/del") | ||||
| @@ -40,7 +40,7 @@ public interface WxPropertyContractService { | |||||
| * @param userId | * @param userId | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| ResultData saveOrUpdate(WxPropertyContract record, Long userId,String userName); | |||||
| ResultData saveOrUpdate(WxPropertyContract record, Long userId,String userName,int from); | |||||
| /** | /** | ||||
| * 根据Id删除实体 | * 根据Id删除实体 | ||||
| @@ -8,6 +8,7 @@ import io.swagger.models.auth.In; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.Date; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -41,9 +42,9 @@ public interface WxRentContractService { | |||||
| * @param userName | * @param userName | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| ResultData save(WxRentContract record,Long userId,String userName); | |||||
| ResultData save(WxRentContract record,Long userId,String userName,Date oldRentStartDate); | |||||
| ResultData update(WxRentContract record, Long userId,String userName); | |||||
| ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate); | |||||
| /** | /** | ||||
| * 根据Id删除实体 | * 根据Id删除实体 | ||||
| @@ -65,7 +66,7 @@ public interface WxRentContractService { | |||||
| void exportContract(HttpServletRequest request, HttpServletResponse response, String tenantId, Long id); | void exportContract(HttpServletRequest request, HttpServletResponse response, String tenantId, Long id); | ||||
| ResultData updateFile(WxRentContract wxRentContract, Long userId,String userName); | |||||
| ResultData updateFile(WxRentContract wxRentContract, Long userId,String userName,Date oldRentStartDate); | |||||
| ResultData updateRentContractStatus(Long id); | ResultData updateRentContractStatus(Long id); | ||||
| @@ -200,7 +200,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| @Override | @Override | ||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| public ResultData saveOrUpdate(WxPropertyContract record, Long userId,String userName) { | |||||
| public ResultData saveOrUpdate(WxPropertyContract record, Long userId,String userName,int from) { | |||||
| // 保存调整金额(预账单调整) | // 保存调整金额(预账单调整) | ||||
| boolean haspreview = false; | boolean haspreview = false; | ||||
| if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | ||||
| @@ -289,7 +289,9 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| if (wxPropertyContract == null) { | if (wxPropertyContract == null) { | ||||
| return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); | return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); | ||||
| } | } | ||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| if(from != 1){ | |||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| } | |||||
| record.setRentalEndDate(wxRentContract.getRentalEndDate()); | record.setRentalEndDate(wxRentContract.getRentalEndDate()); | ||||
| record.setStartDate(wxRentContract.getStartDate()); | record.setStartDate(wxRentContract.getStartDate()); | ||||
| record.setEndDate(wxRentContract.getEndDate()); | record.setEndDate(wxRentContract.getEndDate()); | ||||
| @@ -246,7 +246,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public ResultData save(WxRentContract record,Long userId,String userName) { | |||||
| public ResultData save(WxRentContract record,Long userId,String userName,Date oldRentStartDate) { | |||||
| //保存租赁合同信息 | //保存租赁合同信息 | ||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| record.setId(idWorker.nextId()); | record.setId(idWorker.nextId()); | ||||
| @@ -343,7 +343,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| try { | try { | ||||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | ||||
| Date tempDate = record.getRentalStartDate(); | |||||
| record.setRentalStartDate(oldRentStartDate); | |||||
| wxRentContractMapper.insertSelective(record); | wxRentContractMapper.insertSelective(record); | ||||
| record.setRentalStartDate(tempDate); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("保存租赁合同信息失败,e:" + e.getMessage()); | logger.error("保存租赁合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| @@ -378,7 +382,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| @Override | @Override | ||||
| public ResultData update(WxRentContract record, Long userId,String userName) { | |||||
| public ResultData update(WxRentContract record, Long userId,String userName,int from,Date oldRentStartDate) { | |||||
| //查询预账单用于展示 | //查询预账单用于展示 | ||||
| WxBillRent wxBillRent = new WxBillRent(); | WxBillRent wxBillRent = new WxBillRent(); | ||||
| wxBillRent.setRentContractId(record.getId()); | wxBillRent.setRentContractId(record.getId()); | ||||
| @@ -387,7 +391,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| List<WxBillRent> resultList = wxBillRentMapper.findList(wxBillRent); | List<WxBillRent> resultList = wxBillRentMapper.findList(wxBillRent); | ||||
| //更新 | //更新 | ||||
| ResultData resultData = getResultDataForUpdate(record, userId); | |||||
| ResultData resultData = getResultDataForUpdate(record, userId,from,oldRentStartDate); | |||||
| if (resultData.code != Result.SUCCESS) { | if (resultData.code != Result.SUCCESS) { | ||||
| return resultData; | return resultData; | ||||
| } | } | ||||
| @@ -428,7 +432,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| return new ResultData(wxRentContract); | return new ResultData(wxRentContract); | ||||
| } | } | ||||
| public ResultData getResultDataForUpdate(WxRentContract record, Long userId) { | |||||
| public ResultData getResultDataForUpdate(WxRentContract record, Long userId,int from,Date oldRentStartDate) { | |||||
| //更新租赁合同信息 | //更新租赁合同信息 | ||||
| WxRentContract wxRentContract = wxRentContractMapper.selectByPrimaryKey(record.getId()); | WxRentContract wxRentContract = wxRentContractMapper.selectByPrimaryKey(record.getId()); | ||||
| if (wxRentContract == null) { | if (wxRentContract == null) { | ||||
| @@ -441,20 +445,23 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| instance.add(dayType, record.getLease()); | instance.add(dayType, record.getLease()); | ||||
| instance.add(Calendar.DAY_OF_MONTH, -1); | instance.add(Calendar.DAY_OF_MONTH, -1); | ||||
| if (record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { | |||||
| BigDecimal hundred = new BigDecimal(100); | |||||
| BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred); | |||||
| BigDecimal payRatio = new BigDecimal(record.getPayRatio() == null ? 0 : record.getPayRatio()).divide(new BigDecimal(10000)); | |||||
| BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN); | |||||
| record.setPrice(price.multiply(hundred).longValue()); | |||||
| } else { | |||||
| if (StringUtils.isNotEmpty(record.getPriceStr())) { | |||||
| record.setPrice(new BigDecimal(record.getPriceStr()).multiply(new BigDecimal(100)).longValue()); | |||||
| if(from != 1){ | |||||
| if (record.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { | |||||
| BigDecimal hundred = new BigDecimal(100); | |||||
| BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred); | |||||
| BigDecimal payRatio = new BigDecimal(record.getPayRatio() == null ? 0 : record.getPayRatio()).divide(new BigDecimal(10000)); | |||||
| BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN); | |||||
| record.setPrice(price.multiply(hundred).longValue()); | |||||
| } else { | } else { | ||||
| record.setPrice(0L); | |||||
| if (StringUtils.isNotEmpty(record.getPriceStr())) { | |||||
| record.setPrice(new BigDecimal(record.getPriceStr()).multiply(new BigDecimal(100)).longValue()); | |||||
| } else { | |||||
| record.setPrice(0L); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| if (StringUtils.isNotEmpty(record.getDepositStr())) { | if (StringUtils.isNotEmpty(record.getDepositStr())) { | ||||
| record.setDeposit(new BigDecimal(record.getDepositStr()).multiply(new BigDecimal(100)).longValue()); | record.setDeposit(new BigDecimal(record.getDepositStr()).multiply(new BigDecimal(100)).longValue()); | ||||
| } else { | } else { | ||||
| @@ -519,7 +526,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| } | } | ||||
| try { | try { | ||||
| Date tempDate = record.getRentalStartDate(); | |||||
| record.setRentalStartDate(oldRentStartDate); | |||||
| wxRentContractMapper.updateByPrimaryKeySelective(record); | wxRentContractMapper.updateByPrimaryKeySelective(record); | ||||
| record.setRentalStartDate(tempDate); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("更新租赁合同信息失败,e:" + e.getMessage()); | logger.error("更新租赁合同信息失败,e:" + e.getMessage()); | ||||
| throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); | ||||
| @@ -1247,14 +1257,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| @Override | @Override | ||||
| @Transactional(rollbackFor = {Exception.class}) | @Transactional(rollbackFor = {Exception.class}) | ||||
| public ResultData updateFile(WxRentContract record, Long userId,String userName) { | |||||
| public ResultData updateFile(WxRentContract record, Long userId,String userName,Date oldRentStartDate) { | |||||
| // 保存调整金额(预账单调整) | // 保存调整金额(预账单调整) | ||||
| if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | if(!CollectionUtils.isEmpty(record.getPreviewBillRentList())){ | ||||
| for (WxBillRent wxBillRent:record.getPreviewBillRentList()) { | for (WxBillRent wxBillRent:record.getPreviewBillRentList()) { | ||||
| wxBillRentMapper.update(wxBillRent); | wxBillRentMapper.update(wxBillRent); | ||||
| } | } | ||||
| } | } | ||||
| ResultData resultData = getResultDataForUpdate(record, userId); | |||||
| ResultData resultData = getResultDataForUpdate(record, userId,0,oldRentStartDate); | |||||
| if (resultData.code != Result.SUCCESS) { | if (resultData.code != Result.SUCCESS) { | ||||
| return resultData; | return resultData; | ||||
| } | } | ||||