结算模块修改
This commit is contained in:
parent
d8ee1d4c68
commit
992897b829
|
|
@ -1,5 +1,8 @@
|
|||
package com.bonus.material.push.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bonus.common.biz.utils.HttpHelper;
|
||||
import com.bonus.common.core.exception.ServiceException;
|
||||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
|
|
@ -177,6 +180,46 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// 检验临期和检验超期数量
|
||||
@GetMapping(value = "getHyCheckingTimeout")
|
||||
public AjaxResult getHyCheckTimeout(ProIdsBean bean) {
|
||||
try {
|
||||
List<StaticsNumsBean> results = new ArrayList<>();
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
map.put("keyWord", "");
|
||||
String body = JSONObject.toJSONString(map);
|
||||
String url = "http://10.138.55.101:21021/iws/hystw/getHyCheckingCounts";
|
||||
//String url = "http://192.168.1.134:8036/micro-server/zzaqgjf/syncSafetyTool";
|
||||
String data = HttpHelper.sendHttpPost(url, body);
|
||||
JSONObject object = JSONObject.parseObject(data);
|
||||
System.err.println(data);
|
||||
|
||||
|
||||
String code = object.getString("code");
|
||||
if ("200".equals(code)) {
|
||||
String dataResultString = object.getString("data");
|
||||
JSONArray dataArray = JSONArray.parseArray(dataResultString);
|
||||
if (dataArray != null && !dataArray.isEmpty()) {
|
||||
// 有数据
|
||||
for (int i = 0; i < dataArray.size(); i++) {
|
||||
JSONObject dataObject = dataArray.getJSONObject(i);
|
||||
String counts = dataObject.getString("counts");
|
||||
StaticsNumsBean rs = new StaticsNumsBean();
|
||||
rs.setTimeoutNum(BigDecimal.valueOf(Integer.parseInt(counts)));
|
||||
results.add(rs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return AjaxResult.success(results);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString(), e);
|
||||
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
|
||||
}
|
||||
}
|
||||
|
||||
// 临期、超期设备详情
|
||||
@GetMapping(value = "getApproachingDetails")
|
||||
public TableDataInfo getApproachingDetails(ProIdsBean bean) {
|
||||
|
|
|
|||
|
|
@ -195,6 +195,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
vo.setReductionList(Collections.emptyList());
|
||||
vo.setRelations(Collections.emptyList());
|
||||
}
|
||||
|
||||
dataList.add(vo);
|
||||
if (info.getAgreementId() != null) {
|
||||
agreementId = info.getAgreementId();
|
||||
|
|
@ -208,6 +209,8 @@ public class SltAgreementInfoController extends BaseController {
|
|||
TmTask tmTask = taskMapper.selectTaskById(agreementId, list.get(0).getSettlementType());
|
||||
if (tmTask != null) {
|
||||
bean.setApplyTime(tmTask.getCreateTime());
|
||||
bean.setSltSignUrl(tmTask.getSltSignUrl());
|
||||
bean.setAuditorSignUrl(tmTask.getAuditorSignUrl());
|
||||
}
|
||||
|
||||
return AjaxResult.success(bean);
|
||||
|
|
@ -404,7 +407,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
* 结算记录查询--导出全部明细
|
||||
*/
|
||||
private void expOutExcelAlls(HttpServletResponse response, List<SltLeaseInfo> lease,List<SltLeaseInfo> lose,List<SltLeaseInfo> repair,List<SltLeaseInfo> scrap,List<SltLeaseInfo> reduction,
|
||||
String filename,String projectName,String unitName,BigDecimal totalCostLease,BigDecimal totalCostLose,BigDecimal totalCostRepair,BigDecimal totalCostScrap,BigDecimal totalCostReduction)
|
||||
String filename,String projectName,String unitName,BigDecimal totalCostLease,BigDecimal totalCostLose,BigDecimal totalCostRepair,BigDecimal totalCostScrap,BigDecimal totalCostReduction)
|
||||
throws Exception {
|
||||
List<Map<String, Object>> resultsLease = new ArrayList<>();
|
||||
List<Map<String, Object>> resultsLose = new ArrayList<>();
|
||||
|
|
@ -478,6 +481,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("endTime", bean.getEndTime()==null ? null:dateFormat.format(bean.getEndTime()));
|
||||
maps.put("leaseDays", bean.getLeaseDays());
|
||||
maps.put("costs", bean.getCosts().setScale(2, RoundingMode.HALF_UP));
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
}else {
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
|
|
@ -488,7 +492,8 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("endTime", bean.getEndTime()==null ? null:dateFormat.format(bean.getEndTime()));
|
||||
maps.put("leaseDays", bean.getLeaseDays());
|
||||
maps.put("costs", bean.getCosts().setScale(2, RoundingMode.HALF_UP));
|
||||
maps.put("t1", "");
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
maps.put("t2", "");
|
||||
}
|
||||
} else if(type == 2) {
|
||||
if(flag==0){
|
||||
|
|
@ -498,6 +503,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("buyPrice", bean.getBuyPrice());
|
||||
maps.put("num", bean.getNum());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
}else{
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
|
|
@ -505,10 +511,11 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("buyPrice", bean.getBuyPrice());
|
||||
maps.put("num", bean.getNum());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("t1", "");
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
maps.put("t2", "");
|
||||
maps.put("t3", "");
|
||||
maps.put("t4", "");
|
||||
maps.put("t5", "");
|
||||
}
|
||||
} else if (type == 3) {
|
||||
if (flag==0) {
|
||||
|
|
@ -518,6 +525,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("num", bean.getNum());
|
||||
maps.put("partType", bean.getPartType());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
} else {
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
|
|
@ -525,10 +533,11 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("num", bean.getNum());
|
||||
maps.put("partType", bean.getPartType());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("t1", "");
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
maps.put("t2", "");
|
||||
maps.put("t3", "");
|
||||
maps.put("t4", "");
|
||||
maps.put("t5", "");
|
||||
}
|
||||
} else if (type == 4) {
|
||||
if (flag == 0) {
|
||||
|
|
@ -539,6 +548,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("num", bean.getNum());
|
||||
maps.put("partType", bean.getPartType());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
} else {
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
|
|
@ -547,21 +557,23 @@ public class SltAgreementInfoController extends BaseController {
|
|||
maps.put("num", bean.getNum());
|
||||
maps.put("partType", bean.getPartType());
|
||||
maps.put("costs", bean.getCosts());
|
||||
maps.put("t1", "");
|
||||
maps.put("unitName", bean.getUnitName());
|
||||
maps.put("t2", "");
|
||||
maps.put("t3", "");
|
||||
maps.put("t4", "");
|
||||
}
|
||||
} else if (type == 5) {
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
maps.put("mtUnitName", bean.getUnitName());
|
||||
maps.put("leasePrice", bean.getLeasePrice());
|
||||
maps.put("num", bean.getReduceNum());
|
||||
maps.put("startTime", bean.getStartTime()==null ? null:dateFormat.format(bean.getStartTime()));
|
||||
maps.put("endTime", bean.getEndTime()==null ? null:dateFormat.format(bean.getEndTime()));
|
||||
maps.put("leaseDays", bean.getDays());
|
||||
maps.put("remark", bean.getRemark());
|
||||
maps.put("costs", bean.getLeaseMoney().setScale(2, RoundingMode.HALF_UP));
|
||||
maps.put("typeName", bean.getTypeName());
|
||||
maps.put("modelName", bean.getModelName());
|
||||
maps.put("mtUnitName", bean.getUnitName());
|
||||
maps.put("leasePrice", bean.getLeasePrice());
|
||||
maps.put("num", bean.getReduceNum());
|
||||
maps.put("startTime", bean.getStartTime()==null ? null:dateFormat.format(bean.getStartTime()));
|
||||
maps.put("endTime", bean.getEndTime()==null ? null:dateFormat.format(bean.getEndTime()));
|
||||
maps.put("leaseDays", bean.getDays());
|
||||
maps.put("remark", bean.getRemark());
|
||||
maps.put("costs", bean.getLeaseMoney().setScale(2, RoundingMode.HALF_UP));
|
||||
maps.put("t4", "");
|
||||
}
|
||||
return maps;
|
||||
}
|
||||
|
|
@ -583,6 +595,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("归还日期");
|
||||
list.add("租赁天数");
|
||||
list.add("租赁费用(元)");
|
||||
list.add("备注");
|
||||
}else {
|
||||
list.add("设备名称");
|
||||
list.add("规格型号");
|
||||
|
|
@ -593,6 +606,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("归还日期");
|
||||
list.add("租赁天数");
|
||||
list.add("租赁费用(元)");
|
||||
list.add("备注");
|
||||
list.add(" ");
|
||||
}
|
||||
}else if(type==2){
|
||||
|
|
@ -603,6 +617,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("扣款单价");
|
||||
list.add("丢失数量");
|
||||
list.add("丢失费用(元)");
|
||||
list.add("备注");
|
||||
}else{
|
||||
list.add("设备名称");
|
||||
list.add("规格型号");
|
||||
|
|
@ -610,6 +625,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("扣款单价");
|
||||
list.add("丢失数量");
|
||||
list.add("丢失费用(元)");
|
||||
list.add("备注");
|
||||
list.add(" ");
|
||||
list.add(" ");
|
||||
list.add(" ");
|
||||
|
|
@ -624,6 +640,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("维修数量");
|
||||
list.add("是否收费");
|
||||
list.add("维修费用(元)");
|
||||
list.add("备注");
|
||||
}else{
|
||||
list.add("设备名称");
|
||||
list.add("规格型号");
|
||||
|
|
@ -631,9 +648,10 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("维修数量");
|
||||
list.add("是否收费");
|
||||
list.add("维修费用(元)");
|
||||
list.add("备注");
|
||||
list.add("");
|
||||
list.add("");
|
||||
list.add("");
|
||||
list.add(" ");
|
||||
list.add(" ");
|
||||
}
|
||||
}else if(type==4){
|
||||
|
|
@ -645,6 +663,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("报废数量");
|
||||
list.add("是否收费");
|
||||
list.add("报废费用(元)");
|
||||
list.add("备注");
|
||||
}else{
|
||||
list.add("设备名称");
|
||||
list.add("规格型号");
|
||||
|
|
@ -653,6 +672,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("报废数量");
|
||||
list.add("是否收费");
|
||||
list.add("报废费用(元)");
|
||||
list.add("备注");
|
||||
list.add("");
|
||||
list.add("");
|
||||
list.add("");
|
||||
|
|
@ -668,6 +688,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
list.add("减免天数");
|
||||
list.add("减免原因");
|
||||
list.add("减免费用(元)");
|
||||
list.add("备注");
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
|
@ -690,7 +711,14 @@ public class SltAgreementInfoController extends BaseController {
|
|||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLeaseList(info);
|
||||
List<SltAgreementInfo> oneOfList = new ArrayList<>();
|
||||
// 如果开启了查询已结算数据,那么就从结算记录📝里面查询已结算的租赁费用明细
|
||||
if (info != null && info.getEnableQuerySltData() != null && info.getEnableQuerySltData()) {
|
||||
oneOfList = sltAgreementInfoMapper.getLeaseSltDetails(info);
|
||||
} else {
|
||||
oneOfList = sltAgreementInfoMapper.getLeaseList(info);
|
||||
}
|
||||
|
||||
leaseList.addAll(oneOfList);
|
||||
}
|
||||
String projectName = handleData(projectNames);
|
||||
|
|
@ -743,7 +771,14 @@ public class SltAgreementInfoController extends BaseController {
|
|||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
List<SltAgreementInfo> oneOfList =new ArrayList<>();
|
||||
|
||||
if ( info.getEnableQuerySltData()) {
|
||||
oneOfList = sltAgreementInfoMapper.getSltLoseList(info);
|
||||
}else{
|
||||
oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
}
|
||||
|
||||
loseList.addAll(oneOfList);
|
||||
}
|
||||
String projectName = handleData(projectNames);
|
||||
|
|
@ -792,7 +827,14 @@ public class SltAgreementInfoController extends BaseController {
|
|||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
|
|
@ -816,6 +858,23 @@ public class SltAgreementInfoController extends BaseController {
|
|||
}
|
||||
}
|
||||
|
||||
private List<TmTask> checkTeamAgreementInfo(SltAgreementInfo info) {
|
||||
List<TmTask> teamTaskList = new ArrayList<>();
|
||||
try{
|
||||
SltAgreementInfo bean = sltAgreementInfoMapper.getAgreementInfo(info);
|
||||
List<SltAgreementInfo> agreementInfoList = sltAgreementInfoMapper.selectAgreementInfoList(bean);
|
||||
if (null != agreementInfoList && !agreementInfoList.isEmpty()) {
|
||||
teamTaskList = taskMapper.getTaskIdListByAgreementList(agreementInfoList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
|
||||
return teamTaskList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出减免费用明细
|
||||
*/
|
||||
|
|
@ -883,7 +942,16 @@ public class SltAgreementInfoController extends BaseController {
|
|||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskList);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
|
|
@ -1015,7 +1083,16 @@ public class SltAgreementInfoController extends BaseController {
|
|||
BigDecimal totalCostRepair = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
|
|
@ -1031,7 +1108,15 @@ public class SltAgreementInfoController extends BaseController {
|
|||
BigDecimal totalCostScrap = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
List<TmTask> taskListScrap = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskScrapList2 = new ArrayList<>();
|
||||
taskScrapList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskListScrap && !taskListScrap.isEmpty()) {
|
||||
if (null != taskScrapList2 && !taskScrapList2.isEmpty()) {
|
||||
taskListScrap.addAll(taskScrapList2);
|
||||
}
|
||||
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskListScrap);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
|
|
@ -1118,7 +1203,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
PoiOutPage.excelForcheckEach(workbook, sheet, resultsLease,resultsLose,resultsRepair,resultsScrap,resultsReduction, headersLease,headersLose,headersRepair,headersScrap,headersReduction,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
|
||||
|
||||
|
||||
// expOutExcelAll(response,lease,lose,repair,scrap,reduction,fileName,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
|
||||
// expOutExcelAll(response,lease,lose,repair,scrap,reduction,fileName,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
|
||||
sheetIndex++;
|
||||
}
|
||||
OutputStream out = null;
|
||||
|
|
@ -1146,110 +1231,137 @@ public class SltAgreementInfoController extends BaseController {
|
|||
@PostMapping("/exportAll")
|
||||
public void exportAll(HttpServletResponse response, @RequestParam("params") String params) {
|
||||
try {
|
||||
String fileName = "结算费用明细";
|
||||
List<SltAgreementInfo> sltAgreementInfo = JSONObject.parseArray(params,SltAgreementInfo.class);
|
||||
List<String> projectNames = new ArrayList<>();
|
||||
List<String> unitNames = new ArrayList<>();
|
||||
String fileName = "结算费用明细";
|
||||
List<SltAgreementInfo> sltAgreementInfo = JSONObject.parseArray(params,SltAgreementInfo.class);
|
||||
List<String> projectNames = new ArrayList<>();
|
||||
List<String> unitNames = new ArrayList<>();
|
||||
// String projectName = sltAgreementInfo.getProjectName();
|
||||
// String unitName = sltAgreementInfo.getUnitName();
|
||||
|
||||
//租赁费用明细
|
||||
BigDecimal totalCostLease = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLeaseList(info);
|
||||
leaseList.addAll(oneOfList);
|
||||
}
|
||||
for (SltAgreementInfo bean : leaseList) {
|
||||
if (null == bean.getLeasePrice()) {
|
||||
bean.setLeasePrice(BigDecimal.valueOf(0.00));
|
||||
}
|
||||
if (null == bean.getNum()) {
|
||||
bean.setNum(BigDecimal.valueOf(0L));
|
||||
}
|
||||
if (null == bean.getLeaseDays()) {
|
||||
bean.setLeaseDay(0L);
|
||||
}
|
||||
BigDecimal leasePrice = bean.getLeasePrice();
|
||||
BigDecimal num = bean.getNum();
|
||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
||||
if(costs!=null){
|
||||
totalCostLease = totalCostLease.add(costs);
|
||||
}
|
||||
bean.setCosts(costs);
|
||||
}
|
||||
List<SltLeaseInfo> lease = Convert.toList(SltLeaseInfo.class, leaseList);
|
||||
|
||||
//丢失费用明细
|
||||
BigDecimal totalCostLose = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> loseList = new ArrayList<>();
|
||||
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
loseList.addAll(oneOfList);
|
||||
//租赁费用明细
|
||||
BigDecimal totalCostLease = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
projectNames.add(info.getProjectName());
|
||||
unitNames.add(info.getUnitName());
|
||||
List<SltAgreementInfo> oneOfList = new ArrayList<>();
|
||||
if (info != null && info.getEnableQuerySltData() != null && info.getEnableQuerySltData()) {
|
||||
oneOfList = sltAgreementInfoMapper.getLeaseSltDetails(info);
|
||||
} else {
|
||||
oneOfList = sltAgreementInfoMapper.getLeaseList(info);
|
||||
}
|
||||
|
||||
for (SltAgreementInfo bean : loseList) {
|
||||
if (null == bean.getBuyPrice()) {
|
||||
bean.setBuyPrice(BigDecimal.valueOf(0.00));
|
||||
}
|
||||
if (null == bean.getNum()) {
|
||||
bean.setNum(BigDecimal.valueOf(0L));
|
||||
}
|
||||
BigDecimal buyPrice = bean.getBuyPrice();
|
||||
BigDecimal num = bean.getNum();
|
||||
// 原价 x 数量
|
||||
BigDecimal costs = buyPrice.multiply(num);
|
||||
if(costs!=null){
|
||||
totalCostLose = totalCostLose.add(costs);
|
||||
}
|
||||
//计算租赁费用
|
||||
bean.setCosts(costs);
|
||||
}
|
||||
List<SltLeaseInfo> lose = Convert.toList(SltLeaseInfo.class, loseList);
|
||||
|
||||
//维修费用明细
|
||||
BigDecimal totalCostRepair = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
leaseList.addAll(oneOfList);
|
||||
}
|
||||
for (SltAgreementInfo bean : leaseList) {
|
||||
if (null == bean.getLeasePrice()) {
|
||||
bean.setLeasePrice(BigDecimal.valueOf(0.00));
|
||||
}
|
||||
for (SltAgreementInfo bean : repairList) {
|
||||
if (bean.getCosts()!=null && (bean.getPartType().equals("收费"))) {
|
||||
totalCostRepair = totalCostRepair.add(bean.getCosts());
|
||||
}
|
||||
if (null == bean.getNum()) {
|
||||
bean.setNum(BigDecimal.valueOf(0L));
|
||||
}
|
||||
List<SltLeaseInfo> repair = Convert.toList(SltLeaseInfo.class, repairList);
|
||||
if (null == bean.getLeaseDays()) {
|
||||
bean.setLeaseDay(0L);
|
||||
}
|
||||
BigDecimal leasePrice = bean.getLeasePrice();
|
||||
BigDecimal num = bean.getNum();
|
||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
||||
if(costs!=null){
|
||||
totalCostLease = totalCostLease.add(costs);
|
||||
}
|
||||
bean.setCosts(costs);
|
||||
}
|
||||
List<SltLeaseInfo> lease = Convert.toList(SltLeaseInfo.class, leaseList);
|
||||
|
||||
//报废费用明细
|
||||
BigDecimal totalCostScrap = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskList);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
//丢失费用明细
|
||||
BigDecimal totalCostLose = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> loseList = new ArrayList<>();
|
||||
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<SltAgreementInfo> oneOfList = new ArrayList<>();
|
||||
if ( info.getEnableQuerySltData()) {
|
||||
oneOfList = sltAgreementInfoMapper.getSltLoseList(info);
|
||||
}else{
|
||||
oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
}
|
||||
|
||||
for (SltAgreementInfo bean : scrapList) {
|
||||
if (bean.getCosts()!=null && (bean.getPartType().equals("收费"))) {
|
||||
totalCostScrap = totalCostScrap.add(bean.getCosts());
|
||||
}
|
||||
}
|
||||
List<SltLeaseInfo> scrap = Convert.toList(SltLeaseInfo.class, scrapList);
|
||||
|
||||
//减免费用明细
|
||||
BigDecimal totalCostReduction = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementReduce> reductionList = new ArrayList<>();
|
||||
loseList.addAll(oneOfList);
|
||||
}
|
||||
|
||||
for (SltAgreementInfo bean : loseList) {
|
||||
if (null == bean.getBuyPrice()) {
|
||||
bean.setBuyPrice(BigDecimal.valueOf(0.00));
|
||||
}
|
||||
if (null == bean.getNum()) {
|
||||
bean.setNum(BigDecimal.valueOf(0L));
|
||||
}
|
||||
BigDecimal buyPrice = bean.getBuyPrice();
|
||||
BigDecimal num = bean.getNum();
|
||||
// 原价 x 数量
|
||||
BigDecimal costs = buyPrice.multiply(num);
|
||||
if(costs!=null){
|
||||
totalCostLose = totalCostLose.add(costs);
|
||||
}
|
||||
//计算租赁费用
|
||||
bean.setCosts(costs);
|
||||
}
|
||||
List<SltLeaseInfo> lose = Convert.toList(SltLeaseInfo.class, loseList);
|
||||
|
||||
//维修费用明细
|
||||
BigDecimal totalCostRepair = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
}
|
||||
for (SltAgreementInfo bean : repairList) {
|
||||
if (bean.getCosts()!=null && (bean.getPartType().equals("收费"))) {
|
||||
totalCostRepair = totalCostRepair.add(bean.getCosts());
|
||||
}
|
||||
}
|
||||
List<SltLeaseInfo> repair = Convert.toList(SltLeaseInfo.class, repairList);
|
||||
|
||||
//报废费用明细
|
||||
BigDecimal totalCostScrap = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskList);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
}
|
||||
|
||||
for (SltAgreementInfo bean : scrapList) {
|
||||
if (bean.getCosts()!=null && (bean.getPartType().equals("收费"))) {
|
||||
totalCostScrap = totalCostScrap.add(bean.getCosts());
|
||||
}
|
||||
}
|
||||
List<SltLeaseInfo> scrap = Convert.toList(SltLeaseInfo.class, scrapList);
|
||||
|
||||
//减免费用明细
|
||||
BigDecimal totalCostReduction = BigDecimal.valueOf(0.00);
|
||||
List<SltAgreementReduce> reductionList = new ArrayList<>();
|
||||
// if (sltAgreementInfo.getAgreementId()!=null){
|
||||
// SltAgreementReduce bean =new SltAgreementReduce();
|
||||
// bean.setAgreementId(sltAgreementInfo.getAgreementId());
|
||||
|
|
@ -1261,24 +1373,24 @@ public class SltAgreementInfoController extends BaseController {
|
|||
// }
|
||||
// }
|
||||
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
if (info.getAgreementId() != null){
|
||||
SltAgreementReduce bean =new SltAgreementReduce();
|
||||
bean.setAgreementId(info.getAgreementId());
|
||||
List<SltAgreementReduce> oneOfList = sltAgreementRecudceMapper.getReductionList(bean);
|
||||
reductionList.addAll(oneOfList);
|
||||
}
|
||||
for (SltAgreementInfo info : sltAgreementInfo) {
|
||||
if (info.getAgreementId() != null){
|
||||
SltAgreementReduce bean =new SltAgreementReduce();
|
||||
bean.setAgreementId(info.getAgreementId());
|
||||
List<SltAgreementReduce> oneOfList = sltAgreementRecudceMapper.getReductionList(bean);
|
||||
reductionList.addAll(oneOfList);
|
||||
}
|
||||
|
||||
}
|
||||
for (SltAgreementReduce reduction : reductionList) {
|
||||
if(reduction.getLeaseMoney()!=null){
|
||||
totalCostReduction = totalCostReduction.add(reduction.getLeaseMoney());
|
||||
}
|
||||
for (SltAgreementReduce reduction : reductionList) {
|
||||
if(reduction.getLeaseMoney()!=null){
|
||||
totalCostReduction = totalCostReduction.add(reduction.getLeaseMoney());
|
||||
}
|
||||
}
|
||||
List<SltLeaseInfo> reduction = Convert.toList(SltLeaseInfo.class, reductionList);
|
||||
String projectName = handleData(projectNames);
|
||||
String unitName = handleData(unitNames);
|
||||
expOutExcelAll(response,lease,lose,repair,scrap,reduction,fileName,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
|
||||
}
|
||||
List<SltLeaseInfo> reduction = Convert.toList(SltLeaseInfo.class, reductionList);
|
||||
String projectName = handleData(projectNames);
|
||||
String unitName = handleData(unitNames);
|
||||
expOutExcelAll(response,lease,lose,repair,scrap,reduction,fileName,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
}
|
||||
|
|
@ -1347,7 +1459,14 @@ public class SltAgreementInfoController extends BaseController {
|
|||
BigDecimal totalCostRepair = BigDecimal.ZERO;
|
||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||
List<TmTask> taskListRepair = taskMapper.getTaskIdList(sltAgreementInfo);
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(sltAgreementInfo);
|
||||
|
||||
if (null != taskListRepair && !taskListRepair.isEmpty()) {
|
||||
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskListRepair.addAll(taskList2);
|
||||
}
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(sltAgreementInfo, taskListRepair);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
|
|
@ -1362,7 +1481,14 @@ public class SltAgreementInfoController extends BaseController {
|
|||
BigDecimal totalCostScrap = BigDecimal.ZERO;
|
||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
List<TmTask> taskListScrap = taskMapper.getTaskIdList(sltAgreementInfo);
|
||||
|
||||
List<TmTask> taskListScrap2 = new ArrayList<>();
|
||||
taskListScrap2 = checkTeamAgreementInfo(sltAgreementInfo);
|
||||
|
||||
if (null != taskListScrap && !taskListScrap.isEmpty()) {
|
||||
if (null != taskListScrap2 && !taskListScrap2.isEmpty()) {
|
||||
taskListScrap.addAll(taskListScrap2);
|
||||
}
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(sltAgreementInfo, taskListScrap);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
|
|
@ -1417,7 +1543,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
@PreventRepeatSubmit
|
||||
@RequiresPermissions("settlement:info:remove")
|
||||
@SysLog(title = "结算信息", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除结算信息")
|
||||
@DeleteMapping("/{ids}")
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(sltAgreementInfoService.deleteSltAgreementInfoByIds(ids));
|
||||
}
|
||||
|
|
@ -1449,6 +1575,8 @@ public class SltAgreementInfoController extends BaseController {
|
|||
@GetMapping("/getSltList")
|
||||
public TableDataInfo getSltList(SltAgreementInfo bean) {
|
||||
startPage();
|
||||
|
||||
|
||||
List<SltAgreementInfo> list = sltAgreementInfoService.getSltList(bean);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
|
@ -1460,6 +1588,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
@GetMapping("/getLostReportList")
|
||||
public TableDataInfo getLostReportList(SltAgreementInfo bean) {
|
||||
startPage();
|
||||
|
||||
List<SltAgreementInfo> list = sltAgreementInfoService.getLostReportList(bean);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
|
@ -1566,9 +1695,9 @@ public class SltAgreementInfoController extends BaseController {
|
|||
|
||||
// --------- 拿到list中所有的agreementId存成集合,给每个info赋值 ------------------
|
||||
List<Long> agreementIdsArray = list.stream()
|
||||
.map(SltAgreementInfo::getAgreementId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
.map(SltAgreementInfo::getAgreementId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (agreementIdsArray.isEmpty()) {
|
||||
return getDataTable(Collections.emptyList());
|
||||
|
|
@ -1577,7 +1706,7 @@ public class SltAgreementInfoController extends BaseController {
|
|||
// --------- 定义返回集合 ------------------
|
||||
List<SltInfoVo> dataList = new ArrayList<>(list.size());
|
||||
|
||||
// 清空缓存,确保每次请求都使用最新的数据,避免缓存污染
|
||||
// 清空缓存,确保每次定时任务都使用最新的数据,避免缓存污染
|
||||
sltAgreementInfoService.clearCache();
|
||||
|
||||
// 批量处理,减少单个查询
|
||||
|
|
@ -1659,26 +1788,24 @@ public class SltAgreementInfoController extends BaseController {
|
|||
// 批量处理,减少单个查询
|
||||
list.forEach(info -> {
|
||||
|
||||
info.setSettlementType(settlementType);
|
||||
info.setAgreementIds(agreementIdsArray);
|
||||
info.setSettlementType(settlementType);
|
||||
info.setAgreementIds(agreementIdsArray);
|
||||
|
||||
// 查询每个协议的各项费用明细
|
||||
SltInfoVo vo = sltAgreementInfoService.getSltInfoReportBatch(info);
|
||||
if (vo != null) {
|
||||
vo.setAgreementId(info.getAgreementId());
|
||||
vo.setAgreementCode(info.getAgreementCode());
|
||||
vo.setSettlementType(settlementType);
|
||||
vo.setTotalCostAll(vo.getLeaseCost().add(vo.getRepairCost())
|
||||
.add(vo.getScrapCost()).add(vo.getLoseCost())
|
||||
.subtract(vo.getReductionCost()).setScale(GlobalConstants.INT_2, RoundingMode.DOWN));
|
||||
dataList.add(vo);
|
||||
}
|
||||
// 查询每个协议的各项费用明细
|
||||
SltInfoVo vo = sltAgreementInfoService.getSltInfoReportBatch(info);
|
||||
if (vo != null) {
|
||||
vo.setAgreementId(info.getAgreementId());
|
||||
vo.setAgreementCode(info.getAgreementCode());
|
||||
vo.setSettlementType(settlementType);
|
||||
vo.setTotalCostAll(vo.getLeaseCost().add(vo.getRepairCost())
|
||||
.add(vo.getScrapCost()).add(vo.getLoseCost())
|
||||
.subtract(vo.getReductionCost()).setScale(GlobalConstants.INT_2, RoundingMode.DOWN));
|
||||
dataList.add(vo);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// 清空缓存,防止内存泄漏
|
||||
sltAgreementInfoService.clearCache();
|
||||
|
||||
ExcelUtil<SltInfoVo> util = new ExcelUtil<>(SltInfoVo.class);
|
||||
util.exportExcel(response, dataList, "导出未结算报表列表");
|
||||
}
|
||||
|
|
@ -1984,7 +2111,12 @@ public class SltAgreementInfoController extends BaseController {
|
|||
|
||||
|
||||
List<TmTask> taskRepairList = taskMapper.getTaskIdList(info);
|
||||
List<TmTask> taskRepairList2 = new ArrayList<>();
|
||||
taskRepairList2 = checkTeamAgreementInfo(info);
|
||||
if (null != taskRepairList && !taskRepairList.isEmpty()) {
|
||||
if (null != taskRepairList2 && !taskRepairList2.isEmpty()) {
|
||||
taskRepairList.addAll(taskRepairList2);
|
||||
}
|
||||
repairList = sltAgreementInfoMapper.getRepairDetailsList(info, taskRepairList);
|
||||
}
|
||||
|
||||
|
|
@ -2000,7 +2132,15 @@ public class SltAgreementInfoController extends BaseController {
|
|||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
|
||||
List<TmTask> taskScrapList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskScrapList2 = new ArrayList<>();
|
||||
taskScrapList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskScrapList && !taskScrapList.isEmpty()) {
|
||||
|
||||
if (null != taskScrapList2 && !taskScrapList2.isEmpty()) {
|
||||
taskScrapList.addAll(taskScrapList2);
|
||||
}
|
||||
scrapList = sltAgreementInfoMapper.getScrapDetailsList(info, taskScrapList);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -270,5 +270,16 @@ public class SltAgreementInfo extends BaseEntity {
|
|||
@ApiModelProperty("年月")
|
||||
private String yearMonth;
|
||||
|
||||
/** 核算员签字 */
|
||||
@ApiModelProperty(value = "核算员签字")
|
||||
private String sltSignUrl;
|
||||
|
||||
/** 审核签字 */
|
||||
@ApiModelProperty(value = "审核签字")
|
||||
private String auditorSignUrl;
|
||||
|
||||
/** 审核签字 */
|
||||
@ApiModelProperty(value = "签字类型")
|
||||
private String signType;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ public class SltAgreementInfoLose extends BaseEntity {
|
|||
private BigDecimal leasePrice;
|
||||
|
||||
/** 原值 */
|
||||
@Excel(name = "单价(元)",sort = 8)
|
||||
@Excel(name = "单价(元)",sort = 8, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "原值")
|
||||
private BigDecimal buyPrice;
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ public class SltAgreementInfoLose extends BaseEntity {
|
|||
private BigDecimal repairCost;
|
||||
private BigDecimal scrapCost;
|
||||
|
||||
@Excel(name = "丢失费用(元)",sort = 9)
|
||||
@Excel(name = "丢失费用(元)",sort = 9, cellType = Excel.ColumnType.NUMERIC)
|
||||
private BigDecimal loseCost;
|
||||
private BigDecimal reductionCost;
|
||||
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ public class SltAgreementInfoScrap extends BaseEntity {
|
|||
* 租赁费用
|
||||
*/
|
||||
@ApiModelProperty(value = "租赁费用")
|
||||
@Excel(name = "报废费用(元)",sort = 9)
|
||||
@Excel(name = "报废费用(元)",sort = 9, cellType = Excel.ColumnType.NUMERIC)
|
||||
private BigDecimal costs;
|
||||
|
||||
/**
|
||||
|
|
@ -185,6 +185,7 @@ public class SltAgreementInfoScrap extends BaseEntity {
|
|||
/**
|
||||
* 是否收费
|
||||
*/
|
||||
@Excel(name = "是否收费",sort = 10)
|
||||
private String partType;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
|
@ -58,35 +59,35 @@ public class SltInfoVo {
|
|||
/**
|
||||
* 租赁费用小计
|
||||
*/
|
||||
@Excel(name = "租赁费用",sort = 5)
|
||||
@Excel(name = "租赁费用",sort = 5,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "租赁费用小计")
|
||||
private BigDecimal leaseCost;
|
||||
|
||||
/**
|
||||
* 维修费用小计
|
||||
*/
|
||||
@Excel(name = "维修费用",sort = 6)
|
||||
@Excel(name = "维修费用",sort = 6,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "维修费用小计")
|
||||
private BigDecimal repairCost;
|
||||
|
||||
/**
|
||||
* 报废费用小计
|
||||
*/
|
||||
@Excel(name = "报废费用",sort = 8)
|
||||
@Excel(name = "报废费用",sort = 8,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "报废费用小计")
|
||||
private BigDecimal scrapCost;
|
||||
|
||||
/**
|
||||
* 丢失费用小计
|
||||
*/
|
||||
@Excel(name = "丢失费用",sort = 7)
|
||||
@Excel(name = "丢失费用",sort = 7,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "丢失费用小计")
|
||||
private BigDecimal loseCost;
|
||||
|
||||
/**
|
||||
* 减免费用小计
|
||||
*/
|
||||
@Excel(name = "减免费用",sort = 9)
|
||||
@Excel(name = "减免费用",sort = 9,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
@ApiModelProperty(value = "减免费用小计")
|
||||
private BigDecimal reductionCost;
|
||||
|
||||
|
|
@ -94,7 +95,7 @@ public class SltInfoVo {
|
|||
* 合计
|
||||
*/
|
||||
@ApiModelProperty(value = "合计")
|
||||
@Excel(name = "合计费用",sort = 10)
|
||||
@Excel(name = "合计费用",sort = 10,align = HorizontalAlignment.RIGHT, cellType = Excel.ColumnType.NUMERIC)
|
||||
private BigDecimal totalCostAll;
|
||||
|
||||
private String createBy;
|
||||
|
|
@ -144,4 +145,20 @@ public class SltInfoVo {
|
|||
|
||||
private String yearMonth;
|
||||
|
||||
/** 核算员签字 */
|
||||
@ApiModelProperty(value = "核算员签字")
|
||||
private String sltSignUrl;
|
||||
|
||||
/** 审核签字 */
|
||||
@ApiModelProperty(value = "审核签字")
|
||||
private String auditorSignUrl;
|
||||
|
||||
|
||||
/** 承租负责人签字 */
|
||||
@ApiModelProperty(value = "承租负责人签字")
|
||||
private String managerSignUrl;
|
||||
|
||||
/** 签字类型 */
|
||||
@ApiModelProperty(value = "签字类型")
|
||||
private long signType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -337,4 +337,10 @@ public interface SltAgreementInfoMapper {
|
|||
List<SltAgreementInfo> getRepairCodeList(SltAgreementInfo bean);
|
||||
|
||||
SltAgreementInfo getUnitAndProjectByAgreementId(Long agreementId);
|
||||
|
||||
SltAgreementInfo getAgreementInfo(SltAgreementInfo info);
|
||||
|
||||
List<SltAgreementInfo> selectAgreementInfoList(SltAgreementInfo bean);
|
||||
|
||||
List<SltAgreementInfo> getSltLoseList(SltAgreementInfo info);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -168,6 +168,8 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
|
||||
@Override
|
||||
public SltInfoVo getSltInfo(SltAgreementInfo info) {
|
||||
|
||||
|
||||
SltInfoVo sltInfoVo = new SltInfoVo();
|
||||
sltInfoVo.setUnitName(info.getUnitName());
|
||||
sltInfoVo.setProjectName(info.getProjectName());
|
||||
|
|
@ -202,13 +204,14 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
}
|
||||
|
||||
//丢失费用列表
|
||||
|
||||
List<SltAgreementInfo> loseList = getLoseList(info);
|
||||
//费用减免列表
|
||||
List<SltAgreementReduce> reductionList = getReductionList(info);
|
||||
|
||||
if (CollectionUtils.isEmpty(leaseList) && CollectionUtils.isEmpty(repairList)
|
||||
&& CollectionUtils.isEmpty(scrapList) && CollectionUtils.isEmpty(loseList)
|
||||
&& CollectionUtils.isEmpty(reductionList))
|
||||
&& CollectionUtils.isEmpty(scrapList) && CollectionUtils.isEmpty(loseList)
|
||||
&& CollectionUtils.isEmpty(reductionList))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
|
@ -443,10 +446,11 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
bean.setNum(BigDecimal.ZERO);
|
||||
}
|
||||
if (null == bean.getLeaseDays()) {
|
||||
bean.setLeaseDay(0L);
|
||||
bean.setLeaseDays("0");
|
||||
}
|
||||
BigDecimal leasePrice = bean.getLeasePrice();
|
||||
BigDecimal num = bean.getNum();
|
||||
log.info("协议:"+bean.getAgreementId());
|
||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||
if (leaseDays.compareTo(BigDecimal.ZERO) < 0) {
|
||||
leaseDays = BigDecimal.ZERO;
|
||||
|
|
@ -497,13 +501,41 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
public List<SltAgreementInfo> getRepairList(SltAgreementInfo info) {
|
||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}else{
|
||||
List<SltAgreementInfo> repairDetailsList = sltAgreementInfoMapper.getRepairDetailsList(info, taskList2);
|
||||
repairList.addAll(repairDetailsList);
|
||||
}
|
||||
return repairList;
|
||||
}
|
||||
|
||||
private List<TmTask> checkTeamAgreementInfo(SltAgreementInfo info) {
|
||||
List<TmTask> teamTaskList = new ArrayList<>();
|
||||
try{
|
||||
|
||||
SltAgreementInfo bean = sltAgreementInfoMapper.getAgreementInfo(info);
|
||||
List<SltAgreementInfo> agreementInfoList = sltAgreementInfoMapper.selectAgreementInfoList(bean);
|
||||
if(null != agreementInfoList && !agreementInfoList.isEmpty()){
|
||||
teamTaskList = taskMapper.getTaskIdListByAgreementList(agreementInfoList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
return teamTaskList;
|
||||
}
|
||||
|
||||
public List<SltAgreementInfo> getRepairListBatch(SltAgreementInfo info) {
|
||||
return repairListCache.get()
|
||||
.stream()
|
||||
|
|
@ -514,9 +546,20 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
public List<SltAgreementInfo> getScrapList(SltAgreementInfo info) {
|
||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||
List<TmTask> taskList = taskMapper.getTaskIdList(info);
|
||||
|
||||
List<TmTask> taskList2 = new ArrayList<>();
|
||||
taskList2 = checkTeamAgreementInfo(info);
|
||||
|
||||
if (null != taskList && !taskList.isEmpty()) {
|
||||
|
||||
if (null != taskList2 && !taskList2.isEmpty()) {
|
||||
taskList.addAll(taskList2);
|
||||
}
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskList);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}else{
|
||||
List<SltAgreementInfo> scrapDetailsList = sltAgreementInfoMapper.getScrapDetailsList(info, taskList2);
|
||||
scrapList.addAll(scrapDetailsList);
|
||||
}
|
||||
return scrapList;
|
||||
}
|
||||
|
|
@ -532,7 +575,13 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
}
|
||||
|
||||
public List<SltAgreementInfo> getLoseList(SltAgreementInfo info) {
|
||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
List<SltAgreementInfo> oneOfList = new ArrayList<>();
|
||||
|
||||
if ( info.getEnableQuerySltData()) {
|
||||
oneOfList = sltAgreementInfoMapper.getSltLoseList(info);
|
||||
}else{
|
||||
oneOfList = sltAgreementInfoMapper.getLoseList(info);
|
||||
}
|
||||
List<SltAgreementInfo> loseList = new ArrayList<>(oneOfList);
|
||||
|
||||
for (SltAgreementInfo bean : loseList) {
|
||||
|
|
@ -608,18 +657,26 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
leaseCost = leaseCost.add(cost);
|
||||
}
|
||||
}
|
||||
for (SltAgreementInfo repair : repairList) {
|
||||
if (repair.getAgreementId().equals(sltInfo.getAgreementId())) {
|
||||
BigDecimal cost = repair.getCosts();
|
||||
repairCost = repairCost.add(cost);
|
||||
if(repairList != null) {
|
||||
for (SltAgreementInfo repair : repairList) {
|
||||
if(repair !=null){
|
||||
|
||||
BigDecimal cost = repair.getCosts();
|
||||
repairCost = repairCost.add(cost);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
for (SltAgreementInfo scrap : scrapList) {
|
||||
if (scrap.getAgreementId().equals(sltInfo.getAgreementId())) {
|
||||
BigDecimal cost = scrap.getCosts();
|
||||
scrapCost = scrapCost.add(cost);
|
||||
|
||||
if(scrapList != null) {
|
||||
for (SltAgreementInfo scrap : scrapList) {
|
||||
if(scrap !=null){
|
||||
BigDecimal cost = scrap.getCosts();
|
||||
scrapCost = scrapCost.add(cost);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (SltAgreementInfo lose : loseList) {
|
||||
if (lose.getAgreementId().equals(sltInfo.getAgreementId())) {
|
||||
relation.setAgreementId(String.valueOf(lose.getAgreementId()));
|
||||
|
|
@ -824,10 +881,12 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<SltAgreementInfo> getSltList(SltAgreementInfo bean) {
|
||||
Boolean enableQuerySltData = bean.getEnableQuerySltData();
|
||||
List<SltAgreementInfo> list = sltAgreementInfoMapper.getSltList(bean);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (SltAgreementInfo row : list) {
|
||||
SltInfoVo sltInfoVo;
|
||||
row.setEnableQuerySltData(enableQuerySltData);
|
||||
sltInfoVo = getSltInfo(row);
|
||||
if (sltInfoVo != null) {
|
||||
row.setCosts(sum(sltInfoVo.getLeaseCost(), sltInfoVo.getRepairCost(), sltInfoVo.getScrapCost(), sltInfoVo.getLoseCost()));
|
||||
|
|
@ -850,9 +909,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
sltReportedList.removeIf(obj -> Objects.isNull(obj.getSltStatus()) || !Objects.equals("2", obj.getSltStatus()));
|
||||
sltReportedList.forEach(sltAgreementInfo -> sltAgreementInfo.setCosts(
|
||||
sltAgreementInfo.getLeaseCost()
|
||||
.add(sltAgreementInfo.getRepairCost())
|
||||
.add(sltAgreementInfo.getScrapCost())
|
||||
.add(sltAgreementInfo.getLoseCost())
|
||||
.add(sltAgreementInfo.getRepairCost())
|
||||
.add(sltAgreementInfo.getScrapCost())
|
||||
.add(sltAgreementInfo.getLoseCost())
|
||||
));
|
||||
}
|
||||
return sltReportedList;
|
||||
|
|
@ -889,12 +948,12 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
// 使用并行流处理大数据量(当数据量大于1000时)
|
||||
if (list.size() > 1000) {
|
||||
list.parallelStream()
|
||||
.filter(Objects::nonNull)
|
||||
.forEach(obj -> {
|
||||
if (obj.getIsSlt() == null) {
|
||||
obj.setIsSlt("0");
|
||||
}
|
||||
});
|
||||
.filter(Objects::nonNull)
|
||||
.forEach(obj -> {
|
||||
if (obj.getIsSlt() == null) {
|
||||
obj.setIsSlt("0");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// 小数据量使用普通流
|
||||
list.removeIf(Objects::isNull);
|
||||
|
|
@ -918,6 +977,8 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<SltAgreementInfo> getLostReportList(SltAgreementInfo info) {
|
||||
int loginUserSettlementTypePermission = this.checkLoginUserHasSettlementPermission();
|
||||
info.setSettlementType(loginUserSettlementTypePermission);
|
||||
List<SltAgreementInfo> loseList = sltAgreementInfoMapper.getLostReportList(info);
|
||||
|
||||
loseList.removeIf(Objects::isNull);
|
||||
|
|
@ -938,6 +999,9 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<SltAgreementInfoLose> getLostReportListExport(SltAgreementInfoLose info) {
|
||||
int loginUserSettlementTypePermission = this.checkLoginUserHasSettlementPermission();
|
||||
info.setSettlementType(loginUserSettlementTypePermission);
|
||||
|
||||
List<SltAgreementInfoLose> loseList = sltAgreementInfoMapper.getLostReportListExport(info);
|
||||
|
||||
loseList.removeIf(Objects::isNull);
|
||||
|
|
@ -1068,18 +1132,18 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
|
||||
// 修改slt_agreement_info的结算状态
|
||||
int countThree = sltAgreementInfoMapper.updateSltInfoByAgreementIdType(new SltAgreementInfo()
|
||||
.setAgreementId(sltAgreementApply.getAgreementId())
|
||||
.setSettlementType(sltAgreementApplyFromDb.getSettlementType())
|
||||
.setAgreementId(sltAgreementApply.getAgreementId())
|
||||
.setSettlementType(sltAgreementApplyFromDb.getSettlementType())
|
||||
);
|
||||
if (countThree == 0) {
|
||||
/* if (countThree == 0) {
|
||||
log.error("slt_agreement_info修改失败," + "协议ID:" + sltAgreementApply.getAgreementId() + "," + "结算类型:" + sltAgreementApplyFromDb.getSettlementType());
|
||||
throw new ServiceException("slt_agreement_info修改失败");
|
||||
}
|
||||
|
||||
*/
|
||||
// 修改未退还设备状态为丢失
|
||||
int countFour = sltAgreementInfoMapper.updateMaStatusLoseByAgreementIdType(new SltAgreementInfo()
|
||||
.setAgreementId(sltAgreementApply.getAgreementId())
|
||||
.setSettlementType(sltAgreementApplyFromDb.getSettlementType())
|
||||
.setAgreementId(sltAgreementApply.getAgreementId())
|
||||
.setSettlementType(sltAgreementApplyFromDb.getSettlementType())
|
||||
);
|
||||
if (countFour == 0) {
|
||||
log.warn("协议ID:" + sltAgreementApply.getAgreementId() + ",结算类型:" + sltAgreementApplyFromDb.getSettlementType() + ",无未归还设备,无需更新为丢失状态");
|
||||
|
|
@ -1241,7 +1305,7 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
*/
|
||||
@Override
|
||||
public AjaxResult getAgreementInfoById(SelectDto dto) {
|
||||
List<AgreementVo> vo;
|
||||
List<AgreementVo> vo;
|
||||
try {
|
||||
List<AgreementVo> list = sltAgreementInfoMapper.getAgreementInfoById(dto.getUnitIds(), Integer.parseInt(dto.getProjectId()));
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
|
|
@ -1379,7 +1443,7 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
// 情况4:跨区间租赁(领料在区间前,退料/结算在区间后)
|
||||
if (leaseStartTime != null && leaseStartTime.before(inputStartDate)) {
|
||||
if ((returnTime != null && returnTime.after(inputEndDate)) ||
|
||||
(settlementTime != null && settlementTime.after(inputEndDate))) {
|
||||
(settlementTime != null && settlementTime.after(inputEndDate))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -1674,10 +1738,10 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
* @return 汇总结果列表
|
||||
*/
|
||||
private List<PeriodCostSummaryVo> aggregateByAgreement(List<PeriodCostResultVo> detailList,
|
||||
Date queryStartDate, Date queryEndDate) {
|
||||
Date queryStartDate, Date queryEndDate) {
|
||||
// 按协议ID分组
|
||||
Map<Long, List<PeriodCostResultVo>> groupedByAgreement = detailList.stream()
|
||||
.collect(Collectors.groupingBy(PeriodCostResultVo::getAgreementId));
|
||||
.collect(Collectors.groupingBy(PeriodCostResultVo::getAgreementId));
|
||||
|
||||
List<PeriodCostSummaryVo> summaryList = new ArrayList<>();
|
||||
|
||||
|
|
@ -1707,16 +1771,16 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
// 计算汇总数据
|
||||
int equipmentTypeCount = agreementDetails.size(); // 设备种类数量
|
||||
BigDecimal totalEquipmentCount = agreementDetails.stream()
|
||||
.map(detail -> detail.getNum() != null ? detail.getNum() : BigDecimal.ZERO)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 设备总数量
|
||||
.map(detail -> detail.getNum() != null ? detail.getNum() : BigDecimal.ZERO)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 设备总数量
|
||||
|
||||
long totalLeaseDays = agreementDetails.stream()
|
||||
.mapToLong(detail -> detail.getLeaseDays() != null ? detail.getLeaseDays() : 0L)
|
||||
.sum(); // 总租赁天数
|
||||
.mapToLong(detail -> detail.getLeaseDays() != null ? detail.getLeaseDays() : 0L)
|
||||
.sum(); // 总租赁天数
|
||||
|
||||
BigDecimal totalLeaseCost = agreementDetails.stream()
|
||||
.map(detail -> detail.getLeaseCost() != null ? detail.getLeaseCost() : BigDecimal.ZERO)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 总租赁费用
|
||||
.map(detail -> detail.getLeaseCost() != null ? detail.getLeaseCost() : BigDecimal.ZERO)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add); // 总租赁费用
|
||||
|
||||
BigDecimal totalConsumeCost = agreementDetails.stream()
|
||||
.map(detail -> detail.getConsumeCost() != null ? detail.getConsumeCost() : BigDecimal.ZERO)
|
||||
|
|
@ -1730,22 +1794,22 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
|
|||
|
||||
// 找出最早领料时间和最晚退料时间
|
||||
Date earliestLeaseTime = agreementDetails.stream()
|
||||
.map(PeriodCostResultVo::getStartTime)
|
||||
.filter(Objects::nonNull)
|
||||
.min(Date::compareTo)
|
||||
.orElse(null);
|
||||
.map(PeriodCostResultVo::getStartTime)
|
||||
.filter(Objects::nonNull)
|
||||
.min(Date::compareTo)
|
||||
.orElse(null);
|
||||
|
||||
Date latestReturnTime = agreementDetails.stream()
|
||||
.map(PeriodCostResultVo::getEndTime)
|
||||
.filter(Objects::nonNull)
|
||||
.max(Date::compareTo)
|
||||
.orElse(null);
|
||||
.map(PeriodCostResultVo::getEndTime)
|
||||
.filter(Objects::nonNull)
|
||||
.max(Date::compareTo)
|
||||
.orElse(null);
|
||||
|
||||
Date settlementTime = agreementDetails.stream()
|
||||
.map(PeriodCostResultVo::getSettlementTime)
|
||||
.filter(Objects::nonNull)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
.map(PeriodCostResultVo::getSettlementTime)
|
||||
.filter(Objects::nonNull)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
|
||||
summary.setEquipmentTypeCount(equipmentTypeCount);
|
||||
summary.setTotalEquipmentCount(totalEquipmentCount);
|
||||
|
|
|
|||
|
|
@ -51,6 +51,14 @@ public class TmTask extends BaseEntity {
|
|||
@ApiModelProperty(value = "任务编号,如新购单号,领料单号,退料单号等")
|
||||
private String code;
|
||||
|
||||
/** 核算员签字 */
|
||||
@ApiModelProperty(value = "核算员签字")
|
||||
private String sltSignUrl;
|
||||
|
||||
/** 审核签字 */
|
||||
@ApiModelProperty(value = "审核签字")
|
||||
private String auditorSignUrl;
|
||||
|
||||
/** 数据所属组织 */
|
||||
@Excel(name = "数据所属组织")
|
||||
@ApiModelProperty(value = "数据所属组织")
|
||||
|
|
|
|||
|
|
@ -214,4 +214,5 @@ public interface TmTaskMapper {
|
|||
*/
|
||||
List<Long> selectRepairInfo(TmTask info);
|
||||
|
||||
List<TmTask> getTaskIdListByAgreementList(@Param("agreementInfoList") List<SltAgreementInfo> agreementInfoList);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,9 @@
|
|||
LEFT JOIN bm_project bp ON bp.pro_id = bai.project_id
|
||||
LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id
|
||||
WHERE saa.status in ('1', '2', '3')
|
||||
|
||||
|
||||
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
AND (
|
||||
su.user_name LIKE concat('%', #{keyWord}, '%') or
|
||||
|
|
@ -31,8 +34,8 @@
|
|||
saa.remark LIKE concat('%', #{keyWord}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test="startTime != null and endTime != ''">
|
||||
AND DATE_FORMAT( saa.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime}
|
||||
<if test="startTime != null and endTime != null ">
|
||||
AND saa.create_time BETWEEN #{startTime} AND #{endTime}
|
||||
</if>
|
||||
<if test="startDate != null and endDate != ''">
|
||||
AND DATE_FORMAT( saa.create_time, '%Y-%m-%d' ) BETWEEN #{startDate} AND #{endDate}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -176,17 +176,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="selectTaskById" resultType="com.bonus.material.task.domain.TmTask">
|
||||
SELECT
|
||||
creator as createBy,
|
||||
create_time as createTime
|
||||
saa.creator as createBy,
|
||||
saa.create_time as createTime,
|
||||
sur.sign_url AS sltSignUrl,
|
||||
sur2.sign_url AS auditorSignUrl
|
||||
FROM
|
||||
slt_agreement_apply
|
||||
slt_agreement_apply saa
|
||||
LEFT JOIN sys_user sur on saa.creator = sur.user_id
|
||||
LEFT JOIN sys_user sur2 on saa.auditor = sur2.user_id
|
||||
WHERE
|
||||
1 =1
|
||||
<if test="agreementId != null">
|
||||
and agreement_id = #{agreementId}
|
||||
and saa.agreement_id = #{agreementId}
|
||||
</if>
|
||||
<if test="settlementType != null and settlementType != 0">
|
||||
and settlement_type = #{settlementType}
|
||||
and saa.settlement_type = #{settlementType}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
|
@ -355,4 +359,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getTaskIdListByAgreementList" resultType="com.bonus.material.task.domain.TmTask">
|
||||
select tta.task_id as taskId
|
||||
from tm_task_agreement tta
|
||||
where tta.agreement_id in
|
||||
<foreach item="item" collection="agreementInfoList" open="(" separator="," close=")">
|
||||
#{item.agreementId}
|
||||
</foreach>
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue