2023年7月21日17:28:06

dev
litao 2 years ago
parent c17b36f4df
commit dc152414c2
  1. 13
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/Entrust.java
  2. 100
      lab-service-api/lab-lims-api/src/main/java/org/springblade/lims/entry/HandleSample.java
  3. 8
      lab-service-api/lab-system-api/src/main/java/org/springblade/system/feign/ISysClient.java
  4. 4
      lab-service-api/lab-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java
  5. 1
      lab-service/lab-capital/src/main/java/org/springblade/lims/goods/service/impl/ApplyServiceImpl.java
  6. 14
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/EntrustController.java
  7. 88
      lab-service/lab-lims/src/main/java/org/springblade/lims/controller/HandleSampleController.java
  8. 1
      lab-service/lab-lims/src/main/java/org/springblade/lims/excel/SimpleReceiveExcel.java
  9. 7
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/EntrustMapper.java
  10. 73
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/EntrustMapper.xml
  11. 13
      lab-service/lab-lims/src/main/java/org/springblade/lims/mapper/HandleSampleMapper.java
  12. 7
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IEntrtrustService.java
  13. 29
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/IHandleSampleService.java
  14. 60
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/EntrustServiceImpl.java
  15. 432
      lab-service/lab-lims/src/main/java/org/springblade/lims/service/impl/HandleSampleServiceImpl.java
  16. 5
      lab-service/lab-system/src/main/java/org/springblade/system/feign/SysClient.java
  17. 1
      lab-service/lab-system/src/main/java/org/springblade/system/service/IParamService.java
  18. 10
      lab-service/lab-system/src/main/java/org/springblade/system/service/impl/ParamServiceImpl.java

@ -212,6 +212,11 @@ public class Entrust extends BaseEntity implements Serializable {
// 审批时间
private Date approvalDate;
/**
* 样品处理情况
*/
private String sampleHandle;
@TableField(exist = false)
private List<ContractSample> contractSamples;
@ -235,4 +240,12 @@ public class Entrust extends BaseEntity implements Serializable {
// 领养日期
@TableField(exist = false)
private Date simpleReceiverTime;
// 过期时间
@TableField(exist = false)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date beyondTime;
// 留样处理状态(0待申请 1待处理 2已处理)
private Integer handleState;
}

@ -0,0 +1,100 @@
package org.springblade.lims.entry;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@SuppressWarnings("all")
@TableName("f_handle_sample")
public class HandleSample extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long entrustId;
/**
* 处理意见
*/
private String handleOpinion;
/**
* 申请人id
*/
private Long applicantId;
/**
* 申请人
*/
private String applicant;
/**
* 申请时间
*/
private Date applicantTime;
/**
* 审批意见
*/
private String approveOpinion;
/**
* 审批人id
*/
private Long opinionId;
/**
* 审批人
*/
private String opinionBy;
/**
* 审批时间
*/
private Date opinionTime;
/**
* 当前30天之前的时间
*/
@TableField(exist = false)
private Date starTime;
@TableField(exist = false)
private List<Simple> simpleList;
// 10.样品名称
@TableField(exist = false)
private String simpleName;
// 11.样品数量
@TableField(exist = false)
private Integer simpleCount;
// 18.接样日期
@TableField(exist = false)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date samplingDate;
// 过期时间
@TableField(exist = false)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date beyondTime;
// 检测编号
@TableField(exist = false)
private String experieNum;
// 留样处理状态(0待申请 1待处理 2已处理)
@TableField(exist = false)
private Integer handleState;
}

@ -6,6 +6,8 @@ import org.springblade.core.tool.api.R;
import org.springblade.system.entity.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -261,6 +263,12 @@ public interface ISysClient {
@GetMapping(PARAM_VALUE)
R<String> getParamValue(@RequestParam("paramKey") String paramKey);
/**
* 修改参数配置
*/
@PostMapping("/updateParam")
void updateParam(@RequestBody Param param);
/**
* 获取行政区划
*

@ -130,6 +130,10 @@ public class ISysClientFallback implements ISysClient {
return R.fail("获取数据失败");
}
@Override
public void updateParam(Param param) {
}
@Override
public R<Region> getRegion(String code) {
return R.fail("获取数据失败");

@ -257,7 +257,6 @@ public class ApplyServiceImpl extends BaseServiceImpl<ApplyMapper, Apply> implem
list.add(0);
list.add(1);
list.add(2);
list.add(3);
// 当天之前为确认的申领单数量
int count = this.count(new LambdaQueryWrapper<Apply>()

@ -1169,11 +1169,11 @@ public class EntrustController extends BladeController {
/**
* 17.留样登记表打印
* 17.样品处理登记表下载
*/
@GetMapping("/simpleRegisterPrint")
public void simpleRegisterPrint(String id, HttpServletResponse response) throws IOException {
service.simpleRegisterPrint(id, response);
public void simpleRegisterPrint(String ids, HttpServletResponse response) throws IOException {
service.simpleRegisterPrint(ids, response);
}
@ -1209,8 +1209,8 @@ public class EntrustController extends BladeController {
* 21.留样处理销毁申请表打印
*/
@GetMapping("/simpleHandlePrint")
public void simpleHandlePrint(String id, HttpServletResponse response) throws IOException {
service.simpleHandlePrint(id, response);
public void simpleHandlePrint(String ids, HttpServletResponse response) throws IOException {
service.simpleHandlePrint(ids, response);
}
/**
@ -1767,9 +1767,9 @@ public class EntrustController extends BladeController {
* 样品接收/发放统计导出
*/
@GetMapping("/simpleReceiveExport")
public void simpleReceiveExport(HttpServletResponse response, Entrust entry) {
public void simpleReceiveExport(HttpServletResponse response, Entrust ent) {
List<SimpleReceiveExcel> excels = new ArrayList<>();
List<Entrust> entrusts = service.simpleReceiveExport(entry);
List<Entrust> entrusts = service.simpleReceiveExport(ent);
if (CollectionUtils.isNotEmpty(entrusts)) {
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
for (Entrust entrust : entrusts) {

@ -0,0 +1,88 @@
package org.springblade.lims.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.lims.entry.Entrust;
import org.springblade.lims.entry.HandleSample;
import org.springblade.lims.service.IHandleSampleService;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date;
/**
* @author litao
* @since 2023年7月17日
*/
@RestController
@AllArgsConstructor
@RequestMapping("/handleSample")
public class HandleSampleController extends BladeController {
private IHandleSampleService handleSampleService;
/**
* 留样处理申请列表
*/
@GetMapping("/entrustList")
public R<IPage<HandleSample>> entrustList(Query query, HandleSample handleSample) {
return R.data(handleSampleService.entrustList(handleSample, Condition.getPage(query)));
}
/**
* 留样处理申请列表
*/
@GetMapping("/queryList")
public R<IPage<Entrust>> queryList(Query query, Entrust entrust) {
return R.data(handleSampleService.queryList(entrust, Condition.getPage(query)));
}
/**
* 留样处理申请详情
*/
@GetMapping("/detail")
public R detail(String id) {
return R.data(handleSampleService.getById(id));
}
/**
* 留样处理申请提交
*/
@PostMapping("/save")
public R save(@RequestBody HandleSample handleSample) {
return R.status(handleSampleService.insert(handleSample));
}
/**
* 留样处理申请审批
*/
@PostMapping("/update")
public R update(@RequestBody HandleSample handleSample) {
return R.status(handleSampleService.updateBy(handleSample));
}
/**
* 留样处理销毁申请表打印
*/
@GetMapping("/simpleHandlePrint")
public void simpleHandlePrint(String id, HttpServletResponse response) {
handleSampleService.simpleHandlePrint(id, response);
}
/**
* 样品处理登记表下载
*/
@GetMapping("/simpleRegisterPrint")
public void simpleRegisterPrint(String id, HttpServletResponse response) {
handleSampleService.simpleRegisterPrint(id, response);
}
}

@ -6,7 +6,6 @@ import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import feign.Param;
import org.springblade.lims.entry.Entrust;
import org.springblade.lims.entry.HandleSample;
import java.util.List;
@ -20,5 +21,9 @@ public interface EntrustMapper extends BaseMapper<Entrust> {
List<Entrust> simpleReceive(IPage<Entrust> page, Entrust entry);
List<Entrust> simpleReceiveExport(Entrust entry);
List<Entrust> simpleReceiveExport(@Param Entrust ent);
List<HandleSample> entrustList(IPage<HandleSample> page, HandleSample handleSample);
List<Entrust> queryList(IPage<Entrust> page, Entrust entrust);
}

@ -5,7 +5,6 @@
<!-- 通用查询映射结果 -->
<resultMap id="baseKnowledgeDetailResultMap" type="org.springblade.lims.entry.Entrust">
<id column="id" property="id"/>
<result column="sample_name" property="sampleName"/>
</resultMap>
<select id="entrustListNonStatus" parameterType="org.springblade.lims.entry.Entrust"
@ -21,10 +20,11 @@
AND is_deleted in (0,1)
AND entrust_status &lt;&gt; - 1
</select>
<select id="simpleReceive" resultType="org.springblade.lims.entry.Entrust">
SELECT
a.*
b.simple_receiver AS simpleReceiverTime,
a.*,
b.simple_receiver_time AS simpleReceiverTime,
b.experie_num AS experieNum,
b.simple_receiver_name AS simpleReceiverName
FROM
@ -39,14 +39,19 @@
WHERE c.is_deleted = 0
GROUP BY c.entrust_id
) AS b ON a.id = b.entrust_id
WHERE
a.is_deleted = 0 AND a.entrust_status != '-1'
<where>
<if test="entry.startTime!=null and entry.endTime!=null">
a.sampling_date <![CDATA[ >= ]]> #{entry.startTime} AND a.sampling_date <![CDATA[ <= ]]> #{entry.endTime}
</if>
AND a.is_deleted = 0 AND a.entrust_status != '-1'
</where>
ORDER BY a.sampling_date ASC
</select>
<select id="simpleReceiveExport" resultType="org.springblade.lims.entry.Entrust">
SELECT
a.*
b.simple_receiver AS simpleReceiverTime,
a.*,
b.simple_receiver_time AS simpleReceiverTime,
b.experie_num AS experieNum,
b.simple_receiver_name AS simpleReceiverName
FROM
@ -61,9 +66,61 @@
WHERE c.is_deleted = 0
GROUP BY c.entrust_id
) AS b ON a.id = b.entrust_id
WHERE
<where>
a.is_deleted = 0 AND a.entrust_status != '-1'
<if test="startTime != null and endTime != null">
AND a.sampling_date <![CDATA[ >= ]]> #{startTime} AND a.sampling_date <![CDATA[ <= ]]> #{endTime}
</if>
</where>
ORDER BY a.sampling_date ASC
</select>
<select id="entrustList" resultType="org.springblade.lims.entry.HandleSample">
SELECT
hs.id,
hs.handle_opinion,
hs.applicant,
hs.applicant_time,
hs.approve_opinion,
hs.opinion_by,
hs.opinion_time,
a.id AS entrustId,
a.simple_name,
a.simple_count,
a.handle_state,
a.sampling_date,
b.experie_num
FROM
f_entrust_main AS a
LEFT JOIN (
SELECT
MIN( c.experie_num ) AS experie_num,
c.entrust_id AS entrust_id
FROM f_examine AS c
WHERE c.is_deleted = 0
GROUP BY c.entrust_id
) AS b ON a.id = b.entrust_id
LEFT JOIN f_handle_sample AS hs ON a.id = hs.entrust_id
<where>
<if test="handleSample.starTime != null">
a.sampling_date <![CDATA[ <= ]]> #{handleSample.starTime}
</if>
<if test="handleSample.handleOpinion != null and handleSample.handleOpinion != ''">
AND b.experie_num like concat('%',#{handleSample.handleOpinion},'%')
</if>
<if test="handleSample.status != null and handleSample.status != '2'">
AND a.handle_state = #{handleSample.status}
</if>
<if test="handleSample.status != null and handleSample.status == '2'">
AND a.handle_state in (2,3)
</if>
AND a.is_deleted = 0 AND a.entrust_status != '-1'
</where>
ORDER BY a.sampling_date ASC
</select>
<select id="queryList" resultType="org.springblade.lims.entry.Entrust">
</select>
</mapper>

@ -0,0 +1,13 @@
package org.springblade.lims.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.lims.entry.HandleSample;
/**
* @author litao
* @since 2023年7月17日
*/
public interface HandleSampleMapper extends BaseMapper<HandleSample> {
}

@ -5,6 +5,7 @@ package org.springblade.lims.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.lims.entry.Entrust;
import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.HandleSample;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@ -29,13 +30,13 @@ public interface IEntrtrustService extends BaseService<Entrust> {
void reportPrint(String examineId, HttpServletResponse response);
void simpleRegisterPrint(String id, HttpServletResponse response);
void simpleRegisterPrint(String ids, HttpServletResponse response);
void simpleNumberPrint(String id, HttpServletResponse response);
void eTaskPrint(String id, String deptId, HttpServletResponse response);
void simpleHandlePrint(String id, HttpServletResponse response);
void simpleHandlePrint(String ids, HttpServletResponse response);
void simpleReceivePrint(String id, HttpServletResponse response);
@ -47,6 +48,6 @@ public interface IEntrtrustService extends BaseService<Entrust> {
IPage<Entrust> simpleReceive(IPage<Entrust> page, Entrust entry);
List<Entrust> simpleReceiveExport(Entrust entry);
List<Entrust> simpleReceiveExport(Entrust ent);
}

@ -0,0 +1,29 @@
package org.springblade.lims.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.lims.entry.Entrust;
import org.springblade.lims.entry.HandleSample;
import javax.servlet.http.HttpServletResponse;
/**
* @author litao
* @since 2023年7月17日
*/
public interface IHandleSampleService extends BaseService<HandleSample> {
IPage<HandleSample> entrustList(HandleSample handleSample, IPage<HandleSample> page);
boolean insert(HandleSample handleSample);
boolean updateBy(HandleSample handleSample);
IPage<Entrust> queryList(Entrust entrust, IPage<Entrust> page);
void simpleHandlePrint(String id, HttpServletResponse response);
void simpleRegisterPrint(String id, HttpServletResponse response);
}

@ -15,6 +15,7 @@ import org.apache.poi.xwpf.usermodel.*;
import org.springblade.common.utils.ZipCompressUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.lims.entry.*;
import org.springblade.lims.excel.*;
@ -23,6 +24,7 @@ import org.springblade.lims.service.*;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.enums.DictBizEnum;
import org.springblade.system.feign.IDictBizClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
@ -3792,7 +3794,6 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
//模板地址
// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//留样登记表(模板).docx";
String url = DictBizCache.getKey(DictBizEnum.PRINT_URL.getName(), "simpleRegisterPrint");
XWPFDocument doc = null;
// FileOutputStream fos = null;
@ -4174,18 +4175,17 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
@Override
@Transactional(rollbackFor = Exception.class)
public void simpleHandlePrint(String id, HttpServletResponse response) {
Entrust entrust = this.getById(id);
entrust.setIsHandle("1");
this.updateById(entrust);
public void simpleHandlePrint(String ids, HttpServletResponse response) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultList = new ArrayList<>();
Entrust entrust = this.getById(ids);
entrust.setIsHandle("1");
this.updateById(entrust);
LambdaQueryWrapper<Simple> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Simple::getEntrustId, id);
wrapper.eq(Simple::getEntrustId, ids);
wrapper.eq(Simple::getStatus, 1);
// position1
wrapper.eq(Simple::getIsReagent, "1");
List<Simple> simpleList = simpleService.list(wrapper);
if (CollectionUtils.isNotEmpty(simpleList)) {
@ -4194,21 +4194,23 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
map.put("experieNum", simple.getExperieNum());
map.put("reagentNum", "1");
map.put("simpleName", simple.getSimpleName());
map.put("", "");//保存期
resultList.add(map);
}
result.put("resultList", resultList);
result.put("1", entrust.getAcceptanceNum());
}
//模板地址
// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//留样处理(销毁)申请表(模板).docx";
String url = DictBizCache.getKey(DictBizEnum.PRINT_URL.getName(), "simpleHandlePrint");
XWPFDocument doc = null;
FileOutputStream fos = null;
// FileOutputStream fos = null;
try {
doc = WordExportUtil.exportWord07(url, result);
fos = new FileOutputStream("C://Users//AAA//Desktop//烁今//打印模板//留样处理(销毁)申请表.docx");
// fos = new FileOutputStream("C://Users//AAA//Desktop//烁今//打印模板//留样处理(销毁)申请表.docx");
String filename = "测试.docx";
response.setContentType("application/octet-stream");
@ -4219,21 +4221,21 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != doc) {
// doc.close();
try {
doc.write(fos);
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != fos) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// if (null != doc) {
//// doc.close();
// try {
// doc.write(fos);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (null != fos) {
// try {
// fos.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
if (null != doc) {
try {
doc.close();
@ -4872,12 +4874,12 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
entrust.setExperieNum(split[0] + "-" + split[split.length - 1]);
}
}
return page.setRecords(entrustMapper.simpleReceive(page, entry));
return page.setRecords(entrusts);
}
@Override
public List<Entrust> simpleReceiveExport(Entrust entry) {
return entrustMapper.simpleReceiveExport(entry);
public List<Entrust> simpleReceiveExport(Entrust ent) {
return entrustMapper.simpleReceiveExport(ent);
}
/**

@ -0,0 +1,432 @@
package org.springblade.lims.service.impl;
import cn.afterturn.easypoi.entity.ImageEntity;
import cn.afterturn.easypoi.word.WordExportUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.time.DateUtils;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.lims.entry.Entrust;
import org.springblade.lims.entry.HandleSample;
import org.springblade.lims.entry.Simple;
import org.springblade.lims.mapper.EntrustMapper;
import org.springblade.lims.mapper.HandleSampleMapper;
import org.springblade.lims.service.IEntrtrustService;
import org.springblade.lims.service.IHandleSampleService;
import org.springblade.lims.service.ISimpleService;
import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.Param;
import org.springblade.system.enums.DictBizEnum;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.user.entity.User;
import org.springblade.system.user.feign.IUserClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import static org.springblade.core.cache.constant.CacheConstant.PARAM_CACHE;
/**
* @author litao
* @since 2023年7月17日
*/
@Service
@AllArgsConstructor
public class HandleSampleServiceImpl extends BaseServiceImpl<HandleSampleMapper, HandleSample> implements IHandleSampleService {
private EntrustMapper entrustMapper;
private IUserClient userClient;
private ISimpleService simpleService;
private ISysClient sysClient;
@Override
public IPage<HandleSample> entrustList(HandleSample handleSample, IPage<HandleSample> page) {
// 获取当前30天之前的时间
handleSample.setStarTime(DateUtils.addDays(new Date(), -30));
List<HandleSample> entrusts = entrustMapper.entrustList(page, handleSample);
if (CollectionUtils.isNotEmpty(entrusts)) {
for (HandleSample entrust : entrusts) {
String experieNum = entrust.getExperieNum();
String[] split = experieNum.split(",");
entrust.setExperieNum(split[0] + "-" + split[split.length - 1]);
entrust.setBeyondTime(DateUtils.addDays(entrust.getSamplingDate(), 30));
}
}
return page.setRecords(entrusts);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean insert(HandleSample handleSample) {
Entrust entrust = new Entrust();
entrust.setId(handleSample.getEntrustId());
entrust.setHandleState(1);
entrustMapper.updateById(entrust);
handleSample.setApplicantId(AuthUtil.getUserId());
handleSample.setApplicant(userClient.userInfoById(AuthUtil.getUserId()).getData().getName());
handleSample.setApplicantTime(new Date());
return this.save(handleSample);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateBy(HandleSample handleSample) {
Entrust entrust = new Entrust();
entrust.setId(handleSample.getEntrustId());
entrust.setHandleState(2);
entrust.setSampleHandle("交济南滕笙环保公司处理");
entrustMapper.updateById(entrust);
handleSample.setOpinionId(AuthUtil.getUserId());
handleSample.setOpinionBy(userClient.userInfoById(AuthUtil.getUserId()).getData().getName());
handleSample.setOpinionTime(new Date());
return this.updateById(handleSample);
}
@Override
public IPage<Entrust> queryList(Entrust entrust, IPage<Entrust> page) {
// List<Entrust> entrusts = entrustMapper.queryList(page, entrust);
List<Integer> ins = new ArrayList<>();
ins.add(2);
ins.add(3);
LambdaQueryWrapper<Entrust> wrapper = Wrappers.lambdaQuery();
if (entrust.getStartTime() != null && entrust.getEndTime() != null) {
wrapper.between(Entrust::getSamplingDate, entrust.getStartTime(), entrust.getEndTime());
}
if (entrust.getHandleState() != null) {
wrapper.eq(Entrust::getHandleState, entrust.getHandleState());
} else {
wrapper.in(Entrust::getHandleState, ins);
}
wrapper.orderByAsc(Entrust::getSamplingDate);
IPage<Entrust> iPage = entrustMapper.selectPage(page, wrapper);
List<Entrust> entrusts = iPage.getRecords();
if (CollectionUtils.isNotEmpty(entrusts)) {
entrusts.forEach(entry -> {
entry.setBeyondTime(DateUtils.addDays(entry.getSamplingDate(), 30));
});
}
return iPage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void simpleHandlePrint(String id, HttpServletResponse response) {
Map<String, Object> result = new HashMap<>();
String path = sysClient.getParamValue("electronic_signature_real_path").getData();
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
HandleSample handleSample = this.getById(id);
String count = sysClient.getParamValue("interface_count1").getData();
String[] split1 = count.split("-");
int newCount = Integer.parseInt(split1[1]);
int year = LocalDateTime.now().getYear();
if (!String.valueOf(year).equals(split1[0])) {
newCount = 0;
}
newCount++;
Param param = new Param();
param.setParamKey("interface_count1");
param.setParamValue(split1[0] + "-" + newCount);
CacheUtil.clear(PARAM_CACHE);
sysClient.updateParam(param);
if (newCount >= 0 && newCount < 9) {
result.put("1", year + "000" + newCount);
} else if (newCount >= 9 && newCount < 99) {
result.put("1", year + "00" + newCount);
} else if (newCount >= 99 && newCount < 999) {
result.put("1", year + "0" + newCount);
} else{
result.put("1", year + "" + newCount);
}
result.put("2", handleSample.getHandleOpinion());
User user = userClient.userInfoById(handleSample.getApplicantId()).getData();
if (user != null) {
ImageEntity farView = new ImageEntity();
farView.setHeight(50);//设置高度
farView.setWidth(90);//设置宽度
farView.setType(ImageEntity.Data);//类型
String s1 = path + user.getElectronicSignature();
FileInputStream fis = null;
try {
fis = new FileInputStream(new File(s1));
byte[] bytes = readInputStream(fis);
farView.setData(bytes);
} catch (Exception e) {
e.printStackTrace();
}
result.put("3", farView);
}
result.put("4", format.format(handleSample.getApplicantTime()));
result.put("5", handleSample.getApproveOpinion());
User user1 = userClient.userInfoById(handleSample.getOpinionId()).getData();
if (user1 != null) {
ImageEntity farView = new ImageEntity();
farView.setHeight(50);//设置高度
farView.setWidth(90);//设置宽度
farView.setType(ImageEntity.Data);//类型
String s1 = path + user1.getElectronicSignature();
FileInputStream fis = null;
try {
fis = new FileInputStream(new File(s1));
byte[] bytes = readInputStream(fis);
farView.setData(bytes);
} catch (Exception e) {
e.printStackTrace();
}
result.put("6", farView);
}
result.put("7", format.format(handleSample.getOpinionTime()));
// 对应委托单
Entrust entrust = entrustMapper.selectById(handleSample.getEntrustId());
entrust.setIsHandle("1");
entrustMapper.updateById(entrust);
result.put("9", entrust.getSimpleCount());
result.put("10", entrust.getSimpleName());
LambdaQueryWrapper<Simple> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Simple::getEntrustId, entrust.getId()).eq(Simple::getIsReagent, "0").eq(Simple::getSort, 1);
List<Simple> simpleList = simpleService.list(wrapper);
System.out.println("simpleList===" + simpleList);
String num = "";
if (CollectionUtils.isNotEmpty(simpleList)) {
String experieNum = simpleList.get(0).getExperieNum();
num += experieNum + "-";
String[] split = experieNum.split("-");
for (int i = 0; i < split.length - 1; i++) {
num += split[i] + "-";
}
num += entrust.getSimpleCount();
System.out.println("num===" + num);
result.put("8", num);
}
System.out.println("result===" + result);
String url = DictBizCache.getKey(DictBizEnum.PRINT_URL.getName(), "simpleHandlePrint");
XWPFDocument doc = null;
// FileOutputStream fos = null;
try {
doc = WordExportUtil.exportWord07(url, result);
// fos = new FileOutputStream("C://Users//AAA//Desktop//烁今//打印模板//留样处理(销毁)申请表.docx");
String filename = "测试.docx";
response.setContentType("application/octet-stream");
response.setHeader("content-disposition", "attachment;filename=12344.docx");
doc.write(response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
} finally {
// if (null != doc) {
//// doc.close();
// try {
// doc.write(fos);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (null != fos) {
// try {
// fos.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
if (null != doc) {
try {
doc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void simpleRegisterPrint(String id, HttpServletResponse response) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultList = new ArrayList<>();
String count = sysClient.getParamValue("interface_count2").getData();
String[] split1 = count.split("-");
int newCount = Integer.parseInt(split1[1]);
int year = LocalDateTime.now().getYear();
if (!String.valueOf(year).equals(split1[0])) {
newCount = 0;
}
newCount++;
Param param = new Param();
param.setParamKey("interface_count2");
param.setParamValue(split1[0] + "-" + newCount);
CacheUtil.clear(PARAM_CACHE);
sysClient.updateParam(param);
if (newCount >= 0 && newCount < 9) {
result.put("1", year + "000" + newCount);
} else if (newCount >= 9 && newCount < 99) {
result.put("1", year + "00" + newCount);
} else if (newCount >= 99 && newCount < 999) {
result.put("1", year + "0" + newCount);
} else{
result.put("1", year + "" + newCount);
}
List<Long> list = Func.toLongList(id);
for (Long aLong : list) {
// 修改为已导出
Entrust entrust = entrustMapper.selectById(aLong);
entrust.setHandleState(3);
entrustMapper.updateById(entrust);
// 该委托单样品信息
List<Simple> simples = simpleService.list(Wrappers.<Simple>lambdaQuery().eq(Simple::getEntrustId, aLong).eq(Simple::getIsReagent, "0").orderByAsc(Simple::getSort));
System.out.println("simples===" + simples.size());
if (CollectionUtils.isNotEmpty(simples)) {
String num = "";
String experieNum = simples.get(0).getExperieNum();
String[] split = experieNum.split("-");
for (int i = 0; i < split.length - 1; i++) {
num += split[i] + "-";
}
int start = 1;
int size = 0;
for (int i = 0; i < simples.size(); i++) {
Simple simple = simples.get(i);
if (simple.getOriginalNum().equals(String.valueOf(i + 1))) {
size++;
if (size == simples.size()) {
Map<String, Object> map = new HashMap<>();
map.put("originalNum", start + "-" + (start + size));
map.put("experieNum", num + start + "-" + num + (start + size));
map.put("simpleName", simple.getSimpleName());
map.put("sampleHandle", entrust.getSampleHandle());
map.put("a", "~");
map.put("b", "接样室");
map.put("c", "李玉杰");
resultList.add(map);
}
continue;
}
if (size > 0) {
Map<String, Object> map = new HashMap<>();
if (size == 1) {
map.put("originalNum", start);
map.put("experieNum", num + start);
} else {
map.put("originalNum", start + "-" + (start + size));
map.put("experieNum", num + start + "-" + num + (start + size));
}
map.put("simpleName", simple.getSimpleName());
map.put("sampleHandle", entrust.getSampleHandle());
map.put("a", "~");
map.put("b", "接样室");
map.put("c", "李玉杰");
resultList.add(map);
}
start = i + 2;
Map<String, Object> map = new HashMap<>();
map.put("originalNum", simple.getOriginalNum());
map.put("experieNum", simple.getExperieNum());
map.put("simpleName", simple.getSimpleName());
map.put("sampleHandle", entrust.getSampleHandle());
map.put("a", "~");
map.put("b", "接样室");
map.put("c", "李玉杰");
resultList.add(map);
}
}
}
result.put("resultList", resultList);
System.out.println("result===" + result);
//模板地址
// String handleUrl = "C://Users//AAA//Desktop//烁今//打印模板//留样登记表(模板).docx";
String url = DictBizCache.getKey(DictBizEnum.PRINT_URL.getName(), "simpleRegisterPrint");
XWPFDocument doc = null;
// FileOutputStream fos = null;
try {
doc = WordExportUtil.exportWord07(url, result);
// fos = new FileOutputStream("C://Users//AAA//Desktop//烁今//打印模板//留样登记表.docx");
String filename = "测试.docx";
response.setContentType("application/octet-stream");
response.setHeader("content-disposition", "attachment;filename=12344.docx");
doc.write(response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
} finally {
// if (null != doc) {
//// doc.close();
// try {
// doc.write(fos);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// if (null != fos) {
// try {
// fos.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
if (null != doc) {
try {
doc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 读输入流
*/
private static byte[] readInputStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}

@ -168,6 +168,11 @@ public class SysClient implements ISysClient {
return R.data(paramService.getValue(paramKey));
}
@Override
public void updateParam(Param param) {
paramService.updateParam(param);
}
@Override
@GetMapping(REGION)
public R<Region> getRegion(String code) {

@ -19,4 +19,5 @@ public interface IParamService extends BaseService<Param> {
*/
String getValue(String paramKey);
void updateParam(Param param);
}

@ -22,4 +22,14 @@ public class ParamServiceImpl extends BaseServiceImpl<ParamMapper, Param> implem
return param.getParamValue();
}
@Override
public void updateParam(Param param) {
System.out.println("param===" + param);
Param one = this.getOne(Wrappers.<Param>query().lambda().eq(Param::getParamKey, param.getParamKey()));
one.setParamValue(param.getParamValue());
System.out.println("one===" + one);
boolean b = this.updateById(one);
System.out.println("one===" + b);
}
}

Loading…
Cancel
Save