diff --git a/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java b/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java index 286ad35f3..3357e2b3b 100644 --- a/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java +++ b/op-modules/op-device/src/main/java/com/op/device/controller/EquOrderController.java @@ -3,6 +3,7 @@ package com.op.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.op.device.domain.query.EquOrderMonthQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -96,4 +97,15 @@ public class EquOrderController extends BaseController { public AjaxResult remove(@PathVariable String[] orderIds) { return equOrderService.deleteEquOrderByOrderIds(orderIds); } + + + /** + * 根据设备ID查询月工单 + */ + @GetMapping("/month-list") + @Log(title = "查询月设备工单", businessType = BusinessType.QUERY) + public AjaxResult deviceOrderMonthList(EquOrderMonthQuery query) { + return AjaxResult.success(equOrderService.getDeviceOrderMonthList(query)); + } + } diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/query/EquOrderMonthQuery.java b/op-modules/op-device/src/main/java/com/op/device/domain/query/EquOrderMonthQuery.java new file mode 100644 index 000000000..fe714ef54 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/query/EquOrderMonthQuery.java @@ -0,0 +1,49 @@ +package com.op.device.domain.query; + +/** + * remark + * + * @author 019117 + * @date + */ +public class EquOrderMonthQuery { + + /** + * 设备编号 + * **/ + private String equipmentCode; + + /** + * 日期 + * **/ + private String queryDate; + + /** + * 计划类型 + * **/ + private String planType; + + public String getEquipmentCode() { + return equipmentCode; + } + + public void setEquipmentCode(String equipmentCode) { + this.equipmentCode = equipmentCode; + } + + public String getQueryDate() { + return queryDate; + } + + public void setQueryDate(String queryDate) { + this.queryDate = queryDate; + } + + public String getPlanType() { + return planType; + } + + public void setPlanType(String planType) { + this.planType = planType; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/domain/vo/EquOrderMonthVo.java b/op-modules/op-device/src/main/java/com/op/device/domain/vo/EquOrderMonthVo.java new file mode 100644 index 000000000..4670da0b8 --- /dev/null +++ b/op-modules/op-device/src/main/java/com/op/device/domain/vo/EquOrderMonthVo.java @@ -0,0 +1,88 @@ +package com.op.device.domain.vo; + +/** + * remark + * + * @author 019117 + * @date + */ +public class EquOrderMonthVo { + + /** + * 检查项目 + * **/ + private String checkItem; + + /** + * 检查日期 + * **/ + private String checkDate; + + /** + * 检查结果 + * **/ + private String checkResult; + + /** + * 检查人员 + * **/ + private String checkPerson; + + /** + * 确认人员 + * **/ + private String confirmPerson; + + /** + * 异常处理情况 + * **/ + private String exceptionHandle; + + public String getCheckItem() { + return checkItem; + } + + public void setCheckItem(String checkItem) { + this.checkItem = checkItem; + } + + public String getCheckDate() { + return checkDate; + } + + public void setCheckDate(String checkDate) { + this.checkDate = checkDate; + } + + public String getCheckResult() { + return checkResult; + } + + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getCheckPerson() { + return checkPerson; + } + + public void setCheckPerson(String checkPerson) { + this.checkPerson = checkPerson; + } + + public String getConfirmPerson() { + return confirmPerson; + } + + public void setConfirmPerson(String confirmPerson) { + this.confirmPerson = confirmPerson; + } + + public String getExceptionHandle() { + return exceptionHandle; + } + + public void setExceptionHandle(String exceptionHandle) { + this.exceptionHandle = exceptionHandle; + } +} diff --git a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java index eff308f37..55372d427 100644 --- a/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java +++ b/op-modules/op-device/src/main/java/com/op/device/mapper/EquOrderMapper.java @@ -6,6 +6,8 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.op.device.domain.EquOrder; import com.op.device.domain.Equipment; import com.op.device.domain.dto.PDADTO; +import com.op.device.domain.query.EquOrderMonthQuery; +import com.op.device.domain.vo.EquOrderMonthVo; import org.apache.ibatis.annotations.Mapper; /** @@ -192,4 +194,9 @@ public interface EquOrderMapper { String getGroupLine(String auxiliaryEquipmentCode); String selectEquipment(String equipmentCode); + + /** + * 根据设备ID查询月工单 + */ + List getDeviceOrderMonthList(EquOrderMonthQuery query); } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/IEquOrderService.java b/op-modules/op-device/src/main/java/com/op/device/service/IEquOrderService.java index b945c6407..540d72cba 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/IEquOrderService.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/IEquOrderService.java @@ -4,6 +4,8 @@ import java.util.List; import com.op.common.core.web.domain.AjaxResult; import com.op.device.domain.EquOrder; +import com.op.device.domain.query.EquOrderMonthQuery; +import com.op.device.domain.vo.EquOrderMonthVo; /** * 计划工单Service接口 @@ -59,4 +61,10 @@ public interface IEquOrderService { * @return 结果 */ public int deleteEquOrderByOrderId(String orderId); + + /** + * 根据设备ID查询月工单 + */ + List getDeviceOrderMonthList(EquOrderMonthQuery query); + } diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index cd453a0ad..b09e150ac 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -20,6 +20,8 @@ import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.device.domain.*; +import com.op.device.domain.query.EquOrderMonthQuery; +import com.op.device.domain.vo.EquOrderMonthVo; import com.op.device.mapper.*; import com.op.system.api.RemoteOpenService; import com.op.system.api.domain.SysNoticeGroup; @@ -565,6 +567,17 @@ public class EquOrderServiceImpl implements IEquOrderService { return equOrderMapper.deleteEquOrderByOrderId(orderId); } + /** + * 根据设备ID查询月工单 + * + * @param query + */ + @Override + @DS("#header.poolName") + public List getDeviceOrderMonthList(EquOrderMonthQuery query) { + return equOrderMapper.getDeviceOrderMonthList(query); + } + /** * 获取工作中心列表公共方法 * diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 0e255a72a..7121964d2 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -544,4 +544,40 @@ and del_flag = '0' + + + diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java index 2999959d8..1f599e72a 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/domain/BaseMonitorInfo.java @@ -185,6 +185,8 @@ public class BaseMonitorInfo extends BaseEntity { private String addressCode; + private String connCode; + /** * 计量设备状态 */ @@ -471,6 +473,14 @@ public class BaseMonitorInfo extends BaseEntity { this.addressCode = addressCode; } + public String getConnCode() { + return connCode; + } + + public void setConnCode(String connCode) { + this.connCode = connCode; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseMonitorInfo1ServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseMonitorInfo1ServiceImpl.java index db009fe66..1578fb5ea 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseMonitorInfo1ServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/service/impl/BaseMonitorInfo1ServiceImpl.java @@ -95,12 +95,12 @@ public class BaseMonitorInfo1ServiceImpl implements IBaseMonitorInfo1Service { } //判断该通信地址是否已绑定设备 - if (StringUtils.isNotBlank(baseMonitorInfo.getAddressCode())) { + if (StringUtils.isNotBlank(baseMonitorInfo.getConnCode())) { BaseMonitorInfo temp = new BaseMonitorInfo(); - temp.setAddressCode(baseMonitorInfo.getAddressCode()); + temp.setConnCode(baseMonitorInfo.getConnCode()); List list = baseMonitorInfoMapper.selectBaseMonitorInfoList(temp); if (!CollectionUtils.isEmpty(list)){ - throw new ServiceException("通信地址重复:" + baseMonitorInfo.getAddressCode()); + throw new ServiceException("通信地址重复:" + baseMonitorInfo.getConnCode()); } } diff --git a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java index 386103493..256d06212 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/record/service/impl/RecordDnbInstantServiceImpl.java @@ -251,7 +251,6 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService { public void getNhEnergyDetail() { Map params = new HashMap<>(); params.put("dateType","mi15"); - //获取当前时间的前后5分钟 Date nowTime = DateUtils.getNowDate(); String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,DateUtils.addMinutes(nowTime,-20)); String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,DateUtils.addMinutes(nowTime,-10)); @@ -329,7 +328,7 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService { try { for (RecordDnbInstant item : list) { BaseMonitorInfo temp = new BaseMonitorInfo(); - temp.setAddressCode(item.getMonitorId()); + temp.setConnCode(item.getMonitorId()); List BaseList = baseMonitorInfoMapper.selectBaseMonitorInfoList(temp); for (BaseMonitorInfo base : BaseList) { item.setMonitorId(base.getMonitorId()); @@ -389,7 +388,7 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService { dnb.setRecordTime(new Date()); dnb.setPointTime(removeLeadingZeros(DateUtils.parseDateToStr("HH",DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS,startTime)))); BaseMonitorInfo temp = new BaseMonitorInfo(); - temp.setAddressCode(dnb.getMonitorId()); + temp.setConnCode(dnb.getMonitorId()); List BaseList = baseMonitorInfoMapper.selectBaseMonitorInfoList(temp); for (BaseMonitorInfo base : BaseList) { dnb.setMonitorId(base.getMonitorId()); diff --git a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml index e3581324e..b13249795 100644 --- a/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml +++ b/op-modules/op-energy/src/main/resources/mapper/base/BaseMonitorInfo1Mapper.xml @@ -38,13 +38,14 @@ + select objid, parent_id, monitor_id, monitor_name, monitor_addr, monitor_type, monitor_status, collect_device_id, ancestors, grade, build_id, subentry_id, business_id, meter_type_id, meter_id, correct_value, pt, ct, is_ammeter, is_key_monitor, is_circuit, dept_id, user_id, - create_by, create_time, update_by, update_time, public_share_type,monitor_hierarchy,room_code,room_name,physical_code,address_code from base_monitor_info + create_by, create_time, update_by, update_time, public_share_type,monitor_hierarchy,room_code,room_name,physical_code,address_code, conn_code from base_monitor_info @@ -146,6 +148,7 @@ room_name, physical_code, address_code, + conn_code, #{parentId}, @@ -180,6 +183,7 @@ #{roomName}, #{physicalCode}, #{addressCode}, + #{connCode}, @@ -218,6 +222,7 @@ room_name = #{roomName}, physical_code = #{physicalCode}, address_code = #{addressCode}, + conn_code = #{connCode}, where objid = #{objid} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckSampleTaskController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckSampleTaskController.java index 2af5a03d0..b281ce1dc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckSampleTaskController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckSampleTaskController.java @@ -7,6 +7,7 @@ import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.page.TableDataInfo; import com.op.common.log.annotation.Log; import com.op.common.log.enums.BusinessType; +import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import com.op.quality.service.IQcCheckSampleTaskService; @@ -40,6 +41,25 @@ public class QcCheckSampleTaskController extends BaseController { return getDataTable(list); } + /** + * 获取留样登记表 + * **/ + @GetMapping("/signList") + public TableDataInfo signList(QcCheckSampleTaskQuery query) { + startPage(); + List list = qcCheckSampleTaskService.selectQcCheckSampleSignTaskList(query); + return getDataTable(list); + } + + /** 导出留样登记表 **/ + @Log(title = "导出留样登记表", businessType = BusinessType.EXPORT) + @PostMapping("/sign/export") + public void exportQcCheckSampleSign(HttpServletResponse response, QcCheckSampleTaskQuery query) { + List list = qcCheckSampleTaskService.selectQcCheckSampleSignTaskList(query); + ExcelUtil util = new ExcelUtil(QcCheckSampleSignTask.class); + util.exportExcel(response, list, "导出留样登记表"); + } + /** 获取待复检样品列表 **/ @GetMapping("/wait-list") diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleSignTask.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleSignTask.java new file mode 100644 index 000000000..f63b14721 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleSignTask.java @@ -0,0 +1,108 @@ +package com.op.quality.domain; + +import com.op.common.core.annotation.Excel; + +import java.util.Date; + +/** + * remark + * + * @author 019117 + * @date + */ +public class QcCheckSampleSignTask { + + /** id **/ + private String id; + + /** 排序 **/ + private String sort; + + /** 样品名称 **/ + @Excel(name = "样品名称") + private String materialName; + + /** 生产批号 **/ + @Excel(name = "生产批号") + private String incomeBatchNo; + + /** 留样时间 **/ + @Excel(name = "留样时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date sampleTime; + + /** 留样数量 **/ + @Excel(name = "留样数量") + private String sampleNum; + + /** 取样人 **/ + @Excel(name = "取样人") + private String sampleUserName; + + /*** 取样地点 ***/ + @Excel(name = "取样地点") + private String gainSampleAddress; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getSort() { + return sort; + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public Date getSampleTime() { + return sampleTime; + } + + public void setSampleTime(Date sampleTime) { + this.sampleTime = sampleTime; + } + + public String getSampleNum() { + return sampleNum; + } + + public void setSampleNum(String sampleNum) { + this.sampleNum = sampleNum; + } + + public String getSampleUserName() { + return sampleUserName; + } + + public void setSampleUserName(String sampleUserName) { + this.sampleUserName = sampleUserName; + } + + public String getGainSampleAddress() { + return gainSampleAddress; + } + + public void setGainSampleAddress(String gainSampleAddress) { + this.gainSampleAddress = gainSampleAddress; + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java index 3fca5571f..8541b5649 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java @@ -1,5 +1,6 @@ package com.op.quality.mapper; +import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import org.apache.ibatis.annotations.Mapper; @@ -21,6 +22,11 @@ public interface QcCheckSampleTaskMapper { * **/ List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query); + /** + * 留样检验任务列表 + * **/ + List selectQcCheckSampleSignTaskList(QcCheckSampleTaskQuery query); + /** * 获取待复检样品列表 * **/ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java index b5a7a8371..5ed946c49 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java @@ -1,6 +1,7 @@ package com.op.quality.service; import com.op.common.core.web.domain.AjaxResult; +import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; import com.op.quality.domain.query.QcCheckSampleTaskQuery; @@ -18,6 +19,11 @@ public interface IQcCheckSampleTaskService { * **/ List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query); + /** + * 留样检验任务列表 + * **/ + List selectQcCheckSampleSignTaskList(QcCheckSampleTaskQuery query); + /** * 获取待复检样品列表 diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java index 1c1919853..1bf5f19cc 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.web.domain.AjaxResult; +import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import com.op.quality.mapper.QcCheckSampleTaskMapper; @@ -34,9 +35,6 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { @Resource private QcCheckSampleTaskMapper qcCheckSampleTaskMapper; - @Resource - private RemoteUserService remoteUserService; - /** * 留样检验任务列表 * **/ @@ -46,6 +44,16 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { return qcCheckSampleTaskMapper.selectQcCheckSampleTaskList(query); } + + /** + * 留样检验任务列表 + * **/ + @Override + @DS("#header.poolName") + public List selectQcCheckSampleSignTaskList(QcCheckSampleTaskQuery query) { + return qcCheckSampleTaskMapper.selectQcCheckSampleSignTaskList(query); + } + /** * 获取待复检样品列表 * diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 0832f2a23..a024ac447 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -1185,6 +1185,7 @@ public class QcCheckTaskIncomeServiceImpl implements //首检后新增留样检验任务 //判断是否是首检 if("checkTypeSC".equals(qcCheckTaskIncome.getCheckType())){ + QcCheckSampleTask sampleTask = new QcCheckSampleTask(); sampleTask.setId(IdUtils.fastSimpleUUID()); sampleTask.setMaterialName(qcCheckTaskIncome.getMaterialName()); @@ -1194,9 +1195,6 @@ public class QcCheckTaskIncomeServiceImpl implements if (incomeBatchNo.length() == 24){ //国内物料去掉前面时间 incomeBatchNo = incomeBatchNo.substring(8,24); - } else if (incomeBatchNo.length() < 24){ - //海外物料取创建时间 - incomeBatchNo = DateUtils.parseDateToStr(DateUtils.YYYYMMDD,qcCheckTaskIncome.getCreateTime()); } } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml index caf0575d8..8ca6f1e5e 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml @@ -33,11 +33,10 @@ + +