liuwj преди 2 години
родител
ревизия
d85dc562b8
променени са 16 файла, в които са добавени 1311 реда и са изтрити 0 реда
  1. 177 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/controller/ItdmGongdanDetailController.java
  2. 14 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/service/IItdmGongdanDetailService.java
  3. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/service/impl/ItdmGongdanDetailServiceImpl.java
  4. 177 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/controller/ItdmGongdanMasterController.java
  5. 14 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/service/IItdmGongdanMasterService.java
  6. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/service/impl/ItdmGongdanMasterServiceImpl.java
  7. 123 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/controller/ItdmJCXMSHJHController.java
  8. 163 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/controller/ItdmTestPlanController.java
  9. 43 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/mapper/ItdmJCXMSHJHMapper.java
  10. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/mapper/xml/ItdmJCXMSHJHMapper.xml
  11. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/IItdmJCXMSHJHService.java
  12. 13 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/IItdmTestPlanService.java
  13. 69 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/impl/ItdmJCXMSHJHServiceImpl.java
  14. 18 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/impl/ItdmTestPlanServiceImpl.java
  15. 166 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/vo/ItdmJCXMAndSYJHVO.java
  16. 274 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/vo/ItdmJHYQueryListVO.java

+ 177 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/controller/ItdmGongdanDetailController.java

@@ -0,0 +1,177 @@
+package org.jeecg.modules.itdmGongdanDetail.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.itdmGongdanDetail.entity.ItdmGongdanDetail;
+import org.jeecg.modules.itdmGongdanDetail.service.IItdmGongdanDetailService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 工单detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Api(tags="工单detail")
+@RestController
+@RequestMapping("/itdmGongdanDetail/itdmGongdanDetail")
+@Slf4j
+public class ItdmGongdanDetailController extends JeecgController<ItdmGongdanDetail, IItdmGongdanDetailService> {
+	@Autowired
+	private IItdmGongdanDetailService itdmGongdanDetailService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmGongdanDetail
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "工单detail-分页列表查询")
+	@ApiOperation(value="工单detail-分页列表查询", notes="工单detail-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmGongdanDetail>> queryPageList(ItdmGongdanDetail itdmGongdanDetail,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmGongdanDetail> queryWrapper = QueryGenerator.initQueryWrapper(itdmGongdanDetail, req.getParameterMap());
+		Page<ItdmGongdanDetail> page = new Page<ItdmGongdanDetail>(pageNo, pageSize);
+		IPage<ItdmGongdanDetail> pageList = itdmGongdanDetailService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param itdmGongdanDetail
+	 * @return
+	 */
+	@AutoLog(value = "工单detail-添加")
+	@ApiOperation(value="工单detail-添加", notes="工单detail-添加")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_detail:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody ItdmGongdanDetail itdmGongdanDetail) {
+		itdmGongdanDetailService.save(itdmGongdanDetail);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param itdmGongdanDetail
+	 * @return
+	 */
+	@AutoLog(value = "工单detail-编辑")
+	@ApiOperation(value="工单detail-编辑", notes="工单detail-编辑")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_detail:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody ItdmGongdanDetail itdmGongdanDetail) {
+		itdmGongdanDetailService.updateById(itdmGongdanDetail);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "工单detail-通过id删除")
+	@ApiOperation(value="工单detail-通过id删除", notes="工单detail-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_detail:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		itdmGongdanDetailService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "工单detail-批量删除")
+	@ApiOperation(value="工单detail-批量删除", notes="工单detail-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_detail:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.itdmGongdanDetailService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "工单detail-通过id查询")
+	@ApiOperation(value="工单detail-通过id查询", notes="工单detail-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ItdmGongdanDetail> queryById(@RequestParam(name="id",required=true) String id) {
+		ItdmGongdanDetail itdmGongdanDetail = itdmGongdanDetailService.getById(id);
+		if(itdmGongdanDetail==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(itdmGongdanDetail);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param itdmGongdanDetail
+    */
+    //@RequiresPermissions("org.jeecg.modules:itdm_gongdan_detail:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmGongdanDetail itdmGongdanDetail) {
+        return super.exportXls(request, itdmGongdanDetail, ItdmGongdanDetail.class, "工单detail");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("itdm_gongdan_detail:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmGongdanDetail.class);
+    }
+
+}

+ 14 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/service/IItdmGongdanDetailService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.itdmGongdanDetail.service;
+
+import org.jeecg.modules.itdmGongdanDetail.entity.ItdmGongdanDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 工单detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+public interface IItdmGongdanDetailService extends IService<ItdmGongdanDetail> {
+
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanDetail/service/impl/ItdmGongdanDetailServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.itdmGongdanDetail.service.impl;
+
+import org.jeecg.modules.itdmGongdanDetail.entity.ItdmGongdanDetail;
+import org.jeecg.modules.itdmGongdanDetail.mapper.ItdmGongdanDetailMapper;
+import org.jeecg.modules.itdmGongdanDetail.service.IItdmGongdanDetailService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 工单detail
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Service
+public class ItdmGongdanDetailServiceImpl extends ServiceImpl<ItdmGongdanDetailMapper, ItdmGongdanDetail> implements IItdmGongdanDetailService {
+
+}

+ 177 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/controller/ItdmGongdanMasterController.java

@@ -0,0 +1,177 @@
+package org.jeecg.modules.itdmGongdanMaster.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.itdmGongdanMaster.entity.ItdmGongdanMaster;
+import org.jeecg.modules.itdmGongdanMaster.service.IItdmGongdanMasterService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 工单master
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Api(tags="工单master")
+@RestController
+@RequestMapping("/itdmGongdanMaster/itdmGongdanMaster")
+@Slf4j
+public class ItdmGongdanMasterController extends JeecgController<ItdmGongdanMaster, IItdmGongdanMasterService> {
+	@Autowired
+	private IItdmGongdanMasterService itdmGongdanMasterService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmGongdanMaster
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "工单master-分页列表查询")
+	@ApiOperation(value="工单master-分页列表查询", notes="工单master-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmGongdanMaster>> queryPageList(ItdmGongdanMaster itdmGongdanMaster,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmGongdanMaster> queryWrapper = QueryGenerator.initQueryWrapper(itdmGongdanMaster, req.getParameterMap());
+		Page<ItdmGongdanMaster> page = new Page<ItdmGongdanMaster>(pageNo, pageSize);
+		IPage<ItdmGongdanMaster> pageList = itdmGongdanMasterService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param itdmGongdanMaster
+	 * @return
+	 */
+	@AutoLog(value = "工单master-添加")
+	@ApiOperation(value="工单master-添加", notes="工单master-添加")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_master:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody ItdmGongdanMaster itdmGongdanMaster) {
+		itdmGongdanMasterService.save(itdmGongdanMaster);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param itdmGongdanMaster
+	 * @return
+	 */
+	@AutoLog(value = "工单master-编辑")
+	@ApiOperation(value="工单master-编辑", notes="工单master-编辑")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_master:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody ItdmGongdanMaster itdmGongdanMaster) {
+		itdmGongdanMasterService.updateById(itdmGongdanMaster);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "工单master-通过id删除")
+	@ApiOperation(value="工单master-通过id删除", notes="工单master-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_master:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		itdmGongdanMasterService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "工单master-批量删除")
+	@ApiOperation(value="工单master-批量删除", notes="工单master-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_gongdan_master:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.itdmGongdanMasterService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "工单master-通过id查询")
+	@ApiOperation(value="工单master-通过id查询", notes="工单master-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ItdmGongdanMaster> queryById(@RequestParam(name="id",required=true) String id) {
+		ItdmGongdanMaster itdmGongdanMaster = itdmGongdanMasterService.getById(id);
+		if(itdmGongdanMaster==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(itdmGongdanMaster);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param itdmGongdanMaster
+    */
+    //@RequiresPermissions("org.jeecg.modules:itdm_gongdan_master:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmGongdanMaster itdmGongdanMaster) {
+        return super.exportXls(request, itdmGongdanMaster, ItdmGongdanMaster.class, "工单master");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("itdm_gongdan_master:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmGongdanMaster.class);
+    }
+
+}

+ 14 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/service/IItdmGongdanMasterService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.itdmGongdanMaster.service;
+
+import org.jeecg.modules.itdmGongdanMaster.entity.ItdmGongdanMaster;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 工单master
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+public interface IItdmGongdanMasterService extends IService<ItdmGongdanMaster> {
+
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongdanMaster/service/impl/ItdmGongdanMasterServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.itdmGongdanMaster.service.impl;
+
+import org.jeecg.modules.itdmGongdanMaster.entity.ItdmGongdanMaster;
+import org.jeecg.modules.itdmGongdanMaster.mapper.ItdmGongdanMasterMapper;
+import org.jeecg.modules.itdmGongdanMaster.service.IItdmGongdanMasterService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 工单master
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Service
+public class ItdmGongdanMasterServiceImpl extends ServiceImpl<ItdmGongdanMasterMapper, ItdmGongdanMaster> implements IItdmGongdanMasterService {
+
+}

+ 123 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/controller/ItdmJCXMSHJHController.java

@@ -0,0 +1,123 @@
+package org.jeecg.modules.itdmTestPlan.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.itdmDevice.entity.ItdmDevice;
+import org.jeecg.modules.itdmDevice.service.IItdmDeviceService;
+import org.jeecg.modules.itdmTestPlan.entity.ItdmTestPlan;
+import org.jeecg.modules.itdmTestPlan.service.IItdmJCXMSHJHService;
+import org.jeecg.modules.itdmTestPlan.service.IItdmTestPlanService;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJCXMAndSYJHVO;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJHYQueryListVO;
+import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
+import org.jeecg.modules.weituo.entity.ItdmWeituoYangpin;
+import org.jeecg.modules.weituo.mapper.ItdmWeituoYangpinMapper;
+import org.jeecg.modules.weituo.service.IItdmWeituoInfoService;
+import org.jeecg.modules.weituo.vo.ItdmWeituoInfoInfoVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 试验计划
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Api(tags="计划排期")
+@RestController
+@RequestMapping("/sych")
+@Slf4j
+public class ItdmJCXMSHJHController {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private IItdmTestPlanService itdmTestPlanService;
+    @Autowired
+    @SuppressWarnings("all")
+    private IItdmJCXMSHJHService iItdmJCXMSHJHService;
+
+    /**
+     * 计划员查询列表
+     */
+    @ApiOperation(value="计划员查询列表", notes="通过委托id查询,得到委托单的检测项目、试验计划部分信息")
+    @GetMapping(value = "/JHYList")
+    public Result<List<ItdmJHYQueryListVO>> JHYList3(@RequestParam("weituoNo") String weituoNo) {
+        List<ItdmJHYQueryListVO> list = iItdmJCXMSHJHService.getAll3(weituoNo);
+        return Result.OK(list);
+    }
+
+    /**
+     * 计划员新增或修改试验计划
+     */
+    @AutoLog(value = "计划员新增或修改试验计划")
+    @ApiOperation(value="计划员新增或修改试验计划", notes="计划员新增或修改试验计划——直接left join")
+    @PostMapping(value = "/addOrUpdate")
+    public Result<String> addAndUpdate(@RequestBody List<ItdmJHYQueryListVO> list) {
+        List<ItdmTestPlan> vos = new ArrayList<>();
+
+        for(ItdmJHYQueryListVO vo:list){
+            ItdmTestPlan itdmTestPlan = new ItdmTestPlan();
+            itdmTestPlan.setWeituoId(vo.getWeituoId());
+            itdmTestPlan.setTestItemsId(vo.getTestItemsId());
+            itdmTestPlan.setWeituoYangpinId(vo.getYangpinId());
+            itdmTestPlan.setShebeiId(vo.getShebeiId());
+            itdmTestPlan.setPm(vo.getPm());
+            itdmTestPlan.setJihuaStartDate(vo.getJihuaStartDate());
+            itdmTestPlan.setJihuaEndDate(vo.getJihuaEndDate());
+            itdmTestPlan.setReportNo(vo.getReportNo());
+            itdmTestPlan.setChuanganqi(vo.getChuanganqi());
+            if(vo.getTestPlanId()==null){ //新增试验计划
+                itdmTestPlan.setStatus(0);//试验计划初始状态为未确认0
+                itdmTestPlanService.save(itdmTestPlan);
+                vos.add(itdmTestPlan);
+            }else if(vo.getStatus() == 0){//状态为“未确定”,可以修改试验计划
+                itdmTestPlan.setId(vo.getTestPlanId());
+                itdmTestPlanService.updateById(itdmTestPlan);
+                vos.add(itdmTestPlan);
+            }
+        }
+        return Result.OK("提交成功!");
+    }
+
+
+//    /**
+//     * 项目经理查询列表
+//     */
+//    @ApiOperation(value="项目经理查询列表", notes="通过委托id查询,得到一级:检测项目和试验计划,二级:检测项目和工单master")
+//    @GetMapping(value = "/XMJLList")
+//    public Result<List<ItdmJHYQueryListVO>> XMJLList(@Param("weituoId") String weituoId) {
+//        List<ItdmJHYQueryListVO> list = iItdmJCXMSHJHService.getAll(weituoId);
+//        return Result.OK(list);
+//    }
+
+
+
+//    /**
+//     * 计划员查询列表
+//     */
+//    @ApiOperation(value="计划员查询列表", notes="通过委托id查询,得到委托单的检测项目、试验计划部分信息")
+//    @GetMapping(value = "/JHYList")
+//    public Result<List<ItdmJHYQueryListVO>> JHYList(@RequestParam("weituoNo") String weituoNo) {
+//        List<ItdmJHYQueryListVO> list = iItdmJCXMSHJHService.getAll2(weituoNo);
+//        return Result.OK(list);
+//    }
+
+    /**
+     * 测试
+     * */
+    @ApiOperation(value="测试查出后再往vo里组", notes="测试")
+    @GetMapping(value = "/cs")
+    public Result<List<ItdmJHYQueryListVO>> JHYList2(@RequestParam("weituoNo") String weituoNo) {
+        List<ItdmJHYQueryListVO> list = iItdmJCXMSHJHService.getAll(weituoNo);
+        return Result.OK(list);
+    }
+
+
+}

+ 163 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/controller/ItdmTestPlanController.java

@@ -0,0 +1,163 @@
+package org.jeecg.modules.itdmTestPlan.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.itdmTestPlan.entity.ItdmTestPlan;
+import org.jeecg.modules.itdmTestPlan.service.IItdmTestPlanService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 试验计划
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Api(tags="试验计划")
+@RestController
+@RequestMapping("/itdmTestPlan/itdmTestPlan")
+@Slf4j
+public class ItdmTestPlanController extends JeecgController<ItdmTestPlan, IItdmTestPlanService> {
+	@Autowired
+	private IItdmTestPlanService itdmTestPlanService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmTestPlan
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "试验计划-分页列表查询")
+	@ApiOperation(value="试验计划-分页列表查询", notes="试验计划-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmTestPlan>> queryPageList(ItdmTestPlan itdmTestPlan,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmTestPlan> queryWrapper = QueryGenerator.initQueryWrapper(itdmTestPlan, req.getParameterMap());
+		Page<ItdmTestPlan> page = new Page<ItdmTestPlan>(pageNo, pageSize);
+		IPage<ItdmTestPlan> pageList = itdmTestPlanService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param itdmTestPlan
+	 * @return
+	 */
+	@AutoLog(value = "试验计划-添加")
+	@ApiOperation(value="试验计划-添加", notes="试验计划-添加")
+	//@RequiresPermissions("org.jeecg.modules:itdm_test_plan:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody ItdmTestPlan itdmTestPlan) {
+		itdmTestPlanService.save(itdmTestPlan);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param itdmTestPlan
+	 * @return
+	 */
+	@AutoLog(value = "试验计划-编辑")
+	@ApiOperation(value="试验计划-编辑", notes="试验计划-编辑")
+	//@RequiresPermissions("org.jeecg.modules:itdm_test_plan:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody ItdmTestPlan itdmTestPlan) {
+		itdmTestPlanService.updateById(itdmTestPlan);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "试验计划-通过id删除")
+	@ApiOperation(value="试验计划-通过id删除", notes="试验计划-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_test_plan:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		itdmTestPlanService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "试验计划-批量删除")
+	@ApiOperation(value="试验计划-批量删除", notes="试验计划-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_test_plan:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.itdmTestPlanService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "试验计划-通过id查询")
+	@ApiOperation(value="试验计划-通过id查询", notes="试验计划-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ItdmTestPlan> queryById(@RequestParam(name="id",required=true) String id) {
+		ItdmTestPlan itdmTestPlan = itdmTestPlanService.getById(id);
+		if(itdmTestPlan==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(itdmTestPlan);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param itdmTestPlan
+    */
+    //@RequiresPermissions("org.jeecg.modules:itdm_test_plan:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmTestPlan itdmTestPlan) {
+        return super.exportXls(request, itdmTestPlan, ItdmTestPlan.class, "试验计划");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("itdm_test_plan:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmTestPlan.class);
+    }
+
+}

+ 43 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/mapper/ItdmJCXMSHJHMapper.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.itdmTestPlan.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.jeecg.modules.itdmDevice.entity.ItdmDevice;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJCXMAndSYJHVO;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJHYQueryListVO;
+
+import java.util.List;
+
+public interface ItdmJCXMSHJHMapper {
+
+    @Select("select a.weituo_id, a.yangpin_id, a.test_items, a.id as testItemsId, " +
+            "b.id as testPlanId, b.shebei_id, b.pm, b.jihua_start_date, b.jihua_end_date, b.status, b.report_no, b.chuanganqi " +
+            "from itdm_weituo_yangpin_extend a " +
+            "left join itdm_test_plan b on a.id = b.test_items_id " +
+            "where a.weituo_id = #{weituoId}")
+    List<ItdmJCXMAndSYJHVO> getAll(@Param("weituoId") String weituoId);
+
+
+//    @Select("select a.weituo_id, a.yangpin_id, a.id as testItemsId, a.test_items, " +
+//            "b.id as testPlanId, b.shebei_id, b.pm, b.jihua_start_date, b.jihua_end_date, b.status, b.report_no, b.chuanganqi, " +
+//            "c.weituo_no, d.sample_name, e.device_name " +
+//            "from itdm_weituo_yangpin_extend a " +
+//            "left join itdm_test_plan b on a.id = b.test_items_id " +
+//            "left join itdm_weituo_info c on a.weituo_id = c.id " +
+//            "left join itdm_weituo_yangpin d on a.yangpin_id = d.id " +
+//            "left join itdm_device e on b.shebei_id = e.id " +
+//            "where a.weituo_id = #{weituoId}")
+//    List<ItdmJHYQueryListVO> getAll2(@Param("weituoId") String weituoId);
+
+
+    @Select("select a.weituo_id, a.yangpin_id, a.id as testItemsId, a.test_items, " +
+            "b.id as testPlanId, b.shebei_id, b.pm, b.jihua_start_date, b.jihua_end_date, b.status, b.report_no, b.chuanganqi, " +
+            "d.sample_name, e.device_name " +
+            "from itdm_weituo_yangpin_extend a " +
+            "left join itdm_test_plan b on a.id = b.test_items_id " +
+            "left join itdm_weituo_yangpin d on a.yangpin_id = d.id " +
+            "left join itdm_device e on b.shebei_id = e.id " +
+            "where a.weituo_id = #{weituoId}")
+    List<ItdmJHYQueryListVO> getAll3(@Param("weituoId") String weituoId);
+
+}

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/mapper/xml/ItdmJCXMSHJHMapper.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.itdmTestPlan.mapper.ItdmJCXMSHJHMapper">
+
+</mapper>

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/IItdmJCXMSHJHService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.itdmTestPlan.service;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJCXMAndSYJHVO;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJHYQueryListVO;
+
+import java.util.List;
+
+public interface IItdmJCXMSHJHService {
+
+    public List<ItdmJHYQueryListVO> getAll(@Param("weituoNo") String weituoId);
+
+//    public List<ItdmJHYQueryListVO> getAll2(@Param("weituoNo") String weituoId);
+
+    public List<ItdmJHYQueryListVO> getAll3(@Param("weituoNo") String weituoId);
+
+}

+ 13 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/IItdmTestPlanService.java

@@ -0,0 +1,13 @@
+package org.jeecg.modules.itdmTestPlan.service;
+
+import org.jeecg.modules.itdmTestPlan.entity.ItdmTestPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 试验计划
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+public interface IItdmTestPlanService extends IService<ItdmTestPlan> {
+}

+ 69 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/impl/ItdmJCXMSHJHServiceImpl.java

@@ -0,0 +1,69 @@
+package org.jeecg.modules.itdmTestPlan.service.impl;
+
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.itdmDevice.entity.ItdmDevice;
+import org.jeecg.modules.itdmDevice.mapper.ItdmDeviceMapper;
+import org.jeecg.modules.itdmDevice.service.IItdmDeviceService;
+import org.jeecg.modules.itdmTestPlan.mapper.ItdmJCXMSHJHMapper;
+import org.jeecg.modules.itdmTestPlan.service.IItdmJCXMSHJHService;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJCXMAndSYJHVO;
+import org.jeecg.modules.itdmTestPlan.vo.ItdmJHYQueryListVO;
+import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
+import org.jeecg.modules.weituo.entity.ItdmWeituoYangpin;
+import org.jeecg.modules.weituo.mapper.ItdmWeituoInfoMapper;
+import org.jeecg.modules.weituo.mapper.ItdmWeituoYangpinMapper;
+import org.jeecg.modules.weituo.service.IItdmWeituoInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmJCXMSHJHMapper itdmJCXMSHJHMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmDeviceMapper itdmDeviceMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmWeituoInfoMapper itdmWeituoInfoMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmWeituoYangpinMapper itdmWeituoYangpinMapper;
+
+
+
+    public List<ItdmJHYQueryListVO> getAll(String weituoNo){
+        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
+        List<ItdmJCXMAndSYJHVO> list = itdmJCXMSHJHMapper.getAll(weituoId);
+        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
+                ItdmJHYQueryListVO.toItdmJHYQueryListVO(i,itdmWeituoInfoMapper.selectById(i.getWeituoId()).getWeituoNo(),
+                        itdmWeituoYangpinMapper.selectById(i.getYangpinId()).getSampleName(),
+                        itdmDeviceMapper.selectById(i.getShebeiId()).getDeviceName())
+        ).collect(Collectors.toList());
+        return list1;
+    }
+
+
+//    public List<ItdmJHYQueryListVO> getAll2(@Param("weituoNo") String weituoNo){
+//        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
+//        List<ItdmJHYQueryListVO> list = itdmJCXMSHJHMapper.getAll2(weituoId);
+//        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
+//                ItdmJHYQueryListVO.toItdmJHYQueryListVO2(i)).collect(Collectors.toList());
+//        return list1;
+//    }
+
+    public List<ItdmJHYQueryListVO> getAll3(String weituoNo){
+        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
+        List<ItdmJHYQueryListVO> list = itdmJCXMSHJHMapper.getAll3(weituoId);
+        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
+                ItdmJHYQueryListVO.toItdmJHYQueryListVO3(i,weituoNo)).collect(Collectors.toList());
+        return list1;
+    }
+
+}

+ 18 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/service/impl/ItdmTestPlanServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.itdmTestPlan.service.impl;
+
+import org.jeecg.modules.itdmTestPlan.entity.ItdmTestPlan;
+import org.jeecg.modules.itdmTestPlan.mapper.ItdmTestPlanMapper;
+import org.jeecg.modules.itdmTestPlan.service.IItdmTestPlanService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 试验计划
+ * @Author: jeecg-boot
+ * @Date:   2023-05-21
+ * @Version: V1.0
+ */
+@Service
+public class ItdmTestPlanServiceImpl extends ServiceImpl<ItdmTestPlanMapper, ItdmTestPlan> implements IItdmTestPlanService {
+}

+ 166 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/vo/ItdmJCXMAndSYJHVO.java

@@ -0,0 +1,166 @@
+package org.jeecg.modules.itdmTestPlan.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 检测项目和试验计划
+ * */
+public class ItdmJCXMAndSYJHVO {
+
+    /**委托id*/
+    @Excel(name = "委托id", width = 15)
+    @ApiModelProperty(value = "委托id")
+    private String weituoId;
+    /**样品id*/
+    @Excel(name = "样品id", width = 15)
+    @ApiModelProperty(value = "样品id")
+    private String yangpinId;
+    /**检测项目id*/
+    @Excel(name = "检测项目id", width = 15)
+    @ApiModelProperty(value = "检测项目id")
+    private java.lang.String testItemsId;
+    /**检测项目*/
+    @Excel(name = "检测项目", width = 15)
+    @ApiModelProperty(value = "检测项目")
+    private String testItems;
+    /**试验计划id*/
+    @Excel(name = "试验计划id", width = 15)
+    @ApiModelProperty(value = "试验计划id")
+    private String testPlanId;
+    /**设备id*/
+    @Excel(name = "设备id", width = 15)
+    @ApiModelProperty(value = "设备id")
+    private java.lang.String shebeiId;
+    /**项目经理*/
+    @Excel(name = "项目经理", width = 15)
+    @ApiModelProperty(value = "项目经理")
+    private java.lang.String pm;
+    /**计划开始日期*/
+    @Excel(name = "计划开始日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "计划开始日期")
+    private java.util.Date jihuaStartDate;
+    /**计划结束日期*/
+    @Excel(name = "计划结束日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "计划结束日期")
+    private java.util.Date jihuaEndDate;
+    /**状态*/
+    @Excel(name = "状态", width = 15, dicCode = "test_plan_status")
+    @Dict(dicCode = "test_plan_status")
+    @ApiModelProperty(value = "状态")
+    private java.lang.Integer status;
+    /**报告编号*/
+    @Excel(name = "报告编号", width = 15)
+    @ApiModelProperty(value = "报告编号")
+    private java.lang.String reportNo;
+    /**传感器*/
+    @Excel(name = "传感器", width = 20)
+    @ApiModelProperty(value = "传感器")
+    private java.lang.String chuanganqi;
+
+    public String getWeituoId() {
+        return weituoId;
+    }
+
+    public void setWeituoId(String weituoId) {
+        this.weituoId = weituoId;
+    }
+
+    public String getYangpinId() {
+        return yangpinId;
+    }
+
+    public void setYangpinId(String yangpinId) {
+        this.yangpinId = yangpinId;
+    }
+
+    public String getTestItems() {
+        return testItems;
+    }
+
+    public void setTestItems(String testItems) {
+        this.testItems = testItems;
+    }
+
+    public String getShebeiId() {
+        return shebeiId;
+    }
+
+    public void setShebeiId(String shebeiId) {
+        this.shebeiId = shebeiId;
+    }
+
+    public String getPm() {
+        return pm;
+    }
+
+    public void setPm(String pm) {
+        this.pm = pm;
+    }
+
+    public Date getJihuaStartDate() {
+        return jihuaStartDate;
+    }
+
+    public void setJihuaStartDate(Date jihuaStartDate) {
+        this.jihuaStartDate = jihuaStartDate;
+    }
+
+    public Date getJihuaEndDate() {
+        return jihuaEndDate;
+    }
+
+    public void setJihuaEndDate(Date jihuaEndDate) {
+        this.jihuaEndDate = jihuaEndDate;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getReportNo() {
+        return reportNo;
+    }
+
+    public void setReportNo(String reportNo) {
+        this.reportNo = reportNo;
+    }
+
+    public String getChuanganqi() {
+        return chuanganqi;
+    }
+
+    public void setChuanganqi(String chuanganqi) {
+        this.chuanganqi = chuanganqi;
+    }
+
+    public String getTestPlanId() {
+        return testPlanId;
+    }
+
+    public void setTestPlanId(String testPlanId) {
+        this.testPlanId = testPlanId;
+    }
+
+    public String getTestItemsId() {
+        return testItemsId;
+    }
+
+    public void setTestItemsId(String testItemsId) {
+        this.testItemsId = testItemsId;
+    }
+}

+ 274 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmTestPlan/vo/ItdmJHYQueryListVO.java

@@ -0,0 +1,274 @@
+package org.jeecg.modules.itdmTestPlan.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * 计划员查询返回的列表对象(完整版,包括各种名称)
+ * */
+public class ItdmJHYQueryListVO {
+
+    /**委托id*/
+    @Excel(name = "委托id", width = 15)
+    @ApiModelProperty(value = "委托id")
+    private String weituoId;
+    /**样品id*/
+    @Excel(name = "样品id", width = 15)
+    @ApiModelProperty(value = "样品id")
+    private String yangpinId;
+    /**检测项目id*/
+    @Excel(name = "检测项目id", width = 15)
+    @ApiModelProperty(value = "检测项目id")
+    private java.lang.String testItemsId;
+    /**检测项目*/
+    @Excel(name = "检测项目", width = 15)
+    @ApiModelProperty(value = "检测项目")
+    private String testItems;
+    /**试验计划id*/
+    @Excel(name = "试验计划id", width = 15)
+    @ApiModelProperty(value = "试验计划id")
+    private String testPlanId;
+    /**设备id*/
+    @Excel(name = "设备id", width = 15)
+    @ApiModelProperty(value = "设备id")
+    private java.lang.String shebeiId;
+    /**项目经理*/
+    @Excel(name = "项目经理", width = 15)
+    @ApiModelProperty(value = "项目经理")
+    private java.lang.String pm;
+    /**计划开始日期*/
+    @Excel(name = "计划开始日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "计划开始日期")
+    private java.util.Date jihuaStartDate;
+    /**计划结束日期*/
+    @Excel(name = "计划结束日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "计划结束日期")
+    private java.util.Date jihuaEndDate;
+    /**状态*/
+    @Excel(name = "状态", width = 15, dicCode = "test_plan_status")
+    @Dict(dicCode = "test_plan_status")
+    @ApiModelProperty(value = "状态")
+    private java.lang.Integer status;
+    /**报告编号*/
+    @Excel(name = "报告编号", width = 15)
+    @ApiModelProperty(value = "报告编号")
+    private java.lang.String reportNo;
+    /**传感器*/
+    @Excel(name = "传感器", width = 20)
+    @ApiModelProperty(value = "传感器")
+    private java.lang.String chuanganqi;
+    /**委托编号*/
+    @Excel(name = "委托编号", width = 15)
+    @ApiModelProperty(value = "委托编号")
+    private String weituoNo;
+    /**样品名称*/
+    @Excel(name = "样品名称", width = 15)
+    @ApiModelProperty(value = "样品名称")
+    private java.lang.String sampleName;
+    /**设备名称*/
+    @Excel(name = "设备名称", width = 15)
+    @ApiModelProperty(value = "设备名称")
+    private java.lang.String deviceName;
+    /**父id*/
+    @Excel(name = "父id", width = 20)
+    @ApiModelProperty(value = "父id")
+    private java.lang.String parent;
+    /**持续时间*/
+    @Excel(name = "持续时间", width = 20)
+    @ApiModelProperty(value = "持续时间")
+    private java.lang.Integer lastTime;
+
+
+
+    public String getWeituoId() {
+        return weituoId;
+    }
+
+    public void setWeituoId(String weituoId) {
+        this.weituoId = weituoId;
+    }
+
+    public String getYangpinId() {
+        return yangpinId;
+    }
+
+    public void setYangpinId(String yangpinId) {
+        this.yangpinId = yangpinId;
+    }
+
+    public String getTestItems() {
+        return testItems;
+    }
+
+    public void setTestItems(String testItems) {
+        this.testItems = testItems;
+    }
+
+    public String getShebeiId() {
+        return shebeiId;
+    }
+
+    public void setShebeiId(String shebeiId) {
+        this.shebeiId = shebeiId;
+    }
+
+    public String getPm() {
+        return pm;
+    }
+
+    public void setPm(String pm) {
+        this.pm = pm;
+    }
+
+    public String getWeituoNo() {
+        return weituoNo;
+    }
+
+    public void setWeituoNo(String weituoNo) {
+        this.weituoNo = weituoNo;
+    }
+
+    public String getSampleName() {
+        return sampleName;
+    }
+
+    public void setSampleName(String sampleName) {
+        this.sampleName = sampleName;
+    }
+
+    public String getDeviceName() {
+        return deviceName;
+    }
+
+    public void setDeviceName(String deviceName) {
+        this.deviceName = deviceName;
+    }
+
+    public Date getJihuaStartDate() {
+        return jihuaStartDate;
+    }
+
+    public void setJihuaStartDate(Date jihuaStartDate) {
+        this.jihuaStartDate = jihuaStartDate;
+    }
+
+    public Date getJihuaEndDate() {
+        return jihuaEndDate;
+    }
+
+    public void setJihuaEndDate(Date jihuaEndDate) {
+        this.jihuaEndDate = jihuaEndDate;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getReportNo() {
+        return reportNo;
+    }
+
+    public void setReportNo(String reportNo) {
+        this.reportNo = reportNo;
+    }
+
+    public String getChuanganqi() {
+        return chuanganqi;
+    }
+
+    public void setChuanganqi(String chuanganqi) {
+        this.chuanganqi = chuanganqi;
+    }
+
+    public String getParent() {
+        return parent;
+    }
+
+    public void setParent(String parent) {
+        this.parent = parent;
+    }
+
+    public String getTestPlanId() {
+        return testPlanId;
+    }
+
+    public void setTestPlanId(String testPlanId) {
+        this.testPlanId = testPlanId;
+    }
+
+    public String getTestItemsId() {
+        return testItemsId;
+    }
+
+    public void setTestItemsId(String testItemsId) {
+        this.testItemsId = testItemsId;
+    }
+
+    public Integer getLastTime() {
+        return lastTime;
+    }
+
+    public void setLastTime(Integer lastTime) {
+        this.lastTime = lastTime;
+    }
+
+    public static ItdmJHYQueryListVO toItdmJHYQueryListVO3(ItdmJHYQueryListVO vo, String weituoNo){
+        if(vo.getJihuaEndDate()!=null && vo.getTestItemsId()!=null){
+            int days = (int) ((vo.getJihuaEndDate().getTime() - vo.getJihuaStartDate().getTime()) / (1000*3600*24));
+            vo.setLastTime(days+1);
+        }
+        vo.setWeituoNo(weituoNo);
+        return vo;
+    }
+
+
+//    public static ItdmJHYQueryListVO toItdmJHYQueryListVO2(ItdmJHYQueryListVO vo){
+//        if(vo.getJihuaEndDate()!=null && vo.getTestItemsId()!=null){
+//            int days = (int) ((vo.getJihuaEndDate().getTime() - vo.getJihuaStartDate().getTime()) / (1000*3600*24));
+//            vo.setLastTime(days+1);
+//        }
+//        return vo;
+//    }
+
+
+    public static ItdmJHYQueryListVO toItdmJHYQueryListVO(ItdmJCXMAndSYJHVO itdmVO, String weituoNo, String sampleName, String deviceName){
+        ItdmJHYQueryListVO vo = new ItdmJHYQueryListVO();
+        vo.setWeituoId(itdmVO.getWeituoId());
+        vo.setYangpinId(itdmVO.getYangpinId());
+        vo.setShebeiId(itdmVO.getShebeiId());
+        vo.setTestItems(itdmVO.getTestItems());
+        vo.setDeviceName(deviceName);
+        vo.setSampleName(sampleName);
+        vo.setWeituoNo(weituoNo);
+        vo.setChuanganqi(itdmVO.getChuanganqi());
+        vo.setStatus(itdmVO.getStatus());
+        vo.setPm(itdmVO.getPm());
+        vo.setChuanganqi(itdmVO.getChuanganqi());
+        vo.setTestPlanId(itdmVO.getTestPlanId());
+        vo.setReportNo(itdmVO.getReportNo());
+        vo.setJihuaStartDate(itdmVO.getJihuaStartDate());
+        vo.setJihuaEndDate(itdmVO.getJihuaEndDate());
+        vo.setTestItemsId(itdmVO.getTestItemsId());
+        if(itdmVO.getJihuaEndDate()!=null && itdmVO.getTestItemsId()!=null){
+            int days = (int) ((itdmVO.getJihuaEndDate().getTime() - itdmVO.getJihuaStartDate().getTime()) / (1000*3600*24));
+            vo.setLastTime(days);
+        }
+        return vo;
+    }
+
+
+}