|
|
@ -101,22 +101,31 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<QcInterface> getCheckProjectsPie(QcInterface qcInterface) {
|
|
|
|
public List<QcInterface> getCheckProjectsPie(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie1(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie1(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<QcInterface> getCheckProjectsPieLL(QcInterface qcInterface) {
|
|
|
|
public List<QcInterface> getCheckProjectsPieLL(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
|
|
|
|
qcInterface.setCheckType("checkTypeLL");
|
|
|
|
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPieLL(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
|
|
|
|
qcInterface.setCheckType("checkTypeLL");
|
|
|
|
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPieLL(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -192,104 +201,106 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, String> getProduceStaticInfo(QcInterface qcInterface) {
|
|
|
|
public Map<String, String> getProduceStaticInfo(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
try {
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, String> dtoMap = new HashMap<>();
|
|
|
|
Map<String, String> dtoMap = new HashMap<>();
|
|
|
|
qcInterface.setYmdType("dd");
|
|
|
|
qcInterface.setYmdType("dd");
|
|
|
|
QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface);
|
|
|
|
QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface);
|
|
|
|
if (hz0 != null) {
|
|
|
|
if (hz0 != null) {
|
|
|
|
dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", ""));
|
|
|
|
dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", ""));
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("todayPro", "0");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface);
|
|
|
|
|
|
|
|
if (hz1 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
if(!hz1.getSampleQuality().equals("0.00")){
|
|
|
|
|
|
|
|
BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality())
|
|
|
|
|
|
|
|
.subtract(new BigDecimal(hz1.getNoOkQuality()))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dtoMap.put("todayOkRate", tOkRate + "%");
|
|
|
|
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
dtoMap.put("todayOkRate", "0%");
|
|
|
|
dtoMap.put("todayPro", "0");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface);
|
|
|
|
|
|
|
|
if (hz1 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
if(!hz1.getSampleQuality().equals("0.00")){
|
|
|
|
|
|
|
|
BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality())
|
|
|
|
|
|
|
|
.subtract(new BigDecimal(hz1.getNoOkQuality()))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dtoMap.put("todayOkRate", tOkRate + "%");
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("todayOkRate", "0%");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qcInterface.setYmdType("mm");
|
|
|
|
|
|
|
|
QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface);
|
|
|
|
|
|
|
|
if (hz20 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("monthPro", "0");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface);
|
|
|
|
|
|
|
|
if (hz2 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
if(!hz2.getSampleQuality().equals("0.00")){
|
|
|
|
|
|
|
|
BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality())
|
|
|
|
|
|
|
|
.subtract(new BigDecimal(hz2.getNoOkQuality()))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dtoMap.put("monthOkRate", tOkRate2 + "%");
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("monthOkRate", "0%");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return dtoMap;
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
qcInterface.setYmdType("mm");
|
|
|
|
|
|
|
|
QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface);
|
|
|
|
|
|
|
|
if (hz20 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("monthPro", "0");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface);
|
|
|
|
|
|
|
|
if (hz2 != null) {
|
|
|
|
|
|
|
|
dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", ""));
|
|
|
|
|
|
|
|
if(!hz2.getSampleQuality().equals("0.00")){
|
|
|
|
|
|
|
|
BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality())
|
|
|
|
|
|
|
|
.subtract(new BigDecimal(hz2.getNoOkQuality()))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
.multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dtoMap.put("monthOkRate", tOkRate2 + "%");
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
dtoMap.put("monthOkRate", "0%");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// /**质量看板测试开始**/
|
|
|
|
|
|
|
|
// dtoMap.put("todayPro", "3800");
|
|
|
|
|
|
|
|
// dtoMap.put("todaySample", "50");
|
|
|
|
|
|
|
|
// dtoMap.put("todayNoOk", "2");
|
|
|
|
|
|
|
|
// dtoMap.put("todayOkRate", "96.00%");
|
|
|
|
|
|
|
|
// dtoMap.put("monthPro", "83600");
|
|
|
|
|
|
|
|
// dtoMap.put("monthNoOk", "30");
|
|
|
|
|
|
|
|
// dtoMap.put("monthOkRate", "99.96%");
|
|
|
|
|
|
|
|
// /**质量看板测试结束**/
|
|
|
|
|
|
|
|
return dtoMap;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<QcInterface> getProduceNoOkList(QcInterface qcInterface) {
|
|
|
|
public List<QcInterface> getProduceNoOkList(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList1(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
|
|
}
|
|
|
|
// String nowYMD = DateUtils.getDate();
|
|
|
|
// String nowYMD = DateUtils.getDate();
|
|
|
|
// qcInterface.setYmd(nowYMD);
|
|
|
|
// qcInterface.setYmd(nowYMD);
|
|
|
|
// List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList(qcInterface);
|
|
|
|
// List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList(qcInterface);
|
|
|
|
List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList1(qcInterface);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Map<String, List<String>> getProMonthNoOk(QcInterface qcInterface) {
|
|
|
|
public Map<String, List<String>> getProMonthNoOk(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
Map<String, List<String>> dtoMap = new HashMap<>();
|
|
|
|
Map<String, List<String>> dtoMap = new HashMap<>();
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
|
|
|
|
String[] nowYMDs = nowYMD.split("-");
|
|
|
|
|
|
|
|
int nowMonth = Integer.parseInt(nowYMDs[1]);
|
|
|
|
|
|
|
|
List<String> monthNames = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
String[] nowYMDs = nowYMD.split("-");
|
|
|
|
qcInterface.setYmdType("yyyy");
|
|
|
|
int nowMonth = Integer.parseInt(nowYMDs[1]);
|
|
|
|
Map<String, QcInterface> noOkHzs = qcInterfaceMapper.getYearNoOkHz(qcInterface);
|
|
|
|
List<String> monthNames = new ArrayList<>();
|
|
|
|
List<String> monthData = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
qcInterface.setYmd(nowYMD);
|
|
|
|
for (int mh = 1; mh <= nowMonth; mh++) {
|
|
|
|
qcInterface.setYmdType("yyyy");
|
|
|
|
String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh);
|
|
|
|
Map<String, QcInterface> noOkHzs = qcInterfaceMapper.getYearNoOkHz(qcInterface);
|
|
|
|
monthNames.add(yyyymm);
|
|
|
|
List<String> monthData = new ArrayList<>();
|
|
|
|
if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) {
|
|
|
|
|
|
|
|
monthData.add(noOkHzs.get(yyyymm).getNoOkQuality());
|
|
|
|
for (int mh = 1; mh <= nowMonth; mh++) {
|
|
|
|
} else {
|
|
|
|
String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh);
|
|
|
|
monthData.add("0");
|
|
|
|
monthNames.add(yyyymm);
|
|
|
|
}
|
|
|
|
if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) {
|
|
|
|
|
|
|
|
monthData.add(noOkHzs.get(yyyymm).getNoOkQuality());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
monthData.add("0");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dtoMap.put("month", monthNames);
|
|
|
|
dtoMap.put("month", monthNames);
|
|
|
|
dtoMap.put("monthData", monthData);
|
|
|
|
dtoMap.put("monthData", monthData);
|
|
|
|
// /**质量看板测试开始**/
|
|
|
|
// /**质量看板测试开始**/
|
|
|
|
// List<String> monthNames0 = new ArrayList<>();
|
|
|
|
// List<String> monthNames0 = new ArrayList<>();
|
|
|
|
// monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04");
|
|
|
|
// monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04");
|
|
|
@ -302,6 +313,10 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
|
|
|
|
// dtoMap.put("month", monthNames0);
|
|
|
|
// dtoMap.put("month", monthNames0);
|
|
|
|
// dtoMap.put("monthData", monthData0);
|
|
|
|
// dtoMap.put("monthData", monthData0);
|
|
|
|
// /**质量看板测试结束**/
|
|
|
|
// /**质量看板测试结束**/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
|
|
|
}
|
|
|
|
return dtoMap;
|
|
|
|
return dtoMap;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -362,82 +377,70 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
|
|
|
|
public List<QcInterface> getMonthOfYearContrast(QcInterface qcInterface) {
|
|
|
|
public List<QcInterface> getMonthOfYearContrast(QcInterface qcInterface) {
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
DynamicDataSourceContextHolder.push(qcInterface.getFactoryCode());
|
|
|
|
List<QcInterface> dtos = new ArrayList<>();
|
|
|
|
List<QcInterface> dtos = new ArrayList<>();
|
|
|
|
|
|
|
|
try {
|
|
|
|
QcInterface nowYM = new QcInterface();
|
|
|
|
QcInterface nowYM = new QcInterface();
|
|
|
|
QcInterface lastYM = new QcInterface();
|
|
|
|
QcInterface lastYM = new QcInterface();
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
String nowYMD = DateUtils.getDate();
|
|
|
|
String[] nowYMDs = nowYMD.split("-");
|
|
|
|
String[] nowYMDs = nowYMD.split("-");
|
|
|
|
int nowYear = Integer.parseInt(nowYMDs[0]);
|
|
|
|
int nowYear = Integer.parseInt(nowYMDs[0]);
|
|
|
|
int lastYear = nowYear - 1;
|
|
|
|
int lastYear = nowYear - 1;
|
|
|
|
List<String> daystr1 = new ArrayList<>();
|
|
|
|
List<String> daystr1 = new ArrayList<>();
|
|
|
|
List<String> daystr0 = new ArrayList<>();
|
|
|
|
List<String> daystr0 = new ArrayList<>();
|
|
|
|
for (int m = 1; m <= 12; m++) {
|
|
|
|
for (int m = 1; m <= 12; m++) {
|
|
|
|
daystr0.add(lastYear + "-" + String.format("%02d", m));
|
|
|
|
daystr0.add(lastYear + "-" + String.format("%02d", m));
|
|
|
|
daystr1.add(nowYear + "-" + String.format("%02d", m));
|
|
|
|
daystr1.add(nowYear + "-" + String.format("%02d", m));
|
|
|
|
}
|
|
|
|
|
|
|
|
lastYM.setDayStr(daystr0);
|
|
|
|
|
|
|
|
nowYM.setDayStr(daystr1);
|
|
|
|
|
|
|
|
//生产打开
|
|
|
|
|
|
|
|
qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface);
|
|
|
|
|
|
|
|
if (noOkNum == null) {
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> dataBar0 = new ArrayList<>();//不合规数量
|
|
|
|
|
|
|
|
List<String> dataLine0 = new ArrayList<>();//不合格率
|
|
|
|
|
|
|
|
for (String day0 : daystr0) {
|
|
|
|
|
|
|
|
QcInterface last = noOkNum.get(day0);
|
|
|
|
|
|
|
|
if (last != null&& !"0.00".equals(last.getQuality())) {
|
|
|
|
|
|
|
|
dataBar0.add(last.getNoOkQuality());
|
|
|
|
|
|
|
|
BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dataLine0.add(norate0.toString());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
dataBar0.add("0");
|
|
|
|
|
|
|
|
dataLine0.add("0.00");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
lastYM.setDayStr(daystr0);
|
|
|
|
|
|
|
|
nowYM.setDayStr(daystr1);
|
|
|
|
|
|
|
|
//生产打开
|
|
|
|
|
|
|
|
qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'");
|
|
|
|
|
|
|
|
|
|
|
|
List<String> dataBar1 = new ArrayList<>();//不合规数量
|
|
|
|
Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface);
|
|
|
|
List<String> dataLine1 = new ArrayList<>();//不合格率
|
|
|
|
if (noOkNum == null) {
|
|
|
|
for (String day1 : daystr1) {
|
|
|
|
return null;
|
|
|
|
QcInterface now = noOkNum.get(day1);
|
|
|
|
|
|
|
|
if (now != null && !"0.00".equals(now.getQuality())) {
|
|
|
|
|
|
|
|
dataBar1.add(now.getNoOkQuality());
|
|
|
|
|
|
|
|
BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dataLine1.add(norate0.toString());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
dataBar1.add("0");
|
|
|
|
|
|
|
|
dataLine1.add("0.00");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> dataBar0 = new ArrayList<>();//不合规数量
|
|
|
|
|
|
|
|
List<String> dataLine0 = new ArrayList<>();//不合格率
|
|
|
|
|
|
|
|
for (String day0 : daystr0) {
|
|
|
|
|
|
|
|
QcInterface last = noOkNum.get(day0);
|
|
|
|
|
|
|
|
if (last != null&& !"0.00".equals(last.getQuality())) {
|
|
|
|
|
|
|
|
dataBar0.add(last.getNoOkQuality());
|
|
|
|
|
|
|
|
BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dataLine0.add(norate0.toString());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
dataBar0.add("0");
|
|
|
|
|
|
|
|
dataLine0.add("0.00");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> dataBar1 = new ArrayList<>();//不合规数量
|
|
|
|
|
|
|
|
List<String> dataLine1 = new ArrayList<>();//不合格率
|
|
|
|
|
|
|
|
for (String day1 : daystr1) {
|
|
|
|
|
|
|
|
QcInterface now = noOkNum.get(day1);
|
|
|
|
|
|
|
|
if (now != null && !"0.00".equals(now.getQuality())) {
|
|
|
|
|
|
|
|
dataBar1.add(now.getNoOkQuality());
|
|
|
|
|
|
|
|
BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
|
|
|
|
|
|
|
|
.divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
dataLine1.add(norate0.toString());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
dataBar1.add("0");
|
|
|
|
|
|
|
|
dataLine1.add("0.00");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lastYM.setDataBarArrays(dataBar0);
|
|
|
|
|
|
|
|
lastYM.setDataLineArrays(dataLine0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nowYM.setDataBarArrays(dataBar1);
|
|
|
|
|
|
|
|
nowYM.setDataLineArrays(dataLine1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dtos.add(lastYM);
|
|
|
|
|
|
|
|
dtos.add(nowYM);
|
|
|
|
|
|
|
|
}finally {
|
|
|
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// /**质量看板测试开始**/
|
|
|
|
|
|
|
|
// List<String> dataBar0 = new ArrayList<>();//不合规数量
|
|
|
|
|
|
|
|
// List<String> dataLine0 = new ArrayList<>();//不合格率
|
|
|
|
|
|
|
|
// List<String> dataBar1 = new ArrayList<>();//不合规数量
|
|
|
|
|
|
|
|
// List<String> dataLine1 = new ArrayList<>();//不合格率
|
|
|
|
|
|
|
|
// dataBar0.add("4");dataBar0.add("9");dataBar0.add("7");dataBar0.add("13");dataBar0.add("11");dataBar0.add("7");
|
|
|
|
|
|
|
|
// dataBar0.add("8");dataBar0.add("4");dataBar0.add("5");dataBar0.add("2");dataBar0.add("10");dataBar0.add("6");
|
|
|
|
|
|
|
|
// dataBar1.add("3");dataBar1.add("14");dataBar1.add("17");dataBar1.add("3");dataBar1.add("9");dataBar1.add("3");
|
|
|
|
|
|
|
|
// dataBar1.add("8");dataBar1.add("5");dataBar1.add("4");dataBar1.add("2");dataBar1.add("9");dataBar1.add("5");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// dataLine0.add("1");dataLine0.add("2");dataLine0.add("0.5");dataLine0.add("0.9");dataLine0.add("1");dataLine0.add("1.9");
|
|
|
|
|
|
|
|
// dataLine0.add("1.1");dataLine0.add("1");dataLine0.add("0.7");dataLine0.add("0.9");dataLine0.add("1.5");dataLine0.add("1.3");
|
|
|
|
|
|
|
|
// dataLine1.add("0.5");dataLine1.add("1.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("0.7");dataLine1.add("1.9");
|
|
|
|
|
|
|
|
// dataLine1.add("1.4");dataLine1.add("0.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("1.3");dataLine1.add("1.2");
|
|
|
|
|
|
|
|
// /**质量看板测试结束**/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lastYM.setDataBarArrays(dataBar0);
|
|
|
|
|
|
|
|
lastYM.setDataLineArrays(dataLine0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nowYM.setDataBarArrays(dataBar1);
|
|
|
|
|
|
|
|
nowYM.setDataLineArrays(dataLine1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dtos.add(lastYM);
|
|
|
|
|
|
|
|
dtos.add(nowYM);
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
return dtos;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|