|
|
|
@@ -25,6 +25,7 @@ import com.iformall.domain.po.base.TenantEntity; |
|
|
|
import com.iformall.domain.vo.BillTimeVo; |
|
|
|
import com.iformall.enums.EnumBillAllType; |
|
|
|
import com.iformall.enums.EnumBillExtraCreateFrom; |
|
|
|
import com.iformall.enums.EnumContractCustomersStatus; |
|
|
|
import com.iformall.enums.EnumFeesShopTimeType; |
|
|
|
import com.iformall.enums.EnumRentContractAdjustPeriod; |
|
|
|
import com.iformall.enums.EnumRentContractAgilPriceUnit; |
|
|
|
@@ -164,6 +165,10 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
|
if (StringUtils.isEmpty(record.getDeposit())) { |
|
|
|
record.setDeposit("0"); |
|
|
|
} |
|
|
|
List<Long> shopList = record.shopIdsByRentInfo(); |
|
|
|
setShops(record,shopList); |
|
|
|
//关联客户 |
|
|
|
setCustomers(record); |
|
|
|
try { |
|
|
|
record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); |
|
|
|
record.setStatus(EnumRentContractStatus.DRAFT.getCode()); |
|
|
|
@@ -179,6 +184,58 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
|
|
|
|
|
return new ResultData(Result.SUCCESS, "保存合同信息成功", record); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void setCustomers(WxRentContract record) { |
|
|
|
WxContractCustomers cq = new WxContractCustomers(); |
|
|
|
cq.updateTenantInfo(record); |
|
|
|
cq.setPrincipalType(record.getCustomerType()); |
|
|
|
cq.setNameEqal(record.getCustomerName()); |
|
|
|
cq.setPhoneEqal(record.getCustomerPhone()); |
|
|
|
List<WxContractCustomers> list = wxContractCustomersMapper.findList(cq); |
|
|
|
WxContractCustomers cus = null; |
|
|
|
if (null != list && list.size() > 0 ){ |
|
|
|
cus = list.get(0); |
|
|
|
} |
|
|
|
if (null == cus) { |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
cus = new WxContractCustomers(); |
|
|
|
cus.updateTenantInfo(record); |
|
|
|
cus.setId(idWorker.nextId()); |
|
|
|
cus.setPrincipalType(record.getCustomerType()); |
|
|
|
cus.setName(record.getCustomerName()); |
|
|
|
cus.setPhone(record.getCustomerPhone()); |
|
|
|
cus.setLegalPerson(record.getCustomerLegalPerson()); |
|
|
|
cus.setLinkPerson(record.getCustomerLinkPerson()); |
|
|
|
cus.setCreateDate(new Date()); |
|
|
|
cus.setUpdateDate(new Date()); |
|
|
|
cus.setStatus(EnumContractCustomersStatus.TEMP.getCode()); |
|
|
|
wxContractCustomersMapper.insert(cus); |
|
|
|
} |
|
|
|
record.setCustomersId(cus.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
public void setShops(WxRentContract record,List<Long> shopIdList) { |
|
|
|
WxContractShop sdel = new WxContractShop(); |
|
|
|
sdel.updateTenantInfo(record); |
|
|
|
sdel.setContractId(record.getId()); |
|
|
|
wxContractShopMapper.deleteByCondition(sdel); |
|
|
|
|
|
|
|
if (null != shopIdList && shopIdList.size() > 0 ) { |
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
for ( int i = 0 ; i < shopIdList.size(); i ++) { |
|
|
|
WxContractShop s = new WxContractShop(); |
|
|
|
s.updateTenantInfo(record); |
|
|
|
s.setContractId(record.getId()); |
|
|
|
s.setShopId(shopIdList.get(i)); |
|
|
|
s.setCreateDate(new Date()); |
|
|
|
s.setUpdateDate(new Date()); |
|
|
|
s.setId(idWorker.nextId()); |
|
|
|
wxContractShopMapper.insert(s); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) |
|
|
|
@Override |
|
|
|
@@ -629,6 +686,10 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { |
|
|
|
return wxContractCustomersMapper.selectById(customerId, tenantEntity.getTenantId()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public PageInfo<WxContractCustomers> getContractCustomersList(WxContractCustomers record, Integer pageIndex, Integer pageSize) { |
|
|
|
PageInfo<WxContractCustomers> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxContractCustomersMapper.findList(record)); |
|
|
|
return pageInfo; |
|
|
|
} |
|
|
|
|
|
|
|
} |