| | |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; |
| | | import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.DictUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | |
| | | public int add(QualityInspectDto qualityInspectDto) { |
| | | QualityInspect qualityInspect = new QualityInspect(); |
| | | BeanUtils.copyProperties(qualityInspectDto, qualityInspect); |
| | | validateProcessType(qualityInspect); |
| | | qualityInspect.setInspectState(0);//默认未提交 |
| | | qualityInspectMapper.insert(qualityInspect); |
| | | for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) { |
| | |
| | | } |
| | | QualityInspect qualityInspect = new QualityInspect(); |
| | | BeanUtils.copyProperties(qualityInspectDto, qualityInspect); |
| | | validateProcessType(qualityInspect); |
| | | return qualityInspectMapper.updateById(qualityInspect); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) { |
| | | List<QualityInspect> qualityInspects = qualityInspectMapper.qualityInspectExport(qualityInspect); |
| | | ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class); |
| | | switch (qualityInspect.getInspectType()) { |
| | | case 0: |
| | | util.exportExcel(response, qualityInspects, "原材料检验导出"); |
| | | break; |
| | | case 1: |
| | | util.exportExcel(response, qualityInspects, "过程检验导出"); |
| | | break; |
| | | case 2: |
| | | util.exportExcel(response, qualityInspects, "出厂检验导出"); |
| | | break; |
| | | if (qualityInspects != null && !qualityInspects.isEmpty()) { |
| | | for (QualityInspect inspect : qualityInspects) { |
| | | if (inspect == null || inspect.getProcessType() == null) { |
| | | continue; |
| | | } |
| | | String processLabel = DictUtils.getDictLabel("product_process_type", String.valueOf(inspect.getProcessType())); |
| | | if (StringUtils.isNotEmpty(processLabel)) { |
| | | inspect.setProcess(processLabel); |
| | | } |
| | | } |
| | | } |
| | | |
| | | ExcelUtil<QualityInspect> util = new ExcelUtil<>(QualityInspect.class); |
| | | String sheetName = "检验导出"; |
| | | if (qualityInspect != null && qualityInspect.getInspectType() != null) { |
| | | switch (qualityInspect.getInspectType()) { |
| | | case 0: |
| | | util.hideColumn("customer", "process"); |
| | | sheetName = "原材料检验导出"; |
| | | break; |
| | | case 1: |
| | | util.hideColumn("supplier", "customer"); |
| | | sheetName = "过程检验导出"; |
| | | break; |
| | | case 2: |
| | | util.hideColumn("supplier", "customer", "process"); |
| | | sheetName = "出厂检验导出"; |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | util.exportExcel(response, qualityInspects, sheetName); |
| | | |
| | | } |
| | | |
| | | private void validateProcessType(QualityInspect qualityInspect) { |
| | | if (qualityInspect == null || qualityInspect.getProcessType() == null) { |
| | | return; |
| | | } |
| | | |
| | | String dictType = "product_process_type"; |
| | | String input = String.valueOf(qualityInspect.getProcessType()); |
| | | |
| | | String dictValue = DictUtils.getDictValue(dictType, input); |
| | | if (StringUtils.isNotEmpty(dictValue)) { |
| | | qualityInspect.setProcessType(Integer.valueOf(dictValue)); |
| | | return; |
| | | } |
| | | String dictValues = DictUtils.getDictValues(dictType); |
| | | if (StringUtils.isNotEmpty(dictValues)) { |
| | | List<String> valueList = Arrays.asList(dictValues.split(DictUtils.SEPARATOR)); |
| | | if (valueList.contains(input)) { |
| | | return; |
| | | } |
| | | } |
| | | |
| | | throw new ServiceException("工序类型【" + input + "】不存在,请填写正确的类型:" + DictUtils.getDictLabels(dictType)); |
| | | } |
| | | |
| | | |