调整
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.system.entity.Company;
|
||||
@@ -13,13 +17,16 @@ import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.tower.service.TowerContractSettleEquipmentService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 合同存档控制器
|
||||
@@ -33,6 +40,8 @@ import java.util.List;
|
||||
public class TowerContractController extends BaseController {
|
||||
@Resource
|
||||
private TowerContractService towerContractService;
|
||||
@Resource
|
||||
private TowerContractSettleEquipmentService towerContractSettleEquipmentService;
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerContract:list')")
|
||||
@OperationLog
|
||||
@@ -41,16 +50,15 @@ public class TowerContractController extends BaseController {
|
||||
public ApiResult<PageResult<TowerContract>> page(TowerContractParam param) {
|
||||
MPJLambdaWrapper<TowerContract> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(TowerContract.class)
|
||||
.select(TowerProject::getProjectName)
|
||||
.selectAs(TowerCustomer::getName, TowerContract::getCustomerName)
|
||||
.selectAs(Company::getCompanyName, TowerContract::getCompanyName)
|
||||
.leftJoin(TowerProject.class, TowerProject::getProjectId, TowerContract::getProjectId)
|
||||
.leftJoin(TowerCustomer.class, TowerCustomer::getCustomerId, TowerContract::getCustomerId)
|
||||
.leftJoin(Company.class, Company::getCompanyId, TowerContract::getCompanyId);
|
||||
|
||||
PageParam<TowerContract, TowerContractParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(towerContractService.page(page, wrapper));
|
||||
PageResult<TowerContract> pageRes = towerContractService.pageRel(param);
|
||||
return success(pageRes);
|
||||
// return success(towerContractService.page(page, wrapper));
|
||||
// 使用关联查询
|
||||
//return success(towerContractService.pageRel(param));
|
||||
}
|
||||
|
||||
@@ -50,16 +50,18 @@ public class TowerContractEquipmentController extends BaseController {
|
||||
@ApiOperation("查询全部合同设备清单")
|
||||
@GetMapping()
|
||||
public ApiResult<List<TowerContractEquipment>> list(@RequestParam Map<String, String> params) {
|
||||
int contractId = Integer.parseInt(params.get("contractId"));
|
||||
|
||||
MPJLambdaWrapper<TowerContractEquipment> wrapper = new MPJLambdaWrapper<>();
|
||||
wrapper.selectAll(TowerContractEquipment.class)
|
||||
wrapper.eq(TowerContractEquipment::getContractId, contractId)
|
||||
.selectAll(TowerContractEquipment.class)
|
||||
.selectAs(TowerEquipment::getName, TowerEquipment::getEquipmentName)
|
||||
.select(TowerEquipment::getFactoryNo)
|
||||
.select(TowerEquipment::getEquipmentNo)
|
||||
.select(TowerEquipment::getFilingNo)
|
||||
.leftJoin(TowerEquipment.class, TowerEquipment::getEquipmentId, TowerContractEquipment::getEquipmentId);
|
||||
TowerContractEquipmentParam towerContractEquipmentParam = new TowerContractEquipmentParam();
|
||||
int contractId = Integer.parseInt(params.get("contractId"));
|
||||
towerContractEquipmentParam.setContractId(contractId);
|
||||
// towerContractEquipmentParam.setContractId(contractId);
|
||||
|
||||
PageParam<TowerContractEquipment, TowerContractEquipmentParam> page = new PageParam<>(towerContractEquipmentParam);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
|
||||
@@ -36,11 +36,11 @@ public class TowerCustomerController extends BaseController {
|
||||
@ApiOperation("分页查询客户管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TowerCustomer>> page(TowerCustomerParam param) {
|
||||
PageParam<TowerCustomer, TowerCustomerParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
return success(towerCustomerService.page(page, page.getWrapper()));
|
||||
// PageParam<TowerCustomer, TowerCustomerParam> page = new PageParam<>(param);
|
||||
// page.setDefaultOrder("create_time desc");
|
||||
// return success(towerCustomerService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
//return success(towerCustomerService.pageRel(param));
|
||||
return success(towerCustomerService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerCustomer:list')")
|
||||
|
||||
@@ -1,21 +1,40 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaQrcodeService;
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.api.impl.WxMaQrcodeServiceImpl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.*;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.shop.controller.WxLoginController;
|
||||
import com.gxwebsoft.tower.entity.TowerEquipment;
|
||||
import com.gxwebsoft.tower.entity.TowerProject;
|
||||
import com.gxwebsoft.tower.entity.TowerProjectOrder;
|
||||
import com.gxwebsoft.tower.param.TowerEquipmentParam;
|
||||
import com.gxwebsoft.tower.service.TowerEquipmentService;
|
||||
import com.gxwebsoft.tower.service.TowerProjectOrderService;
|
||||
import com.gxwebsoft.tower.service.TowerProjectService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 塔吊设备管理控制器
|
||||
@@ -29,14 +48,84 @@ import java.util.List;
|
||||
public class TowerEquipmentController extends BaseController {
|
||||
@Resource
|
||||
private TowerEquipmentService towerEquipmentService;
|
||||
@Resource
|
||||
private TowerProjectService projectService;
|
||||
@Resource
|
||||
private TowerProjectOrderService projectOrderService;
|
||||
|
||||
@Value("${config.upload-path}")
|
||||
private String uploadPath;
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("塔吊设备数据")
|
||||
@GetMapping("/data")
|
||||
public ApiResult<Map<String, Integer>> data() {
|
||||
Map<String, Integer> data = new HashMap<>();
|
||||
Integer totalNum = towerEquipmentService.count(
|
||||
new LambdaQueryWrapper<TowerEquipment>()
|
||||
.ne(TowerEquipment::getStatus, 3)
|
||||
);
|
||||
Integer idleNum = towerEquipmentService.count(
|
||||
new LambdaQueryWrapper<TowerEquipment>()
|
||||
.eq(TowerEquipment::getStatus, 0)
|
||||
);
|
||||
Integer scrapNum = towerEquipmentService.count(
|
||||
new LambdaQueryWrapper<TowerEquipment>()
|
||||
.lt(TowerEquipment::getScrapDate, new Date())
|
||||
);
|
||||
data.put("totalNum", totalNum);
|
||||
data.put("idleNum", idleNum);
|
||||
data.put("scrapNum", scrapNum);
|
||||
return success(data);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询塔吊设备管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TowerEquipment>> page(TowerEquipmentParam param) {
|
||||
System.out.println("param.getYearFilter(): " + param.getYearFilter());
|
||||
List<Integer> equipmentIdList = new ArrayList<>();
|
||||
if (param.getIdleOnly() != null && param.getIdleOnly()) {
|
||||
// 不在未结案项目的设备列表
|
||||
equipmentIdList = towerEquipmentService.list(
|
||||
new LambdaQueryWrapper<TowerEquipment>()
|
||||
.ne(TowerEquipment::getStatus, 4)
|
||||
).stream().map(TowerEquipment::getEquipmentId).collect(Collectors.toList());
|
||||
}
|
||||
// 使用关联查询
|
||||
return success(towerEquipmentService.pageRel(param));
|
||||
LambdaQueryWrapper<TowerEquipment> wrapper = new LambdaQueryWrapper<>();
|
||||
if (!equipmentIdList.isEmpty()) wrapper.in(TowerEquipment::getEquipmentId, equipmentIdList);
|
||||
if (param.getKeywords() != null) {
|
||||
wrapper.and(i -> i.like(TowerEquipment::getFilingNo, param.getKeywords()).or()
|
||||
.like(TowerEquipment::getModel, param.getKeywords()).or()
|
||||
.like(TowerEquipment::getName, param.getKeywords()).or()
|
||||
.like(TowerEquipment::getFactoryNo, param.getKeywords()));
|
||||
}
|
||||
if (param.getYearFilter() != null)
|
||||
wrapper.apply("CEIL( DATEDIFF(`scrap_date`, '" + DateUtil.today() + "') / 365) = {0}", param.getYearFilter());
|
||||
if (param.getStatus() != null) wrapper.eq(TowerEquipment::getStatus, param.getStatus());
|
||||
IPage<TowerEquipment> page = new PageParam<>(param);
|
||||
IPage<TowerEquipment> list = towerEquipmentService.page(page, wrapper);
|
||||
for (TowerEquipment equipment : list.getRecords()) {
|
||||
// System.out.println("equipment item" + equipment);
|
||||
List<TowerProjectOrder> projectOrderList = projectOrderService.list(
|
||||
new LambdaQueryWrapper<TowerProjectOrder>()
|
||||
.eq(TowerProjectOrder::getFilingNo, equipment.getFilingNo())
|
||||
);
|
||||
if (!projectOrderList.isEmpty()) {
|
||||
equipment.setProjectList(
|
||||
projectService.list(
|
||||
new LambdaQueryWrapper<TowerProject>()
|
||||
.in(TowerProject::getProjectId,
|
||||
projectOrderList.stream().map(TowerProjectOrder::getProjectId).collect(Collectors.toList())
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerEquipment:list')")
|
||||
@@ -65,7 +154,7 @@ public class TowerEquipmentController extends BaseController {
|
||||
// 记录当前登录用户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
towerEquipment.setUserId(loginUser.getUserId());
|
||||
towerEquipment.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if (towerEquipmentService.save(towerEquipment)) {
|
||||
return success("添加成功");
|
||||
@@ -100,6 +189,44 @@ public class TowerEquipmentController extends BaseController {
|
||||
@ApiOperation("批量添加塔吊设备管理")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<TowerEquipment> list) {
|
||||
// for (TowerEquipment equipment : list) {
|
||||
// if (equipment.getProjectName() != null) {
|
||||
// TowerProject checkProject = projectService.getOne(
|
||||
// new LambdaQueryWrapper<TowerProject>().eq(TowerProject::getProjectName, equipment.getProjectName())
|
||||
// );
|
||||
// if (checkProject == null) {
|
||||
// TowerProject newProject = new TowerProject();
|
||||
// newProject.setProjectName(equipment.getProjectName());
|
||||
// newProject.setProjectCity(equipment.getCurrentLocation());
|
||||
// newProject.setCompetentDepartment(equipment.getCompetentDepartment());
|
||||
// projectService.save(newProject);
|
||||
//
|
||||
// TowerProjectOrder newProjectOrder = new TowerProjectOrder();
|
||||
// newProjectOrder.setProjectId(newProjectOrder.getProjectId());
|
||||
// newProjectOrder.setEquipmentName(equipment.getEquipmentName());
|
||||
// newProjectOrder.setEquipmentModel(equipment.getEquipmentModel());
|
||||
// newProjectOrder.setFilingNo(equipment.getFilingNo());
|
||||
// newProjectOrder.setFactoryNo(equipment.getFactoryNo());
|
||||
// newProjectOrder.setSecurityStatus(equipment.getSecurityStatus());
|
||||
// projectOrderService.save(newProjectOrder);
|
||||
// } else {
|
||||
// int checkProjectOrder = projectOrderService.count(
|
||||
// new LambdaQueryWrapper<TowerProjectOrder>().eq(TowerProjectOrder::getProjectId, checkProject.getProjectId())
|
||||
// .eq(TowerProjectOrder::getFilingNo, equipment.getFilingNo())
|
||||
// );
|
||||
// if (checkProjectOrder == 0) {
|
||||
// TowerProjectOrder newProjectOrder = new TowerProjectOrder();
|
||||
// newProjectOrder.setProjectId(newProjectOrder.getProjectId());
|
||||
// newProjectOrder.setEquipmentName(equipment.getEquipmentName());
|
||||
// newProjectOrder.setEquipmentModel(equipment.getEquipmentModel());
|
||||
// newProjectOrder.setFilingNo(equipment.getFilingNo());
|
||||
// newProjectOrder.setFactoryNo(equipment.getFactoryNo());
|
||||
// newProjectOrder.setSecurityStatus(equipment.getSecurityStatus());
|
||||
// projectOrderService.save(newProjectOrder);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
if (towerEquipmentService.saveBatch(list)) {
|
||||
return success("添加成功");
|
||||
}
|
||||
@@ -133,9 +260,63 @@ public class TowerEquipmentController extends BaseController {
|
||||
@ApiOperation("批量修改塔吊设备状态")
|
||||
@PutMapping("/status")
|
||||
public ApiResult<?> statusBatch(@RequestBody List<TowerEquipment> batchParam) {
|
||||
if (towerEquipmentService.updateBatchById(batchParam)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
if (towerEquipmentService.updateBatchById(batchParam)) {
|
||||
return success("修改成功");
|
||||
}
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("设备信息二维码")
|
||||
@GetMapping("/qr")
|
||||
public ApiResult<?> qr(TowerEquipmentParam equipmentParam) throws IOException, WxErrorException {
|
||||
// WxLoginController wxLoginController = new WxLoginController();
|
||||
// String apiUrl = "https://api.weixin.qq.com/wxa/getwxacode?access_token=" + wxLoginController.getAccessToken();
|
||||
// JSONObject paramJson = new JSONObject();
|
||||
// paramJson.put("path", "otherPages/pages/equipment");
|
||||
// paramJson.put("scene",towerEquipmentParam.getEquipmentId());
|
||||
// URL url = new URL(apiUrl);
|
||||
// HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
|
||||
// httpURLConnection.setRequestMethod("POST");// 提交模式
|
||||
// // 发送POST请求必须设置如下两行
|
||||
// httpURLConnection.setDoOutput(true);
|
||||
// httpURLConnection.setDoInput(true);
|
||||
// PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
|
||||
// printWriter.write(paramJson.toString());
|
||||
// // flush输出流的缓冲
|
||||
// printWriter.flush();
|
||||
// //开始获取数据
|
||||
// BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
|
||||
// OutputStream os = new FileOutputStream(new File(savePath));
|
||||
// int len;
|
||||
// byte[] arr = new byte[1024];
|
||||
// while ((len = bis.read(arr)) != -1)
|
||||
// {
|
||||
// os.write(arr, 0, len);
|
||||
// os.flush();
|
||||
// }
|
||||
// os.close();
|
||||
// // 执行post请求
|
||||
// Map<String, Object> paramMap = new HashMap<>();
|
||||
// paramMap.put("path", "otherPages/pages/equipment");
|
||||
// paramMap.put("scene", equipmentParam.getEquipmentId());
|
||||
// String post = HttpUtil.post(apiUrl, JSON.toJSONString(paramMap));
|
||||
// JSONObject json = JSON.parseObject(post);
|
||||
// return success(json);
|
||||
// if (json.get("errcode").equals(0)) {
|
||||
// }
|
||||
// return null;
|
||||
String filepath = uploadPath + "qr";
|
||||
String filename = filepath + "/" + getLoginUserId().toString() + ".png";
|
||||
File checkFile = new File(filename);
|
||||
if (!checkFile.exists()) {
|
||||
WxLoginController wxLoginController = new WxLoginController();
|
||||
WxMaService wxMaService = wxLoginController.wxMaService();
|
||||
WxMaQrcodeService wxMaQrcodeService = new WxMaQrcodeServiceImpl(wxMaService);
|
||||
wxMaQrcodeService.createWxaCodeUnlimit(equipmentParam.getEquipmentId().toString(), "otherPages/pages/equipment", uploadPath);
|
||||
}
|
||||
return success(filename);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ public class TowerFallController extends BaseController {
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TowerFall>> page(TowerFallParam param) {
|
||||
PageParam<TowerFall, TowerFallParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// return success(towerFallService.page(page, page.getWrapper()));
|
||||
page.setDefaultOrder("factory_date desc");
|
||||
return success(towerFallService.page(page, page.getWrapper()));
|
||||
// 使用关联查询
|
||||
return success(towerFallService.pageRel(param));
|
||||
// return success(towerFallService.pageRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerFall:list')")
|
||||
@@ -49,10 +49,10 @@ public class TowerFallController extends BaseController {
|
||||
@GetMapping()
|
||||
public ApiResult<List<TowerFall>> list(TowerFallParam param) {
|
||||
PageParam<TowerFall, TowerFallParam> page = new PageParam<>(param);
|
||||
page.setDefaultOrder("create_time desc");
|
||||
// return success(towerFallService.list(page.getOrderWrapper()));
|
||||
page.setDefaultOrder("factory_date desc");
|
||||
return success(towerFallService.list(page.getOrderWrapper()));
|
||||
// 使用关联查询
|
||||
return success(towerFallService.listRel(param));
|
||||
// return success(towerFallService.listRel(param));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerFall:list')")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@@ -22,6 +23,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -97,10 +100,7 @@ public class TowerIncomeController extends BaseController {
|
||||
towerIncome.setUserId(loginUser.getUserId());
|
||||
}
|
||||
if (towerIncomeService.save(towerIncome)) {
|
||||
LambdaUpdateWrapper<TowerContract> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(TowerContract::getContractId, towerIncome.getIncomeId())
|
||||
.setSql("`total_income_amount` = `total_income_amount` + " + towerIncome.getAmount());
|
||||
towerContractService.update(null, updateWrapper);
|
||||
reCalIncome(towerIncome.getContractId());
|
||||
return success(towerIncome.getIncomeId());
|
||||
}
|
||||
return fail("添加失败");
|
||||
@@ -111,15 +111,8 @@ public class TowerIncomeController extends BaseController {
|
||||
@ApiOperation("修改收款管理")
|
||||
@PutMapping()
|
||||
public ApiResult<?> update(@RequestBody TowerIncome towerIncome) {
|
||||
QueryWrapper<TowerIncome> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("sum(`amount`) as `total_income_amount`");
|
||||
TowerIncome towerIncomeAll = towerIncomeService.getOne(queryWrapper);
|
||||
|
||||
LambdaUpdateWrapper<TowerContract> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(TowerContract::getContractId, towerIncome.getIncomeId())
|
||||
.set(TowerContract::getTotalIncomeAmount, towerIncomeAll.getTotalIncomeAmount());
|
||||
towerContractService.update(null, updateWrapper);
|
||||
if (towerIncomeService.updateById(towerIncome)) {
|
||||
reCalIncome(towerIncome.getContractId());
|
||||
return success(towerIncome.getIncomeId());
|
||||
}
|
||||
return fail("修改失败");
|
||||
@@ -130,7 +123,9 @@ public class TowerIncomeController extends BaseController {
|
||||
@ApiOperation("删除收款管理")
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResult<?> remove(@PathVariable("id") Integer id) {
|
||||
int contractId = towerIncomeService.getById(id).getContractId();
|
||||
if (towerIncomeService.removeById(id)) {
|
||||
reCalIncome(contractId);
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
@@ -163,10 +158,38 @@ public class TowerIncomeController extends BaseController {
|
||||
@ApiOperation("批量删除收款管理")
|
||||
@DeleteMapping("/batch")
|
||||
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
|
||||
List<Integer> contractIdList = new ArrayList<>();
|
||||
for (int id : ids) {
|
||||
int contractId = towerIncomeService.getById(id).getContractId();
|
||||
if (!contractIdList.contains(contractId)) {
|
||||
contractIdList.add(contractId);
|
||||
}
|
||||
}
|
||||
if (towerIncomeService.removeByIds(ids)) {
|
||||
for (int contractId : contractIdList) {
|
||||
this.reCalIncome(contractId);
|
||||
}
|
||||
return success("删除成功");
|
||||
}
|
||||
return fail("删除失败");
|
||||
}
|
||||
|
||||
private void reCalIncome(int contractId) {
|
||||
QueryWrapper<TowerIncome> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("contract_id", contractId)
|
||||
.select("sum(`amount`) as `total_income_amount`");
|
||||
TowerIncome towerIncomeAll = towerIncomeService.getOne(queryWrapper);
|
||||
|
||||
LambdaUpdateWrapper<TowerContract> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
BigDecimal totalIncomeAmount;
|
||||
if (towerIncomeAll != null) {
|
||||
totalIncomeAmount = towerIncomeAll.getTotalIncomeAmount();
|
||||
} else {
|
||||
totalIncomeAmount = BigDecimal.valueOf(0);
|
||||
}
|
||||
updateWrapper.eq(TowerContract::getContractId, contractId)
|
||||
.set(TowerContract::getTotalIncomeAmount, totalIncomeAmount);
|
||||
towerContractService.update(updateWrapper);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.tower.entity.TowerProject;
|
||||
import com.gxwebsoft.tower.entity.TowerProjectOrder;
|
||||
import com.gxwebsoft.tower.entity.TowerProjectPlace;
|
||||
import com.gxwebsoft.tower.entity.TowerProjectUser;
|
||||
import com.gxwebsoft.common.system.service.UserService;
|
||||
import com.gxwebsoft.tower.entity.*;
|
||||
import com.gxwebsoft.tower.param.TowerProjectParam;
|
||||
import com.gxwebsoft.tower.service.TowerProjectOrderService;
|
||||
import com.gxwebsoft.tower.service.TowerProjectPlaceService;
|
||||
import com.gxwebsoft.tower.service.TowerProjectService;
|
||||
import com.gxwebsoft.tower.service.TowerProjectUserService;
|
||||
import com.gxwebsoft.tower.service.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -22,8 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 项目管理控制器
|
||||
@@ -43,13 +40,51 @@ public class TowerProjectController extends BaseController {
|
||||
private TowerProjectUserService towerProjectUserService;
|
||||
@Resource
|
||||
private TowerProjectPlaceService towerProjectPlaceService;
|
||||
@Resource
|
||||
private TowerEquipmentService equipmentService;
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerEquipment:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("项目数据")
|
||||
@GetMapping("/data")
|
||||
public ApiResult<Map<String, Integer>> data() {
|
||||
Map<String, Integer> data = new HashMap<>();
|
||||
Integer totalNum = towerProjectService.count();
|
||||
Integer startedNum = towerProjectService.count(
|
||||
new LambdaQueryWrapper<TowerProject>()
|
||||
.eq(TowerProject::getProjectStatus, "建设中")
|
||||
);
|
||||
Integer notStartNum = towerProjectService.count(
|
||||
new LambdaQueryWrapper<TowerProject>()
|
||||
.eq(TowerProject::getProjectStatus, "未开工")
|
||||
);
|
||||
data.put("totalNum", totalNum);
|
||||
data.put("startedNum", startedNum);
|
||||
data.put("notStartNum", notStartNum);
|
||||
return success(data);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerProject:list')")
|
||||
@ApiOperation("分页查询项目管理")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TowerProject>> page(TowerProjectParam param) {
|
||||
// 使用关联查询
|
||||
return success(towerProjectService.pageRel(param));
|
||||
PageResult<TowerProject> list = towerProjectService.pageRel(param);
|
||||
for (TowerProject project : list.getList()) {
|
||||
project.setEquipmentNum(towerProjectOrderService.count(
|
||||
new LambdaQueryWrapper<TowerProjectOrder>()
|
||||
.eq(TowerProjectOrder::getProjectId, project.getProjectId())
|
||||
));
|
||||
project.setOrders(
|
||||
new HashSet<>(towerProjectOrderService.list(
|
||||
new LambdaQueryWrapper<TowerProjectOrder>().eq(TowerProjectOrder::getProjectId, project.getProjectId())
|
||||
))
|
||||
);
|
||||
if (!project.getDirector().equals("0")) project.setDirectorUser(userService.getById(project.getDirector()));
|
||||
}
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerProject:list')")
|
||||
@@ -68,6 +103,18 @@ public class TowerProjectController extends BaseController {
|
||||
return success(towerProjectService.getByIdRel(id));
|
||||
}
|
||||
|
||||
@ApiOperation("添加项目管理")
|
||||
@PostMapping("/new")
|
||||
public ApiResult<?> newProject(@RequestBody TowerProject towerProject) {
|
||||
// 记录当前登录用户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
towerProject.setUserId(loginUser.getUserId());
|
||||
}
|
||||
towerProjectService.save(towerProject);
|
||||
return success(towerProject);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerProject:save')")
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
@ApiOperation("添加项目管理")
|
||||
@@ -76,42 +123,42 @@ public class TowerProjectController extends BaseController {
|
||||
// 记录当前登录用户id
|
||||
User loginUser = getLoginUser();
|
||||
if (loginUser != null) {
|
||||
towerProject.setUserId(loginUser.getUserId());
|
||||
towerProject.setUserId(loginUser.getUserId());
|
||||
}
|
||||
System.out.println("towerProject = " + towerProject.getPlaces2());
|
||||
System.out.println("towerProject = " + towerProject.getPlaces2());
|
||||
if (towerProjectService.save(towerProject)) {
|
||||
final Integer projectId = towerProject.getProjectId();
|
||||
final Integer projectId = towerProject.getProjectId();
|
||||
// 批量添加项目成员
|
||||
if (!towerProject.getUsers().isEmpty()) {
|
||||
final Set<TowerProjectUser> users = towerProject.getUsers();
|
||||
users.forEach(d->{
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectUserService.saveBatch(users);
|
||||
final Set<TowerProjectUser> users = towerProject.getUsers();
|
||||
users.forEach(d -> {
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectUserService.saveBatch(users);
|
||||
}
|
||||
// 批量添加项目订单
|
||||
if (!towerProject.getOrders().isEmpty()) {
|
||||
final Set<TowerProjectOrder> orders = towerProject.getOrders();
|
||||
orders.forEach(d->{
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectOrderService.saveBatch(orders);
|
||||
final Set<TowerProjectOrder> orders = towerProject.getOrders();
|
||||
orders.forEach(d -> {
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectOrderService.saveBatch(orders);
|
||||
}
|
||||
// 批量添加检查部位配置
|
||||
if (!towerProject.getPlaces1().isEmpty()) {
|
||||
final Set<TowerProjectPlace> places1 = towerProject.getPlaces1();
|
||||
places1.forEach(d->{
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectPlaceService.saveBatch(places1);
|
||||
final Set<TowerProjectPlace> places1 = towerProject.getPlaces1();
|
||||
places1.forEach(d -> {
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectPlaceService.saveBatch(places1);
|
||||
}
|
||||
// 批量添加保养部位配置
|
||||
if (!towerProject.getPlaces2().isEmpty()) {
|
||||
final Set<TowerProjectPlace> places2 = towerProject.getPlaces2();
|
||||
places2.forEach(d->{
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectPlaceService.saveBatch(places2);
|
||||
final Set<TowerProjectPlace> places2 = towerProject.getPlaces2();
|
||||
places2.forEach(d -> {
|
||||
d.setProjectId(projectId);
|
||||
});
|
||||
towerProjectPlaceService.saveBatch(places2);
|
||||
}
|
||||
return success("添加成功");
|
||||
}
|
||||
@@ -127,7 +174,25 @@ public class TowerProjectController extends BaseController {
|
||||
// 批量修改项目成员
|
||||
towerProjectUserService.saveOrUpdateBatch(towerProject.getUsers());
|
||||
// 批量修改项目订单
|
||||
towerProjectOrderService.saveOrUpdateBatch(towerProject.getOrders());
|
||||
Set<TowerProjectOrder> projectOrders = towerProject.getOrders();
|
||||
if (towerProject.getProjectStatus().equals("建设中")) {
|
||||
for (TowerProjectOrder order : projectOrders) {
|
||||
equipmentService.update(
|
||||
new LambdaUpdateWrapper<TowerEquipment>()
|
||||
.eq(TowerEquipment::getFilingNo, order.getFilingNo())
|
||||
.set(TowerEquipment::getStatus, 4)
|
||||
);
|
||||
}
|
||||
} else if (towerProject.getProjectStatus().equals("完工")) {
|
||||
for (TowerProjectOrder order : projectOrders) {
|
||||
equipmentService.update(
|
||||
new LambdaUpdateWrapper<TowerEquipment>()
|
||||
.eq(TowerEquipment::getFilingNo, order.getFilingNo())
|
||||
.set(TowerEquipment::getStatus, 0)
|
||||
);
|
||||
}
|
||||
}
|
||||
towerProjectOrderService.saveOrUpdateBatch(projectOrders);
|
||||
// 批量修改检查/保养部位配置
|
||||
towerProjectPlaceService.saveOrUpdateBatch(towerProject.getPlaces1());
|
||||
towerProjectPlaceService.saveOrUpdateBatch(towerProject.getPlaces2());
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.common.core.web.ApiResult;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.system.service.UserService;
|
||||
import com.gxwebsoft.tower.entity.TowerProjectUser;
|
||||
import com.gxwebsoft.tower.param.TowerProjectUserParam;
|
||||
import com.gxwebsoft.tower.service.TowerProjectUserService;
|
||||
@@ -29,14 +31,19 @@ import java.util.List;
|
||||
public class TowerProjectUserController extends BaseController {
|
||||
@Resource
|
||||
private TowerProjectUserService towerProjectUserService;
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerProjectUser:list')")
|
||||
@OperationLog
|
||||
@ApiOperation("分页查询项目成员")
|
||||
@GetMapping("/page")
|
||||
public ApiResult<PageResult<TowerProjectUser>> page(TowerProjectUserParam param) {
|
||||
// 使用关联查询
|
||||
return success(towerProjectUserService.pageRel(param));
|
||||
PageResult<TowerProjectUser> list = towerProjectUserService.pageRel(param);
|
||||
for(TowerProjectUser projectUser: list.getList() ){
|
||||
projectUser.setUser(userService.getById(projectUser.getUserId()));
|
||||
}
|
||||
return success(list);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerProjectUser:list')")
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
package com.gxwebsoft.tower.controller;
|
||||
|
||||
import com.alipay.api.domain.AlipayCommerceLogisticsWaybillIstddetailQueryModel;
|
||||
import com.alipay.api.domain.Contract;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.gxwebsoft.common.core.web.BaseController;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import com.gxwebsoft.tower.entity.TowerContract;
|
||||
import com.gxwebsoft.tower.entity.TowerSettle;
|
||||
import com.gxwebsoft.tower.service.TowerContractService;
|
||||
import com.gxwebsoft.tower.service.TowerContractSettleEquipmentService;
|
||||
import com.gxwebsoft.tower.service.TowerSettleDetailService;
|
||||
import com.gxwebsoft.tower.entity.TowerSettleDetail;
|
||||
import com.gxwebsoft.tower.param.TowerSettleDetailParam;
|
||||
@@ -11,12 +19,15 @@ import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.common.core.web.PageParam;
|
||||
import com.gxwebsoft.common.core.web.BatchParam;
|
||||
import com.gxwebsoft.common.core.annotation.OperationLog;
|
||||
import com.gxwebsoft.tower.service.TowerSettleService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -31,6 +42,10 @@ import java.util.List;
|
||||
public class TowerSettleDetailController extends BaseController {
|
||||
@Resource
|
||||
private TowerSettleDetailService towerSettleDetailService;
|
||||
@Resource
|
||||
private TowerContractService towerContractService;
|
||||
@Resource
|
||||
private TowerSettleService towerSettleService;
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerSettle:list')")
|
||||
@OperationLog
|
||||
@@ -109,9 +124,13 @@ public class TowerSettleDetailController extends BaseController {
|
||||
@ApiOperation("批量添加合同结算详情")
|
||||
@PostMapping("/batch")
|
||||
public ApiResult<?> saveBatch(@RequestBody List<TowerSettleDetail> list) {
|
||||
QueryWrapper<TowerSettleDetail> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("settle_id", list.get(0).getSettleId());
|
||||
Integer settleId = list.get(0).getSettleId();
|
||||
LambdaUpdateWrapper<TowerSettleDetail> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(TowerSettleDetail::getSettleId, settleId)
|
||||
.set(TowerSettleDetail::getDeleted, 1);
|
||||
towerSettleDetailService.update(lambdaUpdateWrapper);
|
||||
if (towerSettleDetailService.saveBatch(list)) {
|
||||
setSettleAmount(settleId);
|
||||
return success("添加成功");
|
||||
}
|
||||
return fail("添加失败");
|
||||
@@ -128,6 +147,31 @@ public class TowerSettleDetailController extends BaseController {
|
||||
return fail("修改失败");
|
||||
}
|
||||
|
||||
private void setSettleAmount(Integer settleId) {
|
||||
List<TowerSettleDetail> list = towerSettleDetailService.list(
|
||||
new LambdaQueryWrapper<TowerSettleDetail>().eq(TowerSettleDetail::getSettleId, settleId)
|
||||
);
|
||||
BigDecimal totalSettleAmount = BigDecimal.valueOf(0);
|
||||
for (TowerSettleDetail towerSettleDetail : list) {
|
||||
if (towerSettleDetail.getType().equals(0) || towerSettleDetail.getType().equals(2)) {
|
||||
BigDecimal monthAmount = towerSettleDetail.getMonthAmount().multiply(BigDecimal.valueOf(towerSettleDetail.getMonth()));
|
||||
BigDecimal dayAmount = towerSettleDetail.getDailyAmount().multiply(BigDecimal.valueOf(towerSettleDetail.getDay()));
|
||||
totalSettleAmount = totalSettleAmount.add(monthAmount).add(dayAmount).multiply(towerSettleDetail.getPayRate().divide(BigDecimal.valueOf(100), RoundingMode.FLOOR));
|
||||
} else if (towerSettleDetail.getType().equals(1) || towerSettleDetail.getType().equals(3)) {
|
||||
BigDecimal amount = towerSettleDetail.getSingleAmount().multiply(BigDecimal.valueOf(towerSettleDetail.getNum()));
|
||||
totalSettleAmount = totalSettleAmount.add(amount).divide(BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||
} else if (towerSettleDetail.getType().equals(4)) {
|
||||
BigDecimal amount = towerSettleDetail.getSingleAmount().multiply(BigDecimal.valueOf(towerSettleDetail.getNum()));
|
||||
totalSettleAmount = totalSettleAmount.subtract(amount).divide(BigDecimal.valueOf(100), RoundingMode.FLOOR);
|
||||
}
|
||||
}
|
||||
TowerSettle towerSettle = towerSettleService.getByIdRel(list.get(0).getSettleId());
|
||||
TowerContract contract = towerContractService.getById(towerSettle.getContractId());
|
||||
contract.setTotalSettleAmount(totalSettleAmount);
|
||||
System.out.println("totalSettleAmount: " + totalSettleAmount);
|
||||
towerContractService.updateById(contract);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('tower:towerSettle:remove')")
|
||||
@OperationLog
|
||||
@ApiOperation("批量删除合同结算详情")
|
||||
|
||||
@@ -56,6 +56,9 @@ public class TowerAccessory implements Serializable {
|
||||
@ApiModelProperty(value = "重量")
|
||||
private String accessoryWeight;
|
||||
|
||||
@ApiModelProperty(value = "数量")
|
||||
private Integer accessoryNum;
|
||||
|
||||
@ApiModelProperty(value = "库存总量")
|
||||
private Integer accessoryStock;
|
||||
|
||||
@@ -78,6 +81,10 @@ public class TowerAccessory implements Serializable {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date factoryDate;
|
||||
|
||||
@ApiModelProperty(value = "购买日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date buyDate;
|
||||
|
||||
@ApiModelProperty(value = "报废日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date scrapDate;
|
||||
|
||||
@@ -44,6 +44,9 @@ public class TowerContract implements Serializable {
|
||||
@ApiModelProperty(value = "业务负责人")
|
||||
private String customerContact;
|
||||
|
||||
@ApiModelProperty(value = "备案编号")
|
||||
private String filingNo;
|
||||
|
||||
@ApiModelProperty(value = "合同编号")
|
||||
private String contactNumber;
|
||||
|
||||
@@ -94,6 +97,9 @@ public class TowerContract implements Serializable {
|
||||
@ApiModelProperty(value = "累计收款金额")
|
||||
private BigDecimal totalIncomeAmount;
|
||||
|
||||
@ApiModelProperty(value = "累计结算金额")
|
||||
private BigDecimal totalSettleAmount;
|
||||
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@@ -103,6 +109,15 @@ public class TowerContract implements Serializable {
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "文件列表")
|
||||
private String fileList;
|
||||
|
||||
@ApiModelProperty(value = "支付比例")
|
||||
private BigDecimal payRate;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String projectName;
|
||||
|
||||
@@ -111,4 +126,6 @@ public class TowerContract implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String customerName;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.gxwebsoft.tower.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
@@ -58,6 +59,12 @@ public class TowerContractSettleEquipment implements Serializable {
|
||||
@ApiModelProperty(value = "其他费用")
|
||||
private BigDecimal otherAmount;
|
||||
|
||||
@ApiModelProperty(value = "其他费用计算模式(0每月1一次性)")
|
||||
private Integer otherAmountCalMode;
|
||||
|
||||
@ApiModelProperty(value = "预埋费")
|
||||
private BigDecimal preBuryAmount;
|
||||
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "所有人")
|
||||
@@ -76,4 +83,8 @@ public class TowerContractSettleEquipment implements Serializable {
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "累计应收金额/预计产值")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal totalReceivableAmount;
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 塔吊设备管理
|
||||
@@ -165,4 +166,20 @@ public class TowerEquipment implements Serializable {
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private Date updateTime;
|
||||
|
||||
@ApiModelProperty(value = "历史所在项目列表")
|
||||
@TableField(exist = false)
|
||||
private List<TowerProject> projectList;
|
||||
|
||||
@ApiModelProperty(value = "所在项目名")
|
||||
@TableField(exist = false)
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "定检状态")
|
||||
@TableField(exist = false)
|
||||
private String securityStatus;
|
||||
|
||||
@ApiModelProperty(value = "主管部门")
|
||||
@TableField(exist = false)
|
||||
private String competentDepartment;
|
||||
|
||||
}
|
||||
|
||||
@@ -51,6 +51,9 @@ public class TowerFall implements Serializable {
|
||||
@ApiModelProperty(value = "报废日期")
|
||||
private Date discardDate;
|
||||
|
||||
@ApiModelProperty(value = "检测日期")
|
||||
private String checkDate;
|
||||
|
||||
@ApiModelProperty(value = "出厂检测报告")
|
||||
private String file1;
|
||||
|
||||
|
||||
@@ -44,6 +44,9 @@ public class TowerIncome implements Serializable {
|
||||
@ApiModelProperty(value = "收款单位")
|
||||
private Integer incomeCompanyId;
|
||||
|
||||
@ApiModelProperty(value = "付款单位")
|
||||
private Integer payCompanyId;
|
||||
|
||||
@ApiModelProperty(value = "收款金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -11,6 +12,7 @@ import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -38,12 +40,21 @@ public class TowerProject implements Serializable {
|
||||
@ApiModelProperty(value = "租赁单位")
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty(value = "租赁单位")
|
||||
private Integer companyId;
|
||||
|
||||
@ApiModelProperty(value = "承租单位")
|
||||
private String customerName;
|
||||
|
||||
@ApiModelProperty(value = "承租单位")
|
||||
private Integer customerId;
|
||||
|
||||
@ApiModelProperty(value = "项目地址")
|
||||
private String projectRegion;
|
||||
|
||||
@ApiModelProperty(value = "项目所在地")
|
||||
private String projectCity;
|
||||
|
||||
@ApiModelProperty(value = "详细地址")
|
||||
private String projectAddress;
|
||||
|
||||
@@ -77,6 +88,9 @@ public class TowerProject implements Serializable {
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
private String director;
|
||||
|
||||
@TableField(exist = false)
|
||||
private User directorUser;
|
||||
|
||||
@ApiModelProperty(value = "项目经理")
|
||||
private String projectDirector;
|
||||
|
||||
@@ -86,6 +100,9 @@ public class TowerProject implements Serializable {
|
||||
@ApiModelProperty(value = "业务员")
|
||||
private String salesman;
|
||||
|
||||
@ApiModelProperty(value = "标地列表")
|
||||
private String placeList;
|
||||
|
||||
@ApiModelProperty(value = "状态, 0待发布, 1已发布")
|
||||
private Integer status;
|
||||
|
||||
@@ -127,4 +144,23 @@ public class TowerProject implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private Set<TowerProjectPlace> places2;
|
||||
|
||||
@ApiModelProperty(value = "是否已有安装单派单")
|
||||
@TableField(exist = false)
|
||||
private boolean hasSetUpWorksheet;
|
||||
|
||||
@ApiModelProperty(value = "派单类型")
|
||||
@TableField(exist = false)
|
||||
private Integer worksheetType;
|
||||
|
||||
@ApiModelProperty(value = "派单设备类型")
|
||||
@TableField(exist = false)
|
||||
private Integer worksheetEquipType;
|
||||
|
||||
@ApiModelProperty(value = "各派单类型数量")
|
||||
@TableField(exist = false)
|
||||
private Map<Integer, Integer> worksheetWorkTypeNumList;
|
||||
|
||||
@ApiModelProperty(value = "关联设备数")
|
||||
@TableField(exist = false)
|
||||
private Integer equipmentNum;
|
||||
}
|
||||
|
||||
@@ -36,12 +36,21 @@ public class TowerProjectOrder implements Serializable {
|
||||
@ApiModelProperty(value = "项目ID")
|
||||
private Integer projectId;
|
||||
|
||||
@ApiModelProperty(value = "设备Id")
|
||||
private Integer equipmentId;
|
||||
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String equipmentName;
|
||||
|
||||
@ApiModelProperty(value = "规格型号")
|
||||
private String equipmentModel;
|
||||
|
||||
@ApiModelProperty(value = "备案编号")
|
||||
private String filingNo;
|
||||
|
||||
@ApiModelProperty(value = "出厂编号")
|
||||
private String factoryNo;
|
||||
|
||||
@ApiModelProperty(value = "签订数量")
|
||||
private Integer equipmentNum;
|
||||
|
||||
@@ -84,4 +93,17 @@ public class TowerProjectOrder implements Serializable {
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "定检状态")
|
||||
private String securityStatus;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "制造厂商")
|
||||
@TableField(exist = false)
|
||||
private String manufactor;
|
||||
|
||||
@ApiModelProperty(value = "报废日期")
|
||||
@TableField(exist = false)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date scrapDate;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.gxwebsoft.tower.entity;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.gxwebsoft.common.system.entity.User;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -69,4 +70,9 @@ public class TowerProjectUser implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String organizationName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private User user;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -53,6 +53,15 @@ public class TowerSettleDetail implements Serializable {
|
||||
@ApiModelProperty(value = "月租金/月工资")
|
||||
private BigDecimal monthAmount;
|
||||
|
||||
@ApiModelProperty(value = "日租金")
|
||||
private BigDecimal dailyAmount;
|
||||
|
||||
@ApiModelProperty(value = "多少月")
|
||||
private Integer month;
|
||||
|
||||
@ApiModelProperty(value = "多少日")
|
||||
private Integer day;
|
||||
|
||||
@ApiModelProperty(value = "税率")
|
||||
private BigDecimal taxRate;
|
||||
|
||||
@@ -78,10 +87,19 @@ public class TowerSettleDetail implements Serializable {
|
||||
@ApiModelProperty(value = "租户id")
|
||||
private Integer tenantId;
|
||||
|
||||
@ApiModelProperty(value = "支付比例")
|
||||
private BigDecimal payRate;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty(value = "修改时间")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
@ApiModelProperty(value = "进场时间")
|
||||
private LocalDateTime inDate;
|
||||
|
||||
@ApiModelProperty(value = "退场时间")
|
||||
private LocalDateTime outDate;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,8 +4,14 @@
|
||||
|
||||
<!-- 关联查询sql -->
|
||||
<sql id="selectSql">
|
||||
SELECT a.*
|
||||
SELECT a.*,
|
||||
b.project_name,
|
||||
c.name AS customer_name,
|
||||
d.company_name
|
||||
FROM tower_contract a
|
||||
LEFT JOIN tower_project b ON a.project_id = b.project_id
|
||||
LEFT JOIN tower_customer c ON a.customer_id = c.customer_id
|
||||
LEFT JOIN sys_company d ON a.company_id = d.company_id
|
||||
<where>
|
||||
<if test="param.contractId != null">
|
||||
AND a.contract_id = #{param.contractId}
|
||||
@@ -19,6 +25,9 @@
|
||||
<if test="param.customerId != null">
|
||||
AND a.customer_id = #{param.customerId}
|
||||
</if>
|
||||
<if test="param.keywords != null">
|
||||
AND (a.contact_number LIKE CONCAT('%', #{param.keywords}, '%') OR b.project_name LIKE CONCAT('%', #{param.keywords}, '%'))
|
||||
</if>
|
||||
<if test="param.customerContact != null">
|
||||
AND a.customer_contact LIKE CONCAT('%', #{param.customerContact}, '%')
|
||||
</if>
|
||||
|
||||
@@ -55,6 +55,15 @@
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
<if test="param.keywords != null">
|
||||
AND (
|
||||
a.name LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.full_name LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.credit_code LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.address LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.contact LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
|
||||
@@ -91,12 +91,17 @@
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
<if test="param.equipmentIdList != null">
|
||||
AND a.equipment_id IN (#{param.equipmentIdList})
|
||||
</if>
|
||||
<if test="param.keywords != null">
|
||||
AND (
|
||||
a.name LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.model LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.equipment_no LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.company LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.filing_no LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
OR a.factory_no LIKE CONCAT('%', #{param.keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
|
||||
@@ -88,6 +88,9 @@
|
||||
<if test="param.createTimeEnd != null">
|
||||
AND a.create_time <= #{param.createTimeEnd}
|
||||
</if>
|
||||
<if test="param.keywords != null">
|
||||
AND ( a.project_name LIKE CONCAT('%', #{param.keywords}, '%') )
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
LEFT JOIN sys_user b ON a.user_id = b.user_id
|
||||
LEFT JOIN sys_organization c ON b.organization_id = c.organization_id
|
||||
<where>
|
||||
AND a.user_id != 0
|
||||
<if test="param.id != null">
|
||||
AND a.id = #{param.id}
|
||||
</if>
|
||||
@@ -38,6 +39,7 @@
|
||||
)
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY a.user_id
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.gxwebsoft.tower.param;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.gxwebsoft.common.core.annotation.QueryField;
|
||||
import com.gxwebsoft.common.core.annotation.QueryType;
|
||||
import com.gxwebsoft.common.core.web.BaseParam;
|
||||
@@ -9,6 +10,8 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 塔吊设备管理查询参数
|
||||
*
|
||||
@@ -107,4 +110,21 @@ public class TowerEquipmentParam extends BaseParam {
|
||||
@QueryField(type = QueryType.EQ)
|
||||
private Integer deleted;
|
||||
|
||||
@ApiModelProperty(value = "是否仅显示未绑定项目设备")
|
||||
@TableField(exist = false)
|
||||
private Boolean idleOnly;
|
||||
|
||||
@ApiModelProperty(value = "是否仅显示未绑定项目设备")
|
||||
@TableField(exist = false)
|
||||
private List<String> notInFilingNoList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<Integer> equipmentIdList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String keywords;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer yearFilter;
|
||||
|
||||
}
|
||||
|
||||
@@ -125,4 +125,21 @@ public class TowerProjectParam extends BaseParam {
|
||||
@TableField(exist = false)
|
||||
private Set<TowerProjectPlace> places2;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "派单类型")
|
||||
@TableField(exist = false)
|
||||
private Integer worksheetType;
|
||||
|
||||
@ApiModelProperty(value = "派单设备类型")
|
||||
@TableField(exist = false)
|
||||
private Integer worksheetEquipType;
|
||||
|
||||
@ApiModelProperty(value = "派单作业类型")
|
||||
@TableField(exist = false)
|
||||
private Integer worksheetWortType;
|
||||
|
||||
@ApiModelProperty("搜索关键字")
|
||||
@TableField(exist = false)
|
||||
private String keywords;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user