From 209d9c6f60d96fc29fad0bd2f9dad8fe8424f91f Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期五, 17 十一月 2023 18:10:47 +0800 Subject: [PATCH] 调拨管理 --- consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java | 304 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 206 insertions(+), 98 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java index c13593f..a9be7ec 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java @@ -2,12 +2,18 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; -import com.consum.base.core.utils.MapRowMapper; -import com.consum.base.pojo.LWhFormTransferParam; -import com.consum.base.pojo.LWhProcureModelParams; -import com.consum.base.pojo.LWhProcureModelUserDTO; -import com.consum.base.pojo.query.TransferQryDto; import com.consum.base.core.utils.IdUtil; +import com.consum.base.core.utils.MapRowMapper; +import com.consum.base.core.utils.MapUtils; +import com.consum.base.core.utils.MapperUtil; +import com.consum.base.pojo.LWhFormTransferGoodsInfoParam; +import com.consum.base.pojo.LWhFormTransferParam; +import com.consum.base.pojo.LWhProcureModelUserParam; +import com.consum.base.pojo.LWhTransferModelParam; +import com.consum.base.pojo.query.TransferQry; +import com.consum.base.pojo.response.FormTransferGoodsVO; +import com.consum.base.pojo.response.GoodsModelVO; +import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.model.po.BaseGoodsModels; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenant; @@ -18,9 +24,7 @@ import com.consum.model.po.LWhProcureModel; import com.consum.model.po.LWhProcureModelUser; import com.consum.model.vo.LWhFormOutputVo; -import com.consum.model.vo.LWhFormTransferVo; import com.consum.model.vo.LWhGoodsRecordVo; -import com.consum.model.vo.LWhProcureModelVo; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.DateUtils; @@ -74,7 +78,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/30 */ - public int add(LWhFormTransferParam param, S_user_core currentUser, FinSysTenantUser sysInfo) { + public int add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception { //1.鏂板璋冩嫧鍗曡褰� LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(); //璋冩嫧鍗昳d @@ -82,21 +86,23 @@ lWhFormTransfer.setId(lWhFormTransferId); Integer businessType = param.getTransferBusinessType(); - // 涓氬姟绫诲瀷 璋冩嫧/閮ㄩ棬鍒嗗彂/閮ㄩ棬閫�鍥� 鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� + // 鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� // TODO 鏋氫妇瀛楀吀 lWhFormTransfer.setBusinessType(businessType); lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer)); Long warehouseId = param.getInWarehouseId(); lWhFormTransfer.setInWarehouseId(warehouseId); - //鏍规嵁浠撳簱id鏌ヨ浠撳簱 - BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId); + //鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱 + String tenantId = sysInfo.getTenantId(); + BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId)); if (warehouse == null) { log.error("浠撳簱涓嶅瓨鍦�"); - return 0; + throw new Exception("浠撳簱涓嶅瓨鍦�"); } + lWhFormTransfer.setInWarehouseId(warehouse.getId()); lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName()); - lWhFormTransfer.setInAgencyId(Long.valueOf(sysInfo.getTenantId())); + lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId)); lWhFormTransfer.setInAgencyName(sysInfo.getTenantName()); //鏍规嵁鏈烘瀯id鏌ヨ璋冩嫧鏈烘瀯 FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId())); @@ -126,44 +132,62 @@ } //2.鏂板鐗╁搧鍨嬪彿璁板綍 - List<LWhProcureModelParams> models = param.getModels(); + List<LWhFormTransferGoodsInfoParam> transferGoods = param.getTransferGoods(); List<LWhProcureModel> modelList = new ArrayList<>(); - for (LWhProcureModelParams model : models) { - LWhProcureModel lWhProcureModel = new LWhProcureModel(); - lWhProcureModel.setId(IdUtil.generateId()); - // 鐗╁搧鍨嬪彿涓氬姟绫诲瀷 - lWhProcureModel.setBusinessType(model.getProcureModelBusinessType()); - lWhProcureModel.setBusinessId(lWhFormTransferId); - lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); - lWhProcureModel.setCounts(model.getCounts()); - //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨 - int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), (short) 1, null); - lWhProcureModel.setWorehouseCount(goodsNum); + for (LWhFormTransferGoodsInfoParam transferGoodsInfo : transferGoods) { + for (LWhTransferModelParam model : transferGoodsInfo.getModels()) { + LWhProcureModel lWhProcureModel = new LWhProcureModel(); + lWhProcureModel.setId(IdUtil.generateId()); + // 鐗╁搧鍨嬪彿涓氬姟绫诲瀷 + // 鐗╁搧绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂 + switch (businessType) { + case 0: + lWhProcureModel.setBusinessType(2); + break; + case 1: + lWhProcureModel.setBusinessType(4); + break; + default: + lWhProcureModel.setBusinessType(null); + } + lWhProcureModel.setBusinessId(lWhFormTransferId); + lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); + lWhProcureModel.setCounts(model.getCounts()); + //鏍规嵁鍨嬪彿id鏌ヨ鍨嬪彿 + BaseGoodsModels baseGoodsModels = this.baseGoodsModelsService.get(new BaseGoodsModels(model.getBaseGoodsModelsId())); + if (baseGoodsModels != null) { + lWhProcureModel.setBaseGoodsModelsName(baseGoodsModels.getModelName()); + } + //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨 + int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null); + lWhProcureModel.setWorehouseCount(goodsNum); - //3.褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉 - // 鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂 - if (model.getProcureModelBusinessType() == 4) { - List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList(); - for (LWhProcureModelUserDTO lWhProcureModelUserDTO : model.getLWhProcureModelUserList()) { - LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); - lWhProcureModelUser.setId(IdUtil.generateId()); - lWhProcureModelUser.setTransBusinessId(lWhFormTransferId); - lWhProcureModelUser.setWhProcureModelId(lWhProcureModel.getId()); - lWhProcureModelUser.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); - lWhProcureModelUser.setNowUserName(lWhProcureModelUserDTO.getNowUserName()); - lWhProcureModelUser.setNowUserPhone(lWhProcureModelUserDTO.getNowUserPhone()); - lWhProcureModelUser.setGoodsNum(lWhProcureModelUserDTO.getGoodsNum()); - procureModelUserList.add(lWhProcureModelUser); + //3.褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉 + // 鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂 + //TODO 閮ㄩ棬鍒嗗彂绫诲瀷 + if (businessType == 1) { + List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList(); + for (LWhProcureModelUserParam lWhProcureModelUserParam : model.getProcureModelUserList()) { + LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); + lWhProcureModelUser.setId(IdUtil.generateId()); + lWhProcureModelUser.setTransBusinessId(lWhFormTransferId); + lWhProcureModelUser.setWhProcureModelId(lWhProcureModel.getId()); + lWhProcureModelUser.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); + lWhProcureModelUser.setNowUserName(lWhProcureModelUserParam.getNowUserName()); + lWhProcureModelUser.setNowUserPhone(lWhProcureModelUserParam.getNowUserPhone()); + lWhProcureModelUser.setGoodsNum(lWhProcureModelUserParam.getGoodsNum()); + procureModelUserList.add(lWhProcureModelUser); + } + int procureInsertNum = lWhProcureModelUserService.insert(procureModelUserList); + if (procureInsertNum != procureModelUserList.size()) { + log.error("鏂板鐗╁搧浣跨敤淇℃伅澶辫触"); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return 0; + } } - int procureInsertNum = lWhProcureModelUserService.insert(procureModelUserList); - if (procureInsertNum != procureModelUserList.size()) { - log.error("鏂板鐗╁搧浣跨敤淇℃伅澶辫触"); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return 0; - } + + modelList.add(lWhProcureModel); } - - modelList.add(lWhProcureModel); } int flag2 = this.lWhProcureModelService.insert(modelList); @@ -182,18 +206,18 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/30 */ - public GenericPager<LWhFormTransfer> queryFormTransferList(TransferQryDto param) { + public GenericPager<LWhFormTransfer> queryFormTransferList(TransferQry param) { HashMap<String, Object> paramts = new HashMap<>(); StringBuilder sql = new StringBuilder(QUERY_FORM_TRANSFER_LIST); //璋冩嫧鍗曞彿 if (!StringUtils.isEmpty(param.getBusinessFormCode())) { - sql.append(" and BUSINESS_FORM_CODE like :businessFormCode "); - paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT); + sql.append(" and BUSINESS_FORM_CODE = :businessFormCode "); + paramts.put("businessFormCode", param.getBusinessFormCode()); } //鐗╁搧鍚嶇О if (!StringUtils.isEmpty(param.getGoodsTemplateName())) { sql.append( - " AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)"); + " AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=2 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)"); paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); } //璋冩嫧鏈烘瀯 @@ -226,13 +250,13 @@ paramts.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000); } //鎺ユ敹鏃堕棿 - if (param.getInTimeStart() != null) { + if (param.getStartTime() != null) { sql.append(" and IN_TIME >=:inTimeStart "); - paramts.put("inTimeStart", param.getInTimeStart() * 1000000); + paramts.put("inTimeStart", param.getStartTime() * 1000000); } - if (param.getInTimeEnd() != null) { + if (param.getEndTime() != null) { sql.append(" and IN_TIME <:inTimeEnd "); - paramts.put("inTimeEnd", param.getInTimeEnd() * 1000000 + 240000); + paramts.put("inTimeEnd", param.getEndTime() * 1000000 + 240000); } sql.append(" ORDER BY CREATE_TIME DESC"); @@ -246,15 +270,43 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/30 */ - public LWhFormTransferVo getById(Long id) { - LWhFormTransferVo vo = new LWhFormTransferVo(); + public LWHFromTransferExtendVO getById(Long id) { + LWHFromTransferExtendVO result = new LWHFromTransferExtendVO(); //1.鏌ヨ璋冩嫧鍗� LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id)); if (lWhFormTransfer != null) { - BeanUtils.copyProperties(lWhFormTransfer, vo); + BeanUtils.copyProperties(lWhFormTransfer, result); } - //2.鏌ヨ鐗╁搧鍨嬪彿 -// List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id); + + String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME " + + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id "; + Map<String, Object> paramMap = new HashMap<>(); + paramMap.put("id", result.getId()); + List<Map<String, Object>> procureModelList = lWhFormOutputService.select(sql, paramMap, new MapperUtil()); + List<FormTransferGoodsVO> formTransferGoods = Lists.newArrayList(); + for (Map<String, Object> map : procureModelList) { + FormTransferGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormTransferGoodsVO.class); + + // 鏌ヨ鍨嬪彿鏁伴噺 + List<GoodsModelVO> goodsModelVOList = Lists.newArrayList(); + String sql2 = "SELECT pm.id,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount " + + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + + "WHERE pm.BUSINESS_ID =:id"; + List<Map<String, Object>> modelList = lWhFormOutputService.select(sql2, paramMap, new MapperUtil()); + modelList.forEach(item -> { + GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class); + goodsModelVOList.add(goodsModelVO); + }); + procureTemplateInfoVO.setModels(goodsModelVOList); + formTransferGoods.add(procureTemplateInfoVO); + } + result.setFormTransferGoods(formTransferGoods); + + /*//2.鏌ヨ鐗╁搧鍨嬪彿 + //List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id); List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(null, id); if (!CollectionUtils.isEmpty(models)) { @@ -270,8 +322,8 @@ lWhProcureModelVoList.add(lWhProcureModelVo); } vo.setModels(lWhProcureModelVoList); - } - return vo; + }*/ + return result; } @@ -324,71 +376,127 @@ return this.update(lWhFormTransfer); } - public GenericPager<Map<String, Object>> queryTransferInfo(TransferQryDto transferQryDto) { + public GenericPager<Map<String, Object>> queryTransferInfo(TransferQry transferQry) { HashMap<String, Object> paramts = new HashMap<>(); - StringBuilder sql = new StringBuilder("SELECT\n" - + "\tft.id,\n" - + "\tft.BUSINESS_FORM_CODE businessCode,\n" - + "\tbgt.GOODS_NAME goodsName,\n" - + "\tbgt.CLASSIFICATION goodsType,\n" - + "\tbgm.id goodsModelId,\n" - + "\tbgm.MODEL_NAME goodsModelName,\n" - + "\tpm.COUNTS goodsCount,\n" - + "\tfst.`name` tennatName,\n" - + "\tfstd.NAME departmentName,\n" - + "\tft.OPERATOR_ID distributor,\n" - + "\tft.CREATE_TIME TIME \n" - + "FROM\n" - + "\tl_wh_form_transfer ft\n" - + "\tLEFT JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID\n" - + "\tLEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = pm.BASE_GOODS_MODELS_ID\n" - + "\tLEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID\n" - + "\tLEFT JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID\n" - + "\tLEFT JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID \n" - + "\tLEFT JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where 1=1 "); + StringBuilder sql = new StringBuilder( + "SELECT\n" + "\tft.id,\n" + "\tft.BUSINESS_FORM_CODE businessCode,\n" + "\tbgt.GOODS_NAME goodsName,\n" + "\tbgt.CLASSIFICATION goodsType,\n" + + "\tbgm.id goodsModelId,\n" + "\tbgm.MODEL_NAME goodsModelName,\n" + "\tpm.COUNTS goodsCount,\n" + "\tfst.`name` tennatName,\n" + + "\tfstd.NAME departmentName,\n" + "\tft.OPERATOR_ID distributor,\n" + "\tft.CREATE_TIME TIME \n" + "FROM\n" + "\tl_wh_form_transfer ft\n" + + "\tLEFT JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID\n" + + "\tLEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = pm.BASE_GOODS_MODELS_ID\n" + + "\tLEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID\n" + + "\tLEFT JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID\n" + + "\tLEFT JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID \n" + + "\tLEFT JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where 1=1 "); //鍗曞彿 - if (StringUtils.isNotEmpty(transferQryDto.getBusinessFormCode())) { + if (StringUtils.isNotEmpty(transferQry.getBusinessFormCode())) { sql.append("AND BUSINESS_FORM_CODE like :businessFormCode "); - paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + transferQryDto.getBusinessFormCode() + StringUtils.CHAR_PERCENT); + paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + transferQry.getBusinessFormCode() + StringUtils.CHAR_PERCENT); } //鐗╁搧鍚嶇О - if (StringUtils.isNotEmpty(transferQryDto.getGoodsTemplateName())) { + if (StringUtils.isNotEmpty(transferQry.getGoodsTemplateName())) { sql.append("AND bgt.GOODS_NAME like:goodsName "); - paramts.put("goodsName", StringUtils.CHAR_PERCENT + transferQryDto.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + paramts.put("goodsName", StringUtils.CHAR_PERCENT + transferQry.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); } // 瑙勬牸鍨嬪彿 - if (transferQryDto.getBaseGoodsTemplateId() != null) { + if (transferQry.getBaseGoodsModelsId() != null) { sql.append("AND bgm.id =:goodsModelId "); - paramts.put("goodsModelId", transferQryDto.getBaseGoodsTemplateId()); + paramts.put("goodsModelId", transferQry.getBaseGoodsModelsId()); } //璋冩嫧鏈烘瀯 - if (transferQryDto.getOutAgencyId() != null) { + if (transferQry.getOutAgencyId() != null) { sql.append("AND OUT_AGENCY_ID = :OUT_AGENCY_ID "); - paramts.put("OUT_AGENCY_ID", transferQryDto.getOutAgencyId()); + paramts.put("OUT_AGENCY_ID", transferQry.getOutAgencyId()); } //鍒涘缓浜� - if (StringUtils.isNotEmpty(transferQryDto.getOperatorName())) { + if (StringUtils.isNotEmpty(transferQry.getOperatorName())) { sql.append("AND ft.OPERATOR_NAME =:OPERATOR_NAME "); - paramts.put("OPERATOR_NAME", transferQryDto.getOperatorName()); + paramts.put("OPERATOR_NAME", transferQry.getOperatorName()); } //鐢宠鏃堕棿 - if (transferQryDto.getCreateTimeStart() != null) { + if (transferQry.getCreateTimeStart() != null) { sql.append("AND ft.CREATE_TIME >=:createTimeStart "); - paramts.put("createTimeStart", transferQryDto.getCreateTimeStart() * 1000000); + paramts.put("createTimeStart", transferQry.getCreateTimeStart() * 1000000); } - if (transferQryDto.getCreateTimeEnd() != null) { + if (transferQry.getCreateTimeEnd() != null) { sql.append("AND ft.CREATE_TIME <:createTimeEnd "); - paramts.put("createTimeEnd", transferQryDto.getCreateTimeEnd() * 1000000 + 240000); + paramts.put("createTimeEnd", transferQry.getCreateTimeEnd() * 1000000 + 240000); } sql.append("ORDER BY ft.CREATE_TIME DESC"); - GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), paramts, transferQryDto.getPageNum(), transferQryDto.getPageSize(), + GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), paramts, transferQry.getPageNum(), transferQry.getPageSize(), new MapRowMapper()); return mapGenericPager; } + public GenericPager<Map<String, Object>> queryFormTransferDetailList(TransferQry param) { + + HashMap<String, Object> params = new HashMap<>(); + StringBuilder sql = new StringBuilder("SELECT ft.id,\n" + + " ft.BUSINESS_FORM_CODE,\n" + + " bgt.GOODS_NAME,\n" + + " bgt.CLASSIFICATION,\n" + + " pm.BASE_GOODS_MODELS_NAME,\n" + + " pm.COUNTS,\n" + + " ft.IN_AGENCY_NAME,\n" + + " ft.OPERATOR_NAME,\n" + + " ft.CREATE_TIME,\n" + + " ft.IN_TIME,\n" + + " ft.OUT_AGENCY_NAME,\n" + + " ft.OUT_OPERATOR_NAME,\n" + + " ft.OUTPUT_TIME\n" + + "FROM l_wh_form_transfer ft\n" + + " LEFT JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID\n" + + " LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID\n" + + " LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID where 1=1 "); + if (StringUtils.isNotEmpty(param.getBusinessFormCode())) { + sql.append("AND ft.BUSINESS_FORM_CODE = :businessFormCode "); + params.put("businessFormCode", param.getBusinessFormCode()); + } + if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { + sql.append("AND bgt.GOODS_NAME like :goodsName "); + params.put("goodsName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + } + if (param.getBaseGoodsModelsId() != null) { + sql.append("AND bgm.id = :goodsModelId "); + params.put("goodsModelId", param.getBaseGoodsModelsId()); + } + if (param.getOutAgencyId() != null) { + sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId "); + params.put("outAgencyId", param.getOutAgencyId()); + } + if (param.getOutAgencyId() != null) { + sql.append("AND ft.IN_AGENCY_ID like :inAgencyId "); + params.put("inAgencyId", param.getInAgencyId()); + } + if (StringUtils.isNotEmpty(param.getOperatorName())) { + sql.append("AND ft.OPERATOR_NAME = :operatorName "); + params.put("operatorName", param.getOperatorName()); + } + //鐢宠鍒涘缓鏃堕棿 + if (param.getCreateTimeStart() != null) { + sql.append("AND ft.CREATE_TIME >= :createTimeStart "); + params.put("createTimeStart", param.getCreateTimeStart() * 1000000); + } + if (param.getCreateTimeEnd() != null) { + sql.append("AND ft.CREATE_TIME < :createTimeEnd "); + params.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000); + } + //鎺ユ敹鏃堕棿 + if (param.getStartTime() != null) { + sql.append("AND ft.IN_TIME >= :createTimeStart "); + params.put("createTimeStart", param.getStartTime() * 1000000); + } + if (param.getEndTime() != null) { + sql.append("AND ft.IN_TIME < :createTimeEnd "); + params.put("createTimeEnd", param.getEndTime() * 1000000 + 240000); + } + GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), params, param.getPageNum(), param.getPageSize(), new MapperUtil()); + return mapGenericPager; + + } } -- Gitblit v1.9.1