kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/controller/OpeUseFlowInfoController.java
@@ -5,8 +5,11 @@
import javax.annotation.Resource;
import com.nanometer.smartlab.dao.OpeReagentStatusDao;
import com.nanometer.smartlab.entity.OpeReagentStatus;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.entity.dto.ApplyListDto;
import com.nanometer.smartlab.entity.enumtype.OperateStatus;
import com.nanometer.smartlab.exception.BusinessException;
import com.nanometer.smartlab.service.SysUserService;
import com.nanometer.smartlab.util.FacesUtils;
@@ -39,7 +42,7 @@
   private LazyDataModel<OpeUseFlow> dataModel;
   private String reagentId;
   private Long reagentId;
   private String reagentCode;
   private String houseName;
@@ -51,6 +54,8 @@
   private Hashtable printTable;
   private String containerCode;
   private Integer operatestate;
   public String getHouseName() {
      return houseName;
@@ -71,8 +76,8 @@
   @Resource
   private SysUserService sysUserService;
    @Resource
   private OpeReagentStatusDao opeReagentStatusDao;
   private List<SysReagent> reagentSelectList;
   private OpeUseFlow selectedOne;
@@ -105,10 +110,10 @@
                  Map<String, Object> filters) {
               List<OpeUseFlow> list = null;
               try {
                  int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate);
                  int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate,operatestate);
                  this.setRowCount(count);
                  if (count > 0) {
                     list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate, first, pageSize);
                     list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, containerCode,null, getUserId(),startDate,endDate, first, pageSize,operatestate);
                  }
                  selectedOne = null;
               } catch (Exception e) {
@@ -140,11 +145,22 @@
      return dataModel;
   }
   public String getReagentId() {
   public void export2Excel() {
      List<Map> list = opeUseFlowService.selectAll(houseName,reagentId, reagentCode, containerCode,getUserId(),startDate,endDate);
      try{
         boolean isexport = opeUseFlowService.export2Excel(list);
      }catch (Exception e){
         e.printStackTrace();
         FacesUtils.warn("导出失败");
      }
   }
   public Long getReagentId() {
      return reagentId;
   }
   public void setReagentId(String reagentId) {
   public void setReagentId(Long reagentId) {
      this.reagentId = reagentId;
   }
@@ -163,14 +179,14 @@
      String receiptNumber = ouf.getReceiptNumber();
      String code = ouf.getReagentCode();
      //id:个数
      Map<String, Integer> printInfo = opeUseFlowService.getRegentInfoFromReceiptNumber(receiptNumber);
      Map<Long, Integer> printInfo = opeUseFlowService.getRegentInfoFromReceiptNumber(receiptNumber);
      //无法得到当时的领用单的领用人,试剂状态表没有存入,userId会随时变化
      printTable = null;
      Integer sum = 0;
      printTable = new Hashtable();
      List<ApplyListDto> applyList = new ArrayList<>();
      //获取当时操作状态为领取的人员
      Map<String,String>  info= opeUseFlowService.getApplyUserByReagentCode(code);
      Map<String,Long>  info= opeUseFlowService.getApplyUserByReagentCode(code);
      SysUser applyPersonInfo = sysUserService.getUser(info.get("user_id"));
      printTable.put("head", instituteName);
      printTable.put("title", "领用单");
@@ -181,12 +197,12 @@
      if (StringUtils.isNotBlank(applyPersonInfo.getPhone())){
         printTable.put("phone", applyPersonInfo.getPhone());
      }
      if (StringUtils.isNotBlank(applyPersonInfo.getProject())){
         printTable.put("project", applyPersonInfo.getProject());
      if (applyPersonInfo.getProjectId()!=null){
         printTable.put("project", applyPersonInfo.getProjectId());
      }
      printTable.put("receiptNumber", receiptNumber);
      for (Map.Entry<String, Integer> map  : printInfo.entrySet()) {
      for (Map.Entry<Long, Integer> map  : printInfo.entrySet()) {
         ApplyListDto lis = new ApplyListDto();
         Map reagentDetail = sysReagentService.getReagentDetail(map.getKey());
         lis.setNum(map.getValue().toString()); //数量
@@ -223,7 +239,16 @@
      }
      try {
         String reagentCode = this.selectedOne.getReagentCode();
         String reagentId = this.selectedOne.getReagent().getId();
         if (StringUtils.isBlank(reagentCode)) {
            FacesUtils.warn("试剂条码为空");
            return;
         }
         OpeReagentStatus opeReagentStatusByCode = this.opeReagentStatusDao.getOpeReagentStatusByReagentCode(reagentCode);
         if (opeReagentStatusByCode==null) {
            FacesUtils.warn("试剂条码不存在");
            return;
         }
         Long reagentId = opeReagentStatusByCode.getReagentId();
         opeUseFlowService.scrapReagent(reagentId, reagentCode, getUserId());
         FacesUtils.warn("操作成功");
      } catch (BusinessException e) {
@@ -233,6 +258,10 @@
         FacesUtils.warn("操作失败");
      }
   }
   public List<Map<String,Object>>getOperatestateList(){
      return OperateStatus.getOperateStatusList();
   }
   public void setStartDate(Date startDate) {
@@ -275,4 +304,12 @@
   public void setSelectedOne(OpeUseFlow selectedOne) {
      this.selectedOne = selectedOne;
   }
   public void setOperatestate(Integer operatestate) {
      this.operatestate = operatestate;
   }
   public Integer getOperatestate(){
      return operatestate;
   }
}