|
@@ -253,7 +253,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
out24Details.setNum(num).setItemTypeName(PartFeeEnum.OUT_24_HOURS.getDesc())
|
|
out24Details.setNum(num).setItemTypeName(PartFeeEnum.OUT_24_HOURS.getDesc())
|
|
.setUnitPrice(unitPrice).setItemPrice(out24Price).setModule(payType.getDesc()).setBusinessId(bindIdStr);
|
|
.setUnitPrice(unitPrice).setItemPrice(out24Price).setModule(payType.getDesc()).setBusinessId(bindIdStr);
|
|
setFee(out24Details, car, transactionId, outTradeNo, now);
|
|
setFee(out24Details, car, transactionId, outTradeNo, now);
|
|
- type = StrUtil.isEmpty(out24Details.getId()) ? SyncTypeEnum.INSERT.getCode() :SyncTypeEnum.UPDATE.getCode();
|
|
|
|
|
|
+ type = StrUtil.isEmpty(out24Details.getId()) ? SyncTypeEnum.INSERT.getCode() : SyncTypeEnum.UPDATE.getCode();
|
|
saveOrUpdate(out24Details);
|
|
saveOrUpdate(out24Details);
|
|
taskService.addTask(new FeeDetailSyncTask(RandomUtil.randomNumbers(10), 1000, out24Details.getId(), type));
|
|
taskService.addTask(new FeeDetailSyncTask(RandomUtil.randomNumbers(10), 1000, out24Details.getId(), type));
|
|
details.add(out24Details);
|
|
details.add(out24Details);
|
|
@@ -320,7 +320,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
TbGoods businessCfg = tbGoodsService.getById(business.getGoodsId());
|
|
TbGoods businessCfg = tbGoodsService.getById(business.getGoodsId());
|
|
if ((GoodsEnum.LeaveEnum.BUSINESS_MONEY.getCode().equals(businessCfg.getChinaCarLeave())
|
|
if ((GoodsEnum.LeaveEnum.BUSINESS_MONEY.getCode().equals(businessCfg.getChinaCarLeave())
|
|
|| GoodsEnum.LeaveEnum.APART_BUSINESS.getCode().equals(businessCfg.getChinaCarLeave()))
|
|
|| GoodsEnum.LeaveEnum.APART_BUSINESS.getCode().equals(businessCfg.getChinaCarLeave()))
|
|
- &&GoodsEnum.LeaveEnum.PART_MONEY.getCode().equals(businessCfg.getVietnamCarLeave())) {
|
|
|
|
|
|
+ && GoodsEnum.LeaveEnum.PART_MONEY.getCode().equals(businessCfg.getVietnamCarLeave())) {
|
|
carNo = business.getChinaCarNo();
|
|
carNo = business.getChinaCarNo();
|
|
}
|
|
}
|
|
String businessCarIds = "";
|
|
String businessCarIds = "";
|
|
@@ -358,107 +358,15 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
return feeDetails;
|
|
return feeDetails;
|
|
}
|
|
}
|
|
|
|
|
|
- /*public String export(SoMap so) throws Exception{
|
|
|
|
- Date now = new Date();
|
|
|
|
- String nowStr = DateUtil.format(now, "yyyy-MM-dd HH:mm");
|
|
|
|
- String beginTime = so.getString("beginTime");
|
|
|
|
- String endTime = so.getString("endTime");
|
|
|
|
- String time = beginTime + "至" + endTime;
|
|
|
|
- Map<String, String> head = new HashMap<>();
|
|
|
|
- head.put("time", time);
|
|
|
|
- head.put("exportTime", nowStr);
|
|
|
|
- String inCarNum = "";
|
|
|
|
- String outPayCarNum = "";
|
|
|
|
- String notOutCarNum = "";
|
|
|
|
- boolean isIn = checkTimeRange(beginTime, endTime, now);
|
|
|
|
- if(isIn){
|
|
|
|
- inCarNum = getInCarNum(now) + "";
|
|
|
|
- outPayCarNum = getOutAndPayCarNum(now) + "";
|
|
|
|
- notOutCarNum = getNotOutCarNum(now) + "";
|
|
|
|
- }
|
|
|
|
- head.put("inCarNum", inCarNum);
|
|
|
|
- head.put("outPayCarNum", outPayCarNum);
|
|
|
|
- head.put("notOutCarNum", notOutCarNum);
|
|
|
|
-
|
|
|
|
- BigDecimal toDayFee = new BigDecimal(0);
|
|
|
|
- BigDecimal allDayFee = new BigDecimal(0);
|
|
|
|
- BigDecimal allParkFee = new BigDecimal(0);
|
|
|
|
- BigDecimal allDayTaxes = new BigDecimal(0);
|
|
|
|
- BigDecimal allDayNoTaxFee = new BigDecimal(0);
|
|
|
|
- List<ExportFeeDetailDTO> exportList = new ArrayList<>();
|
|
|
|
- List<TbFeeDetails> list = this.getList(so);
|
|
|
|
- Integer index = 1;
|
|
|
|
- for (TbFeeDetails feeDetails : list) {
|
|
|
|
- String feeType = FeeTypeEnum.getDesc(feeDetails.getFeeType());
|
|
|
|
- ExportFeeDetailDTO detailDTO = new ExportFeeDetailDTO();
|
|
|
|
- detailDTO.setBusinessNo(feeDetails.getBusinessNo()).setCarNo(feeDetails.getCarNo())
|
|
|
|
- .setFeeType(feeType).setItemTypeName(feeDetails.getItemTypeName())
|
|
|
|
- .setItemName(feeDetails.getItemName()).setItemPrice(feeDetails.getItemPrice())
|
|
|
|
- .setPayType("微信支付").setIndex(index++)
|
|
|
|
- .setPayMode("直接收款")
|
|
|
|
- .setWeight(feeDetails.getWeight()).setNum(feeDetails.getNum()).setUnitPrice(feeDetails.getUnitPrice())
|
|
|
|
- .setSettle("已结算").setTaxRate(feeDetails.getTaxRate().multiply(new BigDecimal(100)))
|
|
|
|
- .setTaxPrice(feeDetails.getTaxPrice()).setNoTaxPrice(feeDetails.getNoTaxPrice()).setPayTime(feeDetails.getPayTime())
|
|
|
|
- .setPickCustomerName(feeDetails.getPickCustomerName())
|
|
|
|
- .setCustomerName(feeDetails.getCustomerName())
|
|
|
|
- .setTransactionId(feeDetails.getTransactionId())
|
|
|
|
- .setKaiDanPerson(feeDetails.getKaiDanPerson())
|
|
|
|
- .setJiChaPerson(feeDetails.getJiChaPerson())
|
|
|
|
- .setDiaoDuPerson(feeDetails.getDiaoDuPerson());
|
|
|
|
- if(!StrUtil.isEmpty(feeDetails.getBusinessId())){
|
|
|
|
- detailDTO.setBusinessNo(feeDetails.getBusinessNo());
|
|
|
|
- }else {
|
|
|
|
- detailDTO.setBusinessNo(feeDetails.getBusinessCarNo());
|
|
|
|
- }
|
|
|
|
- exportList.add(detailDTO);
|
|
|
|
- if(checkTimeRange(nowStr, nowStr, feeDetails.getCreateTime()) && feeDetails.getFeeType()==FeeTypeEnum.PARK_FEE.getCode()){
|
|
|
|
- toDayFee = toDayFee.add(feeDetails.getItemPrice());
|
|
|
|
- }
|
|
|
|
- if(feeDetails.getFeeType()==FeeTypeEnum.PARK_FEE.getCode()){
|
|
|
|
- allParkFee = allParkFee.add(feeDetails.getItemPrice());
|
|
|
|
- }
|
|
|
|
- allDayFee = allDayFee.add(feeDetails.getItemPrice());
|
|
|
|
- allDayTaxes = allDayTaxes.add(feeDetails.getTaxPrice());
|
|
|
|
- allDayNoTaxFee = allDayNoTaxFee.add(feeDetails.getNoTaxPrice());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- head.put("toDayFee", toDayFee.toString());
|
|
|
|
- head.put("allParkFee", allParkFee.toString());
|
|
|
|
- head.put("allDayFee", allDayFee.toString());
|
|
|
|
- head.put("allDayTaxes", allDayTaxes.toString());
|
|
|
|
- head.put("allDayNoTaxFee", allDayNoTaxFee.toString());
|
|
|
|
-
|
|
|
|
- String separator = File.separator;
|
|
|
|
- String today = DateUtil.today();
|
|
|
|
- String rootPath = UploadUtil.uploadConfig.rootFolder + separator + UploadUtil.uploadConfig.httpPrefix;
|
|
|
|
- String prefix = myConfig.getDomain() + UploadUtil.uploadConfig.httpPrefix;
|
|
|
|
- String extPath = "feeDetails" + separator + today + separator;
|
|
|
|
- String fileName = "收费明细表_" + time + ".xlsx";
|
|
|
|
- String savePath = rootPath + separator + extPath;
|
|
|
|
- File saveFIle = new File(savePath);
|
|
|
|
- if (!saveFIle.exists()) {
|
|
|
|
- saveFIle.mkdirs();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ClassPathResource classPathResource = new ClassPathResource("static/day-fee-new.xlsx");
|
|
|
|
- InputStream tempInputStream =classPathResource.getInputStream();
|
|
|
|
-
|
|
|
|
- ExcelWriter excelWriter = EasyExcel.write(savePath + fileName, ExportFeeDetailDTO.class)
|
|
|
|
- .withTemplate(tempInputStream).build();
|
|
|
|
- WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
|
|
|
- FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();//换行
|
|
|
|
- excelWriter.fill(head, writeSheet);
|
|
|
|
- excelWriter.fill(exportList, fillConfig, writeSheet);
|
|
|
|
- excelWriter.finish();
|
|
|
|
- return prefix + "/feeDetails/" + today + "/收费明细表_" + time + ".xlsx";
|
|
|
|
- }*/
|
|
|
|
-
|
|
|
|
public String export(SoMap so) {
|
|
public String export(SoMap so) {
|
|
Date now = new Date();
|
|
Date now = new Date();
|
|
String nowStr = DateUtil.format(now, "yyyy-MM-dd HH:mm");
|
|
String nowStr = DateUtil.format(now, "yyyy-MM-dd HH:mm");
|
|
String beginTime = so.getString("beginTime");
|
|
String beginTime = so.getString("beginTime");
|
|
String endTime = so.getString("endTime");
|
|
String endTime = so.getString("endTime");
|
|
- String time = beginTime + "至" + endTime;
|
|
|
|
|
|
+ String time = "未选时间";
|
|
|
|
+ if (StrUtil.isNotEmpty(beginTime)&&StrUtil.isNotEmpty(endTime)){
|
|
|
|
+ time = beginTime + "至" + endTime;
|
|
|
|
+ }
|
|
Map<String, String> head = new HashMap<>();
|
|
Map<String, String> head = new HashMap<>();
|
|
head.put("time", time);
|
|
head.put("time", time);
|
|
head.put("exportTime", nowStr);
|
|
head.put("exportTime", nowStr);
|
|
@@ -467,8 +375,14 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
BigDecimal allDayTaxes = new BigDecimal(0);
|
|
BigDecimal allDayTaxes = new BigDecimal(0);
|
|
BigDecimal allDayNoTaxFee = new BigDecimal(0);
|
|
BigDecimal allDayNoTaxFee = new BigDecimal(0);
|
|
List<ExportFeeDetailDTO> exportList = new ArrayList<>();
|
|
List<ExportFeeDetailDTO> exportList = new ArrayList<>();
|
|
- List<TbFeeDetails> list = this.getList(so);
|
|
|
|
- if (list.size() > 10000) {
|
|
|
|
|
|
+ List<String> ids = so.getListByComma("ids", String.class);
|
|
|
|
+ List<TbFeeDetails> list;
|
|
|
|
+ if (ids!=null&&!ids.isEmpty()){
|
|
|
|
+ list=this.listByIds(ids);
|
|
|
|
+ }else {
|
|
|
|
+ list = this.getList(so);
|
|
|
|
+ }
|
|
|
|
+ if (list.size() > 2000) {
|
|
throw new AjaxError("导出数据量过大,请筛选");
|
|
throw new AjaxError("导出数据量过大,请筛选");
|
|
}
|
|
}
|
|
int index = 1;
|
|
int index = 1;
|
|
@@ -570,49 +484,8 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
return prefix + "/feeDetails/" + today + "/收费明细表_" + time + ".xlsx";
|
|
return prefix + "/feeDetails/" + today + "/收费明细表_" + time + ".xlsx";
|
|
}
|
|
}
|
|
|
|
|
|
- private boolean checkTimeRange(String begin, String end, Date now) {
|
|
|
|
- Date beginTime = DateUtil.beginOfDay(DateUtil.parse(begin));
|
|
|
|
- Date endTime = DateUtil.endOfDay(DateUtil.parse(end));
|
|
|
|
- if (now.getTime() >= beginTime.getTime() && now.getTime() <= endTime.getTime()) {
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private Integer getInCarNum(Date now) {
|
|
|
|
- Date beginOfDay = DateUtil.beginOfDay(now);
|
|
|
|
- Date endOfDay = DateUtil.endOfDay(now);
|
|
|
|
- QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
|
|
|
|
- qw.isNotNull("real_in_time")
|
|
|
|
- .ge("real_in_time", beginOfDay)
|
|
|
|
- .le("real_in_time", endOfDay);
|
|
|
|
- List<TbBusinessCar> list = tbBusinessCarService.list(qw);
|
|
|
|
- return list != null ? list.size() : 0;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private Integer getOutAndPayCarNum(Date now) {
|
|
|
|
- Date beginOfDay = DateUtil.beginOfDay(now);
|
|
|
|
- Date endOfDay = DateUtil.endOfDay(now);
|
|
|
|
- QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
|
|
|
|
- qw.eq("pay", 1)
|
|
|
|
- .isNotNull("real_in_time").isNotNull("real_out_time")
|
|
|
|
- .ge("real_out_time", beginOfDay)
|
|
|
|
- .le("real_out_time", endOfDay);
|
|
|
|
- List<TbBusinessCar> list = tbBusinessCarService.list(qw);
|
|
|
|
- return list != null ? list.size() : 0;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private Integer getNotOutCarNum(Date now) {
|
|
|
|
- Date beginOfDay = DateUtil.beginOfDay(now);
|
|
|
|
- Date endOfDay = DateUtil.endOfDay(now);
|
|
|
|
- QueryWrapper<TbBusinessCar> qw = new QueryWrapper();
|
|
|
|
- qw.isNotNull("real_in_time")
|
|
|
|
- .ge("real_in_time", beginOfDay)
|
|
|
|
- .le("real_in_time", endOfDay)
|
|
|
|
- .isNull("real_out_time");
|
|
|
|
- List<TbBusinessCar> list = tbBusinessCarService.list(qw);
|
|
|
|
- return list != null ? list.size() : 0;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
public List<TbFeeDetails> findByBusinessCarId(String businessCarId, int feeType) {
|
|
public List<TbFeeDetails> findByBusinessCarId(String businessCarId, int feeType) {
|
|
QueryWrapper<TbFeeDetails> ew = new QueryWrapper<>();
|
|
QueryWrapper<TbFeeDetails> ew = new QueryWrapper<>();
|
|
@@ -623,9 +496,6 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
|
|
|
|
public PrintFeeDetailDTO prePrint(SoMap so) {
|
|
public PrintFeeDetailDTO prePrint(SoMap so) {
|
|
so.clearNull();
|
|
so.clearNull();
|
|
-
|
|
|
|
- Date now = new Date();
|
|
|
|
- String nowStr = DateUtil.format(now, "yyyy-MM-dd HH:mm");
|
|
|
|
String beginTime = so.getString("beginTime");
|
|
String beginTime = so.getString("beginTime");
|
|
String endTime = so.getString("endTime");
|
|
String endTime = so.getString("endTime");
|
|
String time = "所有时间";
|
|
String time = "所有时间";
|
|
@@ -633,12 +503,16 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
time = beginTime + "至" + endTime;
|
|
time = beginTime + "至" + endTime;
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
BigDecimal allDayFee = new BigDecimal(0);
|
|
BigDecimal allDayFee = new BigDecimal(0);
|
|
BigDecimal allDayTaxes = new BigDecimal(0);
|
|
BigDecimal allDayTaxes = new BigDecimal(0);
|
|
BigDecimal allDayNoTaxFee = new BigDecimal(0);
|
|
BigDecimal allDayNoTaxFee = new BigDecimal(0);
|
|
-
|
|
|
|
- List<TbFeeDetails> feeDetaillist = this.getList(so);
|
|
|
|
|
|
+ List<String> ids = so.getListByComma("ids", String.class);
|
|
|
|
+ List<TbFeeDetails> feeDetaillist;
|
|
|
|
+ if (ids!=null&&!ids.isEmpty()){
|
|
|
|
+ feeDetaillist=this.listByIds(ids);
|
|
|
|
+ }else {
|
|
|
|
+ feeDetaillist = this.getList(so);
|
|
|
|
+ }
|
|
List<ExportFeeDetailDTO> printList = new ArrayList<>();
|
|
List<ExportFeeDetailDTO> printList = new ArrayList<>();
|
|
Integer index = 1;
|
|
Integer index = 1;
|
|
for (TbFeeDetails feeDetails : feeDetaillist) {
|
|
for (TbFeeDetails feeDetails : feeDetaillist) {
|
|
@@ -696,7 +570,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
|
|
|
|
|
|
public void jiChaConfirm(List<Long> ids) {
|
|
public void jiChaConfirm(List<Long> ids) {
|
|
SpAdmin admin = StpUserUtil.getAdmin();
|
|
SpAdmin admin = StpUserUtil.getAdmin();
|
|
- List<String>roleIds=StrUtil.splitTrim(admin.getRoleId(),",");
|
|
|
|
|
|
+ List<String> roleIds = StrUtil.splitTrim(admin.getRoleId(), ",");
|
|
for (String roleId : roleIds) {
|
|
for (String roleId : roleIds) {
|
|
SpRole role = spRoleMapper.getById(Long.valueOf(roleId));
|
|
SpRole role = spRoleMapper.getById(Long.valueOf(roleId));
|
|
if (!StrUtil.equals(PersonEnum.JICHA.getDesc(), role.getName()) && !StrUtil.equals("admin", role.getType())) {
|
|
if (!StrUtil.equals(PersonEnum.JICHA.getDesc(), role.getName()) && !StrUtil.equals("admin", role.getType())) {
|