同步重庆代码
This commit is contained in:
parent
b1c10ed046
commit
49b8fdf347
|
|
@ -2,6 +2,7 @@ package com.bonus.sgzb.base.api.domain;
|
||||||
|
|
||||||
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
|
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
|
@ -13,6 +14,7 @@ import java.math.BigDecimal;
|
||||||
* @author bonus
|
* @author bonus
|
||||||
* @date 2023-12-15
|
* @date 2023-12-15
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class MaInputRecord extends BaseEntity
|
public class MaInputRecord extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
@ -61,7 +63,11 @@ public class MaInputRecord extends BaseEntity
|
||||||
@ApiModelProperty(value = "机具编号")
|
@ApiModelProperty(value = "机具编号")
|
||||||
private String maCode;
|
private String maCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机具类型,1:数量;0:编码
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "管理类型")
|
||||||
|
private String manageType;
|
||||||
|
|
||||||
public void setId(Long id)
|
public void setId(Long id)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@ package com.bonus.sgzb.base.api.domain;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author c liu
|
* @author c liu
|
||||||
* @date 2024/2/21
|
* @date 2024/2/21
|
||||||
|
|
@ -59,7 +57,8 @@ public class SltAgreementApply {
|
||||||
*结算总费用
|
*结算总费用
|
||||||
*/
|
*/
|
||||||
private String cost;
|
private String cost;
|
||||||
|
private String repairIds;
|
||||||
|
|
||||||
private List<SltAgreementRelation> relations;
|
private SltAgreementRelation relation;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,10 @@ public class SltAgreementInfo {
|
||||||
*机具id
|
*机具id
|
||||||
*/
|
*/
|
||||||
private String maId;
|
private String maId;
|
||||||
|
/**
|
||||||
|
*配件单价
|
||||||
|
*/
|
||||||
|
private String partPrice;
|
||||||
/**
|
/**
|
||||||
*领料数量
|
*领料数量
|
||||||
*/
|
*/
|
||||||
|
|
@ -67,6 +71,10 @@ public class SltAgreementInfo {
|
||||||
*领料id
|
*领料id
|
||||||
*/
|
*/
|
||||||
private String leaseId;
|
private String leaseId;
|
||||||
|
/**
|
||||||
|
*配件数量
|
||||||
|
*/
|
||||||
|
private String partNum;
|
||||||
/**
|
/**
|
||||||
*退料id
|
*退料id
|
||||||
*/
|
*/
|
||||||
|
|
@ -153,7 +161,7 @@ public class SltAgreementInfo {
|
||||||
/**
|
/**
|
||||||
* 费用承担方
|
* 费用承担方
|
||||||
*/
|
*/
|
||||||
@Excel(name = "费用承担方")
|
@Excel(name = "费用承担方(01项目,03分包)")
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
/**
|
/**
|
||||||
* 调整天数
|
* 调整天数
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ public class SltAgreementRelation {
|
||||||
private String leaseCostOne;
|
private String leaseCostOne;
|
||||||
private String leaseCostThree;
|
private String leaseCostThree;
|
||||||
private String scrapCost;
|
private String scrapCost;
|
||||||
|
private String preScrapCost;
|
||||||
private String repairCost;
|
private String repairCost;
|
||||||
private String isSltOne;
|
private String isSltOne;
|
||||||
private String isSltThree;
|
private String isSltThree;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.bonus.sgzb.common.core.constant;
|
||||||
|
|
||||||
|
public class RoleConstans {
|
||||||
|
|
||||||
|
private RoleConstans() {
|
||||||
|
throw new IllegalStateException("Utility class");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员
|
||||||
|
*/
|
||||||
|
public static final String STRING_ADMIN = "admin";
|
||||||
|
/**
|
||||||
|
* 机具设备分公司--机具库管员
|
||||||
|
*/
|
||||||
|
public static final String STRING_JJFGS = "jjfgs";
|
||||||
|
/**
|
||||||
|
* 机具设备分公司--班长
|
||||||
|
*/
|
||||||
|
public static final String STRING_JJBZ = "jjbz";
|
||||||
|
/**
|
||||||
|
* 副班长
|
||||||
|
*/
|
||||||
|
public static final String STRING_FBZ = "fbz";
|
||||||
|
/**
|
||||||
|
*机具设备分公司--机具经理/书记
|
||||||
|
*/
|
||||||
|
public static final String STRING_EM01 = "em01";
|
||||||
|
/**
|
||||||
|
* 机具设备分公司--机具副经理
|
||||||
|
*/
|
||||||
|
public static final String STRING_EM02 = "em02";
|
||||||
|
/**
|
||||||
|
* 机具设备分公司--安全员
|
||||||
|
*/
|
||||||
|
public static final String STRING_EM03 = "em03";
|
||||||
|
/**
|
||||||
|
* 调试分公司--调试经理
|
||||||
|
*/
|
||||||
|
public static final String STRING_DM01 = "dm01";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调试分公司--调试库管员
|
||||||
|
*/
|
||||||
|
public static final String STRING_DM05 = "dm05";
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import org.apache.commons.lang3.time.DateUtils;
|
||||||
|
|
||||||
import java.text.*;
|
import java.text.*;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.YearMonth;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.time.temporal.TemporalAdjusters;
|
import java.time.temporal.TemporalAdjusters;
|
||||||
|
|
@ -795,6 +796,19 @@ public class DateTimeHelper {
|
||||||
return lastDayOfMonth;
|
return lastDayOfMonth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取上个月的年月
|
||||||
|
public static String getLastMonthYearMonth() {
|
||||||
|
// 获取当前时间的年月
|
||||||
|
YearMonth now = YearMonth.now();
|
||||||
|
|
||||||
|
// 减去一个月
|
||||||
|
YearMonth lastMonth = now.minusMonths(1);
|
||||||
|
|
||||||
|
// 将YearMonth对象格式化为字符串
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
|
return lastMonth.format(formatter);
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.err.println(getTimeAfterThirtyDay());
|
System.err.println(getTimeAfterThirtyDay());
|
||||||
System.err.println(getNowTime());
|
System.err.println(getNowTime());
|
||||||
|
|
@ -926,16 +940,46 @@ public class DateTimeHelper {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getCalStartDay() {
|
public static String getPreMonthFirstDay() {
|
||||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
// 获取当前月第一天:
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
c.add(Calendar.MONTH, -1);
|
c.add(Calendar.MONTH, -1);
|
||||||
c.set(Calendar.DAY_OF_MONTH, 21);
|
c.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天
|
||||||
String first = format.format(c.getTime());
|
String first = format.format(c.getTime());
|
||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getCalDay(int day) {
|
public static String getCurrentMonthFirstDay() {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
// 获取当前月第一天:
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.add(Calendar.MONTH, 0);
|
||||||
|
c.set(Calendar.DAY_OF_MONTH, 1);// 设置为1号,当前日期既为本月第一天
|
||||||
|
String first = format.format(c.getTime());
|
||||||
|
return first;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getPreLastDay() {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
// 获取当前月最后一天
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.add(Calendar.MONTH, -1);
|
||||||
|
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
|
||||||
|
String last = format.format(c.getTime());
|
||||||
|
return last;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getPreMonthCalStartDay(int day) {
|
||||||
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
Calendar c = Calendar.getInstance();
|
||||||
|
c.add(Calendar.MONTH, -1);
|
||||||
|
c.set(Calendar.DAY_OF_MONTH, day);
|
||||||
|
String first = format.format(c.getTime());
|
||||||
|
return first;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getCurrentMonthCalEndDay(int day) {
|
||||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
c.add(Calendar.MONTH, 0);
|
c.add(Calendar.MONTH, 0);
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public class LeaseApplyInfo implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 费用承担方
|
* 费用承担方
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "费用承担方")
|
@ApiModelProperty(value = "费用承担方(01项目,03分包)")
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ public class TmTask implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 费用承担方
|
* 费用承担方
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "费用承担方")
|
@ApiModelProperty(value = "费用承担方(01项目,03分包)")
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
/**
|
/**
|
||||||
* 编号
|
* 编号
|
||||||
|
|
|
||||||
|
|
@ -1090,15 +1090,15 @@ public class TmTaskServiceImpl implements TmTaskService {
|
||||||
remark = leaseApplyInfo1.getRemark();
|
remark = leaseApplyInfo1.getRemark();
|
||||||
phone = leaseApplyInfo1.getPhone();
|
phone = leaseApplyInfo1.getPhone();
|
||||||
}
|
}
|
||||||
List<LeaseApplyDetails> leaseApplyDetails = task.getLeaseApplyDetails();
|
List<LeaseApplyInfo> LeaseApplyInfoList = task.getLeaseApplyInfoList();
|
||||||
Long taskId = task.getTaskId();
|
Long taskId = task.getTaskId();
|
||||||
if (CollUtil.isNotEmpty(leaseApplyDetails)) {
|
if (CollUtil.isNotEmpty(LeaseApplyInfoList)) {
|
||||||
for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) {
|
for (LeaseApplyInfo leaseApply : LeaseApplyInfoList) {
|
||||||
LeaseApplyInfo leaseApplyInfos = new LeaseApplyInfo();
|
LeaseApplyInfo leaseApplyInfos = new LeaseApplyInfo();
|
||||||
if (leaseApplyDetail.getCompanyId() == null) {
|
if (leaseApply.getCompanyId() == null) {
|
||||||
leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompIdCq(String.valueOf(taskId));
|
leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompIdCq(String.valueOf(taskId));
|
||||||
} else {
|
} else {
|
||||||
leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompId(String.valueOf(taskId), leaseApplyDetail.getCompanyId());
|
leaseApplyInfos = leaseApplyInfoMapper.selectByTaskIdAndCompId(String.valueOf(taskId), leaseApply.getCompanyId());
|
||||||
}
|
}
|
||||||
if (leaseApplyInfos == null) {
|
if (leaseApplyInfos == null) {
|
||||||
LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo();
|
LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo();
|
||||||
|
|
@ -1115,9 +1115,10 @@ public class TmTaskServiceImpl implements TmTaskService {
|
||||||
}
|
}
|
||||||
leaseApplyInfo.setRemark(remark);
|
leaseApplyInfo.setRemark(remark);
|
||||||
leaseApplyInfo.setType(task.getLeaseApplyInfoList().get(0).getType());
|
leaseApplyInfo.setType(task.getLeaseApplyInfoList().get(0).getType());
|
||||||
leaseApplyInfo.setCompanyId(leaseApplyDetail.getCompanyId());
|
leaseApplyInfo.setCompanyId(leaseApply.getCompanyId());
|
||||||
leaseApplyInfo.setEstimateLeaseTime(task.getEstimateLeaseTime());
|
leaseApplyInfo.setEstimateLeaseTime(task.getEstimateLeaseTime());
|
||||||
leaseApplyInfo.setLeaseType(task.getLeaseType());
|
leaseApplyInfo.setLeaseType(task.getLeaseType());
|
||||||
|
leaseApplyInfo.setCostBearingParty(leaseApply.getCostBearingParty());
|
||||||
res = leaseApplyInfoMapper.insert(leaseApplyInfo);
|
res = leaseApplyInfoMapper.insert(leaseApplyInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/base/receive")
|
@RequestMapping("/receive")
|
||||||
public class MaReceiveController extends BaseController {
|
public class MaReceiveController extends BaseController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,7 @@ public class RepairApplyRecord implements Serializable {
|
||||||
private List<RepairPartDetails> partList;
|
private List<RepairPartDetails> partList;
|
||||||
private String partStrList;
|
private String partStrList;
|
||||||
private Long companyId;
|
private Long companyId;
|
||||||
|
private Integer partId;
|
||||||
/**
|
/**
|
||||||
* 损坏照片id
|
* 损坏照片id
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工机具类型管理 数据层
|
* 工机具类型管理 数据层
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
|
|
@ -84,4 +84,6 @@ public interface MaTypeMapper {
|
||||||
int deletePropSetByTypeId(Long typeId);
|
int deletePropSetByTypeId(Long typeId);
|
||||||
|
|
||||||
int updateTypeNum(MaMachine maMachine);
|
int updateTypeNum(MaMachine maMachine);
|
||||||
|
|
||||||
|
List<MaTypeKeeper> selectMaTypeByUserId(Long userId);
|
||||||
}
|
}
|
||||||
|
|
@ -161,4 +161,6 @@ public interface RepairMapper {
|
||||||
List<RepairTask> exportRepairTaskList(RepairTask bean);
|
List<RepairTask> exportRepairTaskList(RepairTask bean);
|
||||||
|
|
||||||
int addRepairCost(@Param("bean") RepairApplyRecord bean, @Param("costs") BigDecimal costs,@Param("partType") String partType);
|
int addRepairCost(@Param("bean") RepairApplyRecord bean, @Param("costs") BigDecimal costs,@Param("partType") String partType);
|
||||||
|
|
||||||
|
String selectPartPrice(Long partId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -161,74 +161,47 @@ public class ExcelServiceImpl implements ExcelService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void printLevel3Relation(Map<String, Map<String, List<MapType>>> level3Relation) {
|
private void printLevel3Relation(Map<String, Map<String, List<MapType>>> level3Relation) {
|
||||||
for (Map.Entry<String, Map<String, List<MapType>>> firstLevel : level3Relation.entrySet()) {
|
for (Map.Entry<String, Map<String, List<MapType>>> firstLevel : level3Relation.entrySet()) {
|
||||||
boolean outExist = true;
|
|
||||||
System.out.println("level_1: " + firstLevel.getKey());
|
System.out.println("level_1: " + firstLevel.getKey());
|
||||||
//TODO, sql查询:是否有此名字 + parentId=0, select * from ma_part_type where name=? and parent_id=0;
|
|
||||||
MaPartType maPartType_level1 = excelMapper.selectMa(firstLevel.getKey(),0);
|
MaPartType maPartType_level1 = excelMapper.selectMa(firstLevel.getKey(),0);
|
||||||
//TODO, 以上返回 maPartType_level1
|
|
||||||
if (Objects.nonNull(maPartType_level1)) {
|
if (Objects.nonNull(maPartType_level1)) {
|
||||||
loopInner(firstLevel, outExist,maPartType_level1.getPaId());
|
loopInner(firstLevel, maPartType_level1.getPaId());
|
||||||
} else {
|
} else {
|
||||||
//TODO, insert firstLevel, get id
|
|
||||||
MaPartType maPartType = new MaPartType();
|
MaPartType maPartType = new MaPartType();
|
||||||
maPartType.setPaName(firstLevel.getKey());
|
maPartType.setPaName(firstLevel.getKey());
|
||||||
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
||||||
maPartType.setParentId(0L);
|
maPartType.setParentId(0L);
|
||||||
maPartType.setLevel("1");
|
maPartType.setLevel("1");
|
||||||
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据,并且读取到parent_id
|
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据,并且读取到parent_id
|
||||||
outExist = outExist && false;
|
loopInner(firstLevel, maPartType.getPaId());
|
||||||
loopInner(firstLevel, outExist, maPartType.getPaId());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loopInner(Map.Entry<String, Map<String, List<MapType>>> firstLevel, boolean outExist, long firstLevelId) {
|
private void loopInner(Map.Entry<String, Map<String, List<MapType>>> firstLevel, long firstLevelId) {
|
||||||
for (Map.Entry<String, List<MapType>> secondLevel : firstLevel.getValue().entrySet()) {
|
for (Map.Entry<String, List<MapType>> secondLevel : firstLevel.getValue().entrySet()) {
|
||||||
System.out.println("\tlevel_2: " + secondLevel.getKey());
|
System.out.println("\tlevel_2: " + secondLevel.getKey());
|
||||||
//TODO, sql查询:是否有此名字 + parentId=firstLevelId, select * from ma_part_type where name=? and parent_id = firstLevelId;
|
|
||||||
MaPartType maPartType_level2 = excelMapper.selectMa(secondLevel.getKey(),firstLevelId);
|
MaPartType maPartType_level2 = excelMapper.selectMa(secondLevel.getKey(),firstLevelId);
|
||||||
//TODO, 以上返回 maPartType_level2
|
|
||||||
if (Objects.nonNull(maPartType_level2)) {
|
if (Objects.nonNull(maPartType_level2)) {
|
||||||
looplevel3(secondLevel, outExist, maPartType_level2.getPaId());
|
looplevel3(secondLevel, maPartType_level2.getPaId());
|
||||||
} else {
|
} else {
|
||||||
//TODO, insert firstLevel, get id
|
MaPartType maPartType = new MaPartType();
|
||||||
if (!outExist) {
|
maPartType.setPaName(secondLevel.getKey());
|
||||||
MaPartType maPartType = new MaPartType();
|
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
||||||
maPartType.setPaName(secondLevel.getKey());
|
maPartType.setParentId(firstLevelId);
|
||||||
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
maPartType.setLevel("2");
|
||||||
maPartType.setParentId(firstLevelId);
|
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据,并且读取到parent_id
|
||||||
maPartType.setLevel("2");
|
looplevel3(secondLevel, maPartType.getPaId());
|
||||||
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据,并且读取到parent_id
|
|
||||||
outExist = outExist && false;
|
|
||||||
looplevel3(secondLevel, outExist, maPartType.getPaId());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void looplevel3(Map.Entry<String, List<MapType>> secondLevel, boolean outExist, long secondLevelId) {
|
private void looplevel3(Map.Entry<String, List<MapType>> secondLevel, long secondLevelId) {
|
||||||
for (MapType thirdLevel : secondLevel.getValue()) {
|
for (MapType thirdLevel : secondLevel.getValue()) {
|
||||||
System.out.println("\t\tlevel_3: " + thirdLevel);
|
System.out.println("\t\tlevel_3: " + thirdLevel);
|
||||||
//TODO, sql查询:是否有此名字 + parentId=secondLevelId, select * from ma_part_type where name=? and parent_id = secondLevelId;
|
|
||||||
MaPartType maPartType_level3 = excelMapper.selectMa(thirdLevel.getPaName(),secondLevelId);
|
MaPartType maPartType_level3 = excelMapper.selectMa(thirdLevel.getPaName(),secondLevelId);
|
||||||
//TODO, 以上返回 maPartType_level3
|
if (Objects.isNull(maPartType_level3)) {
|
||||||
if (Objects.nonNull(maPartType_level3)) {
|
|
||||||
if (!outExist) {
|
|
||||||
//TODO insert
|
|
||||||
MaPartType maPartType = new MaPartType();
|
|
||||||
maPartType.setPaName(thirdLevel.getPaName());
|
|
||||||
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
|
||||||
maPartType.setUnitId(thirdLevel.getUnitId());
|
|
||||||
maPartType.setBuyPrice(thirdLevel.getBuyPrice());
|
|
||||||
maPartType.setParentId(secondLevelId);
|
|
||||||
maPartType.setLevel("3");
|
|
||||||
excelMapper.insertPaName(maPartType);//如果第一层在数据库中查询不到则插入数据,并且读取到parent_id
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
//TODO insert
|
|
||||||
MaPartType maPartType = new MaPartType();
|
MaPartType maPartType = new MaPartType();
|
||||||
maPartType.setPaName(thirdLevel.getPaName());
|
maPartType.setPaName(thirdLevel.getPaName());
|
||||||
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
maPartType.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@ import com.bonus.sgzb.base.domain.vo.DictVo;
|
||||||
import com.bonus.sgzb.base.mapper.RepairMapper;
|
import com.bonus.sgzb.base.mapper.RepairMapper;
|
||||||
import com.bonus.sgzb.base.service.RepairService;
|
import com.bonus.sgzb.base.service.RepairService;
|
||||||
import com.bonus.sgzb.common.core.exception.ServiceException;
|
import com.bonus.sgzb.common.core.exception.ServiceException;
|
||||||
import com.bonus.sgzb.common.core.utils.StringUtils;
|
|
||||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.sgzb.common.security.utils.SecurityUtils;
|
import com.bonus.sgzb.common.security.utils.SecurityUtils;
|
||||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||||
import com.bonus.sgzb.system.api.model.LoginUser;
|
import com.bonus.sgzb.system.api.model.LoginUser;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -58,8 +58,6 @@ public class RepairServiceImpl implements RepairService {
|
||||||
bean.setCreateBy(loginUser.getUserid());
|
bean.setCreateBy(loginUser.getUserid());
|
||||||
List<RepairPartDetails> partList = bean.getPartList();
|
List<RepairPartDetails> partList = bean.getPartList();
|
||||||
BigDecimal sfCosts = new BigDecimal("0");
|
BigDecimal sfCosts = new BigDecimal("0");
|
||||||
BigDecimal bsfCosts = new BigDecimal("0");
|
|
||||||
Integer partNum = 0;
|
|
||||||
String nbType = "1";
|
String nbType = "1";
|
||||||
String fcType = "2";
|
String fcType = "2";
|
||||||
String sfPart = "1";
|
String sfPart = "1";
|
||||||
|
|
@ -103,6 +101,7 @@ public class RepairServiceImpl implements RepairService {
|
||||||
if (nbType.equals(bean.getRepairType())) {
|
if (nbType.equals(bean.getRepairType())) {
|
||||||
for (RepairPartDetails partDetails : partList) {
|
for (RepairPartDetails partDetails : partList) {
|
||||||
if (partDetails.getPartId() != null) {
|
if (partDetails.getPartId() != null) {
|
||||||
|
// 有维修配件时
|
||||||
if (partDetails.getPartCost() == null || partDetails.getPartCost().isEmpty()) {
|
if (partDetails.getPartCost() == null || partDetails.getPartCost().isEmpty()) {
|
||||||
partDetails.setPartCost("0");
|
partDetails.setPartCost("0");
|
||||||
}
|
}
|
||||||
|
|
@ -111,11 +110,21 @@ public class RepairServiceImpl implements RepairService {
|
||||||
partDetails.setTypeId(bean.getTypeId());
|
partDetails.setTypeId(bean.getTypeId());
|
||||||
partDetails.setCreateBy(loginUser.getUserid());
|
partDetails.setCreateBy(loginUser.getUserid());
|
||||||
partDetails.setCompanyId(bean.getCompanyId());
|
partDetails.setCompanyId(bean.getCompanyId());
|
||||||
|
// 根据partid 找到配件单价
|
||||||
|
String partPrice = mapper.selectPartPrice(partDetails.getPartId());
|
||||||
|
partDetails.setPartCost(partPrice);
|
||||||
mapper.addPart(partDetails);
|
mapper.addPart(partDetails);
|
||||||
partNum += partDetails.getPartNum();
|
bean.setPartPrice(partDetails.getPartCost());
|
||||||
|
bean.setPartId(partDetails.getPartId().intValue());
|
||||||
|
bean.setPartNum(partDetails.getPartNum());
|
||||||
|
bean.setRepairContent(partDetails.getRepairContent());
|
||||||
|
bean.setPartType(partDetails.getPartType());
|
||||||
|
mapper.addRecord(bean);
|
||||||
|
} else {
|
||||||
|
// 不选维修配件时
|
||||||
|
mapper.addRecord(bean);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
bean.setPartNum(partNum);
|
|
||||||
}
|
}
|
||||||
if (fcType.equals(bean.getRepairType())) {
|
if (fcType.equals(bean.getRepairType())) {
|
||||||
bean.setPartName(partList.get(0).getPartName());
|
bean.setPartName(partList.get(0).getPartName());
|
||||||
|
|
@ -126,39 +135,26 @@ public class RepairServiceImpl implements RepairService {
|
||||||
} else {
|
} else {
|
||||||
bean.setSupplierId(partList.get(0).getSupplierId());
|
bean.setSupplierId(partList.get(0).getSupplierId());
|
||||||
}
|
}
|
||||||
if (bean.getPartPrice() == null || bean.getPartPrice().isEmpty()) {
|
if (partList.get(0).getPartPrice() == null || partList.get(0).getPartPrice().isEmpty()) {
|
||||||
bean.setPartPrice("0");
|
bean.setPartPrice("0");
|
||||||
} else {
|
} else {
|
||||||
bean.setPartPrice(partList.get(0).getPartPrice());
|
bean.setPartPrice(partList.get(0).getPartPrice());
|
||||||
}
|
}
|
||||||
bean.setPartNum(partList.get(0).getPartNum());
|
bean.setPartNum(partList.get(0).getPartNum());
|
||||||
|
mapper.addRecord(bean);
|
||||||
}
|
}
|
||||||
for (RepairPartDetails partDetails : partList) {
|
for (RepairPartDetails partDetails : partList) {
|
||||||
|
if (StringUtils.isNotBlank(partDetails.getPartCost())) {
|
||||||
if (sfPart.equals(partDetails.getPartType())) {
|
|
||||||
if (StringUtils.isEmpty(partDetails.getPartCost())) {
|
|
||||||
partDetails.setPartCost("0");
|
|
||||||
}
|
|
||||||
BigDecimal partCost = new BigDecimal(partDetails.getPartCost());
|
BigDecimal partCost = new BigDecimal(partDetails.getPartCost());
|
||||||
sfCosts = sfCosts.add(partCost);
|
BigDecimal partNumber = new BigDecimal(partDetails.getPartNum());
|
||||||
} else if (bsfPart.equals(partDetails.getPartType())) {
|
sfCosts = sfCosts.add(partCost.multiply(partNumber));
|
||||||
if (StringUtils.isEmpty(partDetails.getPartCost())) {
|
|
||||||
partDetails.setPartCost("0");
|
|
||||||
}
|
|
||||||
BigDecimal partCost = new BigDecimal(partDetails.getPartCost());
|
|
||||||
bsfCosts = bsfCosts.add(partCost);
|
|
||||||
} else {
|
|
||||||
throw new ServiceException("请选择配件收费类型");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!"0".equals(sfCosts.toString())) {
|
if (!"0".equals(sfCosts.toString())) {
|
||||||
mapper.addRepairCost(bean, sfCosts, sfPart);
|
mapper.addRepairCost(bean, sfCosts, sfPart);
|
||||||
}
|
}
|
||||||
if (!"0".equals(bsfCosts.toString())) {
|
|
||||||
mapper.addRepairCost(bean, bsfCosts, bsfPart);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
mapper.addRecord(bean);
|
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,7 @@ package com.bonus.sgzb.material.controller;
|
||||||
import com.bonus.sgzb.common.core.web.controller.BaseController;
|
import com.bonus.sgzb.common.core.web.controller.BaseController;
|
||||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.sgzb.common.core.web.page.TableDataInfo;
|
import com.bonus.sgzb.common.core.web.page.TableDataInfo;
|
||||||
import com.bonus.sgzb.material.domain.IotDto;
|
import com.bonus.sgzb.material.domain.*;
|
||||||
import com.bonus.sgzb.material.domain.IotLocationVo;
|
|
||||||
import com.bonus.sgzb.material.domain.IotRecordVo;
|
|
||||||
import com.bonus.sgzb.material.domain.IotVo;
|
|
||||||
import com.bonus.sgzb.material.service.IotMachineService;
|
import com.bonus.sgzb.material.service.IotMachineService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
|
@ -162,29 +159,50 @@ public class IotMachineController extends BaseController {
|
||||||
|
|
||||||
@ApiOperation("获取定位")
|
@ApiOperation("获取定位")
|
||||||
@PostMapping("/getLocation")
|
@PostMapping("/getLocation")
|
||||||
public AjaxResult getLocation(@Validated @RequestBody IotDto iotDto) {
|
public AjaxResult getLocation(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
||||||
log.info("获取定位接口:{}", iotDto);
|
log.info("获取定位接口:{}", iotLocationVo);
|
||||||
return iotMachineService.getLocation(iotDto);
|
return AjaxResult.success(iotMachineService.getLocation(iotLocationVo));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询行程")
|
@ApiOperation("查询行程")
|
||||||
@PostMapping("/searchItinerary")
|
@PostMapping("/searchItinerary")
|
||||||
public AjaxResult searchItinerary(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
public AjaxResult searchItinerary(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
||||||
log.info("查询行程接口:{}", iotLocationVo);
|
log.info("查询行程接口:{}", iotLocationVo);
|
||||||
return iotMachineService.searchItinerary(iotLocationVo);
|
return AjaxResult.success(iotMachineService.searchItinerary(iotLocationVo));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询停留点")
|
@ApiOperation("查询停留点")
|
||||||
@PostMapping("/reportParkDetailByTime")
|
@PostMapping("/reportParkDetailByTime")
|
||||||
public AjaxResult reportParkDetailByTime(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
public AjaxResult reportParkDetailByTime(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
||||||
log.info("查询停留点接口:{}", iotLocationVo);
|
log.info("查询停留点接口:{}", iotLocationVo);
|
||||||
return iotMachineService.reportParkDetailByTime(iotLocationVo);
|
return AjaxResult.success(iotMachineService.reportParkDetailByTime(iotLocationVo));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("报警记录")
|
@ApiOperation("报警记录")
|
||||||
@PostMapping("/reportAlarm")
|
@PostMapping("/reportAlarm")
|
||||||
public AjaxResult reportAlarm(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
public AjaxResult reportAlarm(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
||||||
log.info("报警记录接口:{}", iotLocationVo);
|
log.info("报警记录接口:{}", iotLocationVo);
|
||||||
return iotMachineService.reportAlarm(iotLocationVo);
|
return AjaxResult.success(iotMachineService.reportAlarm(iotLocationVo));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("报警推送")
|
||||||
|
@GetMapping("/alarmPush")
|
||||||
|
public AjaxResult alarmPush() {
|
||||||
|
log.info("报警推送:=======");
|
||||||
|
return AjaxResult.success(iotMachineService.alarmPush());
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("报警列表")
|
||||||
|
@PostMapping("/alarmList")
|
||||||
|
public AjaxResult alarmList(@Validated @RequestBody IotLocationVo iotLocationVo) {
|
||||||
|
log.info("报警列表:=======");
|
||||||
|
return AjaxResult.success(iotMachineService.alarmList(iotLocationVo));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("报警处置")
|
||||||
|
@PostMapping("/alarmManagement")
|
||||||
|
public AjaxResult alarmManagement(@Validated @RequestBody ReportAlarm reportAlarm) {
|
||||||
|
log.info("报警处置:=======");
|
||||||
|
return AjaxResult.success(iotMachineService.alarmManagement(reportAlarm));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,7 @@ public class PurchaseMacodeInfoController extends BaseController {
|
||||||
@GetMapping(value = "/putinDetails")
|
@GetMapping(value = "/putinDetails")
|
||||||
public TableDataInfo putinDetails(PurchaseMacodeInfo purchaseMacodeInfo) {
|
public TableDataInfo putinDetails(PurchaseMacodeInfo purchaseMacodeInfo) {
|
||||||
startPage();
|
startPage();
|
||||||
|
|
||||||
return getDataTable(purchaseMacodeInfoService.selectPutinDetails(purchaseMacodeInfo));
|
return getDataTable(purchaseMacodeInfoService.selectPutinDetails(purchaseMacodeInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ public class AgreementInfo extends BaseEntity {
|
||||||
private String cost;
|
private String cost;
|
||||||
@ApiModelProperty(value = "结算状态")
|
@ApiModelProperty(value = "结算状态")
|
||||||
private String sltStatus;
|
private String sltStatus;
|
||||||
@ApiModelProperty(value = "费用承担方")
|
@ApiModelProperty(value = "费用承担方(01项目,03分包)")
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
private String codeNum;
|
private String codeNum;
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ public class IotLocationVo {
|
||||||
|
|
||||||
/** iot设备ID */
|
/** iot设备ID */
|
||||||
@ApiModelProperty(value = "iot设备ID")
|
@ApiModelProperty(value = "iot设备ID")
|
||||||
private Long iotId;
|
private String iotId;
|
||||||
|
|
||||||
/** 经度 */
|
/** 经度 */
|
||||||
@ApiModelProperty(value = "经度")
|
@ApiModelProperty(value = "经度")
|
||||||
|
|
@ -40,4 +40,10 @@ public class IotLocationVo {
|
||||||
/** 报警内容 */
|
/** 报警内容 */
|
||||||
@ApiModelProperty(value = "报警内容")
|
@ApiModelProperty(value = "报警内容")
|
||||||
private String startAlarm;
|
private String startAlarm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录的uuid 唯一确定这一条记录
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "记录的uuid 唯一确定这一条记录")
|
||||||
|
private String deviceAlarmId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,10 @@ public class ProjectMonthCosts {
|
||||||
* 结算记录关联id
|
* 结算记录关联id
|
||||||
*/
|
*/
|
||||||
private Integer sltMonthId;
|
private Integer sltMonthId;
|
||||||
|
/**
|
||||||
|
* 结算记录关联 task id
|
||||||
|
*/
|
||||||
|
private Integer taskId;
|
||||||
/**
|
/**
|
||||||
* 单位id
|
* 单位id
|
||||||
*/
|
*/
|
||||||
|
|
@ -36,7 +40,7 @@ public class ProjectMonthCosts {
|
||||||
*/
|
*/
|
||||||
private String month;
|
private String month;
|
||||||
/**
|
/**
|
||||||
* 费用承担方
|
* 费用承担方(01项目,03分包)
|
||||||
*/
|
*/
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ public class ProjectMonthDetail {
|
||||||
*/
|
*/
|
||||||
private String leasePrice;
|
private String leasePrice;
|
||||||
/**
|
/**
|
||||||
* 费用承担方
|
* 费用承担方(01项目,03分包)
|
||||||
*/
|
*/
|
||||||
private String costBearingParty;
|
private String costBearingParty;
|
||||||
private String leaseDays;
|
private String leaseDays;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.bonus.sgzb.material.domain;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ReportAlarm {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
/** iot设备编码 */
|
||||||
|
@ApiModelProperty(value = "iot设备编码")
|
||||||
|
private String iotCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录的uuid 唯一确定这一条记录
|
||||||
|
*/
|
||||||
|
private String deviceAlarmId;
|
||||||
|
|
||||||
|
/** 报警时间 */
|
||||||
|
@ApiModelProperty(value = "报警时间")
|
||||||
|
private Date startAlarmTime;
|
||||||
|
|
||||||
|
/** 报警内容 */
|
||||||
|
@ApiModelProperty(value = "报警内容")
|
||||||
|
private String startAlarm;
|
||||||
|
|
||||||
|
/** 是否推送 0:否,1:是 */
|
||||||
|
@ApiModelProperty(value = "是否推送 0:否,1:是")
|
||||||
|
private Integer whetherPush;
|
||||||
|
|
||||||
|
/** 是否核实 0:否,1:是 */
|
||||||
|
@ApiModelProperty(value = "是否核实 0:否,1:是")
|
||||||
|
private String whetherVerify;
|
||||||
|
|
||||||
|
/** 核实人 */
|
||||||
|
@ApiModelProperty(value = "核实人")
|
||||||
|
private Long StringBy;
|
||||||
|
|
||||||
|
/** 核实时间 */
|
||||||
|
@ApiModelProperty(value = "核实时间")
|
||||||
|
private Date verifyTime;
|
||||||
|
}
|
||||||
|
|
@ -28,6 +28,8 @@ public interface CalMonthlyMapper {
|
||||||
|
|
||||||
int deleteCalcRecord(CalMonthlyBean bean);
|
int deleteCalcRecord(CalMonthlyBean bean);
|
||||||
|
|
||||||
|
int deleteMonthlyDetail(CalMonthlyBean bean);
|
||||||
|
|
||||||
int deleteMonthlyCosts(CalMonthlyBean bean);
|
int deleteMonthlyCosts(CalMonthlyBean bean);
|
||||||
|
|
||||||
int insertProMonCosts(ProjectMonthCosts projectMonthCosts);
|
int insertProMonCosts(ProjectMonthCosts projectMonthCosts);
|
||||||
|
|
|
||||||
|
|
@ -117,4 +117,6 @@ public interface IotMachineMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<IotRecordVo> getRecordList(IotDto iotDto);
|
List<IotRecordVo> getRecordList(IotDto iotDto);
|
||||||
|
|
||||||
|
List<IotVo> selectListByTypeId(Long typeId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public interface PurchaseCheckDetailsMapper {
|
||||||
* @param taskId 新购验收任务详细purchase_check_details主键
|
* @param taskId 新购验收任务详细purchase_check_details主键
|
||||||
* @return 新购验收任务详细purchase_check_details
|
* @return 新购验收任务详细purchase_check_details
|
||||||
*/
|
*/
|
||||||
public PurchaseCheckDetails selectPurchaseCheckDetailsByTaskId(Long taskId);
|
public List<PurchaseCheckDetails> selectPurchaseCheckDetailsByTaskId(Long taskId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新购验收任务详细purchase_check_details列表
|
* 查询新购验收任务详细purchase_check_details列表
|
||||||
|
|
|
||||||
|
|
@ -145,4 +145,8 @@ public interface RepairAuditDetailsMapper
|
||||||
List<RepairPart> getPartRecord(RepairAuditDetails bean);
|
List<RepairPart> getPartRecord(RepairAuditDetails bean);
|
||||||
|
|
||||||
int updateRepairCost(@Param("inputDetails")RepairAuditDetails inputDetails, @Param("status") String status);
|
int updateRepairCost(@Param("inputDetails")RepairAuditDetails inputDetails, @Param("status") String status);
|
||||||
|
|
||||||
|
List<String> getRepairApplyRecordId(Long repairId);
|
||||||
|
|
||||||
|
void updateRecodeStatus(String id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.bonus.sgzb.material.mapper;
|
||||||
|
|
||||||
|
import com.bonus.sgzb.material.domain.IotLocationVo;
|
||||||
|
import com.bonus.sgzb.material.domain.ReportAlarm;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface ReportAlarmMapper {
|
||||||
|
|
||||||
|
int add(ReportAlarm reportAlarm);
|
||||||
|
|
||||||
|
|
||||||
|
int deleteById(Long id);
|
||||||
|
|
||||||
|
|
||||||
|
int update(ReportAlarm reportAlarm);
|
||||||
|
|
||||||
|
|
||||||
|
ReportAlarm selectByDeviceAlarmId(@Param("DeviceAlarmId") String DeviceAlarmId);
|
||||||
|
|
||||||
|
List<ReportAlarm> selectByIotCode(IotLocationVo iotLocationVo);
|
||||||
|
}
|
||||||
|
|
@ -70,4 +70,6 @@ public interface SltAgreementInfoMapper {
|
||||||
int updateOutSourceCosts(SltAgreementInfo sltAgreementInfo);
|
int updateOutSourceCosts(SltAgreementInfo sltAgreementInfo);
|
||||||
|
|
||||||
int updateBmAgreementInfo(@Param("agreementId") String agreementId);
|
int updateBmAgreementInfo(@Param("agreementId") String agreementId);
|
||||||
|
|
||||||
|
int updateRecodeIsSlt(String id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,35 @@
|
||||||
package com.bonus.sgzb.material.remind;
|
package com.bonus.sgzb.material.remind;
|
||||||
|
|
||||||
|
import com.bonus.sgzb.common.core.utils.StringUtils;
|
||||||
import com.bonus.sgzb.material.remind.service.CalcMonthlyService;
|
import com.bonus.sgzb.material.remind.service.CalcMonthlyService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class Inform {
|
public class Inform {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CalcMonthlyService calcfourCostService;
|
private CalcMonthlyService calcMonthlyService;
|
||||||
|
|
||||||
private final int CAL_DAY = 6;
|
@Value("${sgzb.job.settlementJobDay}")
|
||||||
|
private String settlementJobDay;
|
||||||
|
|
||||||
// @Scheduled(cron = "0 */1 * * * ? ") // 间隔5分钟执行
|
//@Scheduled(cron = "0 */3 * * * ? ") // 间隔3分钟执行
|
||||||
// @Scheduled(cron = "0 0 1 22 * ? ") // 每个月22日凌晨1点执行
|
@Scheduled(cron = "${sgzb.job.settlementJobCron}") // 结算日次日凌晨执行
|
||||||
@Async
|
@Async
|
||||||
public void taskCycle() {
|
public void taskCycle() {
|
||||||
System.out.println("===springMVC定时器启动====");
|
System.out.println("===springMVC定时器启动====");
|
||||||
try {
|
try {
|
||||||
// 生成每月数据 (上月21日---本月20日)
|
|
||||||
calcfourCostService.calcMonthInfo(CAL_DAY);
|
if (StringUtils.isEmpty(settlementJobDay)) {
|
||||||
|
calcMonthlyService.calcMonthInfo(1);
|
||||||
|
} else {
|
||||||
|
int calDay = Integer.parseInt(settlementJobDay);
|
||||||
|
calcMonthlyService.calcMonthInfo(calDay);
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
||||||
|
|
@ -34,22 +34,27 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void calcMonthInfo(int day) {
|
public void calcMonthInfo(int day) {
|
||||||
String time = DateTimeHelper.getNowDate();
|
String month;
|
||||||
String calDay = DateTimeHelper.getCalDay(day);
|
String startTime;
|
||||||
if (time.equals(calDay)) {
|
String endTime;
|
||||||
CalMonthlyBean record = new CalMonthlyBean();
|
if (day == 1) {
|
||||||
String month = DateTimeHelper.getCurrentMonth();
|
month = DateTimeHelper.getPrevMonth();
|
||||||
record.setMonth(month);
|
startTime = DateTimeHelper.getPreMonthFirstDay();
|
||||||
// cleanSameMonthOldRecords(record);
|
endTime = DateTimeHelper.getCurrentMonthFirstDay();
|
||||||
List<AgreementInfo> list = agreementInfoService.getAllAgreementId();
|
} else {
|
||||||
String startTime = DateTimeHelper.getCalStartDay();
|
month = DateTimeHelper.getCurrentMonth();
|
||||||
String endTime = DateTimeHelper.getCalDay(day - 1);
|
startTime = DateTimeHelper.getPreMonthCalStartDay(day);
|
||||||
list.forEach(t -> {
|
endTime = DateTimeHelper.getCurrentMonthCalEndDay(day);
|
||||||
t.setStartTime(startTime);
|
|
||||||
t.setEndTime(endTime);
|
|
||||||
});
|
|
||||||
getLeaseListMonth(list, record);
|
|
||||||
}
|
}
|
||||||
|
CalMonthlyBean record = new CalMonthlyBean();
|
||||||
|
record.setMonth(month);
|
||||||
|
cleanSameMonthOldRecords(record);
|
||||||
|
List<AgreementInfo> list = agreementInfoService.getAllAgreementId();
|
||||||
|
list.forEach(t -> {
|
||||||
|
t.setStartTime(startTime);
|
||||||
|
t.setEndTime(endTime);
|
||||||
|
});
|
||||||
|
addProjectMonthCosts(list, record);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cleanSameMonthOldRecords(CalMonthlyBean record) {
|
private void cleanSameMonthOldRecords(CalMonthlyBean record) {
|
||||||
|
|
@ -59,26 +64,27 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
//清除上月之前计算过的记录 calc_project_month
|
//清除上月之前计算过的记录 calc_project_month
|
||||||
calMonthlyMapper.deleteCalcRecord(bean);
|
calMonthlyMapper.deleteCalcRecord(bean);
|
||||||
|
|
||||||
//清除上月之前计算过的记录 project_month_costs(表名待定)
|
//清除上月之前计算过的记录 project_month_detail, project_month_costs
|
||||||
|
calMonthlyMapper.deleteMonthlyDetail(bean);
|
||||||
calMonthlyMapper.deleteMonthlyCosts(bean);
|
calMonthlyMapper.deleteMonthlyCosts(bean);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SltAgreementInfo> getLeaseListMonth(List<AgreementInfo> list, CalMonthlyBean record) {
|
private List<SltAgreementInfo> addProjectMonthCosts(List<AgreementInfo> list, CalMonthlyBean record) {
|
||||||
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
||||||
|
calMonthlyMapper.insertCalcRecord(record);
|
||||||
|
String taskId = record.getId();
|
||||||
for (AgreementInfo bean : list) {
|
for (AgreementInfo bean : list) {
|
||||||
if (StringUtils.isNotBlank(bean.getStartTime()) && StringUtils.isNotBlank(bean.getEndTime())) {
|
if (StringUtils.isNotBlank(bean.getStartTime()) && StringUtils.isNotBlank(bean.getEndTime())) {
|
||||||
List<SltAgreementInfo> monthList = sltAgreementInfoMapper.getLeaseListMonthNotNull(bean);
|
List<SltAgreementInfo> monthList = sltAgreementInfoMapper.getLeaseListMonthNotNull(bean);
|
||||||
monthList.stream().filter(Objects::nonNull);
|
monthList.stream().filter(Objects::nonNull);
|
||||||
|
|
||||||
for (SltAgreementInfo sltAgreementInfo : monthList) {
|
for (SltAgreementInfo sltAgreementInfo : monthList) {
|
||||||
calMonthlyMapper.insertCalcRecord(record);
|
|
||||||
// slt_project_month的主键id
|
|
||||||
String spmId = record.getId();
|
|
||||||
ProjectMonthCosts projectMonthCosts = new ProjectMonthCosts();
|
ProjectMonthCosts projectMonthCosts = new ProjectMonthCosts();
|
||||||
projectMonthCosts.setAgreementId(Integer.parseInt(sltAgreementInfo.getAgreementId()));
|
projectMonthCosts.setAgreementId(Integer.parseInt(sltAgreementInfo.getAgreementId()));
|
||||||
projectMonthCosts.setSltMonthId(Integer.parseInt(spmId));
|
projectMonthCosts.setSltMonthId(Integer.parseInt(taskId));
|
||||||
|
projectMonthCosts.setTaskId(Integer.parseInt(taskId));
|
||||||
projectMonthCosts.setUnitId(sltAgreementInfo.getUnitId());
|
projectMonthCosts.setUnitId(sltAgreementInfo.getUnitId());
|
||||||
projectMonthCosts.setProjectId(sltAgreementInfo.getLotId());
|
projectMonthCosts.setProjectId(sltAgreementInfo.getLotId());
|
||||||
projectMonthCosts.setMonth(record.getMonth());
|
projectMonthCosts.setMonth(record.getMonth());
|
||||||
|
|
@ -94,7 +100,7 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
agreementInfo.setIds(sltAgreementInfo.getIds());
|
agreementInfo.setIds(sltAgreementInfo.getIds());
|
||||||
sltAgreementInfo.setMonth(bean.getMonth());
|
sltAgreementInfo.setMonth(bean.getMonth());
|
||||||
agreementInfo.setEndTime(sltAgreementInfo.getOffTime());
|
agreementInfo.setEndTime(sltAgreementInfo.getOffTime());
|
||||||
List<SltAgreementInfo> leaseListOneMonth = getLeaseListOneMonth(agreementInfo, sltAgreementInfo, pmcId);
|
List<SltAgreementInfo> leaseListOneMonth = addProjectMonthDetail(agreementInfo, sltAgreementInfo, pmcId);
|
||||||
projectMonthCosts.setCosts(sltAgreementInfo.getCosts());
|
projectMonthCosts.setCosts(sltAgreementInfo.getCosts());
|
||||||
calMonthlyMapper.updateProMonCosts(projectMonthCosts);
|
calMonthlyMapper.updateProMonCosts(projectMonthCosts);
|
||||||
sltAgreementInfo.setNode(leaseListOneMonth);
|
sltAgreementInfo.setNode(leaseListOneMonth);
|
||||||
|
|
@ -106,25 +112,25 @@ public class CalcMonthlyServiceImp implements CalcMonthlyService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<SltAgreementInfo> getLeaseListOneMonth(AgreementInfo list, SltAgreementInfo sltAgreementInfo, Integer pmcId) {
|
private List<SltAgreementInfo> addProjectMonthDetail(AgreementInfo agreementInfo, SltAgreementInfo sltAgreementInfo, Integer pmcId) {
|
||||||
ArrayList<String> idList = new ArrayList<>();
|
ArrayList<String> idList = new ArrayList<>();
|
||||||
String[] ids = list.getIds().split(",");
|
String[] ids = agreementInfo.getIds().split(",");
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
idList.add(id);
|
idList.add(id);
|
||||||
}
|
}
|
||||||
List<SltAgreementInfo> leaseList = sltAgreementInfoMapper.getLeaseListOneMonth(list, idList);
|
List<SltAgreementInfo> leaseList = sltAgreementInfoMapper.getLeaseListOneMonth(agreementInfo, idList);
|
||||||
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (bean.getLeasePrice() == null) {
|
if (StringUtils.isEmpty(bean.getLeasePrice())) {
|
||||||
bean.setLeasePrice("0");
|
bean.setLeasePrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
if (bean.getLeaseDays() == null) {
|
if (StringUtils.isEmpty(bean.getLeaseDays())) {
|
||||||
bean.setLeaseDays("0");
|
bean.setLeaseDays("0");
|
||||||
}
|
}
|
||||||
if (bean.getTrimDay() == null) {
|
if (Objects.isNull(bean.getTrimDay())) {
|
||||||
bean.setTrimDay(0);
|
bean.setTrimDay(0);
|
||||||
}
|
}
|
||||||
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public interface IPurchaseCheckDetailsService
|
||||||
* @param taskId 新购验收任务详细purchase_check_details主键
|
* @param taskId 新购验收任务详细purchase_check_details主键
|
||||||
* @return 新购验收任务详细purchase_check_details
|
* @return 新购验收任务详细purchase_check_details
|
||||||
*/
|
*/
|
||||||
public PurchaseCheckDetails selectPurchaseCheckDetailsByTaskId(Long taskId);
|
public List<PurchaseCheckDetails> selectPurchaseCheckDetailsByTaskId(Long taskId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新购验收任务详细purchase_check_details列表
|
* 查询新购验收任务详细purchase_check_details列表
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,7 @@
|
||||||
package com.bonus.sgzb.material.service;
|
package com.bonus.sgzb.material.service;
|
||||||
|
|
||||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.sgzb.material.domain.IotDto;
|
import com.bonus.sgzb.material.domain.*;
|
||||||
import com.bonus.sgzb.material.domain.IotLocationVo;
|
|
||||||
import com.bonus.sgzb.material.domain.IotRecordVo;
|
|
||||||
import com.bonus.sgzb.material.domain.IotVo;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -83,21 +80,21 @@ public interface IotMachineService {
|
||||||
* @param iotDto
|
* @param iotDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult getLocation(IotDto iotDto);
|
IotLocationVo getLocation(IotLocationVo iotLocationVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询行程
|
* 查询行程
|
||||||
* @param iotLocationVo
|
* @param iotLocationVo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult searchItinerary(IotLocationVo iotLocationVo);
|
String searchItinerary(IotLocationVo iotLocationVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询停留点
|
* 查询停留点
|
||||||
* @param iotLocationVo
|
* @param iotLocationVo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult reportParkDetailByTime(IotLocationVo iotLocationVo);
|
List<IotLocationVo> reportParkDetailByTime(IotLocationVo iotLocationVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* App绑定设备
|
* App绑定设备
|
||||||
|
|
@ -111,5 +108,16 @@ public interface IotMachineService {
|
||||||
* @param iotLocationVo
|
* @param iotLocationVo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult reportAlarm(IotLocationVo iotLocationVo);
|
List<IotLocationVo> reportAlarm(IotLocationVo iotLocationVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报警推送
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int alarmPush();
|
||||||
|
|
||||||
|
List<ReportAlarm> alarmList(IotLocationVo iotLocationVo);
|
||||||
|
|
||||||
|
int alarmManagement(ReportAlarm reportAlarm);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,12 @@ package com.bonus.sgzb.material.service.impl;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.bonus.sgzb.base.domain.MaTypeKeeper;
|
||||||
|
import com.bonus.sgzb.base.mapper.MaTypeMapper;
|
||||||
import com.bonus.sgzb.common.core.constant.HttpStatus;
|
import com.bonus.sgzb.common.core.constant.HttpStatus;
|
||||||
import com.bonus.sgzb.common.core.constant.TokenConstants;
|
import com.bonus.sgzb.common.core.constant.TokenConstants;
|
||||||
import com.bonus.sgzb.common.core.exception.ServiceException;
|
import com.bonus.sgzb.common.core.exception.ServiceException;
|
||||||
|
import com.bonus.sgzb.common.core.utils.DateUtils;
|
||||||
import com.bonus.sgzb.common.core.utils.HttpHelper;
|
import com.bonus.sgzb.common.core.utils.HttpHelper;
|
||||||
import com.bonus.sgzb.common.core.utils.StringHelper;
|
import com.bonus.sgzb.common.core.utils.StringHelper;
|
||||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||||
|
|
@ -15,17 +18,20 @@ import com.bonus.sgzb.material.config.ExceptionEnum;
|
||||||
import com.bonus.sgzb.material.config.FieldGenerator;
|
import com.bonus.sgzb.material.config.FieldGenerator;
|
||||||
import com.bonus.sgzb.material.domain.*;
|
import com.bonus.sgzb.material.domain.*;
|
||||||
import com.bonus.sgzb.material.mapper.IotMachineMapper;
|
import com.bonus.sgzb.material.mapper.IotMachineMapper;
|
||||||
|
import com.bonus.sgzb.material.mapper.ReportAlarmMapper;
|
||||||
import com.bonus.sgzb.material.service.IotMachineService;
|
import com.bonus.sgzb.material.service.IotMachineService;
|
||||||
|
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||||
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.text.ParseException;
|
||||||
import java.util.HashMap;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -42,6 +48,12 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
@Resource
|
@Resource
|
||||||
private RedisService redisService;
|
private RedisService redisService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MaTypeMapper maTypeMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ReportAlarmMapper reportAlarmMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加设备-保存
|
* 添加设备-保存
|
||||||
*
|
*
|
||||||
|
|
@ -108,14 +120,14 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
iotDto.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
iotDto.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
||||||
try {
|
try {
|
||||||
//设备修改
|
//设备修改
|
||||||
int res = iotMachineMapper.update(iotDto);
|
int res = iotMachineMapper.update(iotDto);
|
||||||
if (res == 0) {
|
if (res == 0) {
|
||||||
// 如果修改失败,返回修改到数据库异常的错误信息
|
// 如果修改失败,返回修改到数据库异常的错误信息
|
||||||
throw new ServiceException(ExceptionEnum.UPDATE_TO_DATABASE.getMsg());
|
throw new ServiceException(ExceptionEnum.UPDATE_TO_DATABASE.getMsg());
|
||||||
} else {
|
} else {
|
||||||
// 修改成功,返回成功的消息和修改的记录数
|
// 修改成功,返回成功的消息和修改的记录数
|
||||||
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), res);
|
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), res);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Error updating to database: " + e.getMessage());
|
log.error("Error updating to database: " + e.getMessage());
|
||||||
//捕获异常
|
//捕获异常
|
||||||
|
|
@ -281,13 +293,13 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取定位
|
* 获取定位
|
||||||
* @param iotDto
|
* @param iotLocationVo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult getLocation(IotDto iotDto) {
|
public IotLocationVo getLocation(IotLocationVo iotLocationVo) {
|
||||||
log.info("getLocation:{}", iotDto);
|
log.info("getLocation:{}", iotLocationVo);
|
||||||
if (iotDto == null || iotDto.getIotId() == null) {
|
if (iotLocationVo == null || iotLocationVo.getIotId() == null) {
|
||||||
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
||||||
}
|
}
|
||||||
List<String> list=new ArrayList<>();
|
List<String> list=new ArrayList<>();
|
||||||
|
|
@ -300,14 +312,14 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
redisService.setCacheObject(TokenConstants.TOKEN_LOCATION,redisCode,23L, TimeUnit.HOURS);
|
redisService.setCacheObject(TokenConstants.TOKEN_LOCATION,redisCode,23L, TimeUnit.HOURS);
|
||||||
}
|
}
|
||||||
map.clear();
|
map.clear();
|
||||||
list.add(iotDto.getIotId().toString());
|
list.add(iotLocationVo.getIotId());
|
||||||
map.put("deviceids",list);
|
map.put("deviceids",list);
|
||||||
String param = JSON.toJSONString(map);
|
String param = JSON.toJSONString(map);
|
||||||
String res = HttpHelper.doPost(HttpStatus.LAST_POSITION_URL+redisCode,param);
|
String res = HttpHelper.doPost(HttpStatus.LAST_POSITION_URL+redisCode,param);
|
||||||
//对返回的结果进行解析
|
//对返回的结果进行解析
|
||||||
IotLocationVo iotLocationVo = resultDataHandler(res);
|
IotLocationVo iotLocationVoRes = resultDataHandler(res);
|
||||||
log.info("返回结果resultDataHandler:{}", iotLocationVo);
|
log.info("返回结果resultDataHandler:{}", iotLocationVoRes);
|
||||||
return AjaxResult.success(iotLocationVo);
|
return iotLocationVoRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -316,7 +328,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult searchItinerary(IotLocationVo iotLocationVo) {
|
public String searchItinerary(IotLocationVo iotLocationVo) {
|
||||||
log.info("searchItinerary:{}", iotLocationVo);
|
log.info("searchItinerary:{}", iotLocationVo);
|
||||||
if (iotLocationVo == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
if (iotLocationVo == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
||||||
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
||||||
|
|
@ -335,7 +347,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
map.put("endtime",iotLocationVo.getEndTime());
|
map.put("endtime",iotLocationVo.getEndTime());
|
||||||
String param = JSON.toJSONString(map);
|
String param = JSON.toJSONString(map);
|
||||||
String res = HttpHelper.doPost(HttpStatus.QUERY_TRIPS_URL+redisCode,param);
|
String res = HttpHelper.doPost(HttpStatus.QUERY_TRIPS_URL+redisCode,param);
|
||||||
return AjaxResult.success(res);
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -344,7 +356,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult reportParkDetailByTime(IotLocationVo iotLocationVo) {
|
public List<IotLocationVo> reportParkDetailByTime(IotLocationVo iotLocationVo) {
|
||||||
|
|
||||||
log.info("reportParkDetailByTime:{}", iotLocationVo);
|
log.info("reportParkDetailByTime:{}", iotLocationVo);
|
||||||
if (iotLocationVo == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
if (iotLocationVo == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
||||||
|
|
@ -366,8 +378,8 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
String res = HttpHelper.doPost(HttpStatus.REPORT_PARK_DETAIL_BY_TIME_URL+redisCode,param);
|
String res = HttpHelper.doPost(HttpStatus.REPORT_PARK_DETAIL_BY_TIME_URL+redisCode,param);
|
||||||
//对返回的结果进行解析
|
//对返回的结果进行解析
|
||||||
List<IotLocationVo> iotLocationVoList = resultReportParkDetailByTime(res);
|
List<IotLocationVo> iotLocationVoList = resultReportParkDetailByTime(res);
|
||||||
log.info("resultDataHandler:{}", iotLocationVo);
|
log.info("resultReportParkDetailByTime:{}", iotLocationVoList);
|
||||||
return AjaxResult.success(iotLocationVoList);
|
return iotLocationVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -447,7 +459,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult reportAlarm(IotLocationVo iotLocationVo) {
|
public List<IotLocationVo> reportAlarm(IotLocationVo iotLocationVo) {
|
||||||
log.info("reportAlarm:{}", iotLocationVo);
|
log.info("reportAlarm:{}", iotLocationVo);
|
||||||
if (iotLocationVo == null || iotLocationVo.getIotId() == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
if (iotLocationVo == null || iotLocationVo.getIotId() == null || iotLocationVo.getBeginTime() == null || iotLocationVo.getEndTime() == null) {
|
||||||
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
throw new ServiceException(ExceptionEnum.PARAM_NULL.getMsg());
|
||||||
|
|
@ -463,7 +475,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
redisService.setCacheObject(TokenConstants.TOKEN_LOCATION,redisCode,23L, TimeUnit.HOURS);
|
redisService.setCacheObject(TokenConstants.TOKEN_LOCATION,redisCode,23L, TimeUnit.HOURS);
|
||||||
}
|
}
|
||||||
map.clear();
|
map.clear();
|
||||||
list.add(iotLocationVo.getIotId().toString());
|
list.add(iotLocationVo.getIotId());
|
||||||
map.put("devices",list);
|
map.put("devices",list);
|
||||||
map.put("startday",iotLocationVo.getBeginTime());
|
map.put("startday",iotLocationVo.getBeginTime());
|
||||||
map.put("endday",iotLocationVo.getEndTime());
|
map.put("endday",iotLocationVo.getEndTime());
|
||||||
|
|
@ -474,9 +486,87 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
//对返回的结果进行解析
|
//对返回的结果进行解析
|
||||||
List<IotLocationVo> iotLocationVoList = resultReportAlarm(res);
|
List<IotLocationVo> iotLocationVoList = resultReportAlarm(res);
|
||||||
log.info("resultDataHandler:{}", iotLocationVo);
|
log.info("resultDataHandler:{}", iotLocationVo);
|
||||||
return AjaxResult.success(iotLocationVoList);
|
return iotLocationVoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 报警推送
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
* 每三个小时执行一次(3 * 60 * 60 * 1000 毫秒 = 10800000 毫秒)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Scheduled(fixedRate = 10800000)
|
||||||
|
public int alarmPush() {
|
||||||
|
log.info("开始获取报警信息====");
|
||||||
|
//获取当前登录用户的所有信息
|
||||||
|
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||||
|
//查看当前用户名下有哪些类型的设备
|
||||||
|
List<MaTypeKeeper> maTypeKeeperList = maTypeMapper.selectMaTypeByUserId(userId);
|
||||||
|
List<IotLocationVo> iotLocationVoAll = new ArrayList<>();
|
||||||
|
for (int i = 0; i < maTypeKeeperList.size(); i++) {
|
||||||
|
//查询该类机具有哪些设备绑定的iot设备
|
||||||
|
List<IotVo> iotVoList = iotMachineMapper.selectListByTypeId(maTypeKeeperList.get(i).getTypeId());
|
||||||
|
for (IotVo iotVo:iotVoList) {
|
||||||
|
IotLocationVo iotLocationVo = new IotLocationVo();
|
||||||
|
iotLocationVo.setIotId(iotVo.getIotCode());
|
||||||
|
iotLocationVo.setBeginTime(DateUtils.getDate());
|
||||||
|
iotLocationVo.setEndTime(DateUtils.getDate());
|
||||||
|
//获取当前设备的报警信息
|
||||||
|
List<IotLocationVo> iotLocationVoList = reportAlarm(iotLocationVo);
|
||||||
|
//保存所有的报警信息
|
||||||
|
iotLocationVoAll.addAll(iotLocationVoList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int count = handlingAlarmInformation(iotLocationVoAll);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ReportAlarm> alarmList(IotLocationVo iotLocationVo) {
|
||||||
|
log.info("alarmList:{}", iotLocationVo);
|
||||||
|
return reportAlarmMapper.selectByIotCode(iotLocationVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int alarmManagement(ReportAlarm reportAlarm) {
|
||||||
|
log.info("alarmManagement:{}", reportAlarm);
|
||||||
|
return reportAlarmMapper.update(reportAlarm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理报警信息
|
||||||
|
* @param iotLocationVoAll
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private int handlingAlarmInformation(List<IotLocationVo> iotLocationVoAll) {
|
||||||
|
log.info("处理报警信息====");
|
||||||
|
int fly = 0;
|
||||||
|
if (iotLocationVoAll != null && iotLocationVoAll.size() > 0) {
|
||||||
|
for (IotLocationVo iotLocationVo : iotLocationVoAll) {
|
||||||
|
//根据当前的报警uuid查看是否有这条记录
|
||||||
|
ReportAlarm reportAlarm = reportAlarmMapper.selectByDeviceAlarmId(iotLocationVo.getDeviceAlarmId());
|
||||||
|
if (reportAlarm == null) {
|
||||||
|
reportAlarm.setIotCode(iotLocationVo.getIotId());
|
||||||
|
reportAlarm.setDeviceAlarmId(iotLocationVo.getDeviceAlarmId());
|
||||||
|
reportAlarm.setStartAlarm(iotLocationVo.getStartAlarm());
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS);
|
||||||
|
try {
|
||||||
|
reportAlarm.setStartAlarmTime(sdf.parse(iotLocationVo.getStartAlarmTime()));
|
||||||
|
} catch (ParseException e) {
|
||||||
|
log.error("日期转换异常!!!");
|
||||||
|
}
|
||||||
|
//异常信息保存到数据库
|
||||||
|
reportAlarmMapper.add(reportAlarm);
|
||||||
|
fly=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fly;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析报警返回报文
|
* 解析报警返回报文
|
||||||
* @param res
|
* @param res
|
||||||
|
|
@ -500,6 +590,8 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
IotLocationVo iotLocationVo = new IotLocationVo();
|
IotLocationVo iotLocationVo = new IotLocationVo();
|
||||||
iotLocationVo.setStartAlarmTime(jsonObject.getString("startalarmtime"));
|
iotLocationVo.setStartAlarmTime(jsonObject.getString("startalarmtime"));
|
||||||
iotLocationVo.setStartAlarm(jsonObject.getString("stralarm"));
|
iotLocationVo.setStartAlarm(jsonObject.getString("stralarm"));
|
||||||
|
iotLocationVo.setDeviceAlarmId(jsonObject.getString("devicealarmid"));
|
||||||
|
iotLocationVo.setIotId(jsonObject.getString("deviceid"));
|
||||||
iotLocationVoList.add(iotLocationVo);
|
iotLocationVoList.add(iotLocationVo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -528,7 +620,7 @@ public class IotMachineServiceImpl implements IotMachineService {
|
||||||
JSONArray jsonArray = JSON.parseArray(records);
|
JSONArray jsonArray = JSON.parseArray(records);
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
JSONObject jsonObject = JSONObject.from(jsonArray.getJSONObject(i));
|
JSONObject jsonObject = JSONObject.from(jsonArray.getJSONObject(i));
|
||||||
iotLocationVo.setIotId(StringHelper.conversionLong(jsonObject.getString("deviceid")));
|
iotLocationVo.setIotId(jsonObject.getString("deviceid"));
|
||||||
iotLocationVo.setCallat(StringHelper.conversionBigDecimal(jsonObject.getString("callat")));
|
iotLocationVo.setCallat(StringHelper.conversionBigDecimal(jsonObject.getString("callat")));
|
||||||
iotLocationVo.setCallon(StringHelper.conversionBigDecimal(jsonObject.getString("callon")));
|
iotLocationVo.setCallon(StringHelper.conversionBigDecimal(jsonObject.getString("callon")));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ public class PurchaseCheckDetailsServiceImpl implements IPurchaseCheckDetailsSer
|
||||||
* @return 新购验收任务详细purchase_check_details
|
* @return 新购验收任务详细purchase_check_details
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public PurchaseCheckDetails selectPurchaseCheckDetailsByTaskId(Long taskId) {
|
public List<PurchaseCheckDetails> selectPurchaseCheckDetailsByTaskId(Long taskId) {
|
||||||
return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsByTaskId(taskId);
|
return purchaseCheckDetailsMapper.selectPurchaseCheckDetailsByTaskId(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -302,6 +302,7 @@ public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService
|
||||||
* 通过/不通过
|
* 通过/不通过
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public int modifyManageStatus(MaInputVO maInputVO) {
|
public int modifyManageStatus(MaInputVO maInputVO) {
|
||||||
Long taskId = maInputVO.getTaskId();
|
Long taskId = maInputVO.getTaskId();
|
||||||
String checkResult = maInputVO.getCheckResult();
|
String checkResult = maInputVO.getCheckResult();
|
||||||
|
|
@ -378,20 +379,35 @@ public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService
|
||||||
purchaseMacodeInfoMapper.deleteMaLabelBindByMaId(maInputRecord.getMaId());
|
purchaseMacodeInfoMapper.deleteMaLabelBindByMaId(maInputRecord.getMaId());
|
||||||
//修改purchase_macode_info表
|
//修改purchase_macode_info表
|
||||||
purchaseMacodeInfoMapper.updatetePurchaseMaCodeInfoByMaCodeAndTaskIdAndTypeId(taskId, typeId, maInputRecord.getMaCode());
|
purchaseMacodeInfoMapper.updatetePurchaseMaCodeInfoByMaCodeAndTaskIdAndTypeId(taskId, typeId, maInputRecord.getMaCode());
|
||||||
//修改purchase_check_details表
|
if ("1".equals(maInputRecord.getManageType())){
|
||||||
checkDetailsMapper.updatePurchaseCheckDetailsByTaskId(taskId, typeId);
|
//修改purchase_check_details表
|
||||||
|
checkDetailsMapper.updatePurchaseCheckDetailsByTaskId(taskId, typeId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//判断是否全部已操作(通过或不通过)
|
//判断是否全部已操作(通过或不通过)
|
||||||
int count=purchaseMacodeInfoMapper.isOperateAll(taskId);
|
int count=purchaseMacodeInfoMapper.isOperateAll(taskId);
|
||||||
if (count<=0){
|
if (count<=0){
|
||||||
//全部审核任务状态改为已审核
|
//获取该订单下所有的装备信息
|
||||||
TmTask task = new TmTask();
|
List<PurchaseCheckDetails> purchaseCheckDetailsList=checkDetailsMapper.selectPurchaseCheckDetailsByTaskId(taskId);
|
||||||
task.setTaskId(taskId);
|
//判断每种设备的验收数量和绑定数量一致
|
||||||
task.setTaskStatus(28);
|
for (PurchaseCheckDetails purchaseCheckDetails : purchaseCheckDetailsList) {
|
||||||
task.setUpdateBy(String.valueOf(SecurityUtils.getLoginUser().getUserid()));
|
if (StringUtils.isNotNull(purchaseCheckDetails.getBindNum())){
|
||||||
task.setUpdateTime(DateUtils.getNowDate());
|
if (purchaseCheckDetails.getCheckNum().compareTo(BigDecimal.valueOf(purchaseCheckDetails.getBindNum()))!=0){
|
||||||
taskMapper.updateTmTask(task);
|
//全部操作以后如果还有未绑定的,则不改变状态
|
||||||
|
count=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count==0){
|
||||||
|
//全部审核任务状态改为已审核
|
||||||
|
TmTask task = new TmTask();
|
||||||
|
task.setTaskId(taskId);
|
||||||
|
task.setTaskStatus(28);
|
||||||
|
task.setUpdateBy(String.valueOf(SecurityUtils.getLoginUser().getUserid()));
|
||||||
|
task.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
taskMapper.updateTmTask(task);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -241,6 +241,12 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
||||||
repairTestInputMapper.insertRepairInputDetails(repairInputDetails);
|
repairTestInputMapper.insertRepairInputDetails(repairInputDetails);
|
||||||
}
|
}
|
||||||
repairAuditDetailsMapper.updateRepairCost(inputDetails,status);
|
repairAuditDetailsMapper.updateRepairCost(inputDetails,status);
|
||||||
|
// 根据repairId找到taskId和 typeId 、maid
|
||||||
|
List<String> repairApplyRecordId = repairAuditDetailsMapper.getRepairApplyRecordId(inputDetails.getRepairId());
|
||||||
|
// 再去repair_apply_record 中查,并给一个标识表示审核完成
|
||||||
|
for (String id : repairApplyRecordId) {
|
||||||
|
repairAuditDetailsMapper.updateRecodeStatus(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (scrapNumList != null && scrapNumList.size() > 0) {
|
if (scrapNumList != null && scrapNumList.size() > 0) {
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author c liu
|
* @author c liu
|
||||||
|
|
@ -58,6 +59,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
//维修费用列表
|
//维修费用列表
|
||||||
List<SltAgreementInfo> repairList = getRepairList(list);
|
List<SltAgreementInfo> repairList = getRepairList(list);
|
||||||
//报废费用列表
|
//报废费用列表
|
||||||
|
|
||||||
List<SltAgreementInfo> scrapList = getScrapList(list);
|
List<SltAgreementInfo> scrapList = getScrapList(list);
|
||||||
//预报废费用列表
|
//预报废费用列表
|
||||||
List<SltAgreementInfo> preScrapList = getPreScrapList(list);
|
List<SltAgreementInfo> preScrapList = getPreScrapList(list);
|
||||||
|
|
@ -69,11 +71,12 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
sltInfoVo.setScrapList(scrapList);
|
sltInfoVo.setScrapList(scrapList);
|
||||||
sltInfoVo.setPreScrapList(preScrapList);
|
sltInfoVo.setPreScrapList(preScrapList);
|
||||||
sltInfoVo.setLoseList(loseList);
|
sltInfoVo.setLoseList(loseList);
|
||||||
List<SltAgreementRelation> relations = getRelations(leaseListOne, leaseListThree, repairList, scrapList, loseList, list);
|
List<SltAgreementRelation> relations = getRelations(leaseListOne, leaseListThree, repairList, scrapList, preScrapList, loseList, list);
|
||||||
sltInfoVo.setRelations(relations);
|
sltInfoVo.setRelations(relations);
|
||||||
return sltInfoVo;
|
return sltInfoVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<SltAgreementInfo> getPreScrapList(List<AgreementInfo> list) {
|
public List<SltAgreementInfo> getPreScrapList(List<AgreementInfo> list) {
|
||||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||||
String taskType = "57";
|
String taskType = "57";
|
||||||
|
|
@ -87,10 +90,10 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
|
|
||||||
if (scrapList != null && scrapList.size() > 0) {
|
if (scrapList != null && scrapList.size() > 0) {
|
||||||
for (SltAgreementInfo bean : scrapList) {
|
for (SltAgreementInfo bean : scrapList) {
|
||||||
if (bean.getBuyPrice() == null) {
|
if (StringUtils.isEmpty(bean.getBuyPrice())) {
|
||||||
bean.setBuyPrice("0");
|
bean.setBuyPrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
||||||
|
|
@ -166,15 +169,18 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
leaseList.addAll(oneOfList);
|
leaseList.addAll(oneOfList);
|
||||||
}
|
}
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (bean.getLeasePrice() == null) {
|
if (StringUtils.isEmpty(bean.getLeasePrice())) {
|
||||||
bean.setLeasePrice("0");
|
bean.setLeasePrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
if (bean.getLeaseDays() == null) {
|
if (StringUtils.isEmpty(bean.getLeaseDays())) {
|
||||||
bean.setLeaseDays("0");
|
bean.setLeaseDays("0");
|
||||||
}
|
}
|
||||||
|
if (Objects.isNull(bean.getTrimDay())) {
|
||||||
|
bean.setTrimDay(0);
|
||||||
|
}
|
||||||
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
||||||
BigDecimal num = new BigDecimal(bean.getNum());
|
BigDecimal num = new BigDecimal(bean.getNum());
|
||||||
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
BigDecimal leaseDays = new BigDecimal(bean.getLeaseDays());
|
||||||
|
|
@ -201,16 +207,16 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
leaseList.addAll(oneOfList);
|
leaseList.addAll(oneOfList);
|
||||||
}
|
}
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (bean.getLeasePrice() == null) {
|
if (StringUtils.isEmpty(bean.getLeasePrice())) {
|
||||||
bean.setLeasePrice("0");
|
bean.setLeasePrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
if (bean.getLeaseDays() == null) {
|
if (StringUtils.isEmpty(bean.getLeaseDays())) {
|
||||||
bean.setLeaseDays("0");
|
bean.setLeaseDays("0");
|
||||||
}
|
}
|
||||||
if (bean.getTrimDay() == null) {
|
if (Objects.isNull(bean.getTrimDay())) {
|
||||||
bean.setTrimDay(0);
|
bean.setTrimDay(0);
|
||||||
}
|
}
|
||||||
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
||||||
|
|
@ -223,13 +229,15 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
// 应结算金额
|
// 应结算金额
|
||||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
||||||
bean.setCosts(String.valueOf(costs));
|
bean.setCosts(String.valueOf(costs));
|
||||||
|
//实际结算天数
|
||||||
bean.setRealDays(realDays);
|
bean.setRealDays(realDays);
|
||||||
|
// 实际结算金额
|
||||||
bean.setRealCosts(String.valueOf(realCosts));
|
bean.setRealCosts(String.valueOf(realCosts));
|
||||||
}
|
}
|
||||||
return leaseList;
|
return leaseList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SltAgreementRelation> getRelations(List<SltAgreementInfo> leaseListOne, List<SltAgreementInfo> leaseListThree, List<SltAgreementInfo> repairList, List<SltAgreementInfo> scrapList, List<SltAgreementInfo> loseList, List<AgreementInfo> list) {
|
private List<SltAgreementRelation> getRelations(List<SltAgreementInfo> leaseListOne, List<SltAgreementInfo> leaseListThree, List<SltAgreementInfo> repairList, List<SltAgreementInfo> scrapList, List<SltAgreementInfo> preScrapList, List<SltAgreementInfo> loseList, List<AgreementInfo> list) {
|
||||||
List<SltAgreementRelation> relations = new ArrayList<>();
|
List<SltAgreementRelation> relations = new ArrayList<>();
|
||||||
for (AgreementInfo info : list) {
|
for (AgreementInfo info : list) {
|
||||||
SltAgreementRelation relation = new SltAgreementRelation();
|
SltAgreementRelation relation = new SltAgreementRelation();
|
||||||
|
|
@ -237,6 +245,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
||||||
BigDecimal leaseCostThree = BigDecimal.ZERO;
|
BigDecimal leaseCostThree = BigDecimal.ZERO;
|
||||||
BigDecimal scrapCost = BigDecimal.ZERO;
|
BigDecimal scrapCost = BigDecimal.ZERO;
|
||||||
|
BigDecimal preScrapCost = BigDecimal.ZERO;
|
||||||
BigDecimal repairCost = BigDecimal.ZERO;
|
BigDecimal repairCost = BigDecimal.ZERO;
|
||||||
for (SltAgreementInfo lease : leaseListOne) {
|
for (SltAgreementInfo lease : leaseListOne) {
|
||||||
if (lease.getAgreementId().equals(info.getAgreementId().toString())) {
|
if (lease.getAgreementId().equals(info.getAgreementId().toString())) {
|
||||||
|
|
@ -260,7 +269,8 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
}
|
}
|
||||||
for (SltAgreementInfo repair : repairList) {
|
for (SltAgreementInfo repair : repairList) {
|
||||||
if (repair.getAgreementId().equals(info.getAgreementId().toString())) {
|
if (repair.getAgreementId().equals(info.getAgreementId().toString())) {
|
||||||
BigDecimal allCost = new BigDecimal(repair.getAllCosts());
|
// 暂时先计算配件总价,后期需要加上委外维修费用
|
||||||
|
BigDecimal allCost = new BigDecimal(repair.getPartAllCosts());
|
||||||
repairCost = repairCost.add(allCost);
|
repairCost = repairCost.add(allCost);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -270,6 +280,12 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
scrapCost = scrapCost.add(cost);
|
scrapCost = scrapCost.add(cost);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (SltAgreementInfo scrap : preScrapList) {
|
||||||
|
if (scrap.getAgreementId().equals(info.getAgreementId().toString())) {
|
||||||
|
BigDecimal cost = new BigDecimal(scrap.getCosts());
|
||||||
|
preScrapCost = preScrapCost.add(cost);
|
||||||
|
}
|
||||||
|
}
|
||||||
for (SltAgreementInfo lose : loseList) {
|
for (SltAgreementInfo lose : loseList) {
|
||||||
if (lose.getAgreementId().equals(info.getAgreementId().toString())) {
|
if (lose.getAgreementId().equals(info.getAgreementId().toString())) {
|
||||||
//TODO 上面已经set过值,这里为什么还要set值
|
//TODO 上面已经set过值,这里为什么还要set值
|
||||||
|
|
@ -299,6 +315,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
relation.setLeaseCostThree(leaseCostThree.toString());
|
relation.setLeaseCostThree(leaseCostThree.toString());
|
||||||
relation.setRepairCost(repairCost.toString());
|
relation.setRepairCost(repairCost.toString());
|
||||||
relation.setScrapCost(scrapCost.toString());
|
relation.setScrapCost(scrapCost.toString());
|
||||||
|
relation.setPreScrapCost(preScrapCost.toString());
|
||||||
relation.setLoseCost(loseCost.toString());
|
relation.setLoseCost(loseCost.toString());
|
||||||
relations.add(relation);
|
relations.add(relation);
|
||||||
}
|
}
|
||||||
|
|
@ -308,8 +325,16 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public AjaxResult submitFee(SltAgreementApply apply) {
|
public AjaxResult submitFee(SltAgreementApply apply) {
|
||||||
|
SltAgreementRelation relation = apply.getRelation();
|
||||||
|
if (StringUtils.isNotBlank(apply.getRepairIds())) {
|
||||||
|
for (String id : apply.getRepairIds().split(",")) {
|
||||||
|
sltAgreementInfoMapper.updateRecodeIsSlt(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
sltAgreementInfoMapper.updateInfoStatus(apply.getAgreementId());
|
sltAgreementInfoMapper.updateInfoStatus(apply.getAgreementId());
|
||||||
int i = sltAgreementInfoMapper.updateBmAgreementInfo(apply.getAgreementId());
|
sltAgreementInfoMapper.updateBmAgreementInfo(apply.getAgreementId());
|
||||||
|
relation.setAgreementId(apply.getAgreementId());
|
||||||
|
int i = sltAgreementInfoMapper.insRelation(relation);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
return AjaxResult.success("结算成功");
|
return AjaxResult.success("结算成功");
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -333,6 +358,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<SltAgreementInfo> getLoseList(List<AgreementInfo> list) {
|
public List<SltAgreementInfo> getLoseList(List<AgreementInfo> list) {
|
||||||
List<SltAgreementInfo> loseList = new ArrayList<>();
|
List<SltAgreementInfo> loseList = new ArrayList<>();
|
||||||
for (AgreementInfo bean : list) {
|
for (AgreementInfo bean : list) {
|
||||||
|
|
@ -340,10 +366,10 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
loseList.addAll(oneOfList);
|
loseList.addAll(oneOfList);
|
||||||
}
|
}
|
||||||
for (SltAgreementInfo bean : loseList) {
|
for (SltAgreementInfo bean : loseList) {
|
||||||
if (bean.getBuyPrice() == null) {
|
if (StringUtils.isEmpty(bean.getBuyPrice())) {
|
||||||
bean.setBuyPrice("0");
|
bean.setBuyPrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
||||||
|
|
@ -361,6 +387,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
return loseList;
|
return loseList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<SltAgreementInfo> getScrapList(List<AgreementInfo> list) {
|
public List<SltAgreementInfo> getScrapList(List<AgreementInfo> list) {
|
||||||
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
List<SltAgreementInfo> scrapList = new ArrayList<>();
|
||||||
String taskType = "57";
|
String taskType = "57";
|
||||||
|
|
@ -375,10 +402,10 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
|
|
||||||
if (scrapList != null && scrapList.size() > 0) {
|
if (scrapList != null && scrapList.size() > 0) {
|
||||||
for (SltAgreementInfo bean : scrapList) {
|
for (SltAgreementInfo bean : scrapList) {
|
||||||
if (bean.getBuyPrice() == null) {
|
if (StringUtils.isEmpty(bean.getBuyPrice())) {
|
||||||
bean.setBuyPrice("0");
|
bean.setBuyPrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
BigDecimal buyPrice = new BigDecimal(bean.getBuyPrice());
|
||||||
|
|
@ -410,12 +437,12 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
Integer num = 0;
|
Integer num = 0;
|
||||||
//租赁费用列表
|
//租赁费用列表
|
||||||
for (AgreementInfo agreementInfo : list) {
|
for (AgreementInfo agreementInfo : list) {
|
||||||
// 如果不选择具体日期或者选择了最新月份则需要查数据
|
// 如果选择了最新月份则需要查数据
|
||||||
if (agreementInfo.getStartTime() == null || DateTimeHelper.getNowMonth().equals(DateTimeHelper.getNowMonth(DateTimeHelper.parse(agreementInfo.getEndTime(), "yyyy-MM")))) {
|
if (StringUtils.isNotBlank(agreementInfo.getStartTime()) && StringUtils.isNotBlank(agreementInfo.getEndTime()) && DateTimeHelper.getNowMonth().equals(DateTimeHelper.getNowMonth(DateTimeHelper.parse(agreementInfo.getEndTime(), "yyyy-MM")))) {
|
||||||
List<SltAgreementInfo> listMonth = getLeaseListMonth(agreementInfo, num);
|
List<SltAgreementInfo> listMonth = getLeaseListMonth(agreementInfo, num);
|
||||||
leaseListMonth.addAll(listMonth);
|
leaseListMonth.addAll(listMonth);
|
||||||
} else {
|
} else {
|
||||||
// 查定时任务记录的数据
|
// 如果不传日期或传以往日期 则查定时任务记录的数据
|
||||||
List<SltAgreementInfo> listMonth = getLeaseJobListMonth(agreementInfo);
|
List<SltAgreementInfo> listMonth = getLeaseJobListMonth(agreementInfo);
|
||||||
leaseListMonth.addAll(listMonth);
|
leaseListMonth.addAll(listMonth);
|
||||||
}
|
}
|
||||||
|
|
@ -424,6 +451,10 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<SltAgreementInfo> getLeaseJobListMonth(AgreementInfo agreementInfo) {
|
private List<SltAgreementInfo> getLeaseJobListMonth(AgreementInfo agreementInfo) {
|
||||||
|
if (StringUtils.isBlank(agreementInfo.getEndTime())) {
|
||||||
|
String lastMonthYearMonth = DateTimeHelper.getLastMonthYearMonth();
|
||||||
|
agreementInfo.setEndTime(lastMonthYearMonth);
|
||||||
|
}
|
||||||
List<SltAgreementInfo> monthCosts = calMonthlyMapper.getMonthCosts(agreementInfo);
|
List<SltAgreementInfo> monthCosts = calMonthlyMapper.getMonthCosts(agreementInfo);
|
||||||
int num = 0;
|
int num = 0;
|
||||||
for (SltAgreementInfo monthCost : monthCosts) {
|
for (SltAgreementInfo monthCost : monthCosts) {
|
||||||
|
|
@ -442,22 +473,22 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
private List<SltAgreementInfo> getLeaseListMonth(AgreementInfo bean, Integer num) {
|
private List<SltAgreementInfo> getLeaseListMonth(AgreementInfo bean, Integer num) {
|
||||||
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
||||||
// for (AgreementInfo bean : list) {
|
// for (AgreementInfo bean : list) {
|
||||||
if (StringUtils.isNotBlank(bean.getStartTime()) && StringUtils.isNotBlank(bean.getEndTime())) {
|
// if (StringUtils.isNotBlank(bean.getStartTime()) && StringUtils.isNotBlank(bean.getEndTime())) {
|
||||||
List<SltAgreementInfo> monthList = sltAgreementInfoMapper.getLeaseListMonthNotNull(bean);
|
List<SltAgreementInfo> monthList = sltAgreementInfoMapper.getLeaseListMonthNotNull(bean);
|
||||||
for (SltAgreementInfo sltAgreementInfo : monthList) {
|
for (SltAgreementInfo sltAgreementInfo : monthList) {
|
||||||
AgreementInfo agreementInfo = new AgreementInfo();
|
AgreementInfo agreementInfo = new AgreementInfo();
|
||||||
agreementInfo.setAgreementId(bean.getAgreementId());
|
agreementInfo.setAgreementId(bean.getAgreementId());
|
||||||
agreementInfo.setCostBearingParty(sltAgreementInfo.getCostBearingParty());
|
agreementInfo.setCostBearingParty(sltAgreementInfo.getCostBearingParty());
|
||||||
agreementInfo.setStartTime(sltAgreementInfo.getBeginTime());
|
agreementInfo.setStartTime(sltAgreementInfo.getBeginTime());
|
||||||
agreementInfo.setIds(sltAgreementInfo.getIds());
|
agreementInfo.setIds(sltAgreementInfo.getIds());
|
||||||
sltAgreementInfo.setMonth(bean.getMonth());
|
sltAgreementInfo.setMonth(bean.getMonth());
|
||||||
sltAgreementInfo.setCodeNum(num++);
|
sltAgreementInfo.setCodeNum(num++);
|
||||||
agreementInfo.setEndTime(sltAgreementInfo.getOffTime());
|
agreementInfo.setEndTime(sltAgreementInfo.getOffTime());
|
||||||
List<SltAgreementInfo> leaseListOneMonth = getLeaseListOneMonth(agreementInfo, sltAgreementInfo);
|
List<SltAgreementInfo> leaseListOneMonth = getLeaseListOneMonth(agreementInfo, sltAgreementInfo);
|
||||||
sltAgreementInfo.setNode(leaseListOneMonth);
|
sltAgreementInfo.setNode(leaseListOneMonth);
|
||||||
}
|
}
|
||||||
leaseList.addAll(monthList);
|
leaseList.addAll(monthList);
|
||||||
} else {
|
/* } else {
|
||||||
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLeaseListMonth(bean);
|
List<SltAgreementInfo> oneOfList = sltAgreementInfoMapper.getLeaseListMonth(bean);
|
||||||
for (SltAgreementInfo sltAgreementInfo : oneOfList) {
|
for (SltAgreementInfo sltAgreementInfo : oneOfList) {
|
||||||
AgreementInfo agreementInfo = new AgreementInfo();
|
AgreementInfo agreementInfo = new AgreementInfo();
|
||||||
|
|
@ -471,7 +502,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
sltAgreementInfo.setNode(leaseListOneMonth);
|
sltAgreementInfo.setNode(leaseListOneMonth);
|
||||||
}
|
}
|
||||||
leaseList.addAll(oneOfList);
|
leaseList.addAll(oneOfList);
|
||||||
}
|
}*/
|
||||||
// }
|
// }
|
||||||
return leaseList;
|
return leaseList;
|
||||||
}
|
}
|
||||||
|
|
@ -485,16 +516,16 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
List<SltAgreementInfo> leaseList = sltAgreementInfoMapper.getLeaseListOneMonth(list, idList);
|
List<SltAgreementInfo> leaseList = sltAgreementInfoMapper.getLeaseListOneMonth(list, idList);
|
||||||
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
BigDecimal leaseCostOne = BigDecimal.ZERO;
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (bean.getLeasePrice() == null) {
|
if (StringUtils.isEmpty(bean.getLeasePrice())) {
|
||||||
bean.setLeasePrice("0");
|
bean.setLeasePrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
if (bean.getLeaseDays() == null) {
|
if (StringUtils.isEmpty(bean.getLeaseDays())) {
|
||||||
bean.setLeaseDays("0");
|
bean.setLeaseDays("0");
|
||||||
}
|
}
|
||||||
if (bean.getTrimDay() == null) {
|
if (Objects.isNull(bean.getTrimDay())) {
|
||||||
bean.setTrimDay(0);
|
bean.setTrimDay(0);
|
||||||
}
|
}
|
||||||
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
||||||
|
|
@ -516,6 +547,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
return leaseList;
|
return leaseList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<SltAgreementInfo> getRepairList(List<AgreementInfo> list) {
|
public List<SltAgreementInfo> getRepairList(List<AgreementInfo> list) {
|
||||||
List<SltAgreementInfo> repairList = new ArrayList<>();
|
List<SltAgreementInfo> repairList = new ArrayList<>();
|
||||||
String taskType = "41";
|
String taskType = "41";
|
||||||
|
|
@ -530,6 +562,7 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
return repairList;
|
return repairList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<SltAgreementInfo> getLeaseListOne(List<AgreementInfo> list) {
|
public List<SltAgreementInfo> getLeaseListOne(List<AgreementInfo> list) {
|
||||||
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
List<SltAgreementInfo> leaseList = new ArrayList<>();
|
||||||
for (AgreementInfo bean : list) {
|
for (AgreementInfo bean : list) {
|
||||||
|
|
@ -537,16 +570,16 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
leaseList.addAll(oneOfList);
|
leaseList.addAll(oneOfList);
|
||||||
}
|
}
|
||||||
for (SltAgreementInfo bean : leaseList) {
|
for (SltAgreementInfo bean : leaseList) {
|
||||||
if (bean.getLeasePrice() == null) {
|
if (StringUtils.isEmpty(bean.getLeasePrice())) {
|
||||||
bean.setLeasePrice("0");
|
bean.setLeasePrice("0");
|
||||||
}
|
}
|
||||||
if (bean.getNum() == null) {
|
if (StringUtils.isEmpty(bean.getNum())) {
|
||||||
bean.setNum("0");
|
bean.setNum("0");
|
||||||
}
|
}
|
||||||
if (bean.getLeaseDays() == null) {
|
if (StringUtils.isEmpty(bean.getLeaseDays())) {
|
||||||
bean.setLeaseDays("0");
|
bean.setLeaseDays("0");
|
||||||
}
|
}
|
||||||
if (bean.getTrimDay() == null) {
|
if (Objects.isNull(bean.getTrimDay())) {
|
||||||
bean.setTrimDay(0);
|
bean.setTrimDay(0);
|
||||||
}
|
}
|
||||||
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
BigDecimal leasePrice = new BigDecimal(bean.getLeasePrice());
|
||||||
|
|
@ -559,7 +592,9 @@ public class SltAgreementInfoServiceImpl implements SltAgreementInfoService {
|
||||||
// 应结算金额
|
// 应结算金额
|
||||||
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
BigDecimal costs = leasePrice.multiply(num).multiply(leaseDays);
|
||||||
bean.setCosts(String.valueOf(costs));
|
bean.setCosts(String.valueOf(costs));
|
||||||
|
//实际结算天数
|
||||||
bean.setRealDays(realDays);
|
bean.setRealDays(realDays);
|
||||||
|
// 实际结算金额
|
||||||
bean.setRealCosts(String.valueOf(realCosts));
|
bean.setRealCosts(String.valueOf(realCosts));
|
||||||
}
|
}
|
||||||
return leaseList;
|
return leaseList;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue