|
|
@@ -24,6 +24,7 @@ import com.iformall.enums.EnumBillExtraCreateFrom; |
|
|
import com.iformall.enums.EnumFeesShopTimeType; |
|
|
import com.iformall.enums.EnumFeesShopTimeType; |
|
|
import com.iformall.enums.EnumRentContractAdjustPeriod; |
|
|
import com.iformall.enums.EnumRentContractAdjustPeriod; |
|
|
import com.iformall.enums.EnumRentContractAgilPriceUnit; |
|
|
import com.iformall.enums.EnumRentContractAgilPriceUnit; |
|
|
|
|
|
import com.iformall.enums.EnumRentContractAgilSettingMethod; |
|
|
import com.iformall.enums.EnumRentContractAgilTimeUnit; |
|
|
import com.iformall.enums.EnumRentContractAgilTimeUnit; |
|
|
import com.iformall.enums.EnumRentContractAgileFeesType; |
|
|
import com.iformall.enums.EnumRentContractAgileFeesType; |
|
|
import com.iformall.enums.EnumRentContractAppStatus; |
|
|
import com.iformall.enums.EnumRentContractAppStatus; |
|
|
@@ -63,6 +64,7 @@ import java.util.ArrayList; |
|
|
import java.util.Calendar; |
|
|
import java.util.Calendar; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.HashMap; |
|
|
import java.util.HashMap; |
|
|
|
|
|
import java.util.Iterator; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
@@ -261,9 +263,46 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
itemdel.setUnDepositId(unDeposit.getId()); |
|
|
itemdel.setUnDepositId(unDeposit.getId()); |
|
|
wxRentContractAgileUnDepositItemMapper.deleteByUnDeposit(itemdel); |
|
|
wxRentContractAgileUnDepositItemMapper.deleteByUnDeposit(itemdel); |
|
|
} |
|
|
} |
|
|
Date lastEndDate = null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//如果是按店铺,则每个店铺都要校验 |
|
|
|
|
|
if (unDeposit.getSettingMethod() == EnumRentContractAgilSettingMethod.BY_CONTRACT.getCode()) { |
|
|
|
|
|
validItem(unDeposit.getItems(), contract); |
|
|
|
|
|
}else { |
|
|
|
|
|
Map<String,List<WxRentContractAgileUnDepositItem>> shopNumberUnDepositItems = new HashMap<String,List<WxRentContractAgileUnDepositItem>>(); |
|
|
|
|
|
for (int i = 0 ; i < unDeposit.getItems().size(); i++) { |
|
|
|
|
|
WxRentContractAgileUnDepositItem item = unDeposit.getItems().get(i); |
|
|
|
|
|
List<WxRentContractAgileUnDepositItem> list = shopNumberUnDepositItems.get(item.getShopNumber()); |
|
|
|
|
|
if (null == list) { |
|
|
|
|
|
list = new ArrayList<WxRentContractAgileUnDepositItem>(); |
|
|
|
|
|
} |
|
|
|
|
|
list.add(item); |
|
|
|
|
|
} |
|
|
|
|
|
for (Iterator<String> it = shopNumberUnDepositItems.keySet().iterator(); it.hasNext();) { |
|
|
|
|
|
String shopNumber = it.next(); |
|
|
|
|
|
validItem(shopNumberUnDepositItems.get(shopNumber), contract); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0 ; i < unDeposit.getItems().size(); i++) { |
|
|
for (int i = 0 ; i < unDeposit.getItems().size(); i++) { |
|
|
WxRentContractAgileUnDepositItem item = unDeposit.getItems().get(i); |
|
|
WxRentContractAgileUnDepositItem item = unDeposit.getItems().get(i); |
|
|
|
|
|
item.setRentContractId(unDeposit.getRentContractId()); |
|
|
|
|
|
item.setUnDepositId(unDeposit.getId()); |
|
|
|
|
|
item.setMerchantId(unDeposit.getMerchantId()); |
|
|
|
|
|
item.setFeesId(unDeposit.getFeesId()); |
|
|
|
|
|
item.setId(idWorker.nextId()); |
|
|
|
|
|
item.updateTenantInfo(contract); |
|
|
|
|
|
item.setCreatetime(new Date()); |
|
|
|
|
|
item.setUpdatetime(new Date()); |
|
|
|
|
|
wxRentContractAgileUnDepositItemMapper.insert(item); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void validItem(List<WxRentContractAgileUnDepositItem> itemList,WxRentContract contract) { |
|
|
|
|
|
Date lastEndDate = null; |
|
|
|
|
|
for (int i = 0 ; i < itemList.size(); i++) { |
|
|
|
|
|
WxRentContractAgileUnDepositItem item = itemList.get(i); |
|
|
//判断时间是不是连这的 |
|
|
//判断时间是不是连这的 |
|
|
if (i == 0) { |
|
|
if (i == 0) { |
|
|
lastEndDate = item.getEndTime(); |
|
|
lastEndDate = item.getEndTime(); |
|
|
@@ -277,23 +316,13 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (i == unDeposit.getItems().size()-1) { |
|
|
|
|
|
|
|
|
if (i == itemList.size()-1) { |
|
|
if (!item.getEndTime().equals(contract.getRentalEndDate())) { |
|
|
if (!item.getEndTime().equals(contract.getRentalEndDate())) { |
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"结尾时间需要和合同结束时间一致"); |
|
|
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"结尾时间需要和合同结束时间一致"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
item.setRentContractId(unDeposit.getRentContractId()); |
|
|
|
|
|
item.setUnDepositId(unDeposit.getId()); |
|
|
|
|
|
item.setMerchantId(unDeposit.getMerchantId()); |
|
|
|
|
|
item.setFeesId(unDeposit.getFeesId()); |
|
|
|
|
|
item.setId(idWorker.nextId()); |
|
|
|
|
|
item.updateTenantInfo(contract); |
|
|
|
|
|
item.setCreatetime(new Date()); |
|
|
|
|
|
item.setUpdatetime(new Date()); |
|
|
|
|
|
wxRentContractAgileUnDepositItemMapper.insert(item); |
|
|
|
|
|
lastEndDate = item.getEndTime(); |
|
|
lastEndDate = item.getEndTime(); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@@ -308,7 +337,7 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
} |
|
|
} |
|
|
WxRentContractAgileUnDepositItem itemq = new WxRentContractAgileUnDepositItem(); |
|
|
WxRentContractAgileUnDepositItem itemq = new WxRentContractAgileUnDepositItem(); |
|
|
itemq.updateTenantInfo(ud); |
|
|
itemq.updateTenantInfo(ud); |
|
|
itemq.setUnDepositId(unDeposit.getId()); |
|
|
|
|
|
|
|
|
itemq.setUnDepositId(ud.getId()); |
|
|
ud.setItems(wxRentContractAgileUnDepositItemMapper.findList(itemq)); |
|
|
ud.setItems(wxRentContractAgileUnDepositItemMapper.findList(itemq)); |
|
|
return ud; |
|
|
return ud; |
|
|
} |
|
|
} |
|
|
|