futian.liu
2023-11-23 5112320c542900d9e79bbc0938b195a43e3fc255
--部门物品分发
1 文件已重命名
2个文件已添加
18个文件已修改
532 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java 228 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -8,7 +8,11 @@
import com.consum.base.service.BaseGoodsTemplateServiceImpl;
import com.consum.base.service.BaseWarehouseServiceImpl;
import com.consum.base.service.LWhGoodsService;
import com.consum.model.po.*;
import com.consum.model.po.BaseGoodsModels;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.SDictData;
import com.consum.model.vo.BaseGoodsTemplateVo;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
@@ -16,14 +20,18 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @Description 物品模板
@@ -183,7 +191,7 @@
    @GetMapping("/query/goodsTemplate")
    public ResponseValue queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId) {
        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId,null,null);
        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId, null, null);
        if (list == null) {
            return ResponseValue.error("查询失败!");
        }
@@ -193,7 +201,7 @@
    @ApiOperation(value = "查询机构下默认仓库下的分类模板信息", notes = "查询机构下默认仓库下的分类模板信息")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "agencyId", value = "父级机构id", required = true, dataType = "Long", paramType = "query"),
        @ApiImplicitParam(name = "agencyId", value = "父级机构id", required = true, dataType = "java.lang.Long", paramType = "query"),
        @ApiImplicitParam(name = "categoryId", value = "分类id", required = true, dataType = "Long", paramType = "query")
    })
    @GetMapping("/query/warehouse/goods")
@@ -209,12 +217,13 @@
        }
        map.put("warehouseId", baseWarehouseList.get(0).getId());
        String sql = "SELECT DISTINCT bgt.id,bgt.GOODS_NAME FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
            + "WHERE WAREHOUSE_TYPE = 0 "
            + "AND WAREHOUSE_ID = :warehouseId "
            + "AND CATEGORY_ID = :categoryId "
            // 1:集采,2:自退货
            + "AND BUY_TYPE =1";
        String sql =
            "SELECT DISTINCT bgt.id,bgt.GOODS_NAME, CLASSIFICATION type FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
                + "WHERE WAREHOUSE_TYPE = 0 "
                + "AND WAREHOUSE_ID = :warehouseId "
                + "AND CATEGORY_ID = :categoryId "
                // 1:集采,2:自采
                + "AND BUY_TYPE =1";
        List<GoodsTemplateVO> resultList = Lists.newArrayList();
        List<Map<String, Object>> goodsTemplateList = lWhGoodsService.select(sql, map, new MapperUtil());
consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -3,7 +3,6 @@
import com.consum.base.BaseController;
import com.consum.base.pojo.FinSysTenantDepartmentParam;
import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
import com.consum.base.service.FinSysTenantServiceImpl;
import com.consum.model.po.FinSysTenantDepartment;
import com.consum.model.po.FinSysTenantUser;
import com.walker.db.page.GenericPager;
@@ -34,8 +33,6 @@
    @Autowired
    private FinSysTenantDepartmentServiceImpl departmentService;
    @Autowired
    private FinSysTenantServiceImpl finSysTenantService;
    /**
     * @Description 新增
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -64,7 +64,7 @@
     */
    @ApiOperation(value = "新增出库单", notes = "新增出库单")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "param", value = "出库单实体", required = true, dataType = "LWhFormOutputInsertParam", paramType = "body")
        @ApiImplicitParam(name = "param", value = "出库单实体", dataType = "lWhFormOutputParam", dataTypeClass = LWhFormOutputParam.class, paramType = "body")
    })
    @PostMapping("/add")
    public ResponseValue add() {
@@ -180,7 +180,6 @@
        return ResponseValue.success("查询成功!", lWhFormOutputExtendVO);
    }
    @ApiOperation(value = "查询出库单详情明细", notes = "查询出库单详情明细")
consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
@@ -1,10 +1,13 @@
package com.consum.base.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import com.consum.base.BaseController;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.core.utils.PageUtil;
import com.consum.base.pojo.LWhFormScrappedParam;
import com.consum.base.pojo.excel.ScrappedInfoExport;
import com.consum.base.pojo.query.LWhFormScrappedQry;
import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
@@ -18,10 +21,16 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -51,7 +60,7 @@
     */
    @ApiOperation(value = "新增报废单", notes = "新增报废单")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "param", value = "报废单信息", dataType = "LWhFormScrappedParam", paramType = "body")
        @ApiImplicitParam(name = "param")
    })
    @PostMapping("/add")
    public ResponseValue add(@RequestBody LWhFormScrappedParam param) {
@@ -149,12 +158,24 @@
     * @Date 2023/11/2
     */
    @GetMapping("/export")
    public ResponseValue export(Long id) {
    public ResponseValue export(Long id, HttpServletRequest request, HttpServletResponse response) {
        if (id == null) {
            return ResponseValue.error("报废单id为空");
        }
        //LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo());
        return ResponseValue.success(null);
        try {
            OutputStream outputStream = response.getOutputStream();
            List<Map<String, Object>> export = lWhFormScrappedService.export(id);
            ExportParams exportParams = new ExportParams("报废单登记", "报废单登记");
            Workbook sheets = ExcelExportUtil.exportExcel(exportParams, ScrappedInfoExport.class, export);
            // 设置响应头
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("报废单登记.xlsx", "utf-8"));
            sheets.write(outputStream);
            sheets.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return ResponseValue.success();
    }
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -5,11 +5,11 @@
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.ProcureModelInfoDto;
import com.consum.base.pojo.UseRecordDto;
import com.consum.base.pojo.UseRecordSkuDto;
import com.consum.base.pojo.query.TransferQry;
import com.consum.base.pojo.request.LWhFormTransferParam;
import com.consum.base.pojo.response.FormTransferVO;
import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
@@ -146,42 +146,6 @@
                formTransferVO.setFromTransferTemplateInfoList(templateInfoList);
                result.add(formTransferVO);
                /*// 查询型号数量
                LWhProcureModel lWhProcureModel = new LWhProcureModel();
                Integer businessType = item.getBusinessType();
                // TODO 调拨=0 分发=1 退回=2
                switch (businessType) {
                    case 0:
                        lWhProcureModel.setBusinessType(2);
                        break;
                    case 1:
                        lWhProcureModel.setBusinessType(4);
                        break;
                }
                lWhProcureModel.setBusinessId(item.getId());
                List<LWhProcureModel> models = lWhProcureModelService.select(lWhProcureModel);
                List<LWhProcureModelVo> lWhProcureModelVoList = new ArrayList<>();
                if (!CollectionUtils.isEmpty(models)) {
                    models.forEach(model -> {
                        LWhProcureModelVo lWhProcureModelVo = new LWhProcureModelVo();
                        BeanUtils.copyProperties(model, lWhProcureModelVo);
                        Long baseGoodsModelsId = model.getBaseGoodsModelsId();
                        Long businessId = model.getBusinessId();
                        Long id = model.getId();
                        LWhProcureModelUser lWhFormTransferUser = new LWhProcureModelUser();
                        lWhFormTransferUser.setTransBusinessId(businessId);
                        lWhFormTransferUser.setWhProcureModelId(id);
                        lWhFormTransferUser.setBaseGoodsModelsId(baseGoodsModelsId);
                        List<LWhProcureModelUser> procureModelUserList = lWhProcureModelUserService.select(lWhFormTransferUser);
                        lWhProcureModelVo.setProcureModelUsersList(procureModelUserList);
                        lWhProcureModelVoList.add(lWhProcureModelVo);
                    });
                }
                formTransferExtend.setModels(lWhProcureModelVoList);
                newDatas.add(formTransferExtend);*/
            });
        }
        try {
@@ -327,12 +291,11 @@
        return ResponseValue.success(transferInfoDetailsVoGenericPager);
    }
    /**
     * 部门物品使用记录
     *
     * @param procureModelInfoDto
     * @return
     */
    @ApiOperation(value = "使用人修改", notes = "使用人修改")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "procureModelInfoDto", value = "使用信息", required = true)
    })
    @PostMapping("/useInfo/update")
    public ResponseValue infoUpdate(@RequestBody List<ProcureModelInfoDto> procureModelInfoDto) {
@@ -385,6 +348,10 @@
     * @param transferOrderId
     * @return
     */
    @ApiOperation(value = "部门物品使用人记录", notes = "部门物品使用人记录")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "transferOrderId", value = "调拨单id", required = true)
    })
    @GetMapping("/use/record")
    public ResponseValue useRecord(Long transferOrderId) {
@@ -394,6 +361,8 @@
        }
        LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord();
        lWhProcureModelUserRecord.setTransBusinessId(transferOrderId);
        String sql =
            "select * from l_wh_procure_model_user_record pmur inner join l_wh_procure_model_user pmu on pmur.TRANS_BUSINESS_ID = pmu.  " + transferOrderId;
        List<LWhProcureModelUserRecord> modelUserRecords = lWhProcureModelUserRecordService.select(lWhProcureModelUserRecord);
        List<UseRecordDto> result = Lists.newArrayList();
@@ -402,10 +371,10 @@
            UseRecordDto useRecordDto = new UseRecordDto();
            useRecordDto.setId(id);
            useRecordDto.setUpdateUserName(item.getOperatorName());
            useRecordDto.setUpdateTime(DateUtils.toShowDate(item.getDealTime()));
            useRecordDto.setUpdateTime(item.getDealTime());
            LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
            lWhProcureModelUser.setWhProcureModelId(id);
            lWhProcureModelUser.setProcureModelUserRecordId(id);
            List<LWhProcureModelUser> procureModelUserList = lWhProcureModelUserService.select(lWhProcureModelUser);
            List<UseRecordSkuDto> recordSkuDtoList = Lists.newArrayList();
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
@@ -11,7 +11,7 @@
 * @Author 卢庆阳
 * @Date 2023/10/27
 */
@ApiModel(value = "LWhFormOutputInsertParam")
@ApiModel
@Data
public class LWhFormOutputParam extends ParamRequest {
consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
@@ -1,34 +1,41 @@
package com.consum.base.pojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
@Data
@ApiModel(value = "LWhFormScrappedParam")
@ApiModel(value = "新增报废单信息")
public class LWhFormScrappedParam {
    /**
     * 机构id
     */
    @ApiModelProperty(value = "机构id")
    private Long agencyId;
    /**
     * 仓库编号
     */
    @ApiModelProperty(value = "仓库编号")
    private Long warehouseId;
    /**
     * 操作人
     */
    @ApiModelProperty(value = "操作人")
    private Long operatorId;
    /**
     * 报废时间
     */
    @ApiModelProperty(value = "报废时间")
    private Long dealTime;
    /**
     * 附件
     */
    @ApiModelProperty(value = "附件")
    private String uploadFiles;
    @ApiModelProperty(value = "报废商品信息")
    private List<LWhFormScrappedGoodsInfoParam> scrappedGoodsInfo;
consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java
@@ -19,14 +19,14 @@
    private Long id;
    //分类编号
    private Long baseCategoryId;
    //类别
    private String type;
    //物品模版编号
    private Long baseGoodsTemplateId;
    //物品模版名字
    private String goodsTemplateName;
    //供应商
    private String supplier;
    private String goodsTemplateName;
    private Integer sort;
    @ApiModelProperty(value = "单据类型 1 采购2 调拨 3出库4部门分发")
    private Integer procureModelBusinessType;
consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java
@@ -1,5 +1,6 @@
package com.consum.base.pojo;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -7,12 +8,13 @@
/**
 * @author asus
 * @version 1.0
 * @description: TODO
 * @description: 物品分发使用人信息
 * @date 2023/11/6 9:28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "物品分发使用人信息")
public class LWhProcureModelUserParam {
    /**
consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java
@@ -19,6 +19,8 @@
    // //规格型号编号
    @ApiModelProperty(value = "规格型号编号")
    private Long baseGoodsModelsId;
    @ApiModelProperty(value = "规格型号名字")
    private String baseGoodsModelsName;
    //价格
    @ApiModelProperty(value = "价格")
    private Long price;
@@ -31,6 +33,8 @@
    // 计量单位
    @ApiModelProperty(value = "计量单位")
    private String baseUnit;
    @ApiModelProperty(value = "剩余数量")
    private Integer num;
    @ApiModelProperty(value = "用户规格型号")
    private List<LWhProcureModelUserParam> procureModelUserList;
consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java
@@ -17,7 +17,7 @@
    // 修改人
    private String updateUserName;
    // 修改时间
    private String updateTime;
    private Long updateTime;
    // 规格型号
    private List<UseRecordSkuDto> recordSkuDtoList;
consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java
New file
@@ -0,0 +1,39 @@
package com.consum.base.pojo.excel;
import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * @author asus
 * @version 1.0
 * @description: 报废单导出信息
 * @date 2023/11/23 10:10
 */
@NoArgsConstructor
@Data
public class ScrappedInfoExport {
    @JsonProperty("departmentName")
    @ExcelEntity(name = "部门")
    private String departmentName;
    @JsonProperty("dealTime")
    private Long dealTime;
    @JsonProperty("scrappedName")
    private String scrappedName;
    @JsonProperty("businessFormCode")
    private String businessFormCode;
    @JsonProperty("counts")
    private Integer counts;
    @JsonProperty("baseGoodsModelsName")
    private String baseGoodsModelsName;
    @JsonProperty("beiz")
    private Object beiz;
    @JsonProperty("operatorName")
    private String operatorName;
    @JsonProperty("agencyName")
    private String agencyName;
    @JsonProperty("goodsTemplateName")
    private String goodsTemplateName;
}
consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java
@@ -83,6 +83,9 @@
    @ApiModelProperty(value = "页大小")
    private Integer pageSize;
    @ApiModelProperty(value = "查询类型")
    private Integer qryType;
//    /**
//     * 入库仓库编号
//     */
consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java
File was renamed from consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
@@ -1,5 +1,6 @@
package com.consum.base.pojo;
package com.consum.base.pojo.request;
import com.consum.base.pojo.LWhFormTransferGoodsInfoParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@@ -12,7 +13,7 @@
 * @Author 卢庆阳
 * @Date 2023/10/30
 */
@ApiModel(value = "单据新增信息")
@ApiModel(value = "调拨单据新增信息")
@Data
@AllArgsConstructor
@NoArgsConstructor
@@ -45,6 +46,12 @@
     */
    @ApiModelProperty(value = "单据类型。0仓库调拨;1部门分发;2部门物品回退")
    private Integer transferBusinessType;
    @ApiModelProperty(value = "部门id")
    private Integer departmentId;
    @ApiModelProperty(value = "领取人名字")
    private String operatorName;
    /**
     * 调拨单型号
     */
consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java
New file
@@ -0,0 +1,22 @@
package com.consum.base.pojo.response;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
 * @author asus
 * @version 1.0
 * @description: 部门物品使用人信息
 * @date 2023/11/23 15:30
 */
@Data
@ApiModel
public class DepartGoodsUseInfo {
    private Long id;
    private String name;
    private Integer num;
    private Long tel;
}
consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java
@@ -25,6 +25,9 @@
    private String goodsName;
    //分类类型
    private String type;
    private List<GoodsModelVO> models;
}
consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
@@ -1,11 +1,12 @@
package com.consum.base.pojo.response;
import java.util.List;
import lombok.Data;
/**
 * @author asus
 * @version 1.0
 * @description: TODO
 * @description: 物品型号信息
 * @date 2023/11/11 17:10
 */
@Data
@@ -23,5 +24,6 @@
    private String scrappedName;
    private List<DepartGoodsUseInfo> useInfo;
}
consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java
@@ -15,5 +15,6 @@
    private Long id;
    private String goodsName;
    private String type;
}
consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java
@@ -1,6 +1,7 @@
package com.consum.base.pojo.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
@@ -11,67 +12,99 @@
 * @date 2023/11/15 18:02
 */
@Data
@ApiModel(value = "LWHFromTransferExtendVO")
@ApiModel(value = "调拨单扩展详细信息")
public class LWHFromTransferExtendVO {
    // 主键
    private Long id;
    // 属性列表
    @ApiModelProperty(value = "出入库id")
    private Long inWarehouseFormId;
    @ApiModelProperty(value = "入库流水id")
    private Long inWarehouseFlowId;
    @ApiModelProperty(value = "出库流水id")
    private Long outWarehouseFlowId;
    @ApiModelProperty(value = "出库单id")
    private Long outWarehouseFormId;
    @ApiModelProperty(value = "业务类型0仓库调拨;1部门分发;2部门物品回退")
    private Integer businessType;
    @ApiModelProperty(value = "业务单号")
    private String businessFormCode;
    @ApiModelProperty(value = "入库单类型0机构1部门")
    private Integer inWarehouseType;
    @ApiModelProperty(value = "入库仓库id")
    private Long inWarehouseId;
    @ApiModelProperty(value = "入库仓库名称")
    private String inWarehouseName;
    @ApiModelProperty(value = "出库单类型0机构1部门")
    private Integer outWarehouseType;
    @ApiModelProperty(value = "出库仓库id")
    private Long outWarehouseId;
    @ApiModelProperty(value = "出库仓库名称")
    private String outWarehouseName;
    @ApiModelProperty(value = "入库机构id")
    private Long inAgencyId;
    @ApiModelProperty(value = "入库机构名称")
    private String inAgencyName;
    @ApiModelProperty(value = "出库机构id")
    private Long outAgencyId;
    @ApiModelProperty(value = "出库机构名称")
    private String outAgencyName;
    @ApiModelProperty(value = "操作人id")
    private Long operatorId;
    @ApiModelProperty(value = "操作人名称")
    private String operatorName;
    @ApiModelProperty(value = "创建时间")
    private Long createTime;
    @ApiModelProperty(value = "0=待出库;1=待接收;2=已入库库:4=已撤销")
    private Integer states;
    @ApiModelProperty(value = "入库操作人id")
    private Long inOperatorId;
    @ApiModelProperty(value = "入库操作人名称")
    private String inOperatorName;
    @ApiModelProperty(value = "入库时间")
    private Long inTime;
    @ApiModelProperty(value = "出库操作人id")
    private Long outOperatorId;
    @ApiModelProperty(value = "出库操作人名称")
    private String outOperatorName;
    @ApiModelProperty(value = "出库时间")
    private Long outputTime;
    @ApiModelProperty(value = "手续")
    private String procureDoc;
    @ApiModelProperty(value = "部门名称")
    private String departmentName;
    @ApiModelProperty(value = "电话")
    private String tel;
    private List<FormTransferGoodsVO> formTransferGoods;
}
consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -67,10 +67,9 @@
    private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
    private static final String QUERY_BF_DETAIL_LIST =
        "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
            + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
            + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
    private static final String QUERY_BF_DETAIL_LIST = "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
        + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
        + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
    /**
     * 新增
@@ -78,10 +77,9 @@
     * @param param
     * @param currentUser 当前登录用户
     * @param sysInfo     当前登录用户
     * @return
     * @return 1.新增报废单  2.新增报废单物品
     */
    //1.新增报废单
    //2.新增报废单物品
    public int add(LWhFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
        //1.新增报废单记录
        LWhFormScrapped lWhFormScrapped = new LWhFormScrapped();
@@ -336,6 +334,18 @@
        return pageUtil;
    }
    public List<Map<String, Object>> export(Long id) {
        String sql =
            "SELECT BUSINESS_FORM_CODE, fs.DEAL_TIME, OPERATOR_NAME, AGENCY_NAME, GOODS_TEMPLATE_NAME, BASE_GOODS_MODELS_NAME, DEPARTMENT_NAME, COUNTS, SCRAPPED_NAME, BEIZ "
                + "FROM l_wh_form_scrapped_goods fsg LEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE "
                + "fs.ID = :id and STATES = 1";
        Map<String, Object> param = new HashMap<>();
        param.put("id", id);
        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
        return select;
    }
    /**
     * @Description 导出报废登记单
     * @Author 卢庆阳
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -3,14 +3,14 @@
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.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.request.LWhFormTransferParam;
import com.consum.base.pojo.response.DepartGoodsUseInfo;
import com.consum.base.pojo.response.FormTransferGoodsVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
@@ -23,6 +23,7 @@
import com.consum.model.po.LWhGoodsRecord;
import com.consum.model.po.LWhProcureModel;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.consum.model.vo.LWhFormOutputVo;
import com.consum.model.vo.LWhGoodsRecordVo;
import com.iplatform.model.po.S_user_core;
@@ -69,8 +70,13 @@
    private BaseGoodsModelsServiceImpl baseGoodsModelsService;
    @Autowired
    private LWhProcureModelUserServiceImpl lWhProcureModelUserService;
    @Autowired
    private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService;
    private static String QUERY_FORM_TRANSFER_LIST = "SELECT * FROM l_wh_form_transfer WHERE 1 = 1";
    private static String QUERY_FORM_TRANSFER_LIST = "SELECT ft.* FROM l_wh_form_transfer ft "
        + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id "
        + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID "
        + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 ";
    /**
@@ -91,19 +97,33 @@
        lWhFormTransfer.setBusinessType(businessType);
        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer));
        Long warehouseId = param.getInWarehouseId();
        lWhFormTransfer.setInWarehouseId(warehouseId);
        //入库仓库为当前用户的默认仓库
        String tenantId = sysInfo.getTenantId();
        BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
        if (warehouse == null) {
            log.error("仓库不存在");
            throw new Exception("仓库不存在");
        // 调拨类型单据
        if (businessType == 0) {
            //入库仓库为当前用户的默认仓库
            String tenantId = sysInfo.getTenantId();
            String tenantName = sysInfo.getTenantName();
            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
            if (warehouse == null) {
                log.error("仓库不存在");
                throw new Exception("仓库不存在");
            }
            lWhFormTransfer.setInWarehouseId(warehouse.getId());
            lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
            lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId));
            lWhFormTransfer.setInAgencyName(tenantName);
        }
        lWhFormTransfer.setInWarehouseId(warehouse.getId());
        lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
        lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId));
        lWhFormTransfer.setInAgencyName(sysInfo.getTenantName());
        //当业务类型为部门分发时 添加部门分发记录和使用人
        if (businessType == 1) {
            //部门分发类型 出库仓库类型0机构1部门
            // TODO 出库业务类型 联系电话
            lWhFormTransfer.setOutWarehouseType(1);
            //lWhFormTransfer.setOutOperatorId();
            lWhFormTransfer.setOutOperatorName(param.getOperatorName());
            lWhFormTransfer.setOutputTime(param.getCreateTime());
        }
        //根据机构id查询调拨机构
        FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
        if (finSysTenant == null) {
@@ -119,12 +139,6 @@
        lWhFormTransfer.setStates(0);
        lWhFormTransfer.setProcureDoc(param.getProcureDoc());
        //3.当业务类型为部门分发时 添加部门分发记录和使用人
        if (businessType == 1) {
            //部门分发类型 出库仓库类型0机构1部门
            // TODO 出库业务类型 联系电话
            lWhFormTransfer.setOutWarehouseType(1);
        }
        int flag1 = this.insert(lWhFormTransfer);
        if (flag1 == 0) {
            log.error("新增调拨单失败");
@@ -138,44 +152,48 @@
            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);
                Long baseGoodsModelsId = model.getBaseGoodsModelsId();
                if (businessType == 0) {
                    lWhProcureModel.setBusinessType(2);
                    //根据物品型号查询物品库存
                    int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
                    lWhProcureModel.setWorehouseCount(goodsNum);
                }
                lWhProcureModel.setBusinessId(lWhFormTransferId);
                lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
                lWhProcureModel.setCounts(model.getCounts());
                lWhProcureModel.setBusinessId(lWhFormTransferId);
                lWhProcureModel.setBaseGoodsModelsId(baseGoodsModelsId);
                //根据型号id查询型号
                BaseGoodsModels baseGoodsModels = this.baseGoodsModelsService.get(new BaseGoodsModels(model.getBaseGoodsModelsId()));
                BaseGoodsModels baseGoodsModels = this.baseGoodsModelsService.get(new BaseGoodsModels(baseGoodsModelsId));
                if (baseGoodsModels != null) {
                    lWhProcureModel.setBaseGoodsModelsName(baseGoodsModels.getModelName());
                }
                //根据物品型号查询物品库存
                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null);
                lWhProcureModel.setWorehouseCount(goodsNum);
                lWhProcureModel.setSupplier(transferGoodsInfo.getSupplier());
                //3.当业务类型为部门分发时 添加部门分发记录和使用人
                // 单据类型 1 采购2 调拨 3出库4部门分发
                //TODO 部门分发类型
                //部门分发类型
                if (businessType == 1) {
                    lWhProcureModel.setBusinessType(4);
                    LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord();
                    lWhProcureModelUserRecord.setId(IdUtil.generateId());
                    lWhProcureModelUserRecord.setTransBusinessId(lWhFormTransferId);
                    lWhProcureModelUserRecord.setOperatorId(sysInfo.getId());
                    lWhProcureModelUserRecord.setOperatorName(sysInfo.getUserName());
                    lWhProcureModelUserRecordService.insert(lWhProcureModelUserRecord);
                    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.setBaseGoodsModelsId(baseGoodsModelsId);
                        lWhProcureModelUser.setNowUserName(lWhProcureModelUserParam.getNowUserName());
                        lWhProcureModelUser.setNowUserPhone(lWhProcureModelUserParam.getNowUserPhone());
                        lWhProcureModelUser.setGoodsNum(lWhProcureModelUserParam.getGoodsNum());
                        lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId());
                        procureModelUserList.add(lWhProcureModelUser);
                    }
                    int procureInsertNum = lWhProcureModelUserService.insert(procureModelUserList);
@@ -184,6 +202,7 @@
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return 0;
                    }
                }
                modelList.add(lWhProcureModel);
@@ -214,10 +233,13 @@
            sql.append(" and BUSINESS_FORM_CODE = :businessFormCode ");
            paramts.put("businessFormCode", param.getBusinessFormCode());
        }
        if (param.getQryType() != null) {
            sql.append("and ft.BUSINESS_TYPE = :businessType ");
            paramts.put("businessType", param.getQryType());
        }
        //物品名称
        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=2 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
            sql.append("AND bgt.GOODS_NAME LIKE :goodsTemplateName ");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
        }
        //调拨机构
@@ -242,11 +264,11 @@
        }
        //申请时间
        if (param.getCreateTimeStart() != null) {
            sql.append(" and CREATE_TIME >=:createTimeStart ");
            sql.append(" and ft.CREATE_TIME >=:createTimeStart ");
            paramts.put("createTimeStart", param.getCreateTimeStart() * 1000000);
        }
        if (param.getCreateTimeEnd() != null) {
            sql.append(" and CREATE_TIME <:createTimeEnd ");
            sql.append(" and ft.CREATE_TIME <:createTimeEnd ");
            paramts.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000);
        }
        //接收时间
@@ -259,7 +281,7 @@
            paramts.put("inTimeEnd", param.getEndTime() * 1000000 + 240000);
        }
        sql.append(" ORDER BY CREATE_TIME DESC");
        sql.append(" ORDER BY ft.CREATE_TIME DESC");
        GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormTransfer());
        return genericPager;
@@ -278,10 +300,9 @@
            BeanUtils.copyProperties(lWhFormTransfer, result);
        }
        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME "
        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type "
            + "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 ";
            + "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());
@@ -293,36 +314,44 @@
            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";
                + "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);
                Integer businessType = result.getBusinessType();
                String type = procureTemplateInfoVO.getType();
                //部门分发需要查询使用信息
                if (businessType == 1 && "A".equals(type)) {
                    Long procureModelId = goodsModelVO.getId();
                    LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
                    lWhProcureModelUser.setWhProcureModelId(procureModelId);
                    List<LWhProcureModelUser> procureModelUserList = this.lWhProcureModelUserService.select(lWhProcureModelUser);
                    if (!CollectionUtils.isEmpty(procureModelUserList)) {
                        List<DepartGoodsUseInfo> departGoodsUseInfoList = Lists.newArrayList();
                        procureModelUserList.forEach(useInfo -> {
                            Integer goodsNum = useInfo.getGoodsNum();
                            Long nowUserPhone = useInfo.getNowUserPhone();
                            String nowUserName = useInfo.getNowUserName();
                            DepartGoodsUseInfo departGoodsUseInfo = new DepartGoodsUseInfo();
                            departGoodsUseInfo.setName(nowUserName);
                            departGoodsUseInfo.setNum(goodsNum);
                            departGoodsUseInfo.setTel(nowUserPhone);
                            departGoodsUseInfoList.add(departGoodsUseInfo);
                        });
                        goodsModelVO.setUseInfo(departGoodsUseInfoList);
                    }
                    // TODO 部门名称
//                result.setDepartmentName();
                }
                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)) {
            List<LWhProcureModelVo> lWhProcureModelVoList = Lists.newArrayList();
            for (LWhProcureModel model : models) {
                LWhProcureModelVo lWhProcureModelVo = new LWhProcureModelVo();
                BeanUtils.copyProperties(model, lWhProcureModelVo);
                LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
                lWhProcureModelUser.setWhProcureModelId(model.getId());
                List<LWhProcureModelUser> select = lWhProcureModelUserService.select(lWhProcureModelUser);
                lWhProcureModelVo.setProcureModelUsersList(select);
                lWhProcureModelVoList.add(lWhProcureModelVo);
            }
            vo.setModels(lWhProcureModelVoList);
        }*/
        return result;
    }
@@ -380,15 +409,12 @@
        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 ");
            "SELECT ft.id,ft.BUSINESS_FORM_CODE,bgt.GOODS_NAME,bgt.CLASSIFICATION type,bgm.id goodsModelId,bgm.MODEL_NAME goodsModelName,pm.COUNTS goodsCount,fst.`name` tenantName,"
                + "fstd.NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME FROM l_wh_form_transfer ft "
                + "inner JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID " + "inner JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
                + "inner JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID "
                + "inner JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where ft.BUSINESS_TYPE =1 ");
        //单号
        if (StringUtils.isNotEmpty(transferQry.getBusinessFormCode())) {
            sql.append("AND BUSINESS_FORM_CODE like :businessFormCode ");
@@ -416,18 +442,18 @@
            paramts.put("OPERATOR_NAME", transferQry.getOperatorName());
        }
        //申请时间
        if (transferQry.getCreateTimeStart() != null) {
        if (transferQry.getStartTime() != null) {
            sql.append("AND ft.CREATE_TIME >=:createTimeStart ");
            paramts.put("createTimeStart", transferQry.getCreateTimeStart() * 1000000);
            paramts.put("createTimeStart", transferQry.getStartTime() * 1000000);
        }
        if (transferQry.getCreateTimeEnd() != null) {
        if (transferQry.getEndTime() != null) {
            sql.append("AND ft.CREATE_TIME <:createTimeEnd ");
            paramts.put("createTimeEnd", transferQry.getCreateTimeEnd() * 1000000 + 240000);
            paramts.put("createTimeEnd", transferQry.getEndTime() * 1000000 + 240000);
        }
        sql.append("ORDER BY ft.CREATE_TIME DESC");
        GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), paramts, transferQry.getPageNum(), transferQry.getPageSize(),
            new MapRowMapper());
            new MapperUtil());
        return mapGenericPager;
    }
@@ -436,23 +462,13 @@
    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 ");
        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());
@@ -502,21 +518,15 @@
    public List<Map<String, Object>> queryDepartmentTransferOrder() {
        String sql = "SELECT ft.id,\n"
            + "       ft.BUSINESS_FORM_CODE,\n"
            + "       gr.GOODS_TEMPLATE_NAME,\n"
            + "       gr.BASE_GOODS_TEMPLATE_ID goodsTemplateId,\n"
            + "       ft.CREATE_TIME\n"
            + "\n"
            + "FROM l_wh_form_transfer ft\n"
            + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
            + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
            + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
            + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID where ft.BUSINESS_TYPE = 1 GROUP BY gr.BASE_GOODS_TEMPLATE_ID \n";
        String sql =
            "SELECT ft.id,\n" + "       ft.BUSINESS_FORM_CODE,\n" + "       gr.GOODS_TEMPLATE_NAME,\n" + "       gr.BASE_GOODS_TEMPLATE_ID goodsTemplateId,\n"
                + "       ft.CREATE_TIME\n" + "\n" + "FROM l_wh_form_transfer ft\n" + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
                + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
                + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
                + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID where ft.BUSINESS_TYPE = 1 GROUP BY gr.BASE_GOODS_TEMPLATE_ID \n";
        HashMap<String, Object> param = new HashMap<>();
        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
        select.forEach(item -> {
        });
        return select;