Commit 2636d781 by wangweidong

霍煤宏骏

parent 26a67c22
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.controller; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.hmhj.controller;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem; import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord; import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO; import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
...@@ -301,6 +302,12 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -301,6 +302,12 @@ public class EntrustSampleItemController extends ServiceController {
@ApiOperation("偏离申请")
@PostMapping("/deviate_apply")
public RestResult<Boolean> deviateApply(@RequestParam("ids")Long []ids, ItemDeviate deviate) {
return success(entrustSampleItemService.deviateApply(ids,deviate,getAccount()));
}
...@@ -538,6 +545,45 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -538,6 +545,45 @@ public class EntrustSampleItemController extends ServiceController {
@ApiOperation("偏离审批查询page")
@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_item_deviate_check")
public RestResult<Page<EntrustSampleItemVO>> getPageItemDeviateCheck(EntrustSampleItemVO entrustSampleItem) {
entrustSampleItem.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY);
return success(entrustSampleItemService.pageItemDeviateCheck(getPage(), entrustSampleItem));
}
@ApiOperation("偏离审批通过")
@PostMapping("/deviate_pass")
public RestResult<Boolean> deviatePass(@RequestParam("ids")Long []ids ) {
return success(entrustSampleItemService.deviatePass(ids,getAccount()));
}
@ApiOperation("偏离审批驳回")
@PostMapping("/deviate_back")
public RestResult<Boolean> deviateBack(@RequestParam("ids")Long []ids ,@RequestParam("reason") String reason) {
return success(entrustSampleItemService.deviateBack(ids,reason,getAccount()));
}
@ApiOperation("数据审核退回") @ApiOperation("数据审核退回")
@PostMapping("/back_audit") @PostMapping("/back_audit")
public RestResult<Boolean> backAudit(@RequestParam("ids")Long []ids ,@RequestParam("reason")String reason) { public RestResult<Boolean> backAudit(@RequestParam("ids")Long []ids ,@RequestParam("reason")String reason) {
...@@ -553,4 +599,7 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -553,4 +599,7 @@ public class EntrustSampleItemController extends ServiceController {
return success(entrustSampleItemService.saveExcelOriginalRecord(ids,templateId,getAccount())); return success(entrustSampleItemService.saveExcelOriginalRecord(ids,templateId,getAccount()));
} }
} }
package com.patzn.cloud.service.lims.hmhj.controller;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
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.hmhj.service.IItemDeviateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* ${table.comment} 前端控制器
*
* @author wwd
* @since 2021-04-17
*/
@Api(tags = "${table.comment}")
@RestController
@RequestMapping("/v1/deviate")
public class ItemDeviateController extends ServiceController {
@Autowired
private IItemDeviateService itemDeviateService;
@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),
})
@PostMapping("/page")
public RestResult<Page<ItemDeviate>> getPage(ItemDeviate itemDeviate) {
return success(itemDeviateService.page(getPage(), itemDeviate));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<ItemDeviate> get(@PathVariable("id") Long id) {
return success(itemDeviateService.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, ItemDeviate itemDeviate) {
itemDeviate.setId(id);
return success(itemDeviateService.updateById(itemDeviate));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(ItemDeviate itemDeviate) {
return success(itemDeviateService.save(itemDeviate));
}
@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(itemDeviateService.removeByIds(ids));
}
}
...@@ -28,4 +28,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem> ...@@ -28,4 +28,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectVOListBySampleIds(@Param("ids")Long[] ids); List<EntrustSampleItemVO> selectVOListBySampleIds(@Param("ids")Long[] ids);
List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids); List<EntrustSampleItemVO> selectVOListByIds(@Param("ids")Long[] ids);
List<EntrustSampleItemVO> selectByItemDeviate(RowBounds rowBounds, @Param("vo")EntrustSampleItemVO entrustSampleItem);
} }
package com.patzn.cloud.service.lims.hmhj.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2021-04-17
*/
public interface ItemDeviateMapper extends BatchMapper<ItemDeviate> {
}
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.plugins.Page; ...@@ -4,6 +4,7 @@ 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.hmhj.entity.EntrustSampleItem; import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
import com.patzn.cloud.service.hmhj.entity.OriginalRecord; import com.patzn.cloud.service.hmhj.entity.OriginalRecord;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO; import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
...@@ -46,4 +47,12 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte ...@@ -46,4 +47,12 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account); OriginalRecord saveExcelOriginalRecord(Long[] ids, Long templateId, Account account);
boolean deviateApply(Long[] ids, ItemDeviate deviate, Account account);
Page<EntrustSampleItemVO> pageItemDeviateCheck(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem);
boolean deviatePass(Long[] ids, Account account);
boolean deviateBack(Long[] ids, String reason, Account account);
} }
package com.patzn.cloud.service.lims.hmhj.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2021-04-17
*/
public interface IItemDeviateService extends IBaseService<ItemDeviate> {
Page<ItemDeviate> page(Page<ItemDeviate> page, ItemDeviate itemDeviate);
boolean removeByIds(List<Long> ids);
}
...@@ -64,6 +64,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -64,6 +64,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Autowired @Autowired
private IEntrustService entrustService; private IEntrustService entrustService;
@Autowired
private IItemDeviateService itemDeviateService;
@Autowired @Autowired
private OssClient ossClient; private OssClient ossClient;
...@@ -710,6 +715,98 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -710,6 +715,98 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return objectKey; return objectKey;
} }
@Override
public boolean deviateApply(Long[] ids,ItemDeviate deviate, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选需要偏离审批的检测项目");
EntrustSampleItem sampleItem = new EntrustSampleItem();
sampleItem.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY);
sampleItem.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY);
List<ItemDeviate> itemDeviateList = new ArrayList<>();
for (Long id : ids) {
ItemDeviate itemDeviate = deviate.convert(ItemDeviate.class);
itemDeviate.setApplyerId(account.getUserId());
itemDeviate.setApplyer(account.getUserName());
itemDeviate.setApplyTime(new Date());
itemDeviate.setItemId(id);
itemDeviate.setId(null);
itemDeviate.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY);
itemDeviate.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY);
itemDeviateList.add(itemDeviate);
}
if (update(sampleItem,Condition.create().in("id",ids))){
return itemDeviateService.saveBatch(itemDeviateList);
}
return false;
}
@Override
public Page<EntrustSampleItemVO> pageItemDeviateCheck(Page<EntrustSampleItemVO> page, EntrustSampleItemVO entrustSampleItem) {
return page.setRecords(baseMapper.selectByItemDeviate(page,entrustSampleItem));
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean deviatePass(Long[] ids, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择需要通过的偏离申请");
EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS);
if (update(item,Condition.create().in("id",ids))){
List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id",ids).eq("status",EntrustSampleItemStatusEnum.UPDATE_APPLY));
List<ItemDeviate> updateList = new ArrayList<>();
for (ItemDeviate itemDeviate : deviateList) {
ItemDeviate u = new ItemDeviate();
u.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS);
u.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_PASS);
u.setId(itemDeviate.getId());
u.setChecker(account.getUserName());
u.setCheckerId(account.getUserId());
u.setCheckTime(new Date());
updateList.add(u);
}
if (CollectionUtils.isNotEmpty(updateList)){
return itemDeviateService.updateBatchById(updateList);
}
}
return false;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean deviateBack(Long[] ids,String reason, Account account) {
RestAssert.fail(ArrayUtils.isEmpty(ids),"请选择需要驳回的偏离申请");
RestAssert.fail(StringUtils.isBlank(reason),"请填写驳回原因");
EntrustSampleItem item = new EntrustSampleItem();
item.setStatus(EntrustSampleItemStatusEnum.TEST);
item.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK);
if (update(item,Condition.create().in("id",ids))){
List<ItemDeviate> deviateList = itemDeviateService.list(Condition.create().in("item_id",ids).eq("status",EntrustSampleItemStatusEnum.UPDATE_APPLY));
List<ItemDeviate> updateList = new ArrayList<>();
for (ItemDeviate itemDeviate : deviateList) {
ItemDeviate u = new ItemDeviate();
u.setStatus(EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK);
u.setProgress(EntrustSampleItemStatusEnum.UPDATE_APPLY_BACK);
u.setId(itemDeviate.getId());
u.setChecker(account.getUserName());
u.setCheckerId(account.getUserId());
u.setCheckTime(new Date());
u.setBackReason(reason);
updateList.add(u);
}
if (CollectionUtils.isNotEmpty(updateList)){
return itemDeviateService.updateBatchById(updateList);
}
}
return false;
}
private List<EntrustSampleItemVO> listVOByIds(Long[] ids) { private List<EntrustSampleItemVO> listVOByIds(Long[] ids) {
return baseMapper.selectVOListByIds(ids); return baseMapper.selectVOListByIds(ids);
} }
......
package com.patzn.cloud.service.lims.hmhj.service.impl;
import com.patzn.cloud.service.hmhj.entity.ItemDeviate;
import com.patzn.cloud.service.lims.hmhj.mapper.ItemDeviateMapper;
import com.patzn.cloud.service.lims.hmhj.service.IItemDeviateService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
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 2021-04-17
*/
@Service
public class ItemDeviateServiceImpl extends BaseServiceImpl<ItemDeviateMapper, ItemDeviate> implements IItemDeviateService {
@Override
public Page<ItemDeviate> page(Page<ItemDeviate> page, ItemDeviate itemDeviate) {
Wrapper wrapper = new EntityWrapper<>(itemDeviate);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
<?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.hmhj.mapper.ItemDeviateMapper">
</mapper>
...@@ -18,9 +18,9 @@ public class LimsCodeGenerator { ...@@ -18,9 +18,9 @@ public class LimsCodeGenerator {
new PostgresqlGenerator().setDataSourceConfig(new DataSourceConfig() new PostgresqlGenerator().setDataSourceConfig(new DataSourceConfig()
.setDbType(DbType.POSTGRE_SQL) .setDbType(DbType.POSTGRE_SQL)
.setDriverName("org.postgresql.Driver") .setDriverName("org.postgresql.Driver")
.setUrl("jdbc:postgresql://192.168.0.115:5432/dev_lims_hmhj") .setUrl("jdbc:postgresql://139.9.144.39:5432/dev_lims_hmhj")
.setUsername("postgres") .setUsername("dbdev")
.setPassword("123456") .setPassword("Project312&QdPt!")
).execute("lims"); ).execute("lims");
} }
} }
......
CREATE TABLE "public"."standard_annex" ( CREATE TABLE "public"."standard_annex" (
...@@ -42,4 +42,10 @@ COMMENT ON COLUMN "public"."contract_ok_organizer"."contract_sample_id" IS '合 ...@@ -42,4 +42,10 @@ COMMENT ON COLUMN "public"."contract_ok_organizer"."contract_sample_id" IS '合
ALTER TABLE "public"."entrust_sample" ALTER TABLE "public"."entrust_sample"
ADD COLUMN "sample_from" varchar(255); ADD COLUMN "sample_from" varchar(255);
COMMENT ON COLUMN "public"."entrust_sample"."sample_from" IS '样品来源'; COMMENT ON COLUMN "public"."entrust_sample"."sample_from" IS '样品来源';
\ No newline at end of file
ALTER TABLE "public"."entrust"
ADD COLUMN "special_ask" varchar(150);
COMMENT ON COLUMN "public"."entrust"."special_ask" IS '特殊需求';
\ No newline at end of file
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