Commit a4dee111 authored by 竹天卫's avatar 竹天卫

1111

parent f5fd1953
......@@ -468,6 +468,63 @@ public class EntrustController {
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "样品检测退回")
@PostMapping("/returnDistribution")
public BaseResponse returnDistribution(@RequestBody ReturnDistributionQuery query) {
try {
return entrustService.returnDistribution(query);
} catch (Exception e) {
log.debug("样品检测退回{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "样品检测退回任务分页")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "entrustCode", value = "委托单号", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "userId", value = "接受人id", paramType = "query", dataType = "Integer"),
@ApiImplicitParam(name = "clientName", value = "委托单位id", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "projectName", value = "项目名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "projectCode", value = "项目编号", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "isUrgent", value = "(1加急,0不加急)", paramType = "query", dataType = "Integer")
})
@GetMapping("/getSampleReturnDistributioPage")
public BaseResponse getSampleReturnDistributioPage(PageQuery pageQuery, String entrustCode, Integer userId,
String clientName, String projectName, String projectCode, Integer isUrgent) {
try {
return entrustService.getSampleReturnDistributioPage(pageQuery, entrustCode, userId, clientName, projectName, projectCode, isUrgent);
} catch (Exception e) {
log.debug("样品检测退回任务分页{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "重新派发样品检测任务")
@PostMapping("/distributioAgain")
public BaseResponse distributioAgain(@RequestBody HandleAgainQuery query) {
try {
return entrustService.distributioAgain(query);
} catch (Exception e) {
log.debug("重新派发样品检测任务{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "数据校核分页")
@ApiImplicitParams(value = {
......@@ -502,6 +559,17 @@ public class EntrustController {
}
@ApiOperation(value = "校核计算 立马返回数据")
@PostMapping("/checkCountFast")
public BaseResponse checkCountFast(@RequestBody CheckCountFastQuery query) {
try {
return entrustService.checkCountFast(query);
} catch (Exception e) {
log.debug("校核计算 立马返回数据{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "数据校核结果查看")
@GetMapping("/getCheckResult")
public BaseResponse getCheckResult(Integer entrustId, Integer userId) {
......@@ -513,6 +581,9 @@ public class EntrustController {
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "校核计算")
@PostMapping("/checkCount")
public BaseResponse checkCount(@RequestBody CheckCountNewQuery query) {
......
......@@ -64,7 +64,7 @@ public class SampleDistributionCheckinput implements Serializable {
private String inputResult;
/**
* 状态(1通过,0退回)
* 状态((0未接受,1接受,2待校核,3退回,4校核通过,5校核退回)
*/
private Integer status;
......
......@@ -2,10 +2,7 @@ package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.EntrustSample;
import cn.wise.sc.cement.business.entity.SampleDistribution;
import cn.wise.sc.cement.business.model.vo.SampleCheckGroupVo;
import cn.wise.sc.cement.business.model.vo.SampleDistributionTeamVo;
import cn.wise.sc.cement.business.model.vo.SampleDistributionVo;
import cn.wise.sc.cement.business.model.vo.SampleHandleVo;
import cn.wise.sc.cement.business.model.vo.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -31,7 +28,7 @@ public interface SampleDistributionMapper extends BaseMapper<SampleDistribution>
List<SampleDistributionTeamVo> getDistributionTeamList(@Param("sampleId") Integer sampleId,
@Param("userId") Integer userId);
List<SampleDistributionTeamVo> getDistributionTeamGroupList(@Param("sampleId") Integer sampleId,
List<SampleTeamGroupUserVo> getDistributionTeamGroupList(@Param("sampleId") Integer sampleId,
@Param("userId") Integer userId);
List<SampleCheckGroupVo> getSampleCheckGroupList(@Param("sampleId") Integer sampleId);
......
......@@ -306,7 +306,7 @@
<sql id="checkWhere">
<where>
and e.is_delete = 1 and e.status >= 6
and e.is_delete = 1 and e.status >= 0
<if test="params.startDate != null and params.startDate != ''">
and DATE(e.entrust_date) &gt;= #{params.startDate}
</if>
......
......@@ -77,7 +77,7 @@
order by t.id asc
</select>
<select id="getDistributionTeamGroupList" resultType="cn.wise.sc.cement.business.model.vo.SampleDistributionTeamVo">
<select id="getDistributionTeamGroupList" resultType="cn.wise.sc.cement.business.model.vo.SampleTeamGroupUserVo">
select su.id as userId,
t.team_group_id as teamGroupId
from sample_distribution t
......
package cn.wise.sc.cement.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @description:
* @author: ztw
* @create: 2020-02-07
**/
@Data
@ApiModel("数据校核-快速计算接口")
public class CheckCountFastQuery {
@ApiModelProperty("检测组表id")
private Integer teamGroupId;
@ApiModelProperty("输入信息集合")
private Map<String, String> intputResult;
}
......@@ -2,6 +2,7 @@ package cn.wise.sc.cement.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import java.math.BigDecimal;
......@@ -91,6 +92,8 @@ public class CheckSampleResultVo {
@ApiModelProperty("计算结果 json串")
private String countResult;
@ApiModelProperty("状态(0未接受,1接受,2待校核,3退回,4校核通过,5校核退回)")
private Integer status;
@ApiModelProperty("委托-校核结果-检测项列表")
......@@ -98,5 +101,4 @@ public class CheckSampleResultVo {
}
......@@ -27,6 +27,22 @@ public class CheckUserResultVo {
@ApiModelProperty("委托编号")
private String entrustCode;
@ApiModelProperty("项目名称")
private String projectName;
@ApiModelProperty("项目编号")
private String projectCode;
@ApiModelProperty("项目类型(常规项目,科研项目,质量控制项目)")
private String projectType;
@ApiModelProperty("委托人姓名")
private String entrustUserName;
@ApiModelProperty("委托单位姓名")
private String clientName;
@ApiModelProperty("委托-校核结果-检测组列表")
private List<CheckTeamGroupResultVo> checkTeamGroupResultVoList;
......
package cn.wise.sc.cement.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: ztw
* @create: 2021-02-07 14:58
**/
@Data
@ApiModel("委托-检测人-检测组关联Vo")
public class SampleTeamGroupUserVo {
@ApiModelProperty("检测人id")
private Integer userId;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
}
......@@ -112,6 +112,8 @@ public interface IEntrustService extends IService<Entrust> {
BaseResponse<List<SampleCheckVo>> getCheckDetail(String cementCode);
BaseResponse<Map<String, String>> checkCountFast(CheckCountFastQuery query);
BaseResponse<String> checkCountNew(CheckCountNewQuery query);
/*BaseResponse<String> check(CheckQuery query);*/
......
......@@ -2612,12 +2612,14 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
entrustMapper.updateById(entrust);
//计算产值
List<SampleDistributionTeamVo> sampleDistributionTeamGroupVoList = distributionMapper.getDistributionTeamGroupList(sample.getId(), loginUser.getId());
List<SampleTeamGroupUserVo> sampleDistributionTeamGroupVoList = distributionMapper.getDistributionTeamGroupList(sample.getId(), loginUser.getId());
if (sampleDistributionTeamGroupVoList != null && sampleDistributionTeamGroupVoList.size() > 0) {
for (SampleDistributionTeamVo sdVo : sampleDistributionTeamGroupVoList) {
for (SampleTeamGroupUserVo sdVo : sampleDistributionTeamGroupVoList) {
try {
SampleDistribution sampleDistribution = distributionMapper.selectById(sdVo.getDistributionId());
iPrecipriceService.createPreciprice(sdVo.getUserId(),entrust.getId(),sampleDistribution.getTeamGroupId(),1,sample.getId(),false);
if(sdVo.getTeamGroupId() == null){
return BaseResponse.errorMsg("当前登录人没有该样品的检测权限");
}
iPrecipriceService.createPreciprice(sdVo.getUserId(),entrust.getId(),sdVo.getTeamGroupId(),1,sample.getId(),false);
}catch (Exception e){
return BaseResponse.errorMsg(e.getMessage());
}
......@@ -2716,7 +2718,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
/**
* 样品检测重新派发
* 重新派发样品检测任务
* @param query
* @return
*/
......@@ -3011,6 +3013,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
SysUser sysUser = userService.getById(userId);
checkUserResultVo.setUserId(sysUser.getId());
checkUserResultVo.setUserName(sysUser.getName());
checkUserResultVo.setProjectName(entrustVo.getProjectName());
checkUserResultVo.setProjectCode(entrustVo.getProjectCode());
checkUserResultVo.setProjectType(entrustVo.getProjectType());
checkUserResultVo.setEntrustUserName(entrustVo.getUserName());
checkUserResultVo.setClientName(entrustVo.getClientName());
QueryWrapper<SampleDistribution> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_id", entrust.getId());
......@@ -3066,6 +3073,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
//根据委托id,样品id 检测组id,检测人id判断校核输入表是否有数据,如果有显示校核输入表数据,如果没有显示检测项表数据。
String inputResult = teamGroup.getCheckElement();
Integer status = 2;
QueryWrapper<SampleDistributionCheckinput> checkinputQueryWrapper = new QueryWrapper<>();
checkinputQueryWrapper.eq("entrust_id", entrust.getId());
checkinputQueryWrapper.eq("sample_id", sample.getId());
......@@ -3077,10 +3085,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
SampleDistributionCheckinput checkinput = checkinputList.get(0);
if(checkinput != null){
inputResult = checkinput.getInputResult();
status=checkinput.getStatus();
}
}
checkSampleResultVo.setInputResult(inputResult);
checkSampleResultVo.setStatus(status);
List<SampleDistribution> list4 = (List<SampleDistribution>)entrySample.getValue();
if (list4 != null && list4.size() > 0) {
......@@ -3127,13 +3136,15 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
ortherWrapper.eq("team_group_id", checkTeamGroupResultVo.getTeamGroupId());
ortherWrapper.eq("team_id", checkTeamResultVo.getTeamId());
List<SampleDistribution> ortherDdistributionList = distributionMapper.selectList(ortherWrapper);
if(ortherDdistributionList.size() > 0 ){
if(ortherDdistributionList.size() > 1 ){
return BaseResponse.errorMsg("检测派发表检测项信息重复");
}
SampleDistribution other = ortherDdistributionList.get(0);
if(StringUtils.isNotBlank(other.getDistributionResult())){
ortherResultList.add(other.getDistributionResult());
}
}
}
checkTeamResultVo.setOrtherUserResult(ortherResultList);
//该检测项的误差结果值和最终结果值
......@@ -3164,6 +3175,45 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
/**
* 校核计算 立马返回数据
*
* @param query
* @return
*/
@Transactional
@Override
public BaseResponse<Map<String, String>> checkCountFast(CheckCountFastQuery query) {
if (query == null) {
return BaseResponse.errorMsg("参数错误");
}
LoginUser loginUser = userService.getLoginUser();
if (loginUser == null) {
return BaseResponse.errorMsg("请登录用户");
}
//通过检测组获取检测项信息
List<String> checkResutlList = teamMapper.getByGroup(query.getTeamGroupId());
//该检测项的每个样品的检测计算结果集合
if(query.getIntputResult() == null){
return BaseResponse.errorMsg("请输入检测数据");
}
JSONArray inputResult_jsonArray = commonService.mapToJSONArray2(query.getTeamGroupId(), query.getIntputResult());
String inputResult_String = JSON.toJSON(inputResult_jsonArray).toString();
System.out.println(inputResult_String);
//计算检测结果
Map<String, String> resultMap = commonService.checkCount(checkResutlList, query.getIntputResult());
return BaseResponse.okData(resultMap);
}
/**
* 按照检测组校核计算 (新的)
* @param query
......@@ -3191,7 +3241,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.errorMsg("信息错误");
}
entrust.setStatus(7); //校核中状态
if(query.getIsAgree() == 1){ //通过
//保存校核输入表信息
QueryWrapper<SampleDistributionCheckinput> checkinputQueryWrapper = new QueryWrapper<>();
checkinputQueryWrapper.eq("entrust_id", query.getEntrustId());
......@@ -3208,7 +3257,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
checkinput = checkinputList.get(0);
checkinput.setCheckUserId(loginUser.getId())
.setInputResult(inputResult_String)
.setStatus(query.getIsAgree() == 1?1:0)
.setStatus(query.getIsAgree() == 1?4:5)
.setUpdateTime(LocalDateTime.now())
.setRemark(query.getAuditReason());
sampleDistributionCheckinputMapper.updateById(checkinput);
......@@ -3220,12 +3269,15 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setUserId(query.getUserId())
.setCheckUserId(loginUser.getId())
.setInputResult(inputResult_String)
.setStatus(query.getIsAgree() == 1?1:0)
.setStatus(query.getIsAgree() == 1?4:5)
.setCreateTime(LocalDateTime.now())
.setUpdateTime(LocalDateTime.now())
.setRemark(query.getAuditReason());
sampleDistributionCheckinputMapper.insert(checkinput);
}
//根据按钮判断
if(query.getIsAgree() == 1){ //通过
//保存校核结果信息
List<CheckCountDistributionNewQuery> queryList = query.getCheckCountDistributionNewQueryList();
if(queryList!= null && queryList.size()>0 ){
......@@ -3323,6 +3375,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
dis.setStatus(5);//校核退回
dis.setDistributionResult(null);
dis.setRemark(query.getAuditReason());
dis.setCheckInputId(checkinput.getId());
if(dis.getCheckId() != null){
SampleDistributionCheck disCheck = sampleDistributionCheckMapper.selectById(dis.getCheckId());
disCheck.setDistributionError(null)
......
......@@ -216,7 +216,7 @@
LEFT JOIN sample s ON sd.sample_id = s.id
LEFT JOIN team t ON t.id = sd.team_id
WHERE (sd.finish_time between #{start} and #{end})
<if test="origins != null">
<if test="origins != null and origins.size()>0">
AND s.origin in
<foreach collection="origins" item="item" open="(" separator="," close=")">
#{item}
......
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