包头bug修改
This commit is contained in:
parent
01a4ef43af
commit
01bc5227f3
@ -155,15 +155,17 @@ public class ContractorMonthlyDetailController {
|
|||||||
return Result.success(contractorMonthlyDetailService.queryDetail(param));
|
return Result.success(contractorMonthlyDetailService.queryDetail(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
@OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "查询承包商项自组月报周报详情(word和excel版)信息")
|
@OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "查询待提交的详情(word和excel版)信息")
|
||||||
@ApiOperation(value = "查询承包商项自组月报周报详情(word和excel版)信息", notes = "查询承包商项自组月报周报详情(word和excel版)信息", httpMethod = "GET")
|
@ApiOperation(value = "查询待提交的详情(word和excel版)信息", notes = "查询待提交的详情(word和excel版)信息", httpMethod = "GET")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "hasDefault", value = "1有默认值", paramType = "query", required = false, dataType = "Integer"),
|
@ApiImplicitParam(name = "hasDefault", value = "1有默认值", paramType = "query", required = false, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "levelType", value = "时间级别:1月2周", paramType = "query", required = true, dataType = "Integer"),
|
|
||||||
@ApiImplicitParam(name = "groupId", value = "项目组id", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "groupId", value = "项目组id", paramType = "query", required = true, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "deviceId", value = "设备id", paramType = "query", required = true, dataType = "Integer"),
|
@ApiImplicitParam(name = "deviceId", value = "设备id", paramType = "query", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "levelType", value = "时间级别:1月2周", paramType = "query", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "type", value = "1承包商2项目组3项目部", paramType = "query", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "contentType", value = "1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划", paramType = "query", required = true, dataType = "Integer"),
|
||||||
})
|
})
|
||||||
@GetMapping(value = "/queryCommitDetail")
|
@GetMapping(value = "/queryCommitDetail")
|
||||||
public Result<String> queryCommitDetail(@ApiIgnore @RequestParam HashMap<String, Object> param, HttpServletRequest request) {
|
public Result<String> queryCommitDetail(@ApiIgnore @RequestParam HashMap<String, Object> param, HttpServletRequest request) {
|
||||||
@ -172,38 +174,6 @@ public class ContractorMonthlyDetailController {
|
|||||||
return Result.success(contractorMonthlyDetailService.queryCommitDetail(param));
|
return Result.success(contractorMonthlyDetailService.queryCommitDetail(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
// @OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "提交审批承包商项自组月报周报详情(word和excel版)信息")
|
|
||||||
// @ApiOperation(value = "提交审批承包商项自组月报周报详情(word和excel版)信息", notes = "提交审批承包商项自组月报周报详情(word和excel版)信息", httpMethod = "POST")
|
|
||||||
// @PostMapping(value = "/saveInfo")
|
|
||||||
// public Result saveInfo(@RequestBody ContractorMonthlyDetail contractorMonthlyDetail) {
|
|
||||||
// contractorMonthlyDetailService.saveInfo(contractorMonthlyDetail);
|
|
||||||
// return Result.ok();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "提交审批所有承包商项自组月报周报详情(word和excel版)信息")
|
|
||||||
// @ApiOperation(value = "提交审批所有承包商项自组月报周报详情(word和excel版)信息", notes = "提交审批所有承包商项自组月报周报详情(word和excel版)信息", httpMethod = "POST")
|
|
||||||
// @PostMapping(value = "/saveAllInfo")
|
|
||||||
// public Result saveAllInfo(@RequestBody HashMap<String, Object> param) {
|
|
||||||
// contractorMonthlyDetailService.saveAllInfo(param);
|
|
||||||
// return Result.ok();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "驳回")
|
|
||||||
// @ApiOperation(value = "驳回", notes = "驳回", httpMethod = "POST")
|
|
||||||
// @PostMapping(value = "/reject")
|
|
||||||
// public Result reject(@RequestBody HashMap<String, Object> param) {
|
|
||||||
// contractorMonthlyDetailService.reject(param);
|
|
||||||
// return Result.ok();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// @OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "同意")
|
|
||||||
// @ApiOperation(value = "同意", notes = "同意", httpMethod = "POST")
|
|
||||||
// @PostMapping(value = "/agree")
|
|
||||||
// public Result agree(@RequestBody HashMap<String, Object> param) {
|
|
||||||
// contractorMonthlyDetailService.agree(param);
|
|
||||||
// return Result.ok();
|
|
||||||
// }
|
|
||||||
|
|
||||||
@OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "查询编辑的word")
|
@OperLog(operModul = "承包商项自组月报周报详情(word和excel版)管理", operType = "", operDesc = "查询编辑的word")
|
||||||
@ApiOperation(value = "查询编辑的word", notes = "查询编辑的word", httpMethod = "GET")
|
@ApiOperation(value = "查询编辑的word", notes = "查询编辑的word", httpMethod = "GET")
|
||||||
@GetMapping(value = "/getEditWord")
|
@GetMapping(value = "/getEditWord")
|
||||||
|
|||||||
@ -50,8 +50,8 @@ public class PiecemealImplementation implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 上传时间
|
* 上传时间
|
||||||
*/
|
*/
|
||||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@ApiModelProperty(value = "上传时间")
|
@ApiModelProperty(value = "上传时间")
|
||||||
private java.util.Date uploadTime;
|
private java.util.Date uploadTime;
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -39,10 +39,10 @@
|
|||||||
join enterprise_info ei3 on ei3.id=t.construction_unit
|
join enterprise_info ei3 on ei3.id=t.construction_unit
|
||||||
where t.project_sn = #{projectSn} and t.construction_unit is not null and t.type = 2 and t.is_rectify = 0
|
where t.project_sn = #{projectSn} and t.construction_unit is not null and t.type = 2 and t.is_rectify = 0
|
||||||
<if test="timeType == '1'.toString() ">
|
<if test="timeType == '1'.toString() ">
|
||||||
and t.create_time > CONCAT(DATE_FORMAT(DATE_SUB(now(), interval -7 day), '%Y-%m-%d'), ' 00:00:00')
|
and t.create_time > CONCAT(DATE_FORMAT(DATE_SUB(now(), interval 7 day), '%Y-%m-%d'), ' 00:00:00')
|
||||||
</if>
|
</if>
|
||||||
<if test="timeType == '2'.toString() ">
|
<if test="timeType == '2'.toString() ">
|
||||||
and t.create_time > CONCAT(DATE_FORMAT(DATE_SUB(now(), interval -30 day), '%Y-%m-%d'), ' 00:00:00')
|
and t.create_time > CONCAT(DATE_FORMAT(DATE_SUB(now(), interval 30 day), '%Y-%m-%d'), ' 00:00:00')
|
||||||
</if>
|
</if>
|
||||||
group by t.construction_unit
|
group by t.construction_unit
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -68,5 +68,11 @@ public interface IContractorMonthlyPeriodService extends IService<ContractorMont
|
|||||||
|
|
||||||
ContractorMonthlyPeriod getBeforePeriod(ContractorMonthlyPeriod p);
|
ContractorMonthlyPeriod getBeforePeriod(ContractorMonthlyPeriod p);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询最近的计划
|
||||||
|
*
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
ContractorMonthlyPeriod queryNeedCommit(HashMap<String, Object> param);
|
ContractorMonthlyPeriod queryNeedCommit(HashMap<String, Object> param);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package com.zhgd.xmgl.modules.baotou.service.impl;
|
package com.zhgd.xmgl.modules.baotou.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUnit;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@ -171,13 +173,17 @@ public class AnticorrosionEntrustServiceImpl extends ServiceImpl<AnticorrosionEn
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CountAnticorrosionEntrust countInfoNum(HashMap<String, Object> param) {
|
public CountAnticorrosionEntrust countInfoNum(HashMap<String, Object> param) {
|
||||||
|
String reportingTime_begin = MapUtils.getString(param, "reportingTime_begin");
|
||||||
|
String reportingTime_end = MapUtils.getString(param, "reportingTime_end");
|
||||||
String projectSn = MapUtils.getString(param, "projectSn");
|
String projectSn = MapUtils.getString(param, "projectSn");
|
||||||
param.put("pageNo", 1);
|
param.put("pageNo", 1);
|
||||||
param.put("pageSize", -1);
|
param.put("pageSize", -1);
|
||||||
IPage<CountAnticorrosionEntrust> page = baseMapper.countInfo(PageUtil.getPage(param), param);
|
IPage<CountAnticorrosionEntrust> page = baseMapper.countInfo(PageUtil.getPage(param), param);
|
||||||
List<AnticorrosionEntrust> alls = baseMapper.selectList(new LambdaQueryWrapper<AnticorrosionEntrust>()
|
List<AnticorrosionEntrust> alls = baseMapper.selectList(new LambdaQueryWrapper<AnticorrosionEntrust>()
|
||||||
.eq(AnticorrosionEntrust::getProjectSn, projectSn));
|
.eq(AnticorrosionEntrust::getProjectSn, projectSn));
|
||||||
Date now = new Date();
|
DateTime begin = DateUtil.parseDateTime(reportingTime_begin);
|
||||||
|
DateTime end = DateUtil.parseDateTime(reportingTime_end);
|
||||||
|
long between = DateUtil.between(begin, end, DateUnit.DAY);
|
||||||
BigDecimal weekPine = new BigDecimal("0");
|
BigDecimal weekPine = new BigDecimal("0");
|
||||||
BigDecimal weekSteel = new BigDecimal("0");
|
BigDecimal weekSteel = new BigDecimal("0");
|
||||||
BigDecimal monthPine = new BigDecimal("0");
|
BigDecimal monthPine = new BigDecimal("0");
|
||||||
@ -194,15 +200,18 @@ public class AnticorrosionEntrustServiceImpl extends ServiceImpl<AnticorrosionEn
|
|||||||
.map(o -> ((JSONObject) o).getBigDecimal("field6631158649424")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
.map(o -> ((JSONObject) o).getBigDecimal("field6631158649424")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
BigDecimal decimal1 = ja.stream().filter(o -> Objects.equals(FlowUtil.getInteger(((JSONObject) o), "field8275512826364"), 2))
|
BigDecimal decimal1 = ja.stream().filter(o -> Objects.equals(FlowUtil.getInteger(((JSONObject) o), "field8275512826364"), 2))
|
||||||
.map(o -> ((JSONObject) o).getBigDecimal("field6631158649424")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
.map(o -> ((JSONObject) o).getBigDecimal("field6631158649424")).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
if (between > 14) {
|
||||||
|
//月
|
||||||
|
if (DateUtil.compare(DateUtil.beginOfWeek(begin), entrust.getReportingTime()) <= 0 && DateUtil.compare(DateUtil.endOfWeek(end), entrust.getReportingTime()) >= 0) {
|
||||||
|
monthPine = NumberUtil.add(monthPine, decimal);
|
||||||
|
monthSteel = NumberUtil.add(monthSteel, decimal1);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
//周
|
//周
|
||||||
if (DateUtil.compare(DateUtil.beginOfWeek(now), entrust.getReportingTime()) <= 0 && DateUtil.compare(DateUtil.endOfWeek(now), entrust.getReportingTime()) >= 0) {
|
if (DateUtil.compare(DateUtil.beginOfWeek(begin), entrust.getReportingTime()) <= 0 && DateUtil.compare(DateUtil.endOfWeek(end), entrust.getReportingTime()) >= 0) {
|
||||||
weekPine = NumberUtil.add(weekPine, decimal);
|
weekPine = NumberUtil.add(weekPine, decimal);
|
||||||
weekSteel = NumberUtil.add(weekSteel, decimal1);
|
weekSteel = NumberUtil.add(weekSteel, decimal1);
|
||||||
}
|
}
|
||||||
//月
|
|
||||||
if (DateUtil.compare(DateUtil.beginOfMonth(now), entrust.getReportingTime()) <= 0 && DateUtil.compare(DateUtil.endOfMonth(now), entrust.getReportingTime()) >= 0) {
|
|
||||||
monthPine = NumberUtil.add(monthPine, decimal);
|
|
||||||
monthSteel = NumberUtil.add(monthSteel, decimal1);
|
|
||||||
}
|
}
|
||||||
totalPine = NumberUtil.add(totalPine, decimal);
|
totalPine = NumberUtil.add(totalPine, decimal);
|
||||||
totalSteel = NumberUtil.add(totalSteel, decimal1);
|
totalSteel = NumberUtil.add(totalSteel, decimal1);
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.baotou.service.impl;
|
|||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@ -112,12 +113,18 @@ public class ConstructionPlanLedgerServiceImpl extends ServiceImpl<ConstructionP
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void edit(ConstructionPlanLedger constructionPlanLedger) {
|
public void edit(ConstructionPlanLedger ledger) {
|
||||||
ConstructionPlanLedger oldConstructionPlanLedger = baseMapper.selectById(constructionPlanLedger.getId());
|
ConstructionPlanLedger oldConstructionPlanLedger = baseMapper.selectById(ledger.getId());
|
||||||
if (oldConstructionPlanLedger == null) {
|
if (oldConstructionPlanLedger == null) {
|
||||||
throw new OpenAlertException("未找到对应实体");
|
throw new OpenAlertException("未找到对应实体");
|
||||||
}
|
}
|
||||||
baseMapper.updateById(constructionPlanLedger);
|
baseMapper.updateById(ledger);
|
||||||
|
if (ledger.getConstructionUnitId() == null || ledger.getEpcContractorId() == null) {
|
||||||
|
this.update(null, new LambdaUpdateWrapper<ConstructionPlanLedger>()
|
||||||
|
.set(ledger.getConstructionUnitId() == null, ConstructionPlanLedger::getConstructionUnitId, null)
|
||||||
|
.set(ledger.getEpcContractorId() == null, ConstructionPlanLedger::getEpcContractorId, null)
|
||||||
|
.eq(ConstructionPlanLedger::getId, ledger.getId()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.tuple.ImmutableTriple;
|
import org.apache.commons.lang3.tuple.ImmutableTriple;
|
||||||
import org.apache.commons.lang3.tuple.Triple;
|
import org.apache.commons.lang3.tuple.Triple;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
@ -688,263 +689,10 @@ public class ContractorMonthlyDetailServiceImpl extends ServiceImpl<ContractorMo
|
|||||||
|
|
||||||
//获取默认的模版
|
//获取默认的模版
|
||||||
if (Objects.equals(hasDefault, 1) && StrUtil.isBlank(content)) {
|
if (Objects.equals(hasDefault, 1) && StrUtil.isBlank(content)) {
|
||||||
//contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
content = replacePlaceHolder(contentType, levelType, type, unit, group, info);
|
||||||
Integer tempType = contentType;
|
|
||||||
if (Objects.equals(contentType, 7)) {
|
|
||||||
if (Objects.equals(levelType, 1) && Objects.equals(type, 1)) {
|
|
||||||
tempType = 10;
|
|
||||||
} else if (Objects.equals(levelType, 1) && Objects.equals(type, 2)) {
|
|
||||||
tempType = 12;
|
|
||||||
} else if (Objects.equals(levelType, 2) && Objects.equals(type, 1)) {
|
|
||||||
tempType = 11;
|
|
||||||
} else if (Objects.equals(levelType, 2) && Objects.equals(type, 2)) {
|
|
||||||
tempType = 13;
|
|
||||||
} else if (Objects.equals(levelType, 1) && Objects.equals(type, 3)) {
|
|
||||||
tempType = 16;
|
|
||||||
} else {
|
|
||||||
tempType = 17;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (contentType == 5 && levelType == 2) {
|
|
||||||
tempType = 7;
|
|
||||||
} else if (contentType == 6 && levelType == 2) {
|
|
||||||
tempType = 8;
|
|
||||||
} else if (contentType == 8) {
|
|
||||||
//项目计划
|
|
||||||
tempType = 14;
|
|
||||||
} else if (contentType == 9) {
|
|
||||||
//三周(月)滚动计划
|
|
||||||
tempType = 15;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ContractorMonthlyTemplate template = contractorMonthlyTemplateService.getById(tempType);
|
|
||||||
content = template.getContent();
|
|
||||||
if (Objects.equals(levelType, 2) && contentType <= 4) {
|
|
||||||
content = content.replace("月", "周");
|
|
||||||
} else if (Objects.equals(levelType, 1) && contentType <= 4) {
|
|
||||||
content = content.replace("周", "月");
|
|
||||||
}
|
|
||||||
String groupName = "";
|
|
||||||
String en = info != null ? info.getEnterpriseName() : "xxx";
|
|
||||||
if (Objects.equals(type, 1)) {
|
|
||||||
content = content.replace("项目组", "承包商");
|
|
||||||
groupName = en;
|
|
||||||
} else {
|
|
||||||
groupName = group != null ? group.getProjectGroupName() : "xxx";
|
|
||||||
}
|
|
||||||
String unitName = unit != null ? unit.getDeviceUnitName() : "xxx";
|
|
||||||
content = content.replace("{{unitName}}", unitName);
|
|
||||||
content = content.replace("{{groupName}}", groupName);
|
|
||||||
Date date = new Date();
|
|
||||||
DateTime s1;
|
|
||||||
DateTime s2;
|
|
||||||
if (levelType == 2) {
|
|
||||||
s1 = DateUtil.offsetWeek(date, -1);
|
|
||||||
s2 = DateUtil.offsetWeek(date, 1);
|
|
||||||
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s1)));
|
|
||||||
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(date)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(date)));
|
|
||||||
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s2)));
|
|
||||||
} else {
|
|
||||||
s1 = DateUtil.offsetMonth(date, -1);
|
|
||||||
s2 = DateUtil.offsetMonth(date, 1);
|
|
||||||
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s1)));
|
|
||||||
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(date)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(date)));
|
|
||||||
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s2)));
|
|
||||||
}
|
|
||||||
content = content.replace("{{enterpriseName}}", en);
|
|
||||||
|
|
||||||
//取上周的
|
//三月人力滚动计划/三月机械滚动计划 取上周的
|
||||||
if (contentType == 1 || contentType == 2) {
|
content = setLastWeekForOne(contentType, period, content);
|
||||||
ContractorMonthlyPeriod p1 = contractorMonthlyPeriodService.getBeforePeriod(period);
|
|
||||||
ContractorMonthlyPeriod beforeP = contractorMonthlyPeriodService.queryByEntity(p1);
|
|
||||||
if (beforeP != null) {
|
|
||||||
ContractorMonthlyDetail detail1 = contractorMonthlyDetailMapper.selectOne(new LambdaQueryWrapper<ContractorMonthlyDetail>()
|
|
||||||
.eq(ContractorMonthlyDetail::getContentType, contentType)
|
|
||||||
.eq(ContractorMonthlyDetail::getPeriodId, beforeP.getId()));
|
|
||||||
if (detail1 != null) {
|
|
||||||
JSONObject toJo = JSON.parseObject(content);
|
|
||||||
JSONObject toCellDataJo = getCellData(toJo);
|
|
||||||
JSONObject fromCellDataJo = getCellData(JSON.parseObject(detail1.getContent()));
|
|
||||||
int fl = SheetUtils.getColDataLength(fromCellDataJo, 8, 5);
|
|
||||||
int tl = SheetUtils.getColDataLength(toCellDataJo, 8, 5);
|
|
||||||
SheetUtils.replaceAreaForQuantity(fromCellDataJo, toCellDataJo, 8, 5, fl + 7, 7, 8, 2, tl + 7, 4);
|
|
||||||
content = JSON.toJSONString(toJo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//设置工程量的本周月等的量
|
|
||||||
if (Objects.equals(contentType, 5) || Objects.equals(contentType, 6)) {
|
|
||||||
content = this.getQuantityContent(contentType, periodId, levelType, type, groupId, deviceId, enterpriseId, content, menuType);
|
|
||||||
}
|
|
||||||
|
|
||||||
//设置月报编辑权限,增加编辑链接
|
|
||||||
/*if (contentType == 7 && type == 2) {
|
|
||||||
List<Long> titleIds = contractorMonthlyConfigService.list(new LambdaQueryWrapper<ContractorMonthlyConfig>()
|
|
||||||
.eq(ContractorMonthlyConfig::getUserId, SecurityUtils.getUser().getUserId())).stream().map(ContractorMonthlyConfig::getTitleId).collect(Collectors.toList());
|
|
||||||
if (CollUtil.isNotEmpty(titleIds)) {
|
|
||||||
List<ContractorMonthlyTitle> titles = contractorMonthlyTitleService.list(new LambdaQueryWrapper<ContractorMonthlyTitle>()
|
|
||||||
.eq(ContractorMonthlyTitle::getType, levelType)
|
|
||||||
.in(ContractorMonthlyTitle::getId, titleIds)
|
|
||||||
);
|
|
||||||
Map<String, ContractorMonthlyTitle> titleMap = titles.stream().map(o -> {
|
|
||||||
o.setWordName(o.getWordName().replace(" ", "").replaceAll("\\u00A0+", ""));
|
|
||||||
return o;
|
|
||||||
}).collect(Collectors.toMap(ContractorMonthlyTitle::getWordName, Function.identity(), (o, o2) -> o));
|
|
||||||
JSONObject rootJo = JSON.parseObject(content);
|
|
||||||
JSONArray mainJa = rootJo.getJSONArray("main");
|
|
||||||
for (int i = 0; i < mainJa.size(); i++) {
|
|
||||||
JSONObject jo = mainJa.getJSONObject(i);
|
|
||||||
if (Objects.equals(jo.get("type"), "title")) {
|
|
||||||
JSONArray valueList = jo.getJSONArray("valueList");
|
|
||||||
StringBuilder readTitle = new StringBuilder();
|
|
||||||
for (int i1 = 0; i1 < valueList.size(); i1++) {
|
|
||||||
JSONObject jo1 = valueList.getJSONObject(i1);
|
|
||||||
if (!Objects.equals(jo1.getString("type"), "hyperlink")) {
|
|
||||||
readTitle.append(jo1.getString("value"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String key = readTitle.toString().replaceAll("\\u00A0+", "");
|
|
||||||
if (titleMap.containsKey(key)) {
|
|
||||||
Map<String, Object> edit = new JoBuilder()
|
|
||||||
.put("value", "编辑")
|
|
||||||
.put("color", "#0000FF")
|
|
||||||
.put("underline", true)
|
|
||||||
.build();
|
|
||||||
Map<String, Object> editLink = new JoBuilder()
|
|
||||||
.put("value", "")
|
|
||||||
.put("type", "hyperlink")
|
|
||||||
.put("url", wordExcelUrl + "?titleId=" + titleMap.get(key).getId() + "&periodId=" + period.getId()
|
|
||||||
+ "&contentType=" + contentType + "&projectSn=" + period.getProjectSn() + "&token=" + MapUtils.getString(param, "authorization"))
|
|
||||||
.put("valueList", Collections.singletonList(edit))
|
|
||||||
.build();
|
|
||||||
valueList.add(editLink);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
content = JSON.toJSONString(rootJo);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
//xls设置默认样式
|
|
||||||
JSONObject rootJo1 = JSONObject.parseObject(content);
|
|
||||||
if (rootJo1 != null && contentType != 7) {
|
|
||||||
SheetUtils.setDefaultStyle(rootJo1);
|
|
||||||
content = JSON.toJSONString(rootJo1);
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String queryCommitDetail(HashMap<String, Object> param) {
|
|
||||||
// ContractorMonthlyDetail detail = contractorMonthlyDetailService.queryNeedCommit(param);
|
|
||||||
Integer hasDefault = MapUtils.getInteger(param, "hasDefault");
|
|
||||||
Integer contentType = MapUtils.getInteger(param, "contentType");
|
|
||||||
Integer levelType = MapUtils.getInteger(param, "levelType");
|
|
||||||
Integer menuType = MapUtils.getInteger(param, "menuType");
|
|
||||||
Integer type = MapUtils.getInteger(param, "type");
|
|
||||||
ContractorMonthlyPeriod period = contractorMonthlyPeriodService.queryNeedCommit(param);
|
|
||||||
ProjectGroup group = null;
|
|
||||||
String content = "";
|
|
||||||
Long periodId = null;
|
|
||||||
Long groupId = null;
|
|
||||||
if (period != null) {
|
|
||||||
param.put("periodId", period.getId());
|
|
||||||
periodId = period.getId();
|
|
||||||
groupId = period.getGroupId();
|
|
||||||
group = projectGroupService.getById(groupId);
|
|
||||||
List<ContractorMonthlyDetail> queryList = contractorMonthlyDetailService.queryList(param);
|
|
||||||
if (CollUtil.isNotEmpty(queryList)) {
|
|
||||||
content = queryList.get(0).getContent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Long deviceId = MapUtils.getLong(param, "deviceId");
|
|
||||||
Long enterpriseId = MapUtils.getLong(param, "enterpriseId");
|
|
||||||
DeviceUnit unit = deviceUnitService.getById(deviceId);
|
|
||||||
EnterpriseInfo info = enterpriseInfoService.getById(enterpriseId);
|
|
||||||
//获取默认的模版
|
|
||||||
if (Objects.equals(hasDefault, 1) && StrUtil.isBlank(content)) {
|
|
||||||
//contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
|
||||||
Integer tempType = contentType;
|
|
||||||
if (Objects.equals(contentType, 7)) {
|
|
||||||
if (Objects.equals(levelType, 1) && Objects.equals(type, 1)) {
|
|
||||||
tempType = 10;
|
|
||||||
} else if (Objects.equals(levelType, 1) && Objects.equals(type, 2)) {
|
|
||||||
tempType = 12;
|
|
||||||
} else if (Objects.equals(levelType, 2) && Objects.equals(type, 1)) {
|
|
||||||
tempType = 11;
|
|
||||||
} else {
|
|
||||||
tempType = 13;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (contentType == 5 && levelType == 2) {
|
|
||||||
tempType = 7;
|
|
||||||
} else if (contentType == 6 && levelType == 2) {
|
|
||||||
tempType = 8;
|
|
||||||
} else if (contentType == 8) {
|
|
||||||
//项目计划
|
|
||||||
tempType = 14;
|
|
||||||
} else if (contentType == 9) {
|
|
||||||
//三周(月)滚动计划
|
|
||||||
tempType = 15;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ContractorMonthlyTemplate template = contractorMonthlyTemplateService.getById(tempType);
|
|
||||||
content = template.getContent();
|
|
||||||
if (Objects.equals(levelType, 2) && contentType <= 4) {
|
|
||||||
content = content.replace("月", "周");
|
|
||||||
} else if (Objects.equals(levelType, 1) && contentType <= 4) {
|
|
||||||
content = content.replace("周", "月");
|
|
||||||
}
|
|
||||||
String groupName = "";
|
|
||||||
String en = info != null ? info.getEnterpriseName() : "xxx";
|
|
||||||
if (Objects.equals(type, 1)) {
|
|
||||||
content = content.replace("项目组", "承包商");
|
|
||||||
groupName = en;
|
|
||||||
} else {
|
|
||||||
groupName = group != null ? group.getProjectGroupName() : "xxx";
|
|
||||||
}
|
|
||||||
String unitName = unit != null ? unit.getDeviceUnitName() : "xxx";
|
|
||||||
content = content.replace("{{unitName}}", unitName);
|
|
||||||
content = content.replace("{{groupName}}", groupName);
|
|
||||||
Date date = new Date();
|
|
||||||
DateTime s1;
|
|
||||||
DateTime s2;
|
|
||||||
if (levelType == 2) {
|
|
||||||
s1 = DateUtil.offsetWeek(date, -1);
|
|
||||||
s2 = DateUtil.offsetWeek(date, 1);
|
|
||||||
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s1)));
|
|
||||||
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(date)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(date)));
|
|
||||||
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s2)));
|
|
||||||
} else {
|
|
||||||
s1 = DateUtil.offsetMonth(date, -1);
|
|
||||||
s2 = DateUtil.offsetMonth(date, 1);
|
|
||||||
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s1)));
|
|
||||||
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(date)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(date)));
|
|
||||||
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s2)));
|
|
||||||
}
|
|
||||||
content = content.replace("{{enterpriseName}}", en);
|
|
||||||
|
|
||||||
//取上周的
|
|
||||||
if (contentType == 1 || contentType == 2) {
|
|
||||||
ContractorMonthlyPeriod p1 = contractorMonthlyPeriodService.getBeforePeriod(period);
|
|
||||||
ContractorMonthlyPeriod beforeP = contractorMonthlyPeriodService.queryByEntity(p1);
|
|
||||||
if (beforeP != null) {
|
|
||||||
ContractorMonthlyDetail detail1 = contractorMonthlyDetailMapper.selectOne(new LambdaQueryWrapper<ContractorMonthlyDetail>()
|
|
||||||
.eq(ContractorMonthlyDetail::getContentType, contentType)
|
|
||||||
.eq(ContractorMonthlyDetail::getPeriodId, beforeP.getId()));
|
|
||||||
if (detail1 != null) {
|
|
||||||
JSONObject toJo = JSON.parseObject(content);
|
|
||||||
JSONObject toCellDataJo = getCellData(toJo);
|
|
||||||
JSONObject fromCellDataJo = getCellData(JSON.parseObject(detail1.getContent()));
|
|
||||||
int fl = SheetUtils.getColDataLength(fromCellDataJo, 8, 5);
|
|
||||||
int tl = SheetUtils.getColDataLength(toCellDataJo, 8, 5);
|
|
||||||
SheetUtils.replaceAreaForQuantity(fromCellDataJo, toCellDataJo, 8, 5, fl + 7, 7, 8, 2, tl + 7, 4);
|
|
||||||
content = JSON.toJSONString(toJo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置工程量的本周月等的量
|
//设置工程量的本周月等的量
|
||||||
@ -1009,12 +757,236 @@ public class ContractorMonthlyDetailServiceImpl extends ServiceImpl<ContractorMo
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 替换占位符
|
||||||
|
*
|
||||||
|
* @param contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
||||||
|
* @param levelType 时间级别:1月2周
|
||||||
|
* @param type 1承包商2项目组3项目部
|
||||||
|
* @param unit
|
||||||
|
* @param group
|
||||||
|
* @param info
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@NotNull
|
||||||
|
private String replacePlaceHolder(Integer contentType, Integer levelType, Integer type, DeviceUnit unit, ProjectGroup group, EnterpriseInfo info) {
|
||||||
|
String content;
|
||||||
|
Integer tempType = getTemplateType(contentType, levelType, type);
|
||||||
|
ContractorMonthlyTemplate template = contractorMonthlyTemplateService.getById(tempType);
|
||||||
|
content = template.getContent();
|
||||||
|
if (Objects.equals(levelType, 2) && contentType <= 4) {
|
||||||
|
content = content.replace("月", "周");
|
||||||
|
} else if (Objects.equals(levelType, 1) && contentType <= 4) {
|
||||||
|
content = content.replace("周", "月");
|
||||||
|
}
|
||||||
|
String groupName = "";
|
||||||
|
String en = info != null ? info.getEnterpriseName() : "xxx";
|
||||||
|
if (Objects.equals(type, 1)) {
|
||||||
|
content = content.replace("项目组", "承包商");
|
||||||
|
groupName = en;
|
||||||
|
} else {
|
||||||
|
groupName = group != null ? group.getProjectGroupName() : "xxx";
|
||||||
|
}
|
||||||
|
String unitName = unit != null ? unit.getDeviceUnitName() : "xxx";
|
||||||
|
content = content.replace("{{unitName}}", unitName);
|
||||||
|
content = content.replace("{{groupName}}", groupName);
|
||||||
|
Date date = new Date();
|
||||||
|
DateTime s1;
|
||||||
|
DateTime s2;
|
||||||
|
if (levelType == 2) {
|
||||||
|
s1 = DateUtil.offsetWeek(date, -1);
|
||||||
|
s2 = DateUtil.offsetWeek(date, 1);
|
||||||
|
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s1)));
|
||||||
|
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(date)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(date)));
|
||||||
|
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfWeek(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfWeek(s2)));
|
||||||
|
} else {
|
||||||
|
s1 = DateUtil.offsetMonth(date, -1);
|
||||||
|
s2 = DateUtil.offsetMonth(date, 1);
|
||||||
|
content = content.replace("{{lastWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s1)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s1)));
|
||||||
|
content = content.replace("{{thisWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(date)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(date)));
|
||||||
|
content = content.replace("{{nextWeek}}", DateUtil.formatDate(DateUtil.beginOfMonth(s2)) + "~" + DateUtil.formatDate(DateUtil.endOfMonth(s2)));
|
||||||
|
}
|
||||||
|
content = content.replace("{{enterpriseName}}", en);
|
||||||
|
content = content.replace("{{today}}", DateUtil.today());
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据库的模板的类型(和前端的类型不一样)
|
||||||
|
*
|
||||||
|
* @param contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
||||||
|
* @param levelType 时间级别:1月2周
|
||||||
|
* @param type 1承包商2项目组3项目部
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Integer getTemplateType(Integer contentType, Integer levelType, Integer type) {
|
||||||
|
Integer tempType = contentType;
|
||||||
|
if (contentType == 7) {
|
||||||
|
if (Objects.equals(levelType, 1) && Objects.equals(type, 1)) {
|
||||||
|
tempType = 10;
|
||||||
|
} else if (Objects.equals(levelType, 1) && Objects.equals(type, 2)) {
|
||||||
|
tempType = 12;
|
||||||
|
} else if (Objects.equals(levelType, 2) && Objects.equals(type, 1)) {
|
||||||
|
tempType = 11;
|
||||||
|
} else if (Objects.equals(levelType, 2) && Objects.equals(type, 2)) {
|
||||||
|
tempType = 13;
|
||||||
|
} else if (Objects.equals(levelType, 1) && Objects.equals(type, 3)) {
|
||||||
|
tempType = 16;
|
||||||
|
} else {
|
||||||
|
tempType = 17;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (contentType == 5 && levelType == 2) {
|
||||||
|
tempType = 7;
|
||||||
|
} else if (contentType == 6 && levelType == 2) {
|
||||||
|
tempType = 8;
|
||||||
|
} else if (contentType == 8) {
|
||||||
|
//项目计划
|
||||||
|
tempType = 14;
|
||||||
|
} else if (contentType == 9) {
|
||||||
|
//三周(月)滚动计划
|
||||||
|
tempType = 15;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return tempType;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String queryCommitDetail(HashMap<String, Object> param) {
|
||||||
|
Integer hasDefault = MapUtils.getInteger(param, "hasDefault");
|
||||||
|
Integer contentType = MapUtils.getInteger(param, "contentType");
|
||||||
|
Integer levelType = MapUtils.getInteger(param, "levelType");
|
||||||
|
Integer menuType = MapUtils.getInteger(param, "menuType");
|
||||||
|
Integer type = MapUtils.getInteger(param, "type");
|
||||||
|
ContractorMonthlyPeriod period = contractorMonthlyPeriodService.queryNeedCommit(param);
|
||||||
|
ProjectGroup group = null;
|
||||||
|
String content = "";
|
||||||
|
Long periodId = null;
|
||||||
|
Long groupId = null;
|
||||||
|
if (period != null) {
|
||||||
|
param.put("periodId", period.getId());
|
||||||
|
periodId = period.getId();
|
||||||
|
groupId = period.getGroupId();
|
||||||
|
group = projectGroupService.getById(groupId);
|
||||||
|
List<ContractorMonthlyDetail> queryList = contractorMonthlyDetailService.queryList(param);
|
||||||
|
if (CollUtil.isNotEmpty(queryList)) {
|
||||||
|
content = queryList.get(0).getContent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Long deviceId = MapUtils.getLong(param, "deviceId");
|
||||||
|
Long enterpriseId = MapUtils.getLong(param, "enterpriseId");
|
||||||
|
DeviceUnit unit = deviceUnitService.getById(deviceId);
|
||||||
|
EnterpriseInfo info = enterpriseInfoService.getById(enterpriseId);
|
||||||
|
//获取默认的模版
|
||||||
|
if (Objects.equals(hasDefault, 1) && StrUtil.isBlank(content)) {
|
||||||
|
//contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
||||||
|
Integer tempType = getTemplateType(contentType, levelType, type);
|
||||||
|
ContractorMonthlyTemplate template = contractorMonthlyTemplateService.getById(tempType);
|
||||||
|
content = replacePlaceHolder(contentType, levelType, type, unit, group, info);
|
||||||
|
//取上周的
|
||||||
|
content = setLastWeekForOne(contentType, period, content);
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置工程量的本周月等的量
|
||||||
|
if (Objects.equals(contentType, 5) || Objects.equals(contentType, 6)) {
|
||||||
|
content = this.getQuantityContent(contentType, periodId, levelType, type, groupId, deviceId, enterpriseId, content, menuType);
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置月报编辑权限,增加编辑链接
|
||||||
|
/*if (contentType == 7 && type == 2) {
|
||||||
|
List<Long> titleIds = contractorMonthlyConfigService.list(new LambdaQueryWrapper<ContractorMonthlyConfig>()
|
||||||
|
.eq(ContractorMonthlyConfig::getUserId, SecurityUtils.getUser().getUserId())).stream().map(ContractorMonthlyConfig::getTitleId).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(titleIds)) {
|
||||||
|
List<ContractorMonthlyTitle> titles = contractorMonthlyTitleService.list(new LambdaQueryWrapper<ContractorMonthlyTitle>()
|
||||||
|
.eq(ContractorMonthlyTitle::getType, levelType)
|
||||||
|
.in(ContractorMonthlyTitle::getId, titleIds)
|
||||||
|
);
|
||||||
|
Map<String, ContractorMonthlyTitle> titleMap = titles.stream().map(o -> {
|
||||||
|
o.setWordName(o.getWordName().replace(" ", "").replaceAll("\\u00A0+", ""));
|
||||||
|
return o;
|
||||||
|
}).collect(Collectors.toMap(ContractorMonthlyTitle::getWordName, Function.identity(), (o, o2) -> o));
|
||||||
|
JSONObject rootJo = JSON.parseObject(content);
|
||||||
|
JSONArray mainJa = rootJo.getJSONArray("main");
|
||||||
|
for (int i = 0; i < mainJa.size(); i++) {
|
||||||
|
JSONObject jo = mainJa.getJSONObject(i);
|
||||||
|
if (Objects.equals(jo.get("type"), "title")) {
|
||||||
|
JSONArray valueList = jo.getJSONArray("valueList");
|
||||||
|
StringBuilder readTitle = new StringBuilder();
|
||||||
|
for (int i1 = 0; i1 < valueList.size(); i1++) {
|
||||||
|
JSONObject jo1 = valueList.getJSONObject(i1);
|
||||||
|
if (!Objects.equals(jo1.getString("type"), "hyperlink")) {
|
||||||
|
readTitle.append(jo1.getString("value"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String key = readTitle.toString().replaceAll("\\u00A0+", "");
|
||||||
|
if (titleMap.containsKey(key)) {
|
||||||
|
Map<String, Object> edit = new JoBuilder()
|
||||||
|
.put("value", "编辑")
|
||||||
|
.put("color", "#0000FF")
|
||||||
|
.put("underline", true)
|
||||||
|
.build();
|
||||||
|
Map<String, Object> editLink = new JoBuilder()
|
||||||
|
.put("value", "")
|
||||||
|
.put("type", "hyperlink")
|
||||||
|
.put("url", wordExcelUrl + "?titleId=" + titleMap.get(key).getId() + "&periodId=" + period.getId()
|
||||||
|
+ "&contentType=" + contentType + "&projectSn=" + period.getProjectSn() + "&token=" + MapUtils.getString(param, "authorization"))
|
||||||
|
.put("valueList", Collections.singletonList(edit))
|
||||||
|
.build();
|
||||||
|
valueList.add(editLink);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
content = JSON.toJSONString(rootJo);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//xls设置默认样式
|
||||||
|
JSONObject rootJo1 = JSONObject.parseObject(content);
|
||||||
|
if (rootJo1 != null && contentType != 7) {
|
||||||
|
SheetUtils.setDefaultStyle(rootJo1);
|
||||||
|
content = JSON.toJSONString(rootJo1);
|
||||||
|
}
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三月人力滚动计划/三月机械滚动计划 取上周的
|
||||||
|
*
|
||||||
|
* @param contentType
|
||||||
|
* @param period
|
||||||
|
* @param content
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String setLastWeekForOne(Integer contentType, ContractorMonthlyPeriod period, String content) {
|
||||||
|
if (contentType == 1 || contentType == 2) {
|
||||||
|
ContractorMonthlyPeriod p1 = contractorMonthlyPeriodService.getBeforePeriod(period);
|
||||||
|
ContractorMonthlyPeriod beforeP = contractorMonthlyPeriodService.queryByEntity(p1);
|
||||||
|
if (beforeP != null) {
|
||||||
|
ContractorMonthlyDetail detail1 = contractorMonthlyDetailMapper.selectOne(new LambdaQueryWrapper<ContractorMonthlyDetail>()
|
||||||
|
.eq(ContractorMonthlyDetail::getContentType, contentType)
|
||||||
|
.eq(ContractorMonthlyDetail::getPeriodId, beforeP.getId()));
|
||||||
|
if (detail1 != null) {
|
||||||
|
JSONObject toJo = JSON.parseObject(content);
|
||||||
|
JSONObject toCellDataJo = getCellData(toJo);
|
||||||
|
JSONObject fromCellDataJo = getCellData(JSON.parseObject(detail1.getContent()));
|
||||||
|
int fl = SheetUtils.getColDataLength(fromCellDataJo, 8, 5);
|
||||||
|
int tl = SheetUtils.getColDataLength(toCellDataJo, 8, 5);
|
||||||
|
SheetUtils.replaceAreaForQuantity(fromCellDataJo, toCellDataJo, 8, 5, fl + 7, 7, 8, 2, tl + 7, 4);
|
||||||
|
content = JSON.toJSONString(toJo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询工程量
|
* 查询工程量
|
||||||
*
|
*
|
||||||
* @param contentType
|
* @param contentType
|
||||||
* @param periodId
|
* @param periodId
|
||||||
* @param levelType
|
* @param contentType 1:三月人力滚动计划;2:三月机械滚动计划;3:人力汇总表;4:机械汇总表;5:工程量报表;6:计划工程量报表;7:月报;8:项目计划;9:三周(月)滚动计划
|
||||||
|
* @param levelType 时间级别:1月2周
|
||||||
|
* @param type 1承包商2项目组3项目部
|
||||||
* @param type
|
* @param type
|
||||||
* @param groupId
|
* @param groupId
|
||||||
* @param deviceId
|
* @param deviceId
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.zhgd.xmgl.modules.car.service.impl;
|
package com.zhgd.xmgl.modules.car.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
@ -154,7 +153,7 @@ public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> impl
|
|||||||
c.setSendSuccessStatus(4);
|
c.setSendSuccessStatus(4);
|
||||||
if (old != null) {
|
if (old != null) {
|
||||||
if (Objects.equals(old.getCarModuleType(), CarInfoCarModuleTypeEnum.GD.getValue())) {
|
if (Objects.equals(old.getCarModuleType(), CarInfoCarModuleTypeEnum.GD.getValue())) {
|
||||||
throw new OpenAlertException("该车辆已存在,请勿重复添加!");
|
throw new OpenAlertException("该车辆" + old.getCarNumber() + "已存在,请勿重复添加!");
|
||||||
}
|
}
|
||||||
if (!Objects.equals(c.getFromFlow(), true)) {
|
if (!Objects.equals(c.getFromFlow(), true)) {
|
||||||
this.validEnterpriseTime(c);
|
this.validEnterpriseTime(c);
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
package com.zhgd.xmgl.modules.safetyhat.controller;
|
package com.zhgd.xmgl.modules.safetyhat.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.zhgd.annotation.OperLog;
|
import com.zhgd.annotation.OperLog;
|
||||||
import com.zhgd.jeecg.common.api.vo.Result;
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
@ -177,4 +179,30 @@ public class SafetyHatDevController {
|
|||||||
safetyHatDevService.importExcelTemplate(file, projectSn);
|
safetyHatDevService.importExcelTemplate(file, projectSn);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperLog(operModul = "智能安全帽设备管理", operType = "", operDesc = "北京智盟同步智能安全帽-设备信息")
|
||||||
|
@ApiOperation(value = "北京智盟同步智能安全帽-设备信息", notes = "北京智盟同步智能安全帽-设备信息", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/zhiMengSyncDev")
|
||||||
|
public Result zhimengSyncDev(@RequestBody HashMap<String, Object> param) {
|
||||||
|
Integer operateType = MapUtils.getInteger(param, "operateType");
|
||||||
|
String devSn = MapUtils.getString(param, "devSn");
|
||||||
|
if (operateType == 1) {
|
||||||
|
//操作类型,1:新增或修改 2:删除
|
||||||
|
List<SafetyHatDev> list = safetyHatDevService.list(new LambdaQueryWrapper<SafetyHatDev>()
|
||||||
|
.eq(SafetyHatDev::getDevSn, devSn));
|
||||||
|
if (CollUtil.isEmpty(list)) {
|
||||||
|
SafetyHatDev dev = new SafetyHatDev();
|
||||||
|
dev.setWorkerName(MapUtils.getString(param, "workerName"));
|
||||||
|
dev.setDevSn(devSn);
|
||||||
|
dev.setProjectSn(MapUtils.getString(param, "projectSn"));
|
||||||
|
safetyHatDevService.add(dev);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//操作类型,1:新增或修改 2:删除
|
||||||
|
safetyHatDevService.remove(new LambdaQueryWrapper<SafetyHatDev>()
|
||||||
|
.eq(SafetyHatDev::getDevSn, devSn));
|
||||||
|
}
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -80,6 +80,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
|
|
||||||
http.authorizeRequests()
|
http.authorizeRequests()
|
||||||
//请求路径允许访问
|
//请求路径允许访问
|
||||||
|
.antMatchers("/xmgl/safetyHatDev/**").permitAll()
|
||||||
.antMatchers("/wflow/custom/**").permitAll()
|
.antMatchers("/wflow/custom/**").permitAll()
|
||||||
.antMatchers("/xmgl/testUnitDeclarationData/flow/add").permitAll()
|
.antMatchers("/xmgl/testUnitDeclarationData/flow/add").permitAll()
|
||||||
.antMatchers("/xmgl/unitApplyData/flow/add").permitAll()
|
.antMatchers("/xmgl/unitApplyData/flow/add").permitAll()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user