Commit c8429700 by lijingjing

修改满意度调查模板;

parent c6d559b4
...@@ -1621,11 +1621,13 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -1621,11 +1621,13 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override @Override
public boolean updateSample(EntrustSample entrustSample, String source, Account account) { public boolean updateSample(EntrustSample entrustSample, String source, Account account) {
RestAssert.fail(StringUtils.isBlank(source), "来源节点不能为空"); RestAssert.fail(StringUtils.isBlank(source), "来源节点不能为空");
RestAssert.fail(null == entrustSample.getId(), "样品ID不能为空");
EntrustFlowEnum flowStatus = EntrustFlowEnum.convert(source.toUpperCase()); EntrustFlowEnum flowStatus = EntrustFlowEnum.convert(source.toUpperCase());
EntrustSample sourceSample = getById(entrustSample.getId()); EntrustSample sourceSample = getById(entrustSample.getId());
EntrustSample updateSample = new EntrustSample(); EntrustSample updateSample = new EntrustSample();
BeanUtils.copyProperties(sourceSample, updateSample); BeanUtils.copyProperties(sourceSample, updateSample);
BeanUtils.copyProperties(entrustSample, updateSample, true); BeanUtils.copyProperties(entrustSample, updateSample, true);
updateSample.setId(entrustSample.getId());
updateById(updateSample); updateById(updateSample);
String sampleShape = entrustSample.getSampleShape(); String sampleShape = entrustSample.getSampleShape();
String sampleFrom = entrustSample.getSampleFrom(); String sampleFrom = entrustSample.getSampleFrom();
......
...@@ -69,7 +69,7 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe ...@@ -69,7 +69,7 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe
if (null != questionnaire.getStatus() && 1 == questionnaire.getStatus().intValue()) { if (null != questionnaire.getStatus() && 1 == questionnaire.getStatus().intValue()) {
questionnaire.setSubmitTime(new Date()); questionnaire.setSubmitTime(new Date());
questionnaire.setCreator(account.getUserName()); questionnaire.setCreator(account.getUserName());
submitHandler(questionnaire, account); submitHandler(account);
} }
if (null == questionnaire.getId()) { if (null == questionnaire.getId()) {
return save(questionnaire); return save(questionnaire);
...@@ -110,32 +110,35 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe ...@@ -110,32 +110,35 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe
RestAssert.fail(null == questionnaire, "满意度调查表不能为空"); RestAssert.fail(null == questionnaire, "满意度调查表不能为空");
calcScore(questionnaire); calcScore(questionnaire);
questionnaire.setSubmitTime(new Date()); questionnaire.setSubmitTime(new Date());
submitHandler(questionnaire, account); submitHandler(account);
questionnaire.setStatus(1); questionnaire.setStatus(1);
questionnaire.setCreator(account.getUserName()); questionnaire.setCreator(account.getUserName());
return updateById(questionnaire); return updateById(questionnaire);
} }
private void submitHandler(Questionnaire questionnaire, Account account) { private void submitHandler(Account account) {
LmsBaseDict baseDict = lmsBaseDictClient.getByType(DICT_TYPE, account.getCompanyId()).getData(); LmsBaseDict baseDict = lmsBaseDictClient.getByType(DICT_TYPE, account.getCompanyId()).getData();
RestAssert.fail(null == baseDict, "未配置满意度调查间隔时间,请先配置默认间隔时间"); RestAssert.fail(null == baseDict, "未配置满意度调查间隔时间,请先配置默认间隔时间");
Integer seqDays = Integer.parseInt(baseDict.getCode()); Integer seqDays = Integer.parseInt(baseDict.getCode());
// 提交时间与当前时间比较,若提交时间满足 + seqDays > new Date(),那么可以继续提交 List<Questionnaire> questionnaireList = list(Condition.create().eq("status", 1).orderBy("ltime", false));
RestAssert.fail(DateUtils.dateAddDays(questionnaire.getSubmitTime(), seqDays).after(new Date()), String.format("未满 %d 个月,无法继续提交满意度调查表。", seqDays / 30)); if (CollectionUtils.isNotEmpty(questionnaireList)) {
Questionnaire q = questionnaireList.get(0);
// 提交时间与当前时间比较,若提交时间满足 + seqDays > new Date(),那么可以继续提交
RestAssert.fail(DateUtils.dateAddDays(q.getSubmitTime(), seqDays).after(new Date()), String.format("未满 %d 个月,无法继续提交满意度调查表。", seqDays / 30));
}
} }
private void calcScore(Questionnaire questionnaire) { private void calcScore(Questionnaire questionnaire) {
RestAssert.fail(null == questionnaire.getAccuracy() || null == questionnaire.getClarity() RestAssert.fail(null == questionnaire.getAccuracy() || null == questionnaire.getCoordination()
|| null == questionnaire.getCoordination() || null == questionnaire.getServiceAttitude() || null == questionnaire.getServiceAttitude() || null == questionnaire.getTimeliness(),
|| null == questionnaire.getTimeliness(), "满意度调查表分数不能为空"); "满意度调查表分数不能为空");
BigDecimal accuracy = questionnaire.getAccuracy(); BigDecimal accuracy = questionnaire.getAccuracy();
BigDecimal clarity = questionnaire.getClarity();
BigDecimal coordination = questionnaire.getCoordination(); BigDecimal coordination = questionnaire.getCoordination();
BigDecimal serviceAttitude = questionnaire.getServiceAttitude(); BigDecimal serviceAttitude = questionnaire.getServiceAttitude();
BigDecimal timeliness = questionnaire.getTimeliness(); BigDecimal timeliness = questionnaire.getTimeliness();
BigDecimal score = accuracy.add(clarity).add(coordination).add(serviceAttitude).add(timeliness); BigDecimal score = accuracy.add(coordination).add(serviceAttitude).add(timeliness);
questionnaire.setScore(score); questionnaire.setScore(score);
} }
...@@ -156,7 +159,7 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe ...@@ -156,7 +159,7 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe
XSSFSheet sheet = xssfWorkbook.getSheetAt(0); XSSFSheet sheet = xssfWorkbook.getSheetAt(0);
Integer numTotal = questionnaireVO.getNumTotal(); Integer numTotal = questionnaireVO.getNumTotal();
for (int i = 1; i < 7; i++) { for (int i = 1; i < 6; i++) {
XSSFRow row = sheet.getRow(i); XSSFRow row = sheet.getRow(i);
double sumValue = 0.0, avgValue = 0.0; double sumValue = 0.0, avgValue = 0.0;
switch (i) { switch (i) {
...@@ -177,10 +180,6 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe ...@@ -177,10 +180,6 @@ public class QuestionnaireServiceImpl extends BaseServiceImpl<QuestionnaireMappe
avgValue = questionnaireVO.getRzqxAvg(); avgValue = questionnaireVO.getRzqxAvg();
break; break;
case 5: case 5:
sumValue = questionnaireVO.getQxzjSum();
avgValue = questionnaireVO.getQxzjAvg();
break;
case 6:
sumValue = questionnaireVO.getSumTotal(); sumValue = questionnaireVO.getSumTotal();
avgValue = questionnaireVO.getAvgTotal(); avgValue = questionnaireVO.getAvgTotal();
break; break;
......
...@@ -8,14 +8,12 @@ ...@@ -8,14 +8,12 @@
sum(q.coordination) "xtgt_sum", sum(q.coordination) "xtgt_sum",
sum(q.timeliness) "rjsx_sum", sum(q.timeliness) "rjsx_sum",
sum(q.accuracy) "rzqx_sum", sum(q.accuracy) "rzqx_sum",
sum(q.clarity) "qxzj_sum",
sum(q.score) "sum_total", sum(q.score) "sum_total",
count(distinct q.service_attitude) "num_total", count(distinct q.service_attitude) "num_total",
round(cast((sum(q.service_attitude) / count(distinct q.service_attitude)) as numeric),1) "fwtd_avg", round(cast((sum(q.service_attitude) / count(distinct q.service_attitude)) as numeric),1) "fwtd_avg",
round(cast((sum(q.coordination) / count(distinct q.service_attitude)) as numeric),1) "xtgt_avg", round(cast((sum(q.coordination) / count(distinct q.service_attitude)) as numeric),1) "xtgt_avg",
round(cast((sum(q.timeliness) / count(distinct q.service_attitude))as numeric),1) "rjsx_avg", round(cast((sum(q.timeliness) / count(distinct q.service_attitude))as numeric),1) "rjsx_avg",
round(cast((sum(q.accuracy) / count(distinct q.service_attitude))as numeric),1) "rzqx_avg", round(cast((sum(q.accuracy) / count(distinct q.service_attitude))as numeric),1) "rzqx_avg",
round(cast((sum(q.clarity) / count(distinct q.service_attitude))as numeric),1) "qxzj_avg",
round(cast((sum(q.score) / count(distinct q.service_attitude))as numeric),1) "avg_total" round(cast((sum(q.score) / count(distinct q.service_attitude))as numeric),1) "avg_total"
from questionnaire q where q.deleted = 0 from questionnaire q where q.deleted = 0
<if test="null != ids"> <if test="null != ids">
......
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