4个文件已添加
17个文件已修改
405 ■■■■ 已修改文件
admin-web/src/api/baseSetting/finsystenant.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/foundation/store/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/org/edit.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/server/user/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/systemManger/server/user/items.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/type/TransferStatesType.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/excel/ImportProcureOrderTemplate.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/excel/ImportTenantTemplate.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/FinSysTenantService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
deploy-jar-single/src/main/resources/import/采购导入.xls 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/baseSetting/finsystenant.js
@@ -163,3 +163,21 @@
    params,
  });
}
// æœºæž„新增
export function addTenant(data) {
  return request({
    url: '/pc/fin/sys/tenant/add',
    method: 'post',
    data: data
  });
}
// æœºæž„编辑
export function editTenant(data) {
  return request({
    url: '/pc/fin/sys/tenant/edit',
    method: 'post',
    data: data
  });
}
admin-web/src/views/foundation/store/index.vue
@@ -137,7 +137,7 @@
          {title: '编号', field: 'warehouseCode', align: 'center', width: 120},
          {title: '类型', field: 'classificationName', align: 'center', width: 120 },
          {title: '地址', field: 'adress', align: 'left', minWidth: 140 },
          // {title: '所属机构', field: 'summary', align: 'left',},
          {title: '所属机构', field: 'agencyName', align: 'left',minWidth: 140 },
          {
            field: 'states',
            title: '状态',
admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -223,7 +223,7 @@
        dialogShow: false,
        fileSettings: {
          data: {},
          uploadUrl: getBaseUrl() + '/pc/fin/sys/tenant/import', // ä¸Šä¼ åœ°å€
          uploadUrl: getBaseUrl() + '/pc/whForm/procure/import', // ä¸Šä¼ åœ°å€
          accept: '.xls', // æ ¼å¼
          type: 'text', // å›žæ˜¾å½¢å¼
          loading: false, // å¯¼å…¥æ•ˆæžœ
@@ -231,7 +231,7 @@
        /* æ¨¡æ¿ä¸‹è½½ */
        templateSettings: {
          templateName: '导入模板.xls', // åç§°
          templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate', // ä¸‹è½½åœ°å€
          templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate?type=procure', // ä¸‹è½½åœ°å€
        },
        onSuccess: null,
      },
admin-web/src/views/systemManger/org/edit.vue
@@ -34,6 +34,7 @@
import winSm from '@/components/win/win-sm'
import myButton from '@/components/myButton/myButton'
import * as finsystenant from '@/api/baseSetting/finsystenant'
import {addTenant, editTenant} from "@/api/baseSetting/finsystenant";
export default {
  components: {winSm, myButton},
@@ -53,6 +54,7 @@
        name: '',
        status: 1,
        summary: '',
        parentId: '',
      },
      rules: {
        code: [
@@ -82,7 +84,7 @@
          const params = Object.assign({}, this.formData)
          if(this.setting.id){
            // ç¼–辑接口
            finsystenant.edit(params).then(res => {
            finsystenant.editTenant(params).then(res => {
              if (res) {
                this.$message.success('保存成功!')
                this.close()
@@ -92,8 +94,8 @@
              }
            })
          }else{
            params.orgId = this.setting.orgId
            finsystenant.add(params).then(res => {
            params.parentId = this.setting.orgId
            finsystenant.addTenant(params).then(res => {
              if (res) {
                this.$message.success('保存成功!')
                this.close()
admin-web/src/views/systemManger/server/user/index.vue
@@ -58,9 +58,8 @@
      // æœç´¢æ¡ä»¶
      filterFrom: {
        tenantCode: 0,
        trnantId: 0,
        userName: null,
        userPhone: null,
        userCode: null,
      },
      curOrgId: null,
      // æ·»åŠ &编辑设置
@@ -292,7 +291,7 @@
    reset() {
      this.filterFrom.tenantCode = null;
      this.filterFrom.userName = null;
      this.filterFrom.userPhone = null;
      this.filterFrom.userCode = null;
      this.filterFrom.status = 1;
      this.search(1);
    },
admin-web/src/views/systemManger/server/user/items.js
@@ -8,7 +8,7 @@
  },
  {
    type: 'text',
    dataIndex: 'userPhone',
    dataIndex: 'userCode',
    label: '编号',
    placeholder: "请输入",
    defaultValue: ''
consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
@@ -177,7 +177,7 @@
        if (agencyId == null) {
            return ResponseValue.success(new ArrayList<>());
        }
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, null);
        List<BaseWarehouse> list = baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue());
        if (list == null) {
            return ResponseValue.error("查询失败!");
        }
consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
@@ -32,11 +32,13 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.alibaba.excel.read.metadata.holder.ReadSheetHolder;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.FinSysTenantUtils;
import com.consum.base.pojo.FinSysTenantParam;
import com.consum.base.pojo.FinSysTenantSearchParam;
import com.consum.base.pojo.excel.ImportTenantTemplate;
import com.consum.base.service.FinSysTenantService;
import com.consum.base.service.FinSysTenantUserService;
import com.consum.model.po.FinSysTenant;
@@ -404,6 +406,8 @@
            fileName = "机构导入模板.xls";
        } else if ("goods".equals(type)) {
            fileName = "物品信息.xls";
        } else if ("procure".equals(type)) {
            fileName = "采购导入.xls";
        }
        Resource resource = new ClassPathResource("import/" + fileName);
        // èŽ·å–æ–‡ä»¶è¾“å…¥æµ
@@ -422,7 +426,7 @@
    @PostMapping("import")
    public ResponseValue upload(@RequestParam Long pid, MultipartFile file) throws IOException {
        String originalFilename = file.getOriginalFilename();
        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) {
        if (!originalFilename.endsWith("xls")) {
            return ResponseValue.error("文件格式有误!");
        }
        FinSysTenantUser sysInfo = this.getSysInfo();
@@ -435,55 +439,62 @@
            return ResponseValue.error("不能创建县(区)级以下机构");
        }
        EasyExcel.read(file.getInputStream(), FinSysTenantParam.class, new AnalysisEventListener<FinSysTenantParam>() {
            LinkedList<FinSysTenantParam> finSysTenantParams = new LinkedList<>();
        EasyExcel
            .read(file.getInputStream(), ImportTenantTemplate.class, new AnalysisEventListener<ImportTenantTemplate>() {
                LinkedList<FinSysTenantParam> finSysTenantParams = new LinkedList<>();
            @Override
            public void invoke(FinSysTenantParam finSysTenantParam, AnalysisContext analysisContext) {
                if (StringUtils.isEmpty(finSysTenantParam.getCode()) || finSysTenantParam.getCode().length() > 20) {
                    IllegalStateException exception = new IllegalStateException(
                        "第" + analysisContext.readSheetHolder().getRowIndex() + "行,机构编号不能为空或长度大于20");
                    throw exception;
                }
                if (null != finSysTenantService.queryOneByCode(finSysTenantParam.getCode())) {
                    throw new IllegalStateException(
                        "第" + analysisContext.readSheetHolder().getRowIndex() + "行,机构编号已存在");
                }
                if (StringUtils.isEmpty(finSysTenantParam.getName()) || finSysTenantParam.getName().length() > 100) {
                    IllegalStateException exception = new IllegalStateException(
                        "第" + analysisContext.readSheetHolder().getRowIndex() + "行,机构名称不能为空或长度大于100");
                    throw exception;
                }
                finSysTenantParam.setParentId(pid);
                finSysTenantParam.setStatus(1);
                finSysTenantParam.setSummary("系统导入");
                finSysTenantParams.add(finSysTenantParam);
            }
            @Override
            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                finSysTenantService.insertFinSysTenantBatch(finSysTenantParams, sysInfo, lv);
            }
            @Override
            public void onException(Exception exception, AnalysisContext context) {
                // å¦‚果是某一个单元格的转换异常 èƒ½èŽ·å–åˆ°å…·ä½“è¡Œå·
                if (exception instanceof ExcelDataConvertException) {
                    ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
                    logger.error("第{}行,第{}列解析异常,数据为:{}", excelDataConvertException.getRowIndex(),
                        excelDataConvertException.getColumnIndex() + 1,
                        excelDataConvertException.getCellData().getStringValue());
                    throw new IllegalStateException("第" + (excelDataConvertException.getRowIndex() + 1) + "行,第"
                        + (excelDataConvertException.getColumnIndex() + 1) + "列解析异常,异常数据为:[ "
                        + excelDataConvertException.getCellData().getStringValue() + " ]");
                }
                if (exception instanceof IllegalStateException) {
                    throw (IllegalStateException)exception;
                @Override
                public void invoke(ImportTenantTemplate finSysTenantParam, AnalysisContext analysisContext) {
                    String code = finSysTenantParam.getCode();
                    String tenantName = finSysTenantParam.getTenantName();
                    ReadSheetHolder readSheetHolder = analysisContext.readSheetHolder();
                    Integer rowIndex = readSheetHolder.getRowIndex() + 1;
                    if (StringUtils.isEmpty(code) || code.length() > 20) {
                        IllegalStateException exception =
                            new IllegalStateException("第" + rowIndex + "行,机构编号不能为空或长度大于20");
                        throw exception;
                    }
                    if (null != finSysTenantService.queryOneByCode(code)) {
                        throw new IllegalStateException("第" + rowIndex + "行,机构编号已存在");
                    }
                    if (StringUtils.isEmpty(tenantName) || tenantName.length() > 100) {
                        IllegalStateException exception =
                            new IllegalStateException("第" + rowIndex + "行,机构名称不能为空或长度大于100");
                        throw exception;
                    }
                    FinSysTenantParam tenantParam = new FinSysTenantParam();
                    tenantParam.setParentId(pid);
                    tenantParam.setStatus(1);
                    tenantParam.setSummary("系统导入");
                    tenantParam.setCode(code);
                    tenantParam.setName(tenantName);
                    finSysTenantParams.add(tenantParam);
                }
            }
                @Override
                public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                    finSysTenantService.insertFinSysTenantBatch(finSysTenantParams, sysInfo, lv);
                }
        }).doReadAll();
                @Override
                public void onException(Exception exception, AnalysisContext context) {
                    // å¦‚果是某一个单元格的转换异常 èƒ½èŽ·å–åˆ°å…·ä½“è¡Œå·
                    if (exception instanceof ExcelDataConvertException) {
                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
                        Integer rowIndex = excelDataConvertException.getRowIndex() + 1;
                        Integer columnIndex = excelDataConvertException.getColumnIndex();
                        String stringValue = excelDataConvertException.getCellData().getStringValue();
                        logger.error("第{}行,第{}列解析异常,数据为:{}", rowIndex, columnIndex, stringValue);
                        throw new IllegalStateException(
                            "第" + rowIndex + "行,第" + columnIndex + "列解析异常,异常数据为:[ " + stringValue + " ]");
                    }
                    if (exception instanceof IllegalStateException) {
                        throw (IllegalStateException)exception;
                    }
                }
            }).doReadAll();
        return ResponseValue.success("导入成功!", 1);
    }
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -10,6 +10,7 @@
import org.springframework.web.bind.annotation.RestController;
import com.consum.base.BaseController;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.FinSysTenantDepartmentParam;
import com.consum.base.service.FinSysTenantDepartmentService;
@@ -109,6 +110,7 @@
        }
        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
        finSysTenantDepartment.setTenantId(tenantId);
        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
        List<FinSysTenantDepartment> finSysTenantDepartments = this.departmentService.select(finSysTenantDepartment);
        return ResponseValue.success(finSysTenantDepartments);
    }
consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
@@ -27,6 +27,7 @@
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.consum.base.BaseController;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.core.utils.PageUtil;
@@ -496,7 +497,7 @@
        finSysTenantUser.setStatus(user.getStatus());
        finSysTenantUserService.update(finSysTenantUser);
        // 2.更新平台用户 S_USER_CORE
        S_user_core userCore = buildUpdateUserCore(tenantUser);
        S_user_core userCore = buildUpdateUserCore(finSysTenantUser);
        this.userService.update(userCore);
        return ResponseValue.success(1);
    }
@@ -818,6 +819,8 @@
        // éƒ¨é—¨
        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
        finSysTenantDepartment.setTenantId(agencyId);
        finSysTenantDepartment.setStatus(StatesType.NORMAL.getValue());
        finSysTenantDepartment.setIsDelete(0);
        List<FinSysTenantDepartment> tenantDepartmentList =
            finSysTenantDepartmentService.select(finSysTenantDepartment);
        List<DepartmentVO> departmentVOList = Lists.newArrayList();
@@ -829,8 +832,8 @@
            departmentVO.setName(department.getName());
            departmentVO.setType("department");
            String sql = "SELECT SYS_USER_ID,USER_NAME FROM " + "fin_sys_tenant_user "
                + "WHERE SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)";
            String sql = "SELECT SYS_USER_ID,USER_NAME FROM fin_sys_tenant_user "
                + "WHERE STATUS =1 and SYS_DEPT_ID =:deptId AND SYS_USER_ID NOT IN(SELECT MANAGER_ID FROM base_warehouse_manager)";
            Map<String, Object> param = new HashMap<>();
            param.put("deptId", id);
            List<Map<String, Object>> select = finSysTenantUserService.select(sql, param, new MapperUtil());
consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
@@ -1,5 +1,6 @@
package com.consum.base.controller;
import java.io.IOException;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
@@ -18,13 +19,19 @@
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.PageUtil;
import com.consum.base.pojo.LWhFormProcureGoodsInfoParam;
import com.consum.base.pojo.LWhFormProcureParam;
import com.consum.base.pojo.dto.GoodModelInfoDTO;
import com.consum.base.pojo.excel.ImportProcureOrderTemplate;
import com.consum.base.pojo.excel.ProcureExcelTemplate;
import com.consum.base.pojo.query.FormProcureQry;
import com.consum.base.pojo.response.FormProcureVO;
@@ -32,10 +39,12 @@
import com.consum.base.pojo.response.GoodsTemplateCountVO;
import com.consum.base.pojo.response.GoodsTemplateInfoVO;
import com.consum.base.pojo.response.LWhFormProcureExtendVO;
import com.consum.base.service.BaseCategoryService;
import com.consum.base.service.LWhFormProcureGoodsService;
import com.consum.base.service.LWhFormProcureService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.base.service.impl.LWhFormProcureCoreService;
import com.consum.model.po.BaseCategory;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormProcure;
import com.consum.model.po.LWhFormProcureGoods;
@@ -72,6 +81,8 @@
    private LWhFormProcureCoreService lWhFormProcureCoreService;
    @Resource
    private LWhProcureModelService lWhProcureModelService;
    @Resource
    private BaseCategoryService baseCategoryService;
    /**
     * @Description æ–°å¢ž
@@ -322,4 +333,89 @@
        return ResponseValue.success("导出成功", filePath);
    }
    @ApiOperation(value = "采购单导入", notes = "采购单导入")
    @PostMapping("/import")
    public ResponseValue upload(MultipartFile file) throws IOException {
        String originalFilename = file.getOriginalFilename();
        if (!originalFilename.endsWith(".xls")) {
            return ResponseValue.error("文件格式有误!");
        }
        FinSysTenantUser sysInfo = this.getSysInfo();
        if (sysInfo == null) {
            return ResponseValue.error("当前登录用户为空");
        }
        EasyExcel.read(file.getInputStream(), ImportProcureOrderTemplate.class,
            new AnalysisEventListener<ImportProcureOrderTemplate>() {
                List<LWhFormProcureParam> list = Lists.newArrayList();
                @Override
                public void invoke(ImportProcureOrderTemplate data, AnalysisContext analysisContext) {
                    String categoryOne = data.getCategoryOne();
                    String categoryTwo = data.getCategoryTwo();
                    String categoryThree = data.getCategoryThree();
                    String goodsName = data.getGoodsName();
                    String goodModelName = data.getGoodModelName();
                    String unit = data.getUnit();
                    String type = data.getType();
                    String agencyName = data.getAgencyName();
                    String warehouseName = data.getWarehouseName();
                    String supplierName = data.getSupplierName();
                    String price = data.getPrice();
                    String num = data.getNum();
                    BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree);
                    Long categoryId = baseCategory.getId();
                    // Optional<BaseGoodsTemplateParam> optional =
                    // list.stream().filter(item -> item.getCategoryId().equals(categoryId)).findFirst();
                    //
                    // if (optional.isPresent()) {
                    // BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
                    // baseGoodsModels.setModelName(goodModelName);
                    // baseGoodsModels.setUnit(unit);
                    // optional.get().getModels().add(baseGoodsModels);
                    // } else {
                    // BaseGoodsTemplateParam baseGoodsTemplate = new BaseGoodsTemplateParam();
                    // baseGoodsTemplate.setCategoryId(categoryId);
                    // baseGoodsTemplate.setGoodsName(goodsName);
                    // baseGoodsTemplate.setStates(1);
                    // FinSysTenant finSysTenant = finSysTenantService.selectByName(agencyName);
                    // baseGoodsTemplate.setAgencyId(finSysTenant.getId());
                    // baseGoodsTemplate.setAgencyName(agencyName);
                    //
                    // List<BaseGoodsModels> models = new ArrayList<>();
                    // BaseGoodsModels baseGoodsModels = new BaseGoodsModels();
                    // baseGoodsModels.setModelName(goodModelName);
                    // baseGoodsModels.setUnit(unit);
                    // models.add(baseGoodsModels);
                    // baseGoodsTemplate.setModels(models);
                    //
                    // list.add(baseGoodsTemplate);
                    // }
                }
                @Override
                public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                    for (LWhFormProcureParam procureParam : list) {
                        // lWhFormProcureService.add(procureParam, null);
                    }
                }
                @Override
                public void onException(Exception exception, AnalysisContext analysisContext) throws Exception {
                    if (exception instanceof ExcelDataConvertException) {
                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
                        Integer row = excelDataConvertException.getRowIndex() + 1;
                        Integer column = excelDataConvertException.getColumnIndex() + 1;
                        throw new RuntimeException("第" + row + "行,第" + column + "列解析异常,请正确填写");
                    } else {
                        throw new RuntimeException(exception.getMessage());
                    }
                }
            }).sheet(0).doRead();
        return ResponseValue.success("导入成功!");
    }
}
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -25,6 +25,7 @@
import com.consum.base.BaseController;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.type.TransferStatesType;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.pojo.GoodsUseRecordVO;
@@ -236,6 +237,8 @@
        if (sysInfo == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        String tenantId = sysInfo.getTenantId();
        param.setInAgencyId(Long.valueOf(tenantId));
        GenericPager<Map<String, Object>> mapGenericPager = lWhFormTransferService.queryFormTransferDetailList(param);
        return ResponseValue.success(mapGenericPager);
@@ -254,6 +257,10 @@
        if (id == null) {
            return ResponseValue.error("参数错误");
        }
        LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(id);
        if (lWhFormTransfer.getStates() != TransferStatesType.OUT_PENDING.getValue()) {
            return ResponseValue.error("状态错误,不能撤销");
        }
        int num = this.lWhFormTransferService.updateStatus(id);
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("修改失败!");
consum-base/src/main/java/com/consum/base/core/type/TransferStatesType.java
New file
@@ -0,0 +1,52 @@
package com.consum.base.core.type;
/**
 * fff
 *
 * @author asus
 * @version 2023/12/21 15:10
 **/
public enum TransferStatesType {
    /**
     * å¾…出库
     */
    OUT_PENDING(0, "待出库"),
    /**
     * å¾…接收
     */
    RECEIVE_ING(1, "待接收"),
    /**
     * å·²å…¥åº“
     */
    SUCCESS(2, "已入库"),
    /**
     * å·²æ’¤é”€
     */
    CANCEL(4, "已撤销");
    private Integer value;
    private String desc;
    TransferStatesType(Integer value, String desc) {
        this.value = value;
        this.desc = desc;
    }
    public Integer getValue() {
        return value;
    }
    public void setValue(Integer value) {
        this.value = value;
    }
    public String getDesc() {
        return desc;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    }
}
consum-base/src/main/java/com/consum/base/pojo/excel/ImportProcureOrderTemplate.java
New file
@@ -0,0 +1,40 @@
package com.consum.base.pojo.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
 * @author asus
 * @version 1.0
 * @description: é‡‡è´­å•导入
 * @date 2023/12/21 16:51
 */
@Data
public class ImportProcureOrderTemplate {
    @ExcelProperty("入库机构")
    private String agencyName;
    @ExcelProperty("入库仓库")
    private String warehouseName;
    @ExcelProperty("采购类型")
    private String type;
    @ExcelProperty("物品一级分类")
    private String categoryOne;
    @ExcelProperty("物品二级分类")
    private String categoryTwo;
    @ExcelProperty("物品三级分类")
    private String categoryThree;
    @ExcelProperty("物品名称")
    private String goodsName;
    @ExcelProperty("规格型号")
    private String goodModelName;
    @ExcelProperty("供货商")
    private String supplierName;
    @ExcelProperty("数量单位")
    private String unit;
    @ExcelProperty("单价(元)")
    private String price;
    @ExcelProperty("入库数量")
    private String num;
}
consum-base/src/main/java/com/consum/base/pojo/excel/ImportTenantTemplate.java
New file
@@ -0,0 +1,20 @@
package com.consum.base.pojo.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
 * @author asus
 * @version 1.0
 * @description: æœºæž„导入模板
 * @date 2023/12/21 13:27
 */
@Data
public class ImportTenantTemplate {
    @ExcelProperty("机构编号")
    private String code;
    @ExcelProperty("机构名称")
    private String tenantName;
}
consum-base/src/main/java/com/consum/base/service/FinSysTenantService.java
@@ -27,8 +27,6 @@
    int addFinSysTenant(FinSysTenantParam param, FinSysTenantUser sysInfo, int lv);
    void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv);
    void insertFinSysTenantBatch(List<FinSysTenantParam> params, FinSysTenantUser sysInfo, int lv);
    int updateFinSysTenant(FinSysTenant finSysTenant, FinSysTenantUser sysInfo);
consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java
@@ -17,6 +17,8 @@
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import cn.hutool.core.date.DateUtil;
@Service
public class FinSysTenantServiceImpl extends BaseServiceImpl implements FinSysTenantService {
@@ -129,7 +131,7 @@
        List<Map<String, Object>> list = this.select(sql.toString(), paramts);
        long id = 0L;
        if (!CollectionUtils.isEmpty(list) && list.get(0).get("max(id)") != null) {
        if (!CollectionUtils.isEmpty(list)) {
            id = (Long)list.get(0).get("max(id)") + 1;
        } else {
            id = param.getParentId() * 1000 + 1;
@@ -142,7 +144,7 @@
        finSysTenant.setCode(param.getCode());
        // è®¾ç½®è¯¦ç»†åœ°å€åŠç»çº¬åº¦
        finSysTenant.setName(param.getName());
        finSysTenant.setCreateTime3(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
        finSysTenant.setCreateTime3(DateUtil.date());
        finSysTenant.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        finSysTenant.setSummary(param.getSummary());
        finSysTenant.setCreateBy(sysInfo.getUserName());
@@ -159,7 +161,6 @@
     * @author å¢åº†é˜³
     * @date 2023/10/4
     */
    @Override
    public void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv) {
        if (lv == 2) { // æ–°å¢žå¸‚级机构
            // æŸ¥è¯¢ä¸Šä¸€çº§ - çœçº§
@@ -237,7 +238,7 @@
        } else {
            finSysTenant.setLv3Name(finSysTenant.getName());
        }
        finSysTenant.setModified(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
        finSysTenant.setModified(DateUtil.date());
        finSysTenant.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        finSysTenant.setUpdateBy(sysInfo.getUserName());
        return this.update(finSysTenant);
consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantUserServiceImpl.java
@@ -29,7 +29,7 @@
    private static final String SQL_GET_USER =
        "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?";
    private static final String SQL_QH_PAGE_USER_PREFIX =
        "select fstu.id,fstu.USER_CODE,fstu.USER_NAME,fstu.USER_PHONE,fst.name tenantName,fstd.name sysDeptName,fst.STATUS from FIN_SYS_TENANT_USER fstu "
        "select fstu.id,fstu.USER_CODE,fstu.USER_NAME,fstu.USER_PHONE,fst.name tenantName,fstd.name sysDeptName,fstu.STATUS from FIN_SYS_TENANT_USER fstu "
            + "left join fin_sys_tenant fst on fst.id =fstu.TENANT_ID "
            + "left join fin_sys_tenant_department fstd on fstd.id = fstu.SYS_DEPT_ID where fstu.IS_DELETE = 0 ";
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferCoreService.java
@@ -16,6 +16,7 @@
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.type.TransferStatesType;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.base.service.BaseGoodsTemplateService;
@@ -286,7 +287,7 @@
        lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
        // è°ƒæ‹¨å•不再关联出入库单
        // lWhFormTransfer.setOutWarehouseFormId(outWarehouseFormId);
        lWhFormTransfer.setStates(1);
        lWhFormTransfer.setStates(TransferStatesType.RECEIVE_ING.getValue());
        lWhFormTransfer.setOutOperatorId(userId);
        lWhFormTransfer.setOutOperatorName(nickName);
        lWhFormTransfer.setOutputTime(dealTime);
@@ -389,12 +390,6 @@
                lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName,
                    goodsStatus);
                // é€šè¿‡ç‰©å“id查询所有商品的总金额
                // long amount = lWhGoodsService.queryGoodsPriceById(outGoodsIds);
                // LWhProcureModel lWhFormScrappedGoods = new LWhProcureModel(formScrappedGood.getId());
                // lWhFormScrappedGoods.setTotalAmount(amount);
                // lWhFormTransferService.update(lWhFormScrappedGoods);
                whGoodsRecord.setInitialCount(goodsModelNum);
                whGoodsRecord.setEndCount(goodsModelNum + whGoodsRecord.getThisCount());
                long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsIds);
@@ -474,7 +469,7 @@
        lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
        lWhFormTransfer.setInWarehouseFlowId(inWarehouseFlowId);
        lWhFormTransfer.setInWarehouseFormId(null);
        lWhFormTransfer.setStates(2);
        lWhFormTransfer.setStates(TransferStatesType.SUCCESS.getValue());
        if (StringUtils.isEmpty(inOperatorName)) {
            lWhFormTransfer.setInOperatorId(userId);
            lWhFormTransfer.setInOperatorName(nickName);
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -21,6 +21,7 @@
import com.consum.base.core.type.CategoryType;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.type.TransferBusinessType;
import com.consum.base.core.type.TransferStatesType;
import com.consum.base.core.type.WareHouseType;
import com.consum.base.core.utils.CurrencyUtil;
import com.consum.base.core.utils.IdUtil;
@@ -178,7 +179,7 @@
        lWhFormTransfer.setOperatorName(sysInfo.getUserName());
        lWhFormTransfer.setCreateTime(param.getCreateTime());
        // 0=待出库;1=待接收;2=已入库库:4=已撤销
        lWhFormTransfer.setStates(0);
        lWhFormTransfer.setStates(TransferStatesType.OUT_PENDING.getValue());
        lWhFormTransfer.setProcureDoc(param.getProcureDoc());
        int flag1 = this.insert(lWhFormTransfer);
@@ -544,7 +545,7 @@
     */
    public int updateStatus(Long id) {
        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
        lWhFormTransfer.setStates(4);
        lWhFormTransfer.setStates(TransferStatesType.CANCEL.getValue());
        return this.update(lWhFormTransfer);
    }
@@ -643,11 +644,11 @@
        }
        if (param.getOutAgencyId() != null) {
            sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId ");
            params.put("outAgencyId", param.getOutAgencyId());
            params.put("outAgencyId", param.getOutAgencyId() + StringUtils.CHAR_PERCENT);
        }
        if (param.getOutAgencyId() != null) {
        if (param.getInAgencyId() != null) {
            sql.append("AND ft.IN_AGENCY_ID like :inAgencyId ");
            params.put("inAgencyId", param.getInAgencyId());
            params.put("inAgencyId", param.getInAgencyId() + StringUtils.CHAR_PERCENT);
        }
        if (StringUtils.isNotEmpty(param.getOperatorName())) {
            sql.append("AND ft.OPERATOR_NAME = :operatorName ");
deploy-jar-single/src/main/resources/import/²É¹ºµ¼Èë.xls
Binary files differ