|
@@ -2,6 +2,7 @@ package org.springblade.business.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.lowagie.text.Document;
|
|
|
import com.lowagie.text.DocumentException;
|
|
|
import com.lowagie.text.Font;
|
|
@@ -12,12 +13,18 @@ import com.lowagie.text.pdf.PdfWriter;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.commons.lang.time.DateUtils;
|
|
|
+import org.springblade.business.dto.TrialSampleInfoDTO;
|
|
|
import org.springblade.business.entity.TrialMaterialMobilization;
|
|
|
import org.springblade.business.entity.TrialSampleInfo;
|
|
|
+import org.springblade.business.entity.TrialSamplingRecord;
|
|
|
import org.springblade.business.excel.TrialMaterialMobilizationExcel;
|
|
|
import org.springblade.business.excel.TrialSampleInfoExcel;
|
|
|
+import org.springblade.business.mapper.TrialMaterialMobilizationMapper;
|
|
|
import org.springblade.business.mapper.TrialSampleInfoMapper;
|
|
|
+import org.springblade.business.mapper.TrialSamplingRecordMapper;
|
|
|
+import org.springblade.business.service.ITrialMaterialMobilizationService;
|
|
|
import org.springblade.business.service.ITrialSampleInfoService;
|
|
|
+import org.springblade.business.service.ITrialSamplingRecordService;
|
|
|
import org.springblade.business.utils.PDFUtil;
|
|
|
import org.springblade.business.utils.SystemUtils;
|
|
|
import org.springblade.business.vo.TrialSampleInfoVO;
|
|
@@ -48,6 +55,10 @@ import java.util.List;
|
|
|
public class TrialSampleInfoServiceImpl extends BaseServiceImpl<TrialSampleInfoMapper, TrialSampleInfo> implements ITrialSampleInfoService {
|
|
|
|
|
|
private final IUserClient iUserClient;
|
|
|
+ private final ITrialMaterialMobilizationService iTrialMaterialMobilizationService;
|
|
|
+ private final TrialMaterialMobilizationMapper trialMaterialMobilizationMapper;
|
|
|
+ private final ITrialSamplingRecordService iTrialSamplingRecordService;
|
|
|
+ private final TrialSamplingRecordMapper trialSamplingRecordMapper;
|
|
|
|
|
|
@Override
|
|
|
public TrialSampleInfo sampleDetail(Long id) {
|
|
@@ -74,12 +85,35 @@ public class TrialSampleInfoServiceImpl extends BaseServiceImpl<TrialSampleInfoM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public boolean sampleSubmit(TrialSampleInfo obj) {
|
|
|
+ public boolean sampleSubmit(TrialSampleInfoDTO obj) {
|
|
|
if (ObjectUtil.isEmpty(SecureUtil.getUserId())) {
|
|
|
throw new ServiceException("获取用户信息失败");
|
|
|
}
|
|
|
obj.setUserId(SecureUtil.getUserId());
|
|
|
- return this.saveOrUpdate(obj);
|
|
|
+
|
|
|
+ this.saveOrUpdate(obj);
|
|
|
+
|
|
|
+ //新增或者修改成功后关联样品取样信息
|
|
|
+ if (obj.getId() != null && obj.getMobilizationId() != null) {
|
|
|
+ //获取当前选择的样品信息
|
|
|
+ TrialSamplingRecord trialSamplingRecord = trialSamplingRecordMapper.selectOne(Wrappers.<TrialSamplingRecord>query().lambda()
|
|
|
+ .eq(TrialSamplingRecord::getMobilizationId, obj.getMobilizationId())
|
|
|
+ .eq(TrialSamplingRecord::getSampleInfoId, obj.getId())
|
|
|
+ );
|
|
|
+ if (trialSamplingRecord != null) {
|
|
|
+ //存在不新增
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ //新增前删除旧记录
|
|
|
+ trialSamplingRecordMapper.delete(Wrappers.<TrialSamplingRecord>query().lambda().eq(TrialSamplingRecord::getSampleInfoId, obj.getId()));
|
|
|
+ //新增记录
|
|
|
+ TrialSamplingRecord record = new TrialSamplingRecord();
|
|
|
+ record.setMobilizationId(obj.getMobilizationId());
|
|
|
+ record.setSampleInfoId(obj.getId());
|
|
|
+ iTrialSamplingRecordService.save(record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -186,7 +220,7 @@ public class TrialSampleInfoServiceImpl extends BaseServiceImpl<TrialSampleInfoM
|
|
|
document.add(tableTitle);
|
|
|
document.add(new Paragraph("\n"));
|
|
|
|
|
|
- String[] array = {"取样名称", "取样日期", "取样编号", "规格型号", "试样数量", "计算单位", "拟用部位", "代表数量","取样人"};
|
|
|
+ String[] array = {"取样名称", "取样日期", "取样编号", "规格型号", "试样数量", "计算单位", "拟用部位", "代表数量", "取样人"};
|
|
|
for (String s : array) {
|
|
|
PDFUtil.createTableCell(s, textFont, table, lineHeight, colSpan);
|
|
|
}
|
|
@@ -218,5 +252,10 @@ public class TrialSampleInfoServiceImpl extends BaseServiceImpl<TrialSampleInfoM
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean sampleRelationMaterial(String id) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|