Commit c8429700 by lijingjing

修改满意度调查模板;

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