From f50f27e59ad17c5bc49943aca9151b8d8f821b63 Mon Sep 17 00:00:00 2001 From: luozukai Date: Thu, 30 May 2019 14:32:13 +0800 Subject: [PATCH] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][1001653=201001703=201?= =?UTF-8?q?001699]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WxPropertyContractController.java | 1 + .../impl/WxPropertyContractServiceImpl.java | 41 +++---------------- .../impl/WxRentContractServiceImpl.java | 20 +++++---- .../resources/mapper/WxBillPropertyMapper.xml | 5 ++- .../resources/mapper/WxBillRentMapper.xml | 2 +- .../resources/mapper/WxFlowRecordMapper.xml | 8 +++- 6 files changed, 28 insertions(+), 49 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index b40efd241..426bca76a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; import java.util.Map; /** diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 697e39a29..530b20244 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -258,27 +258,11 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService if (count > 0) { return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); } - int dayType = record.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_DAY.getCode()) ? Calendar.DAY_OF_MONTH : Calendar.MONTH; //保存物业合同信息 String message; if (record.getId() == null) { final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); -// //计租开始时间 -// Calendar instance = Calendar.getInstance(); -// instance.setTime(record.getRentalStartDate()); -// instance.add(dayType, record.getLease()); -// instance.add(Calendar.DAY_OF_MONTH, -1); -// record.setRentalEndDate(instance.getTime()); -// //起租结束时间 -// if(!record.getStartDate().equals(record.getRentalStartDate())){ -// instance.clear(); -// instance.setTime(record.getRentalStartDate()); -// instance.add(Calendar.DAY_OF_MONTH, -1); -// record.setEndDate(instance.getTime()); -// }else{ -// record.setEndDate(record.getStartDate()); -// } record.setRentalStartDate(wxRentContract.getRentalStartDate()); record.setRentalEndDate(wxRentContract.getRentalEndDate()); record.setStartDate(wxRentContract.getStartDate()); @@ -307,20 +291,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService if (wxPropertyContract == null) { return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); } -// Calendar instance = Calendar.getInstance(); -// instance.setTime(record.getRentalStartDate()); -// instance.add(dayType, record.getLease()); -// instance.add(Calendar.DAY_OF_MONTH, -1); -// record.setRentalEndDate(instance.getTime()); -// //起租结束时间 -// if(!record.getStartDate().equals(record.getRentalStartDate())){ -// instance.clear(); -// instance.setTime(record.getRentalStartDate()); -// instance.add(Calendar.DAY_OF_MONTH, -1); -// record.setEndDate(instance.getTime()); -// }else{ -// record.setEndDate(record.getStartDate()); -// } record.setRentalStartDate(wxRentContract.getRentalStartDate()); record.setRentalEndDate(wxRentContract.getRentalEndDate()); record.setStartDate(wxRentContract.getStartDate()); @@ -493,12 +463,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService double priceD = price; for (int i = 1; i < size; i++) { priceD = priceD + priceD * integers.get(i) / 10000.0; - //年 需要除12 - if(EnumPriceUnit.Y.getCode().equals(wxPropertyContract.getPriceUnit())){ - priceArr[i] = new BigDecimal(priceD).divide(new BigDecimal(12),2, BigDecimal.ROUND_HALF_DOWN).setScale(0, RoundingMode.HALF_EVEN).longValue(); - }else{ - priceArr[i] = new BigDecimal(priceD).setScale(0, RoundingMode.HALF_EVEN).longValue(); - } + priceArr[i] = new BigDecimal(priceD).setScale(0, RoundingMode.HALF_EVEN).longValue(); } int month = 12; int divide = lease / month; @@ -554,6 +519,10 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService List billTimeVoList = WxRentContractServiceImpl.initBillTimeList(wxPropertyContract.getRentalStartDate(),wxPropertyContract.getRentalEndDate(),wxPropertyContract.getAdjustPeriod(),dayType,receivePeriod); int index = 0; for (BillTimeVo billTimeVo : billTimeVoList){ + if(sd.format(billTimeVo.getStartDate()).equals("2020-05-29")){ + System.out.println(); + } + if(yearList.size() > 1) { if (endDate!=null && (sd.format(billTimeVo.getStartDate()).equals(sd.format(endDate)) || billTimeVo.getStartDate().after(endDate))) { logger.info("=====billTimeVo.getStartDate():"+sd.format(billTimeVo.getStartDate())+" endDate:"+sd.format(endDate)); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index db748c40a..14c5b9755 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -98,6 +98,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { @Autowired WxMerchantShopMapper wxMerchantShopMapper; + @Autowired + WxFlowRecordMapper wxFlowRecordMapper; + @Override public Map listAsPage(WxRentContract record, Integer pageIndex, Integer pageSize) { Object rentContractStatusInfo = getRentContractStatusInfo(record); @@ -671,6 +674,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { rentContract.setApplyStatus(EnumRentContractAppStatus.CANCLE.getCode()); updateApplyStatus(rentContract); + //修改flowRecord + WxFlowRecord fr = new WxFlowRecord(); + fr.setBusinessId(id); + wxFlowRecordMapper.updateCurrStatus(fr); + logger.info("合同id:{},开始停止...", id); //结束审批流 by luozukai List tasks = taskService.createTaskQuery().processDefinitionKey(WxFlowServiceImpl.getFlowKeyByType(1)) @@ -751,13 +759,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { long[] priceArr = new long[arraySize]; for (int i = 0; i < arraySize; i++) { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - //年 需要除12 - if(EnumPriceUnit.Y.getCode().equals(priceUnit)){ - BigDecimal yprice = new BigDecimal(rentInfoObject.getString("price")).divide(new BigDecimal(12),2, BigDecimal.ROUND_HALF_DOWN); - priceArr[i] = yprice.multiply(new BigDecimal(100)).longValue(); - }else{ - priceArr[i] = new BigDecimal(rentInfoObject.getString("price")).multiply(new BigDecimal(100)).longValue(); - } + priceArr[i] = new BigDecimal(rentInfoObject.getString("price")).multiply(new BigDecimal(100)).longValue(); } priceList.add(priceArr); //大于一年 @@ -1823,8 +1825,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { public static void main(String[] args) throws Exception{ long tprice = 100; SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); - Date start = sd.parse("2019-05-13"); - Date end = sd.parse("2019-07-05"); + Date start = sd.parse("2020-05-29"); + Date end = sd.parse("2020-07-28"); System.out.println("===="+new WxRentContractServiceImpl().getNeedPay(tprice,0,start,end));; } diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index fea64e7e8..6f7ac5d24 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -30,6 +30,9 @@ + + + @@ -37,7 +40,7 @@ `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`, `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`, - `pay_way`,`late_pay_status`,`comments` + `pay_way`,`late_pay_status`,`comments`,starttime,endtime diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 58b8a8ff7..3591f2d77 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -40,7 +40,7 @@ `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`, `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`, - `pay_way`,`late_pay_status`,`comments` + `pay_way`,`late_pay_status`,`comments`,starttime,endtime diff --git a/mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml index 2745c7c7c..6ea8aceb8 100644 --- a/mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFlowRecordMapper.xml @@ -72,8 +72,12 @@ - update wx_flow_record set curr_status=#{currStatus} where process_instance_id=#{processInstanceId} - and status = 1 + update wx_flow_record set curr_status=#{currStatus} + + and status = 1 + and process_instance_id=#{processInstanceId} + and business_id = #{businessId} +