|  |  |  | 
|---|
|  |  |  | package com.ld.igds.inout.view; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.File; | 
|---|
|  |  |  | import java.net.URLDecoder; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.bstek.bdf2.core.business.IUser; | 
|---|
|  |  |  | import com.bstek.dorado.annotation.DataProvider; | 
|---|
|  |  |  | import com.bstek.dorado.annotation.DataResolver; | 
|---|
|  |  |  | import com.bstek.dorado.annotation.Expose; | 
|---|
|  |  |  | import com.bstek.dorado.data.provider.Page; | 
|---|
|  |  |  | import com.bstek.dorado.uploader.UploadFile; | 
|---|
|  |  |  | import com.bstek.dorado.uploader.annotation.FileResolver; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.ld.igds.file.CoreFileService; | 
|---|
|  |  |  | import com.ld.igds.inout.InoutConstant; | 
|---|
|  |  |  | import com.ld.igds.inout.dto.InoutData; | 
|---|
|  |  |  | import com.ld.igds.inout.dto.InoutParam; | 
|---|
|  |  |  | import com.ld.igds.inout.manager.InoutManager; | 
|---|
|  |  |  | import com.ld.igds.inout.manager.InoutReportManager; | 
|---|
|  |  |  | import com.ld.igds.inout.service.InoutService; | 
|---|
|  |  |  | import com.ld.igds.models.DicTrigger; | 
|---|
|  |  |  | import com.ld.igds.util.ContextUtil; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.ld.igds.util.RedisUtil; | 
|---|
|  |  |  | import org.apache.commons.lang.StringUtils; | 
|---|
|  |  |  | import org.apache.commons.lang.time.DateFormatUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 出入库详单页面管理 | 
|---|
|  |  |  | 
|---|
|  |  |  | @Component | 
|---|
|  |  |  | public class InoutDataPR { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private InoutService inoutService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private InoutReportManager inoutReportManager; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private InoutManager inoutManager; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private CoreFileService fileService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private RedisUtil redisUtil; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ${dorado.getDataProvider("inoutDataPR#triggerRecordStatus1").getResult()} | 
|---|
|  |  |  | @DataProvider | 
|---|
|  |  |  | public List<DicTrigger> triggerRecordStatus1() { | 
|---|
|  |  |  | List<DicTrigger> list = new ArrayList<DicTrigger>(); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.RECORD_STATUS_DEL, "作废单")); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.RECORD_STATUS_NORMAL, "正常单")); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ${dorado.getDataProvider("inoutDataPR#triggerResult").getResult()} | 
|---|
|  |  |  | @DataProvider | 
|---|
|  |  |  | public List<DicTrigger> triggerResult() { | 
|---|
|  |  |  | List<DicTrigger> list = new ArrayList<DicTrigger>(); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.RESULT_1, "合格")); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.RESULT_0, "不合格")); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // ${dorado.getDataProvider("inoutDataPR#triggerSampleType").getResult()} | 
|---|
|  |  |  | @DataProvider | 
|---|
|  |  |  | public List<DicTrigger> triggerSampleType() { | 
|---|
|  |  |  | List<DicTrigger> list = new ArrayList<DicTrigger>(); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_MANUAL, "人工")); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_AUTOMATIC, "自动")); | 
|---|
|  |  |  | list.add(new DicTrigger(InoutConstant.SAMPLE_TYPE_RANDOM, "智能随机")); | 
|---|
|  |  |  | return list; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * inoutDataPR#pageInoutData | 
|---|
|  |  |  | 
|---|
|  |  |  | * @throws Exception | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @DataProvider | 
|---|
|  |  |  | public void pageInoutData(Page<InoutData> page, InoutParam param) | 
|---|
|  |  |  | throws Exception { | 
|---|
|  |  |  | public void pageInoutData(Page<InoutData> page, InoutParam param) throws Exception { | 
|---|
|  |  |  | // 调用核心包中方法,需要做对象转换 | 
|---|
|  |  |  | param.setPage(page.getPageNo()); | 
|---|
|  |  |  | param.setLimit(page.getPageSize()); | 
|---|
|  |  |  | 
|---|
|  |  |  | @Expose | 
|---|
|  |  |  | public InoutData initAddData(String type) { | 
|---|
|  |  |  | IUser user = ContextUtil.getLoginUser(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutData data = new InoutData(); | 
|---|
|  |  |  | data.setCompanyId(user.getCompanyId()); | 
|---|
|  |  |  | data.setRegisterTime(new Date()); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @DataProvider | 
|---|
|  |  |  | public InoutData initDataByHand(String type) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IUser user = ContextUtil.getLoginUser(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | InoutData data = new InoutData(); | 
|---|
|  |  |  | data.setCompanyId(user.getCompanyId()); | 
|---|
|  |  |  | data.setRegisterTime(new Date()); | 
|---|
|  |  |  | data.setCompleteTime(new Date()); | 
|---|
|  |  |  | data.setType(type); | 
|---|
|  |  |  | data.setIntelCard("0000"); | 
|---|
|  |  |  | data.setRegisterUser(user.getCname()); | 
|---|
|  |  |  | data.setDeptId(ContextUtil.subDeptId(user)); | 
|---|
|  |  |  | data.setCheckUser(user.getCname()); | 
|---|
|  |  |  | 
|---|
|  |  |  | return data; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * inoutDataPR#uploadImage | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param file | 
|---|
|  |  |  | * @param parameter | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @FileResolver | 
|---|
|  |  |  | public String uploadImage(UploadFile file, Map<String, Object> parameter) { | 
|---|
|  |  |  | //车牌 | 
|---|
|  |  |  | String plateNum = (String) parameter.get("plateNum"); | 
|---|
|  |  |  | //流程 | 
|---|
|  |  |  | String bizTag = (String) parameter.get("bizTag"); | 
|---|
|  |  |  | String newFileName = null; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String basePath = fileService.getInoutFilePath(new Date()); | 
|---|
|  |  |  | // 获取新的ID | 
|---|
|  |  |  | newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss"); | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(bizTag)){ | 
|---|
|  |  |  | newFileName = bizTag + "_" + newFileName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 文件后缀名 | 
|---|
|  |  |  | String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf(".")); | 
|---|
|  |  |  | // 合成新的文件名 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | newFileName = newFileName + suffixName; | 
|---|
|  |  |  | file.transferTo(new File(basePath + newFileName)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return newFileName; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * inoutDataPR#delImage | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param parameter | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Expose | 
|---|
|  |  |  | public String delImage(Map<String, Object> parameter) throws Exception { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String fileName = (String) parameter.get("fileName"); | 
|---|
|  |  |  | Date createTime = (Date) parameter.get("createTime"); | 
|---|
|  |  |  | if (null == createTime) createTime = new Date(); | 
|---|
|  |  |  | fileName = URLDecoder.decode(fileName, "UTF-8"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | File file = new File(fileService.getInoutFilePath(createTime), fileName); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!file.exists()) { | 
|---|
|  |  |  | return "删除失败,系统未找到当前附件"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | file.delete(); | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|