소스 검색

fix 数据确认 和报告生成 图片

32197351@qq.com 2 년 전
부모
커밋
a53b82e278

+ 2 - 2
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/gongdandetail/controller/ItdmGongdanQuerenController.java

@@ -87,8 +87,8 @@ public class ItdmGongdanQuerenController extends JeecgController<ItdmGongdanDeta
 
 
     @GetMapping(value = "/gongdanWoIdList")
-    public Result<List<String>> getWoIdByWeituoIdAndWordDate(String weituoId, String workdate) {
-        return Result.OK(itdmGongdanDetailService.getWoIdByWeituoIdAndWordDate(weituoId,workdate));
+    public Result<List<String>> getWoIdByWeituoIdAndWordDate(String weituoId, String riqi) {
+        return Result.OK(itdmGongdanDetailService.getWoIdByWeituoIdAndWordDate(weituoId,riqi));
     }
 
 

+ 2 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongDan/mapper/xml/ItdmTestPlanMapper.xml

@@ -45,7 +45,7 @@
         select c.extra_pic
         from itdm_gongdan_master as b
 
-        inner join itdm_gongdan_shuju c on b.id = c.wo_id
+        inner join itdm_gongdan_image c on b.id = c.wo_id
 
         where b.test_items_id in
 
@@ -69,6 +69,7 @@
         <foreach item="item" collection="list" separator="," open="(" close=")" index="">
             #{item}
         </foreach>
+        order by c.shiyan_date_time,c.shiyan_time
     </select>
     <select id="getByweituoNO" resultType="java.lang.String">
 

+ 2 - 5
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/controller/ItdmGongdanshujuController.java

@@ -64,10 +64,7 @@ public class ItdmGongdanshujuController {
     @ApiOperation(value = "工单数据-生成", notes = "工单数据-生成")
     @PostMapping("/create")
     public Result create(@RequestBody ItdmGongdanDto itdmGongdanDto, HttpServletRequest req) {
-        List<ItdmGongdanShuju> detail = itdmGongdanShujuService.list(new QueryWrapper<ItdmGongdanShuju>().eq("wo_id", itdmGongdanDto.getWoId()));
-        if (detail.size() > 0) {
-            return Result.error("当前工单已有数据,不能重复生成数据");
-        }
+
         Boolean b = itdmGongdanShujuService.generate(itdmGongdanDto);
         if (b) {
             return Result.OK();
@@ -117,7 +114,7 @@ public class ItdmGongdanshujuController {
     //@RequiresPermissions("org.jeecg.modules:itdm_gongdan_shuju:edit")
     @RequestMapping(value = "/editList", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> editList(@RequestBody List<ItdmGongdanShuju> itdmGongdanShuju) {
-        itdmGongdanShujuService.updateBatchById(itdmGongdanShuju);
+        itdmGongdanShujuService.editList(itdmGongdanShuju);
         return Result.OK("编辑成功!");
     }
 

+ 4 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/dto/ItdmGongdanDto.java

@@ -34,6 +34,10 @@ public class ItdmGongdanDto implements Serializable {
     private String shiyanKaishitime;
 	/**试验结束时间*/
     private String shiyanJieshutime;
+
+
+    private String riqi;
+
     /**频次*/
     private String pinci;
 }

+ 66 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/entity/ItdmGongdanImage.java

@@ -0,0 +1,66 @@
+package org.jeecg.modules.itdmgongdanshuju.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 工单图片附件
+ * @Author: jeecg-boot
+ * @Date:   2023-06-12
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_gongdan_image")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_gongdan_image对象", description="工单图片附件")
+public class ItdmGongdanImage implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**工单id*/
+	@Excel(name = "工单id", width = 15)
+    @ApiModelProperty(value = "工单id")
+    private String woId;
+	/**图片附件*/
+	@Excel(name = "图片附件", width = 15)
+    @ApiModelProperty(value = "图片附件")
+    private String extraPic;
+}

+ 4 - 6
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/entity/ItdmGongdanShuju.java

@@ -66,12 +66,10 @@ public class ItdmGongdanShuju implements Serializable {
     private java.lang.String shiyanType;
 	/**试验开始时间*/
 	//@Excel(name = "试验开始时间", width = 15)
-    @ApiModelProperty(value = "试验开始时间")
-    private java.lang.String shiyanKaishitime;
-	/**试验结束时间*/
-	//@Excel(name = "试验结束时间", width = 15)
-    @ApiModelProperty(value = "试验结束时间")
-    private java.lang.String shiyanJieshutime;
+    @ApiModelProperty(value = "试验时间")
+    private java.lang.String shiyanDateTime;
+
+
 	/**频次*/
 	//@Excel(name = "频次", width = 15)
     @ApiModelProperty(value = "频次")

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/mapper/ItdmGongdanImageMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.itdmgongdanshuju.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanImage;
+
+/**
+ * @Description: 工单图片附件
+ * @Author: jeecg-boot
+ * @Date:   2023-06-12
+ * @Version: V1.0
+ */
+public interface ItdmGongdanImageMapper extends BaseMapper<ItdmGongdanImage> {
+
+}

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/mapper/xml/ItdmGongdanImageMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.itdmgongdanshuju.mapper.ItdmGongdanImageMapper">
+
+</mapper>

+ 7 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/service/ItdmGongdanShujuService.java

@@ -6,12 +6,19 @@ import org.jeecg.modules.itdmgongdanshuju.dto.ItdmGongdanUploadDto;
 import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanDetail;
 import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanShuju;
 
+import java.util.List;
+
 public interface ItdmGongdanShujuService extends IService<ItdmGongdanShuju> {
 
     Boolean generate(ItdmGongdanDto itdmGongdanDto);
 
 
     void upload(ItdmGongdanUploadDto upload);
+
+
+    public void editList(List<ItdmGongdanShuju> itdmGongdanShuju);
+
+
 }
 
 

+ 64 - 17
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmgongdanshuju/service/impl/ItdmGongdanShujuServiceImpl.java

@@ -5,18 +5,20 @@ import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.collections4.BagUtils;
 
 import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.itdmDataHistory.entity.ItdmWenxiang;
 import org.jeecg.modules.itdmDataHistory.mapper.ItdmWenxiangMapper;
 import org.jeecg.modules.itdmgongdanshuju.dto.ItdmGongdanDto;
 import org.jeecg.modules.itdmgongdanshuju.dto.ItdmGongdanUploadDto;
 import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanDetail;
+import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanImage;
 import org.jeecg.modules.itdmgongdanshuju.entity.ItdmGongdanShuju;
 import org.jeecg.modules.itdmgongdanshuju.mapper.ItdmGongdanDetail1Mapper;
+import org.jeecg.modules.itdmgongdanshuju.mapper.ItdmGongdanImageMapper;
 import org.jeecg.modules.itdmgongdanshuju.mapper.ItdmGongdanShujuMapper;
-import org.jeecg.modules.itdmgongdanshuju.service.ItdmGongdanDetailService;
 import org.jeecg.modules.itdmgongdanshuju.service.ItdmGongdanShujuService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +38,7 @@ import java.util.stream.Collectors;
  * @Version: V1.0
  */
 @Service
+@SuppressWarnings("all")
 public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMapper, ItdmGongdanShuju> implements ItdmGongdanShujuService {
 
     @Autowired
@@ -46,16 +49,29 @@ public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMap
     @Autowired
     ItdmWenxiangMapper itdmWenxiangMapper;
 
+    @Autowired
+
+    private ItdmGongdanImageMapper gongdanImageMapper;
+
     @Override
     @Transactional
     public Boolean generate(ItdmGongdanDto itdmGongdanDto) {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        List<ItdmGongdanShuju> detail = itdmGongdanShujuMapper.selectList(new QueryWrapper<ItdmGongdanShuju>()
+                .eq("wo_id", itdmGongdanDto.getWoId()).eq("shiyan_date_time", itdmGongdanDto.getRiqi()));
+
+        if (detail.size() > 0) {
+            throw new JeecgBootException("当前工单已有数据,不能重复生成数据");
+        }
+
         try {
-            List<ItdmGongdanDetail> itdmGongdanDetailList = itdmGongdanDetailMapper.selectList(new QueryWrapper<ItdmGongdanDetail>().eq("end_time", itdmGongdanDto.getShiyanJieshutime()).eq("start_time", itdmGongdanDto.getShiyanKaishitime()).eq("wo_id", itdmGongdanDto.getWoId()));
-            ItdmGongdanDetail itdmGongdanDetail = itdmGongdanDetailList.get(0);
+            ItdmGongdanDetail itdmGongdanDetail = itdmGongdanDetailMapper.selectOne(Wrappers.lambdaQuery(ItdmGongdanDetail.class)
+                    .eq(ItdmGongdanDetail::getWoId, itdmGongdanDto.getWoId()).eq(ItdmGongdanDetail::getShijiWorkDate, itdmGongdanDto.getRiqi()));
+
             String startTime = itdmGongdanDto.getShiyanKaishitime();
             String endTime = itdmGongdanDto.getShiyanJieshutime();
             String shijiShebeiId = itdmGongdanDetail.getShijiShebeiId();
-            String ShijiWorkDate = new SimpleDateFormat("yyyy-MM-dd").format(itdmGongdanDetail.getShijiWorkDate());
+            String ShijiWorkDate = itdmGongdanDto.getRiqi();
 
             String startDateTime = ShijiWorkDate + " " + startTime + ":00";
             String endDateTime = ShijiWorkDate + " " + startTime + ":00";
@@ -73,9 +89,10 @@ public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMap
                 ItdmGongdanShuju itdmGongdanShuju = new ItdmGongdanShuju();
                 itdmGongdanShuju.setShiyanType(itdmGongdanDto.getShiyanType());
                 itdmGongdanShuju.setPinci(itdmGongdanDto.getPinci());
+                itdmGongdanShuju.setShiyanDateTime(itdmGongdanDto.getRiqi());
+                itdmGongdanShuju.setWoId(itdmGongdanDto.getWoId());
+
 
-                itdmGongdanDetail.setId(null);
-                BeanUtils.copyProperties(itdmGongdanDetail, itdmGongdanShuju);
                 String shiyanTime = DateUtil.offsetMinute(date1, i * Integer.parseInt(itdmGongdanDto.getPinci())).toString().split(" ")[1];
                 shiyanTime = String.join(":", Arrays.asList(shiyanTime.split(":")).subList(0, 2));
 
@@ -83,11 +100,8 @@ public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMap
                 itdmGongdanShuju.setShiyanTime(shiyanTime);
 
                 if (b) {
-                    String[] endt = itdmGongdanShuju.getShiyanTime().split(",");
-                    endt[1] = "10";
-                    String nextDateTIme = String.join(":", endt);
                     ItdmWenxiang itdmWenxiang = itdmWenxiangMapper.selectOne(Wrappers.lambdaQuery(ItdmWenxiang.class).eq(ItdmWenxiang::getDeviceId, shijiShebeiId)
-                            .between(ItdmWenxiang::getCreateTime, ShijiWorkDate + " " + itdmGongdanShuju.getShiyanTime() + ":00", ShijiWorkDate + " " + nextDateTIme + ":00")
+                            .between(ItdmWenxiang::getCreateTime, ShijiWorkDate + " " + itdmGongdanShuju.getShiyanTime() + ":00", ShijiWorkDate + " " + itdmGongdanShuju.getShiyanTime() + ":59")
                             .apply("limit 1"));
                     if (itdmWenxiang != null) {
                         itdmGongdanShuju.setShiyanWendu(itdmWenxiang.getTemperature().toEngineeringString());
@@ -105,7 +119,8 @@ public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMap
                 }
             }
         } catch (Exception e) {
-            return false;
+            throw new JeecgBootException(e.getMessage(),e);
+
         }
         return true;
     }
@@ -113,17 +128,49 @@ public class ItdmGongdanShujuServiceImpl extends ServiceImpl<ItdmGongdanShujuMap
 
     @Override
     public void upload(ItdmGongdanUploadDto upload) {
-        ItdmGongdanShuju itdmGongdanShuju = itdmGongdanShujuMapper.selectOne(Wrappers.lambdaQuery(ItdmGongdanShuju.class)
-                .eq(ItdmGongdanShuju::getWoId, upload.getWoId()).orderByAsc(ItdmGongdanShuju::getId)
-                .apply("limit 1"));
-        itdmGongdanShuju.setExtraPic(upload.getImages());
+
+        ItdmGongdanImage itdmGong = gongdanImageMapper.selectOne(Wrappers.lambdaQuery(ItdmGongdanImage.class).eq(ItdmGongdanImage::getWoId, upload.getWoId()));
 
 
-        itdmGongdanShujuMapper.updateById(itdmGongdanShuju);
+        if (itdmGong == null) {
+            ItdmGongdanImage itdmGong1 = new ItdmGongdanImage();
+            itdmGong1.setWoId(upload.getWoId());
+            itdmGong1.setExtraPic(upload.getImages());
+            gongdanImageMapper.insert(itdmGong1);
+        }else{
+            itdmGong.setExtraPic(upload.getImages());
+            gongdanImageMapper.updateById(itdmGong);
+        }
+
 
     }
 
 
+    @Override
+    public void editList(List<ItdmGongdanShuju> itdmGongdanShuju) {
+
+
+
+        for (ItdmGongdanShuju i : itdmGongdanShuju) {
+            if (StringUtils.isBlank(i.getId())) {
+                itdmGongdanShujuMapper.insert(i);
+            }else{
+                ItdmGongdanShuju selection = itdmGongdanShujuMapper.selectById(i.getId());
+                if (selection != null) {
+                    selection.setShiyanWendu(i.getShiyanWendu());
+                    selection.setShiyanShidu(i.getShiyanShidu());
+                    itdmGongdanShujuMapper.updateById(selection);
+                }else{
+                    itdmGongdanShujuMapper.deleteById(i.getId());
+                }
+
+            }
+        }
+
+
+
+    }
+
     public static void main(String[] args) {
         String shiyanTime = "10:20:30";
         shiyanTime = String.join(":", Arrays.asList(shiyanTime.split(":")).subList(0, 2));