Commit a9301ff7 by wangweidong

土工平台修改

parent d45df8fc
...@@ -11,10 +11,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow; ...@@ -11,10 +11,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File; import java.io.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger; import java.math.BigInteger;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.DecimalFormat; import java.text.DecimalFormat;
...@@ -318,4 +315,82 @@ public class HSSFWorkbookUtil { ...@@ -318,4 +315,82 @@ public class HSSFWorkbookUtil {
return indx; return indx;
} }
public static void insertImageByRowColFile(XSSFWorkbook wb ,XSSFSheet sheet, int row, int col, File file) {
XSSFRow xssfRow=sheet.getRow(row);
if (null!=xssfRow){
XSSFCell cell= xssfRow.getCell(col);
if (null!=cell){
CreationHelper helper = wb.getCreationHelper();
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(row);
anchor.setRow1(col);
try {
Picture pict = drawing.createPicture(anchor, wb.addPicture(new FileInputStream(file), XSSFWorkbook.PICTURE_TYPE_PNG));
// 计算单元格的长宽
pict.resize();
}catch (Exception e){
e.printStackTrace();
}
}
}
}
public static XSSFWorkbook replaceModel(Map item, XSSFWorkbook wb,int index) {
try {
XSSFSheet sheet = wb.getSheetAt(index);
Iterator rows = sheet.rowIterator();
while(rows.hasNext()){
XSSFRow row = (XSSFRow) rows.next();
if(row!=null) {
int num = row.getLastCellNum();
for(int i=0;i<num;i++) {
XSSFCell cell= row.getCell(i);
if(cell!=null) {
cell.setCellType(CellType.STRING);
}
if(cell==null || cell.getStringCellValue()==null) {
continue;
}
String value= cell.getStringCellValue();
if(!"".equals(value)) {
Set<String> keySet = item.keySet();
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String text = it.next();
if(value.equalsIgnoreCase(text)) {
cell.setCellValue((String)item.get(text));
break;
}
}
} else {
cell.setCellValue("");
}
}
}
}
// 输出文件
} catch (Exception e) {
e.printStackTrace();
}
return wb;
}
public static XSSFWorkbook getWorkbookByIO(InputStream io) {
try {
XSSFWorkbook xssfWorkbook= new XSSFWorkbook(io);
io.close();
return xssfWorkbook;
}catch (Exception e){
e.printStackTrace();
return null;
}finally {
try {
io.close();
}catch (Exception e){
}
}
}
} }
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneInOutStockService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 独立样品出入库 前端控制器
*
* @author wwd
* @since 2020-12-28
*/
@Api(tags = "独立样品出入库")
@RestController
@RequestMapping("/v1/alone_in_out_stock")
public class SoilAloneInOutStockController extends ServiceController {
@Autowired
private ISoilAloneInOutStockService soilAloneInOutStockService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilAloneInOutStock>> getPage(SoilAloneInOutStock soilAloneInOutStock) {
return success(soilAloneInOutStockService.page(getPage(), soilAloneInOutStock));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilAloneInOutStock> get(@PathVariable("id") Long id) {
return success(soilAloneInOutStockService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilAloneInOutStock soilAloneInOutStock) {
soilAloneInOutStock.setId(id);
return success(soilAloneInOutStockService.updateById(soilAloneInOutStock));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilAloneInOutStock soilAloneInOutStock) {
return success(soilAloneInOutStockService.save(soilAloneInOutStock));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilAloneInOutStockService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilAloneSampleAnnex;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneSampleAnnexService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 收样管理附件 前端控制器
*
* @author wwd
* @since 2020-12-28
*/
@Api(tags = "收样管理附件")
@RestController
@RequestMapping("/v1/alone_sample_annex")
public class SoilAloneSampleAnnexController extends ServiceController {
@Autowired
private ISoilAloneSampleAnnexService soilAloneSampleAnnexService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilAloneSampleAnnex>> getPage(SoilAloneSampleAnnex soilAloneSampleAnnex) {
return success(soilAloneSampleAnnexService.page(getPage(), soilAloneSampleAnnex));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilAloneSampleAnnex> get(@PathVariable("id") Long id) {
return success(soilAloneSampleAnnexService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilAloneSampleAnnex soilAloneSampleAnnex) {
soilAloneSampleAnnex.setId(id);
return success(soilAloneSampleAnnexService.updateById(soilAloneSampleAnnex));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilAloneSampleAnnex soilAloneSampleAnnex) {
return success(soilAloneSampleAnnexService.save(soilAloneSampleAnnex));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilAloneSampleAnnexService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import com.patzn.cloud.service.soil.entity.SoilAloneSample;
import com.patzn.cloud.service.soil.enums.SoilAloneStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneSampleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 收样登记表 前端控制器
*
* @author wwd
* @since 2020-12-28
*/
@Api(tags = "收样登记表")
@RestController
@RequestMapping("/v1/alone_sample")
public class SoilAloneSampleController extends ServiceController {
@Autowired
private ISoilAloneSampleService soilAloneSampleService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilAloneSample>> getPage(SoilAloneSample soilAloneSample) {
soilAloneSample.setStatus(SoilAloneStatusEnum.DRAFT);
return success(soilAloneSampleService.page(getPage(), soilAloneSample));
}
@ApiOperation("待入库分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_wait_storage")
public RestResult<Page<SoilAloneSample>> getPageWaitStorage(SoilAloneSample soilAloneSample) {
soilAloneSample.setStatus(SoilAloneStatusEnum.WAIT_STORAGE);
return success(soilAloneSampleService.page(getPage(), soilAloneSample));
}
@ApiOperation("待出库分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_wait_delivery")
public RestResult<Page<SoilAloneSample>> getPageWaitDelivery(SoilAloneSample soilAloneSample) {
soilAloneSample.setStatus(SoilAloneStatusEnum.WAIT_DELIVERY);
return success(soilAloneSampleService.page(getPage(), soilAloneSample));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilAloneSample> get(@PathVariable("id") Long id) {
return success(soilAloneSampleService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilAloneSample soilAloneSample) {
soilAloneSample.setId(id);
return success(soilAloneSampleService.updateById(soilAloneSample));
}
@ApiOperation("提交至出库")
@PostMapping("/submit_to_out_storage")
public RestResult<Boolean> submitToOutStorage(@RequestParam("ids") Long [] ids) {
return success(soilAloneSampleService.submitToOutStorage(ids,getAccount()));
}
@ApiOperation("入库提交")
@PostMapping("/in_storage_submit")
public RestResult<Boolean> inStorageSubmit(@RequestParam("ids") Long [] ids, SoilAloneInOutStock aloneInOutStock) {
return success(soilAloneSampleService.inStorageSubmit(ids,aloneInOutStock,getAccount()));
}
@ApiOperation("出库提交")
@PostMapping("/out_storage_submit")
public RestResult<Boolean> outStorageSubmit(@RequestParam("ids") Long [] ids, SoilAloneInOutStock aloneInOutStock) {
return success(soilAloneSampleService.outStorageSubmit(ids,aloneInOutStock,getAccount()));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilAloneSample soilAloneSample) {
return success(soilAloneSampleService.save(soilAloneSample));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilAloneSampleService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilAloneWarehouseLocation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneWarehouseLocationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 库房位置管理 前端控制器
*
* @author wwd
* @since 2020-12-28
*/
@Api(tags = "库房位置管理")
@RestController
@RequestMapping("/v1/alone_warehouse_location")
public class SoilAloneWarehouseLocationController extends ServiceController {
@Autowired
private ISoilAloneWarehouseLocationService soilAloneWarehouseLocationService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilAloneWarehouseLocation>> getPage(SoilAloneWarehouseLocation soilAloneWarehouseLocation) {
return success(soilAloneWarehouseLocationService.page(getPage(), soilAloneWarehouseLocation));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilAloneWarehouseLocation> get(@PathVariable("id") Long id) {
return success(soilAloneWarehouseLocationService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilAloneWarehouseLocation soilAloneWarehouseLocation) {
soilAloneWarehouseLocation.setId(id);
return success(soilAloneWarehouseLocationService.updateById(soilAloneWarehouseLocation));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilAloneWarehouseLocation soilAloneWarehouseLocation) {
return success(soilAloneWarehouseLocationService.save(soilAloneWarehouseLocation));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilAloneWarehouseLocationService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.controller; package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilReport;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -83,4 +84,12 @@ public class SoilExpReportController extends ServiceController { ...@@ -83,4 +84,12 @@ public class SoilExpReportController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) { public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilExpReportService.removeByIds(ids)); return success(soilExpReportService.removeByIds(ids));
} }
@ApiOperation("生成报告汇总表")
@PostMapping("/generate_report")
public RestResult<SoilReport> generateReport(@RequestParam("entrustId")Long entrustId, @RequestParam("templateId")Long templateId, @RequestParam("expReportIds")Long[] expReportIds ) {
return success(soilExpReportService.generateReport(entrustId,templateId,expReportIds));
}
} }
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilExpReportRelExp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilExpReportRelExpService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 试验项目报告关联项目表 前端控制器
*
* @author wwd
* @since 2020-12-26
*/
@Api(tags = "试验项目报告关联项目表")
@RestController
@RequestMapping("/v1/exp_report_rel_exp")
public class SoilExpReportRelExpController extends ServiceController {
@Autowired
private ISoilExpReportRelExpService soilExpReportRelExpService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilExpReportRelExp>> getPage(SoilExpReportRelExp soilExpReportRelExp) {
return success(soilExpReportRelExpService.page(getPage(), soilExpReportRelExp));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilExpReportRelExp> get(@PathVariable("id") Long id) {
return success(soilExpReportRelExpService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilExpReportRelExp soilExpReportRelExp) {
soilExpReportRelExp.setId(id);
return success(soilExpReportRelExpService.updateById(soilExpReportRelExp));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilExpReportRelExp soilExpReportRelExp) {
return success(soilExpReportRelExpService.save(soilExpReportRelExp));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键列表", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilExpReportRelExpService.removeByIds(ids));
}
}
...@@ -44,9 +44,27 @@ public class SoilExpReportTemplateController extends ServiceController { ...@@ -44,9 +44,27 @@ public class SoilExpReportTemplateController extends ServiceController {
}) })
@PostMapping("/page") @PostMapping("/page")
public RestResult<Page<SoilExpReportTemplate>> getPage(SoilExpReportTemplate soilExpReportTemplate) { public RestResult<Page<SoilExpReportTemplate>> getPage(SoilExpReportTemplate soilExpReportTemplate) {
soilExpReportTemplate.setTemplateType(0);
return success(soilExpReportTemplateService.page(getPage(), soilExpReportTemplate)); return success(soilExpReportTemplateService.page(getPage(), soilExpReportTemplate));
} }
@ApiOperation("汇总表分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_summary_template")
public RestResult<Page<SoilExpReportTemplate>> getPageSummaryTemplate(SoilExpReportTemplate soilExpReportTemplate) {
soilExpReportTemplate.setTemplateType(1);
return success(soilExpReportTemplateService.page(getPage(), soilExpReportTemplate));
}
@ApiOperation("查询 id 信息") @ApiOperation("查询 id 信息")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class), @ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
...@@ -88,7 +106,14 @@ public class SoilExpReportTemplateController extends ServiceController { ...@@ -88,7 +106,14 @@ public class SoilExpReportTemplateController extends ServiceController {
@ApiOperation(value = "附件上传", notes = "附件上传") @ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/") @PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) { public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) {
return success(soilExpReportTemplateService.uploadTemplate(file, classType,name,remark)); return success(soilExpReportTemplateService.uploadTemplate(file, classType,name,remark,0));
}
@ApiOperation(value = "上传报告汇总报告模板", notes = "附件上传")
@PostMapping("/upload_template_summary/")
public RestResult<Boolean> uploadTemplateSummary(@RequestParam("classType") String classType,@RequestParam("name") String name,@RequestParam("remark") String remark, MultipartFile file) {
return success(soilExpReportTemplateService.uploadTemplate(file, classType,name,remark,1));
} }
......
...@@ -4,10 +4,16 @@ import java.util.List; ...@@ -4,10 +4,16 @@ import java.util.List;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.base.vo.SysUserVO;
import com.patzn.cloud.service.lims.base.entity.LmsUserGroup;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord; import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilUserVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -61,6 +67,24 @@ public class SoilExperimentController extends ServiceController { ...@@ -61,6 +67,24 @@ public class SoilExperimentController extends ServiceController {
} }
@ApiOperation(value = "分页列表", notes = "分页查询数据列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_group_user")
public RestResult<Page<LmsUserRelGroupVO>> getPageGroupUser(LmsUserRelGroup soilExperiment) {
return success(soilExperimentService.pageGroupUser(getPage(), soilExperiment));
}
@ApiOperation(value = "查询列表", notes = "查询数据列表") @ApiOperation(value = "查询列表", notes = "查询数据列表")
@PostMapping("/list") @PostMapping("/list")
public RestResult<List<SoilExperiment>> getList(SoilExperiment soilExperiment) { public RestResult<List<SoilExperiment>> getList(SoilExperiment soilExperiment) {
...@@ -127,6 +151,15 @@ public class SoilExperimentController extends ServiceController { ...@@ -127,6 +151,15 @@ public class SoilExperimentController extends ServiceController {
@ApiOperation(value = "试验项目数据录入退回", notes = "试验项目数据录入退回")
@PostMapping("/exp_data_input_back")
public RestResult<Boolean> expDataInputBack(@RequestParam("ids") Long [] ids,@RequestParam("reason") String reason) {
return success(soilExperimentService.expDataInputBack(ids,getAccount(),reason));
}
@ApiOperation(value = "试验项目检测完成", notes = "试验项目检测完成") @ApiOperation(value = "试验项目检测完成", notes = "试验项目检测完成")
@PostMapping("/end_exp") @PostMapping("/end_exp")
public RestResult<Boolean> endExp(@RequestParam("ids") Long [] ids) { public RestResult<Boolean> endExp(@RequestParam("ids") Long [] ids) {
......
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-12-28
*/
public interface SoilAloneInOutStockMapper extends BatchMapper<SoilAloneInOutStock> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilAloneSampleAnnex;
/**
* <p>
* 收样管理附件 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-12-28
*/
public interface SoilAloneSampleAnnexMapper extends BatchMapper<SoilAloneSampleAnnex> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilAloneSample;
/**
* <p>
* 收样登记表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-12-28
*/
public interface SoilAloneSampleMapper extends BatchMapper<SoilAloneSample> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilAloneWarehouseLocation;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-12-28
*/
public interface SoilAloneWarehouseLocationMapper extends BatchMapper<SoilAloneWarehouseLocation> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilExpReportRelExp;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-12-26
*/
public interface SoilExpReportRelExpMapper extends BatchMapper<SoilExpReportRelExp> {
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-12-28
*/
public interface ISoilAloneInOutStockService extends IBaseService<SoilAloneInOutStock> {
Page<SoilAloneInOutStock> page(Page<SoilAloneInOutStock> page, SoilAloneInOutStock soilAloneInOutStock);
boolean removeByIds(List<Long> ids);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilAloneSampleAnnex;
import java.util.List;
/**
* 收样管理附件 服务类
*
* @author wwd
* @since 2020-12-28
*/
public interface ISoilAloneSampleAnnexService extends IBaseService<SoilAloneSampleAnnex> {
Page<SoilAloneSampleAnnex> page(Page<SoilAloneSampleAnnex> page, SoilAloneSampleAnnex soilAloneSampleAnnex);
boolean removeByIds(List<Long> ids);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import com.patzn.cloud.service.soil.entity.SoilAloneSample;
import java.util.List;
/**
* 收样登记表 服务类
*
* @author wwd
* @since 2020-12-28
*/
public interface ISoilAloneSampleService extends IBaseService<SoilAloneSample> {
Page<SoilAloneSample> page(Page<SoilAloneSample> page, SoilAloneSample soilAloneSample);
boolean removeByIds(List<Long> ids);
boolean submitToOutStorage(Long[] ids, Account account);
boolean inStorageSubmit(Long[] ids, SoilAloneInOutStock aloneInOutStock, Account account);
boolean outStorageSubmit(Long[] ids, SoilAloneInOutStock aloneInOutStock, Account account);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilAloneWarehouseLocation;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-12-28
*/
public interface ISoilAloneWarehouseLocationService extends IBaseService<SoilAloneWarehouseLocation> {
Page<SoilAloneWarehouseLocation> page(Page<SoilAloneWarehouseLocation> page, SoilAloneWarehouseLocation soilAloneWarehouseLocation);
boolean removeByIds(List<Long> ids);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilExpReportRelExp;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-12-26
*/
public interface ISoilExpReportRelExpService extends IBaseService<SoilExpReportRelExp> {
Page<SoilExpReportRelExp> page(Page<SoilExpReportRelExp> page, SoilExpReportRelExp soilExpReportRelExp);
boolean removeByIds(List<Long> ids);
}
...@@ -6,6 +6,7 @@ import com.patzn.cloud.commons.service.IBaseService; ...@@ -6,6 +6,7 @@ import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilEntrust; import com.patzn.cloud.service.soil.entity.SoilEntrust;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilExpReportTemplate; import com.patzn.cloud.service.soil.entity.SoilExpReportTemplate;
import com.patzn.cloud.service.soil.entity.SoilReport;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
...@@ -23,4 +24,6 @@ public interface ISoilExpReportService extends IBaseService<SoilExpReport> { ...@@ -23,4 +24,6 @@ public interface ISoilExpReportService extends IBaseService<SoilExpReport> {
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
SoilExpReport uploadExpReportGenerate(Long[] ids, SoilExpReportTemplate template, SoilEntrust entrust, String expName, Account account, String report, File file); SoilExpReport uploadExpReportGenerate(Long[] ids, SoilExpReportTemplate template, SoilEntrust entrust, String expName, Account account, String report, File file);
SoilReport generateReport(Long entrustId, Long templateId, Long[] expReportIds);
} }
...@@ -23,7 +23,7 @@ public interface ISoilExpReportTemplateService extends IBaseService<SoilExpRepor ...@@ -23,7 +23,7 @@ public interface ISoilExpReportTemplateService extends IBaseService<SoilExpRepor
String getKeyByBusinessId(String businessId); String getKeyByBusinessId(String businessId);
boolean uploadTemplate(MultipartFile file, String classType, String name, String remark); boolean uploadTemplate(MultipartFile file, String classType, String name, String remark,Integer type);
boolean editTemplate(String someParam, OssFileResult obsFileResult); boolean editTemplate(String someParam, OssFileResult obsFileResult);
......
...@@ -5,12 +5,15 @@ import java.util.List; ...@@ -5,12 +5,15 @@ import java.util.List;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.lims.collect.core.CollectDataType; import com.patzn.cloud.service.lims.collect.core.CollectDataType;
import com.patzn.cloud.service.soil.entity.SoilExpReport; import com.patzn.cloud.service.soil.entity.SoilExpReport;
import com.patzn.cloud.service.soil.entity.SoilExperiment; import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.soil.entity.SoilOriginalRecord; import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO; import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilUserVO;
import jcifs.smb.SmbFile; import jcifs.smb.SmbFile;
/** /**
...@@ -61,6 +64,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -61,6 +64,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
List<SoilExperimentVO> listVOByIds(List<Long> expIds); List<SoilExperimentVO> listVOByIds(List<Long> expIds);
List<SoilExperimentVO> listVOByIdsContainsItem(List<Long> expIds);
List<SoilExperimentVO> listVOByIds(Long [] expIds); List<SoilExperimentVO> listVOByIds(Long [] expIds);
boolean parseTxt(SmbFile smbFile, CollectDataType request); boolean parseTxt(SmbFile smbFile, CollectDataType request);
...@@ -77,4 +82,9 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -77,4 +82,9 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
SoilExpReport saveExcelExpReport(String expName, Long entrustId, Long[] ids, Long templateId, Account account); SoilExpReport saveExcelExpReport(String expName, Long entrustId, Long[] ids, Long templateId, Account account);
void uploadCollectGds(SmbFile smbFile, CollectDataType request); void uploadCollectGds(SmbFile smbFile, CollectDataType request);
boolean expDataInputBack(Long[] ids, Account account, String reason);
Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup soilExperiment);
} }
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilAloneInOutStockMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneInOutStockService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 服务实现类
*
* @author wwd
* @since 2020-12-28
*/
@Service
public class SoilAloneInOutStockServiceImpl extends BaseServiceImpl<SoilAloneInOutStockMapper, SoilAloneInOutStock> implements ISoilAloneInOutStockService {
@Override
public Page<SoilAloneInOutStock> page(Page<SoilAloneInOutStock> page, SoilAloneInOutStock soilAloneInOutStock) {
Wrapper wrapper = new EntityWrapper<>(soilAloneInOutStock);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilAloneSampleAnnexMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneSampleAnnexService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilAloneSampleAnnex;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 收样管理附件 服务实现类
*
* @author wwd
* @since 2020-12-28
*/
@Service
public class SoilAloneSampleAnnexServiceImpl extends BaseServiceImpl<SoilAloneSampleAnnexMapper, SoilAloneSampleAnnex> implements ISoilAloneSampleAnnexService {
@Override
public Page<SoilAloneSampleAnnex> page(Page<SoilAloneSampleAnnex> page, SoilAloneSampleAnnex soilAloneSampleAnnex) {
Wrapper wrapper = new EntityWrapper<>(soilAloneSampleAnnex);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.service.lims.soil.mapper.SoilAloneSampleMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneInOutStockService;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneSampleService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilAloneInOutStock;
import com.patzn.cloud.service.soil.entity.SoilAloneSample;
import com.patzn.cloud.service.soil.enums.SoilAloneStatusEnum;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* 收样登记表 服务实现类
*
* @author wwd
* @since 2020-12-28
*/
@Service
public class SoilAloneSampleServiceImpl extends BaseServiceImpl<SoilAloneSampleMapper, SoilAloneSample> implements ISoilAloneSampleService {
@Autowired
private ISoilAloneInOutStockService soilAloneInOutStockService;
@Override
public Page<SoilAloneSample> page(Page<SoilAloneSample> page, SoilAloneSample soilAloneSample) {
Wrapper wrapper = new EntityWrapper<>(soilAloneSample);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean submitToOutStorage(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要出库的数据");
SoilAloneSample soilAloneSample = new SoilAloneSample();
soilAloneSample.setStatus(SoilAloneStatusEnum.WAIT_STORAGE);
soilAloneSample.setProgress(SoilAloneStatusEnum.WAIT_STORAGE);
return super.update(soilAloneSample,Condition.create().in("id",ids));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean inStorageSubmit(Long[] ids, SoilAloneInOutStock aloneInOutStock, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要入库的样品");
if (null == aloneInOutStock) {
RestAssert.fail("请填写入库信息!");
}
RestAssert.fail(StringUtils.isBlank(aloneInOutStock.getStorehouse()),"请填写库房号");
RestAssert.fail(StringUtils.isBlank(aloneInOutStock.getShelfCode()),"请填写货架号");
RestAssert.fail(null == aloneInOutStock.getKeepLimitTime(),"请填写留存有效期");
RestAssert.fail(null == aloneInOutStock.getStorehouse(),"请填写库房号");
RestAssert.fail(null == aloneInOutStock.getInStockerId(),"请选择入库人");
RestAssert.fail(StringUtils.isBlank(aloneInOutStock.getInStocker()),"请选择入库人");
RestAssert.fail(null == aloneInOutStock.getInstockTime() ,"请填写入库时间");
List<SoilAloneInOutStock> saveList = new ArrayList<>();
for (Long id:ids) {
SoilAloneInOutStock stock = aloneInOutStock.convert(SoilAloneInOutStock.class);
stock.setAloneSampleId(id);
saveList.add(stock);
}
SoilAloneSample soilAloneSample = new SoilAloneSample();
soilAloneSample.setStatus(SoilAloneStatusEnum.WAIT_DELIVERY);
soilAloneSample.setProgress(SoilAloneStatusEnum.WAIT_DELIVERY);
if (super.update(soilAloneSample,Condition.create().in("id",ids))){
return soilAloneInOutStockService.saveBatch(saveList);
}
return false;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean outStorageSubmit(Long[] ids, SoilAloneInOutStock aloneInOutStock, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要出库的样品");
if (null == aloneInOutStock) {
RestAssert.fail("请填写出库信息!");
}
RestAssert.fail(StringUtils.isBlank(aloneInOutStock.getOutStockReceiver()),"请填写出库接收方");
RestAssert.fail(null == aloneInOutStock.getOutStock(),"请填写出库时间");
RestAssert.fail(StringUtils.isBlank(aloneInOutStock.getEntrustCode()),"请填写委托编号");
aloneInOutStock.setOutStocker(account.getUserName());
aloneInOutStock.setOutStockerId(account.getUserId());
SoilAloneSample soilAloneSample = new SoilAloneSample();
soilAloneSample.setStatus(SoilAloneStatusEnum.DELIVERY_OK);
soilAloneSample.setProgress(SoilAloneStatusEnum.DELIVERY_OK);
if (super.update(soilAloneSample,Condition.create().in("id",ids))){
return soilAloneInOutStockService.update(aloneInOutStock,Condition.create().in("alone_sample_id",ids));
}
return false;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilAloneWarehouseLocationMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAloneWarehouseLocationService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilAloneWarehouseLocation;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 服务实现类
*
* @author wwd
* @since 2020-12-28
*/
@Service
public class SoilAloneWarehouseLocationServiceImpl extends BaseServiceImpl<SoilAloneWarehouseLocationMapper, SoilAloneWarehouseLocation> implements ISoilAloneWarehouseLocationService {
@Override
public Page<SoilAloneWarehouseLocation> page(Page<SoilAloneWarehouseLocation> page, SoilAloneWarehouseLocation soilAloneWarehouseLocation) {
Wrapper wrapper = new EntityWrapper<>(soilAloneWarehouseLocation);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilExpReportRelExpMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExpReportRelExpService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilExpReportRelExp;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 服务实现类
*
* @author wwd
* @since 2020-12-26
*/
@Service
public class SoilExpReportRelExpServiceImpl extends BaseServiceImpl<SoilExpReportRelExpMapper, SoilExpReportRelExp> implements ISoilExpReportRelExpService {
@Override
public Page<SoilExpReportRelExp> page(Page<SoilExpReportRelExp> page, SoilExpReportRelExp soilExpReportRelExp) {
Wrapper wrapper = new EntityWrapper<>(soilExpReportRelExp);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
...@@ -65,7 +65,7 @@ public class SoilExpReportTemplateServiceImpl extends BaseServiceImpl<SoilExpRep ...@@ -65,7 +65,7 @@ public class SoilExpReportTemplateServiceImpl extends BaseServiceImpl<SoilExpRep
@Override @Override
public boolean uploadTemplate(MultipartFile file, String classType, String name, String remark) { public boolean uploadTemplate(MultipartFile file, String classType, String name, String remark,Integer type) {
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空"); RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(name),"请填写原始记录名称"); RestAssert.fail(StringUtils.isBlank(name),"请填写原始记录名称");
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
...@@ -83,6 +83,7 @@ public class SoilExpReportTemplateServiceImpl extends BaseServiceImpl<SoilExpRep ...@@ -83,6 +83,7 @@ public class SoilExpReportTemplateServiceImpl extends BaseServiceImpl<SoilExpRep
attachment.setName(result.getName()); attachment.setName(result.getName());
attachment.setObjectKey(result.getObjectKey()); attachment.setObjectKey(result.getObjectKey());
attachment.setVersionId(result.getVersionId()); attachment.setVersionId(result.getVersionId());
attachment.setTemplateType(type);
return super.save(attachment); return super.save(attachment);
} }
......
...@@ -15,8 +15,15 @@ import com.patzn.cloud.commons.api.RestAssert; ...@@ -15,8 +15,15 @@ import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper; import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.toolkit.FileUtils; import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.feign.base.client.SysOrgClient;
import com.patzn.cloud.feign.base.client.SysUserClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserGroupClient;
import com.patzn.cloud.feign.lims.base.client.LmsUserRelGroupClient;
import com.patzn.cloud.oss.starter.OssClient; import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult; import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.base.entity.SysUser;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.lims.collect.core.CollectDataType; import com.patzn.cloud.service.lims.collect.core.CollectDataType;
import com.patzn.cloud.service.lims.common.*; import com.patzn.cloud.service.lims.common.*;
import com.patzn.cloud.service.lims.common.service.IExportService; import com.patzn.cloud.service.lims.common.service.IExportService;
...@@ -31,6 +38,7 @@ import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum; ...@@ -31,6 +38,7 @@ import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO; import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO; import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import com.patzn.cloud.service.soil.vo.SoilItemVO; import com.patzn.cloud.service.soil.vo.SoilItemVO;
import com.patzn.cloud.service.soil.vo.SoilUserVO;
import jcifs.smb.SmbFile; import jcifs.smb.SmbFile;
import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.Thumbnails;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -128,6 +136,16 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -128,6 +136,16 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Autowired @Autowired
private IExportService exportService; private IExportService exportService;
@Autowired
private LmsUserRelGroupClient lmsUserRelGroupClient;
@Autowired
private SysUserClient sysUserClient;
@Autowired
private SysOrgClient sysOrgClient;
@Override @Override
public Page<SoilExperiment> page(Page<SoilExperiment> page, SoilExperiment soilExperiment) { public Page<SoilExperiment> page(Page<SoilExperiment> page, SoilExperiment soilExperiment) {
Wrapper wrapper = new EntityWrapper<>(soilExperiment); Wrapper wrapper = new EntityWrapper<>(soilExperiment);
...@@ -282,7 +300,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -282,7 +300,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){ if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){
logger.error("----------------------3"); logger.error("----------------------3");
replaceModel(mapReplace,xssfWorkbook,0); HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,0);
logger.error("----------------------4"); logger.error("----------------------4");
XSSFSheet sheetOne = xssfWorkbook.getSheetAt(0); XSSFSheet sheetOne = xssfWorkbook.getSheetAt(0);
sheetOne.setForceFormulaRecalculation(true); sheetOne.setForceFormulaRecalculation(true);
...@@ -573,7 +591,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -573,7 +591,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
mapReplace.put("#{含水率}",""); mapReplace.put("#{含水率}","");
} }
mapReplace.put("#{sampleCode}",experimentVO.getSampleCode()); mapReplace.put("#{sampleCode}",experimentVO.getSampleCode());
replaceModel(mapReplace,xssfWorkbook,i); HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,i);
} }
...@@ -665,7 +683,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -665,7 +683,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
mapReplace.put("#{boreholeName}",entrust.getBoreholeName()); mapReplace.put("#{boreholeName}",entrust.getBoreholeName());
mapReplace.put("#{projectNo}",entrust.getProjectNo()); mapReplace.put("#{projectNo}",entrust.getProjectNo());
if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){ if (null==template.getMoreSheet() || 0 == template.getMoreSheet()){
replaceModel(mapReplace,xssfWorkbook,0); HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,0);
sheetOne.setForceFormulaRecalculation(true); sheetOne.setForceFormulaRecalculation(true);
Integer beginRow = template.getSampleBeginRow(); Integer beginRow = template.getSampleBeginRow();
Integer sampleMergerNumOri = template.getSampleMergerNum(); Integer sampleMergerNumOri = template.getSampleMergerNum();
...@@ -903,46 +921,64 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -903,46 +921,64 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
} }
public static XSSFWorkbook replaceModel(Map item, XSSFWorkbook wb,int index) {
try { @Transactional(rollbackFor = Exception.class)
XSSFSheet sheet = wb.getSheetAt(index); @Override
Iterator rows = sheet.rowIterator(); public boolean expDataInputBack(Long[] ids, Account account, String reason) {
while(rows.hasNext()){ RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择要退回的试验项目");
XSSFRow row = (XSSFRow) rows.next();
if(row!=null) { int count = super.count(Condition.create().eq("status",SoilExpStatusEnum.TEST).in("id",ids));
int num = row.getLastCellNum();
for(int i=0;i<num;i++) { RestAssert.fail(count!=ids.length,"请退回试验检测状态的试验项目");
XSSFCell cell= row.getCell(i);
if(cell!=null) { SoilExperiment experiment = new SoilExperiment();
cell.setCellType(CellType.STRING); experiment.setStatus(SoilExpStatusEnum.ALLOT);
} experiment.setProgress(SoilExpStatusEnum.BACK_TEST);
if(cell==null || cell.getStringCellValue()==null) { if (super.update(experiment,Condition.create().in("id",ids))){
continue; soilExperimentRecordService.record(ids,SoilExpStatusEnum.TEST,SoilExpStatusEnum.ALLOT,1,account,reason);
} return true;
String value= cell.getStringCellValue();
if(!"".equals(value)) {
Set<String> keySet = item.keySet();
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String text = it.next();
if(value.equalsIgnoreCase(text)) {
cell.setCellValue((String)item.get(text));
break;
}
} }
} else { return false;
cell.setCellValue("");
} }
@Override
public Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup soilExperiment) {
Page<LmsUserRelGroup> relGroupPage = lmsUserRelGroupClient.getPageUser(soilExperiment).serviceData();
List<LmsUserRelGroup> groupList = relGroupPage.getRecords();
if (CollectionUtils.isEmpty(groupList)){
return page;
} }
List<Long> userIdsList = groupList.stream().map(r->{
return r.getUserId();
}).collect(Collectors.toList());
List<SoilExperiment> experimentList = super.list(Condition.create().in("tester_id",userIdsList).eq("status",SoilExpStatusEnum.TEST));
List<LmsUserRelGroupVO> groupVOS = new ArrayList<>();
for (LmsUserRelGroup group:groupList) {
LmsUserRelGroupVO vo = group.convert(LmsUserRelGroupVO.class);
int num = 0;
for (SoilExperiment experiment:experimentList) {
if (experiment.getTesterId().equals(group.getUserId())){
num++;
} }
} }
// 输出文件 vo.setTotal(num);
} catch (Exception e) { groupVOS.add(vo);
e.printStackTrace();
} }
return wb; page.setRecords(groupVOS);
page.setCurrent(relGroupPage.getCurrent());
page.setSize(relGroupPage.getSize());
page.setTotal(relGroupPage.getTotal());
return page;
} }
@Override @Override
public Page<SoilExperimentVO> pageBySampleIds(Page<SoilExperimentVO> page, Long[] sampleIds, SoilExperimentVO vo) { public Page<SoilExperimentVO> pageBySampleIds(Page<SoilExperimentVO> page, Long[] sampleIds, SoilExperimentVO vo) {
return page.setRecords(initOriginalRecord(baseMapper.selectListBySampleIds(page,sampleIds,vo))); return page.setRecords(initOriginalRecord(baseMapper.selectListBySampleIds(page,sampleIds,vo)));
...@@ -1226,7 +1262,8 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -1226,7 +1262,8 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
appendix.setEntrustId(sample.getEntrustId()); appendix.setEntrustId(sample.getEntrustId());
appendix.setUname(LoginHelper.getAccount().getUserName()); appendix.setUname(LoginHelper.getAccount().getUserName());
appendix.setObjectKey(result.getObjectKey()); appendix.setObjectKey(result.getObjectKey());
appendix.setTitle("附录"+count+" "+type.getExperiment()+"试验成果图"); appendix.setName("附录"+count+" "+type.getExperiment()+"试验成果图");
appendix.setTitle("附录"+count);
appendix.setExpId(type.getExpId()); appendix.setExpId(type.getExpId());
appendix.setSampleCode(type.getSampleCode()); appendix.setSampleCode(type.getSampleCode());
appendix.setEntrustCode(type.getEntrustCode()); appendix.setEntrustCode(type.getEntrustCode());
...@@ -1290,6 +1327,23 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -1290,6 +1327,23 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Override @Override
public List<SoilExperimentVO> listVOByIdsContainsItem(List<Long> expIds) {
List<SoilExperimentVO> list = baseMapper.selectListVOByIds(expIds);
List<SoilItem> itemList = soilItemService.list(Condition.create().in("experiment_id",expIds));
for (SoilExperimentVO soilExperimentVO:list) {
List<SoilItem> soilItemsList= new ArrayList<>();
for (SoilItem item:itemList) {
if (soilExperimentVO.getId().equals(item.getExperimentId())){
soilItemsList.add(item);
}
}
soilExperimentVO.setItemList(soilItemsList);
}
return list;
}
@Override
public List<SoilExperimentVO> listVOByIds(Long [] expIds) { public List<SoilExperimentVO> listVOByIds(Long [] expIds) {
return baseMapper.selectListVOByIds(expIds); return baseMapper.selectListVOByIds(expIds);
} }
......
<?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="com.patzn.cloud.service.lims.soil.mapper.SoilAloneInOutStockMapper">
</mapper>
<?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="com.patzn.cloud.service.lims.soil.mapper.SoilAloneSampleAnnexMapper">
</mapper>
<?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="com.patzn.cloud.service.lims.soil.mapper.SoilAloneSampleMapper">
</mapper>
<?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="com.patzn.cloud.service.lims.soil.mapper.SoilAloneWarehouseLocationMapper">
</mapper>
<?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="com.patzn.cloud.service.lims.soil.mapper.SoilExpReportRelExpMapper">
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment