| | |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.consum.base.core.CodeGeneratorEnum; |
| | | import com.consum.base.core.CodeGeneratorService; |
| | | import com.consum.base.core.utils.IdUtil; |
| | | import com.consum.base.core.utils.MapperUtil; |
| | | import com.consum.base.pojo.DepFormScrappedGoodsParam; |
| | | import com.consum.base.pojo.DepFormScrappedModelParam; |
| | | import com.consum.base.pojo.LDeptFormScrappedParam; |
| | | import com.consum.base.pojo.query.LDeptFormScrappedQry; |
| | | import com.consum.base.pojo.response.DepFormScrappedExtendVo; |
| | | import com.consum.model.po.*; |
| | | import com.consum.model.po.BaseCategory; |
| | | import com.consum.model.po.DepFormScrapped; |
| | | import com.consum.model.po.DepFormScrappedGoods; |
| | | import com.consum.model.po.DepFormScrappedModel; |
| | | import com.consum.model.po.FinSysTenantDepartment; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | | import com.consum.model.po.SDictData; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.iplatform.model.po.S_user_core; |
| | | import com.walker.db.page.GenericPager; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.infrastructure.utils.NumberGenerator; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import com.walker.web.ResponseValue; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | /** |
| | | * @ClassName DepFormScrappedServiceImpl |
| | |
| | | @Resource |
| | | private CodeGeneratorService codeGeneratorService; |
| | | @Resource |
| | | private FinSysTenantDepartmentServiceImpl departmentService; |
| | | private FinSysTenantDepartmentService departmentService; |
| | | @Resource |
| | | private LWhFormTransferServiceImpl lWhFormTransferService; |
| | | private LWhFormTransferService lWhFormTransferService; |
| | | @Resource |
| | | private BaseCategoryServiceImpl baseCategoryService; |
| | | private BaseCategoryService baseCategoryService; |
| | | @Resource |
| | | private SDictDataServiceImpl sDictDataService; |
| | | @Resource |
| | |
| | | //1.新增报废单记录 |
| | | DepFormScrapped lDeptFormScrapped = new DepFormScrapped(); |
| | | //报废单id |
| | | long lWhFormScrappedId = NumberGenerator.getLongSequenceNumber(); |
| | | long lWhFormScrappedId = IdUtil.generateId(); |
| | | lDeptFormScrapped.setId(lWhFormScrappedId); |
| | | lDeptFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped)); |
| | | lDeptFormScrapped.setProcureDoc(param.getProcureDoc()); |
| | |
| | | lDeptFormScrapped.setDepartmentName(department.getName()); |
| | | } |
| | | |
| | | |
| | | lDeptFormScrapped.setCreateTime(dealTime); |
| | | lDeptFormScrapped.setStates(1); |
| | | |
| | |
| | | |
| | | for (DepFormScrappedGoodsParam depFormScrappedGoodsParam : scrappedGoodsInfo) { |
| | | DepFormScrappedGoods depFormScrappedGoods = new DepFormScrappedGoods(); |
| | | depFormScrappedGoods.setId(NumberGenerator.getLongSequenceNumber()); |
| | | depFormScrappedGoods.setId(IdUtil.generateId()); |
| | | depFormScrappedGoods.setDepFormScrappedId(lWhFormScrappedId); |
| | | depFormScrappedGoods.setBaseGoodsTemplateId(depFormScrappedGoodsParam.getBaseGoodsTemplateId()); |
| | | depFormScrappedGoods.setBaseGoodsTemplateName(depFormScrappedGoodsParam.getGoodsTemplateName()); |
| | |
| | | |
| | | for (DepFormScrappedModelParam depFormScrappedModelParam : modelList) { |
| | | DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); |
| | | depFormScrappedModel.setId(NumberGenerator.getLongSequenceNumber()); |
| | | depFormScrappedModel.setId(IdUtil.generateId()); |
| | | depFormScrappedModel.setDepFormScrappedId(lWhFormScrappedId); |
| | | depFormScrappedModel.setDepFormScrappedGoodsId(depFormScrappedGoods.getId()); |
| | | //报废原因 |
| | |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | } |
| | | //机构 |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | //物品名称 |
| | |
| | | |
| | | //2.查询报废单物品 |
| | | DepFormScrappedGoods goodsQuery = new DepFormScrappedGoods(); |
| | | goodsQuery.setDepFormScrappedId(id); |
| | | List<DepFormScrappedGoods> formScrappedGoodsList = select(goodsQuery); |
| | | List<Map> goodsList = new ArrayList<>(); |
| | | for (DepFormScrappedGoods scrappedGoods : formScrappedGoodsList) { |
| | |
| | | DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); |
| | | depFormScrappedModel.setDepFormScrappedGoodsId(scrappedGoodsId); |
| | | List<DepFormScrappedModel> scrappedModelList = select(depFormScrappedModel); |
| | | scrappedGoodsMap.put("models", scrappedModelList); |
| | | List<List<DepFormScrappedModel>> modelList = scrappedModelList.stream() |
| | | .collect(Collectors.groupingBy(DepFormScrappedModel::getBaseGoodsModelsId)) |
| | | .values().stream() |
| | | .map(list -> list.stream().collect(Collectors.toList())) |
| | | .collect(Collectors.toList()); |
| | | |
| | | scrappedGoodsMap.put("models", modelList); |
| | | goodsList.add(scrappedGoodsMap); |
| | | } |
| | | scrappedExtend.setGoods(goodsList); |
| | | return scrappedExtend; |
| | | } |
| | | |
| | | private static String EXPORT_SQL = "SELECT scrap.BUSINESS_FORM_CODE,scrap.DEAL_TIME,scrap.OPERATOR_NAME,scrap.AGENCY_NAME,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,scrap.OUT_WAREHOUSE_NAME,model.COUNTS,2 AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; |
| | | private static String EXPORT_SQL_END = "order by scrap.BUSINESS_FORM_CODE desc "; |
| | | private static String EXPORT_SQL = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,model.COUNTS,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,scrap.OUT_WAREHOUSE_NAME,2 AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; |
| | | private static String EXPORT_SQL_END = "order by scrap.DEAL_TIME DESC"; |
| | | |
| | | public List<Map<String, Object>> export(Long id, String agencyId) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | |
| | | } |
| | | return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); |
| | | } |
| | | |
| | | public List<Map<String, Object>> listByModel(LDeptFormScrappedQry param) { |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(EXPORT_SQL); |
| | | //报废单id |
| | | if (param.getId() != null) { |
| | | sql.append(" and scrap.id = :id"); |
| | | paramts.put("id", param.getId()); |
| | | } |
| | | //报废单号 |
| | | if (param.getBusinessFormCode() != null) { |
| | | sql.append(" and scrap.BUSINESS_FORM_CODE= :businessFormCode"); |
| | | paramts.put("businessFormCode", param.getBusinessFormCode()); |
| | | } |
| | | //物品名称 |
| | | if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) { |
| | | sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); |
| | | paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //规格型号 |
| | | if (param.getBaseGoodsModelsId() != null) { |
| | | sql.append("and model.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); |
| | | paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); |
| | | } |
| | | |
| | | //机构 |
| | | if (param.getAgencyId() != null) { |
| | | sql.append(" and scrap.AGENCY_ID = :agencyId "); |
| | | paramts.put("agencyId", param.getAgencyId()); |
| | | } |
| | | // 部门 此处按的是物品使用部门 而不是 操作人所在部门 |
| | | if (param.getDepartmentId() != null) { |
| | | sql.append(" and scrap.OUT_WAREHOUSE_ID= :departmentId"); |
| | | paramts.put("departmentId", param.getDepartmentId()); |
| | | } |
| | | //创建人 |
| | | if (!StringUtils.isEmpty(param.getOperatorName())) { |
| | | sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); |
| | | paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | //报废时间 |
| | | if (param.getStartTime() != null) { |
| | | sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); |
| | | paramts.put("dealTimeStart", param.getStartTime() * 1000000); |
| | | } |
| | | if (param.getEndTime() != null) { |
| | | sql.append(" and scrap.DEAL_TIME <:dealTimeEnd "); |
| | | paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); |
| | | } |
| | | return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); |
| | | } |
| | | } |