From db40d04b8b242c6853f9baa0a8a675d65ecc04f9 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期四, 26 十月 2023 17:23:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 0 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java new file mode 100644 index 0000000..8201368 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java @@ -0,0 +1,151 @@ +package com.consum.base.service; + +import com.consum.base.Constants; +import com.consum.base.core.CodeGeneratorService; +import com.consum.base.pojo.BaseWarehouseParam; +import com.consum.base.util.IdUtil; +import com.consum.model.po.BaseWarehouse; +import com.consum.model.po.FinSysTenant; +import com.consum.model.po.FinSysTenantDepartment; +import com.consum.model.po.FinSysTenantUser; +import com.walker.db.page.GenericPager; +import com.walker.infrastructure.utils.DateUtils; +import com.walker.infrastructure.utils.StringUtils; +import com.walker.jdbc.service.BaseServiceImpl; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * @Description 浠撳簱绠$悊 + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ +@Service +public class BaseWarehouseServiceImpl extends BaseServiceImpl { + + @Autowired + private CodeGeneratorService codeGeneratorService; + @Autowired + private FinSysTenantServiceImpl finSysTenantService; + @Autowired + private FinSysTenantDepartmentServiceImpl departmentService; + @Autowired + private FinSysTenantUserServiceImpl userService; + + /** + * @Description 鏂板 + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public int add(BaseWarehouseParam param) { + BaseWarehouse baseWarehouse = new BaseWarehouse(); + BeanUtils.copyProperties(param, baseWarehouse); + baseWarehouse.setId(IdUtil.generateId()); + baseWarehouse.setWarehouseType(Constants.WAREHOUSE_TYPE_TENANT); + baseWarehouse.setWarehouseCode(codeGeneratorService.createWarehouseCode()); + //鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯 + FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(baseWarehouse.getAgencyId())); + if (finSysTenant != null) { + baseWarehouse.setParentAgencyId(finSysTenant.getParentId()); + baseWarehouse.setAgencyName(finSysTenant.getName()); + } + baseWarehouse.setIsDefault(Constants.IS_DEFAULT_YES); + + return this.insert(baseWarehouse); + } + + /** + * @Description 浠撳簱鍒楄〃鏌ヨ + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param, FinSysTenantUser sysInfo) { + StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 "); + HashMap<String, Object> paramts = new HashMap<>(); + + //浠撳簱鍚嶇О + if (!StringUtils.isEmpty(param.getWarehouseName())) { + sql.append(" and WAREHOUSE_NAME like:WAREHOUSE_NAME "); + paramts.put("WAREHOUSE_NAME", StringUtils.CHAR_PERCENT + param.getWarehouseName() + StringUtils.CHAR_PERCENT); + } + //绫诲瀷 + if (!StringUtils.isEmpty(param.getClassificationCode())) { + sql.append(" and CLASSIFICATION_CODE =:CLASSIFICATION_CODE "); + paramts.put("CLASSIFICATION_CODE", param.getClassificationCode()); + } + //鏈烘瀯id + sql.append(" and AGENCY_ID =:AGENCY_ID "); + if (param.getAgencyId() != null) { + paramts.put("AGENCY_ID", param.getAgencyId()); + } else { + paramts.put("AGENCY_ID", Long.valueOf(sysInfo.getTenantId())); + } + //鐘舵�� + if (param.getStates() != null) { + sql.append(" and states =:states "); + paramts.put("states", param.getStates()); + } else { + sql.append(" and states !=3 "); + } + + sql.append(" ORDER BY states "); + return selectSplit(sql.toString(), paramts, new BaseWarehouse()); + } + + /** + * @Description 缂栬緫(淇敼鐘舵��) + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public int updateBaseWarehouse(BaseWarehouse baseWarehouse) { + return this.update(baseWarehouse); + } + + /** + * 鏍规嵁id鏌ヨ浠撳簱璇︽儏 + * @author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public BaseWarehouse getById(Long id) { + return this.get(new BaseWarehouse(id)); + } + + /** + * @Description 鏍规嵁id鍒犻櫎浠撳簱 + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public int updateById(BaseWarehouse baseWarehouse) { + baseWarehouse.setStates(Constants.STATES_DELETED); + return this.update(baseWarehouse); + } + + /** + * @Description 鏍规嵁浠撳簱id鑾峰彇鏈烘瀯鐢ㄦ埛淇℃伅 + * @Author 鍗㈠簡闃� + * @Date 2023/10/26 + */ + public void queryUserList(Long baseWarehouseId) { + //1.鏍规嵁浠撳簱id鏌ヨ浠撳簱 + BaseWarehouse baseWarehouse = this.getById(baseWarehouseId); + if (baseWarehouse != null) { + Long agencyId = baseWarehouse.getAgencyId(); + String agencyName = baseWarehouse.getAgencyName(); + //2.鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬 + List<FinSysTenantDepartment> list = this.departmentService.getByTenantId(agencyId); + //鑾峰彇閮ㄩ棬id + Set<Long> deptIds = list.stream().map(dept -> dept.getId()).collect(Collectors.toSet()); + //3.鏍规嵁閮ㄩ棬id鏌ヨ鐢ㄦ埛 + //this.userService.getByDeptIds(); + + } + + + } +} -- Gitblit v1.9.1