|
|
@@ -0,0 +1,188 @@
|
|
|
+package cn.start.tz.module.pressure2.service.dynamicOFData.comm;
|
|
|
+
|
|
|
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
|
|
|
+import cn.start.tz.module.pressure2.controller.admin.equipboiler.vo.EquipBoilerReportVO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskordersignfile.BoilerTaskOrderSignFileDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitemreport.BoilerTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorder.BoilerTaskOrderService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskordersignfile.BoilerTaskOrderSignFileService;
|
|
|
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
|
|
|
+import cn.start.tz.module.pressure2.service.pipetaskorder.PipeTaskOrderService;
|
|
|
+import cn.start.tz.module.system.api.calendar.CalendarApi;
|
|
|
+import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
|
|
|
+import cn.start.tz.module.system.api.dict.DictDataApi;
|
|
|
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
|
|
|
+import cn.start.tz.module.system.api.user.AdminUserApi;
|
|
|
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import jakarta.annotation.Resource;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 特种设备监督检验联络单
|
|
|
+ * */
|
|
|
+@Slf4j
|
|
|
+@Service("QC01004_202400OFData")
|
|
|
+public class QC01004_202400OFData implements IDynamicOFData {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EquipBoilerMapper equipBoilerMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EquipPipeMapper equipPipeMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderItemReportMapper boilerTaskOrderItemReportMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderService pipeTaskOrderService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderMapper boilerTaskOrderMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderItemMapper boilerTaskOrderItemMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ClientUnitApi clientUnitApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderService boilerTaskOrderService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderSignFileService boilerTaskOrderSignFileService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private DictDataApi dictDataApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private CalendarApi calendarApi;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getOFData(JSONObject params) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
|
|
|
+
|
|
|
+ //日期格式
|
|
|
+ DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
|
|
|
+ //主设备类型
|
|
|
+ String equipMainTpe = ruleVO.getParams().getString("equipMainType");
|
|
|
+
|
|
|
+ //设备报表ID
|
|
|
+ String refId = ruleVO.getRefId();
|
|
|
+
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+
|
|
|
+ if (equipMainTpe.equals("boiler")){
|
|
|
+
|
|
|
+ BoilerTaskOrderItemReportDO itemReportDO = boilerTaskOrderItemReportMapper.selectById(refId);
|
|
|
+ if (itemReportDO != null){
|
|
|
+ // 填充签名
|
|
|
+ if (itemReportDO.getEnterId() != null) {
|
|
|
+ AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getEnterId()).getCheckedData();
|
|
|
+ result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
|
|
|
+ }else {
|
|
|
+ AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getCreator()).getCheckedData();
|
|
|
+ result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
|
|
|
+ }
|
|
|
+
|
|
|
+ String orderItemId = itemReportDO.getOrderItemId();
|
|
|
+ BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(orderItemId);
|
|
|
+ if (itemDO != null){
|
|
|
+ EquipBoilerReportVO equipBoilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
|
|
|
+ if (equipBoilerDO != null){
|
|
|
+ //设备信息
|
|
|
+ result.put("unitName",equipBoilerDO.getUnitName());
|
|
|
+ result.put("contactPhone",equipBoilerDO.getContactPhone());
|
|
|
+ result.put("contact",equipBoilerDO.getContact());
|
|
|
+ result.put("unitAddress",equipBoilerDO.getUnitAddress());
|
|
|
+// if (itemReportDO.getRecycleExpireDate() != null){
|
|
|
+// result.put("ExpiryDate", itemReportDO.getRecycleExpireDate().format(dateFormat));
|
|
|
+// }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.put("reportNo",itemReportDO.getReportNo());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }else if (equipMainTpe.equals("pipe")){
|
|
|
+
|
|
|
+ PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
|
|
|
+ if (itemReportDO != null){
|
|
|
+ // 填充签名
|
|
|
+ PipeTaskOrderDO taskOrderDO = pipeTaskOrderService.getOne(new LambdaQueryWrapper<PipeTaskOrderDO>().eq(PipeTaskOrderDO::getId, itemReportDO.getOrderId()));
|
|
|
+
|
|
|
+ if (itemReportDO.getEnterId() != null) {
|
|
|
+ AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getEnterId()).getCheckedData();
|
|
|
+ result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
|
|
|
+ }else {
|
|
|
+ AdminUserRespDTO checkedData = adminUserApi.getUser(itemReportDO.getCreator()).getCheckedData();
|
|
|
+ result.put("checkName", checkedData != null ? checkedData.getSignUrl() : null);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (taskOrderDO != null){
|
|
|
+
|
|
|
+ List<PipeTaskOrderItemDO> itemDOS = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapperX<PipeTaskOrderItemDO>()
|
|
|
+ .eq(PipeTaskOrderItemDO::getOrderId, taskOrderDO.getId()));
|
|
|
+
|
|
|
+ if (!itemDOS.isEmpty()){
|
|
|
+
|
|
|
+ PipeTaskOrderItemDO pipeTaskOrderItemDO = itemDOS.get(0);
|
|
|
+ EquipPipeDO equipPipeDO = equipPipeMapper.selectById(pipeTaskOrderItemDO.getEquipId());
|
|
|
+ if (equipPipeDO != null){
|
|
|
+ //设备信息
|
|
|
+ result.put("unitName",equipPipeDO.getUnitName());
|
|
|
+ result.put("contact",equipPipeDO.getContact());
|
|
|
+ result.put("contactPhone",equipPipeDO.getContactPhone());
|
|
|
+ result.put("unitAddress",equipPipeDO.getUnitAddress());
|
|
|
+// if (itemReportDO.getRecycleExpireDate() != null){
|
|
|
+// result.put("ExpiryDate", itemReportDO.getRecycleExpireDate().format(dateFormat));
|
|
|
+// }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ result.put("reportNo",itemReportDO.getReportNo());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|