winter 1 год назад
Родитель
Сommit
41397c0859
1 измененных файлов: 42 добавлений и 13 удалений
  1. +42
    -13
      mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java

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

@@ -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


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