zouyu
2025-03-11 c453de19f357c6998572fcca96d74ff5d9b32531
检验下单代码迁移:下单功能
已修改14个文件
已添加2个文件
233 ■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/StandardProductListMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsBushingController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/AddInsOrderDTO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/numgen/NumberGenerator.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.vo.StandardProductVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -14,6 +15,7 @@
* @createDate 2024-03-05 10:33:29
* @Entity com.ruoyi.basic.pojo.StandardProductList
*/
@Mapper
public interface StandardProductListMapper extends BaseMapper<StandardProductList> {
    IPage<StandardProductList> standardProductListIPage(@Param("id") Integer id, @Param("tree") String tree, IPage<StandardProductList> page, @Param("laboratory") String laboratory, @Param("insItem") String insItem, @Param("insItems") String insItems);
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardTreeMapper.java
@@ -8,6 +8,7 @@
import com.ruoyi.basic.pojo.StandardMethodList;
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StandardTree;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -18,6 +19,7 @@
 * @createDate 2024-03-01 15:06:44
 * @Entity com.ruoyi.basic.pojo.StandardTree
 */
@Mapper
public interface StandardTreeMapper extends BaseMapper<StandardTree> {
    List<FactoryDto> selectStandardTreeList();
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java
@@ -1,13 +1,8 @@
package com.ruoyi.basic.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.FactoryDto;
@@ -18,8 +13,9 @@
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StandardTemplate;
import com.ruoyi.basic.pojo.StandardTree;
import com.ruoyi.basic.pojo.StructureTestObject;
import com.ruoyi.basic.service.*;
import com.ruoyi.basic.service.StandardMethodListService;
import com.ruoyi.basic.service.StandardTemplateService;
import com.ruoyi.basic.service.StandardTreeService;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.framework.exception.ErrorException;
import lombok.AllArgsConstructor;
@@ -60,7 +56,7 @@
        for (FactoryDto factoryDto : factoryDtos) {
            for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
                for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
                    if (sampleTypeDto.getChildren().size() == 0) {
                    if (sampleTypeDto.getChildren().isEmpty()) {
                        sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
                    }
                }
basic-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -75,7 +75,7 @@
        <if test="sample != null and sample != ''">
            and sample =#{sample}
        </if>
            case when man_hour_group is NULL then 1
        order by case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- å¦‚果以数字开头,则按照数字大小排序
@@ -87,7 +87,7 @@
        where standard_method_list_id = #{standardMethodListId}
          and state =#{state}
          and tree =#{tree}
        order by    case when man_hour_group is NULL then 1
        order by case when man_hour_group is NULL then 1
                      when man_hour_group ='' then 1  else 0 end,
                 CASE
                     WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- å¦‚果以数字开头,则按照数字大小排序
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsBushingController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
package com.ruoyi.inspect.controller;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.inspect.service.InsBushingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
 * å…‰çº¤é…ç½®çš„套管表 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author æ±Ÿè‹éµ·é›ç½‘络科技有限公司
 * @since 2024-05-30 05:58:16
 */
@Api(tags = "检验下单-光纤配置-套管")
@AllArgsConstructor
@RestController
@RequestMapping("/insBushing")
public class InsBushingController {
    private InsBushingService insBushingService;
    @ApiModelProperty("/通过样品id获取样品下光纤配置内容")
    @GetMapping("/selectBushingBySampleId")
    public Result<?> selectBushingBySampleId(Integer sampleId){
        return Result.success(insBushingService.selectBushingBySampleId(sampleId));
    }
}
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -73,14 +73,12 @@
    @ApiOperation(value = "下单按钮")
    @PostMapping("/addInsOrder")
    @Log(title = "检验下单", businessType = BusinessType.INSERT)
    public Result<?> addInsOrder(String str) {
        Map<String, Object> map = JSON.parseObject(str, Map.class);
        JSONArray jsonArray = JSON.parseArray(map.get("list")+"");
        List<SampleProductDto> list = jsonArray.toJavaList(SampleProductDto.class);
        InsOrder insOrder = JSON.parseObject(JSON.toJSONString(map.get("insOrder")), InsOrder.class);
        List<List<Integer>> pairing = JSON.parseArray(map.get("pairing")+"");
        List<List<Integer>> fiberPairing = JSON.parseArray(map.get("fiberPairing")+"");//光纤配置里的熔接配对
        return Result.success(insOrderService.addInsOrder(list, insOrder, pairing,fiberPairing));
    public Result<?> addInsOrder(@RequestBody AddInsOrderDTO addInsOrderDTO) {
        return Result.success(insOrderService.addInsOrder(
                addInsOrderDTO.getList(),
                addInsOrderDTO.getInsOrder(),
                addInsOrderDTO.getPairing(),
                addInsOrderDTO.getFiberPairing()));
    }
    @ApiOperation(value = "查询订单最长预计时间")
@@ -92,7 +90,6 @@
    @ApiOperation(value = "查询检验下单内容详情")
    @GetMapping("/getInsOrder")
    @Log(title = "检验下单", businessType = BusinessType.OTHER)
    public Result<?> getInsOrder(Integer orderId) {
        return Result.success(insOrderService.getInsOrder(orderId));
    }
inspect-server/src/main/java/com/ruoyi/inspect/dto/AddInsOrderDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.ruoyi.inspect.dto;
import com.ruoyi.inspect.pojo.InsOrder;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class AddInsOrderDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("样品列表")
    private List<SampleProductDto> list;
    @ApiModelProperty("检验单主体消息")
    private InsOrder insOrder;
    @ApiModelProperty("光纤熔接配对消息")
    private List<List<Integer>> pairing;
    @ApiModelProperty("光缆下的光纤熔接配对消息")
    private List<List<Integer>> fiberPairing;
}
inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsSample.java
@@ -111,12 +111,6 @@
    private Integer parentId;
    @ApiModelProperty("数量")
    private Integer quantity;
    @ApiModelProperty("特殊标准方法")
    private String specialStandardMethod;
    @TableField(select = false,exist = false)
    private Integer num=1;
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -93,6 +93,10 @@
    private NumberGenerator<InsOrder> numberGenerator;
    private NumberGenerator<InsSample> sampleCodeGenerator;
    private NumberGenerator<InsFibers> fibersCodeGenerator;
    private InsSampleUserMapper insSampleUserMapper;
    private InsOrderStateMapper insOrderStateMapper;
@@ -255,11 +259,10 @@
        String outEntrustCodePrefix = getOutEntrustCodePrefix(customCode, laboratoryCode);
        String outEntrustCode = numberGenerator.generateNumberWithPrefix(5, outEntrustCodePrefix, InsOrder::getOutEntrustCode);
        insOrder.setOutEntrustCode(outEntrustCode);
//        String giveCode = this.giveCode.giveCode("JCZX-" + customCode + "-", "ins_sample", "", "yyMMdd");
        String giveCode = "";
//        insOrder.setOutEntrustCode(giveCode.giveCode3("ZT/" + code2 + "-" + code + "-", insOrder.getCompanyId(), insOrder.getLaboratory(), "ins_order", "", "yyMM"));
//        String giveCode = this.giveCode.giveCode("JCZX-" + code + "-", "ins_sample", "", "yyMMdd");
        insOrderMapper.insert(insOrder);
        //生成样品编号
        String currentDay = LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
        String generatedSampleCode = sampleCodeGenerator.generateNumberWithPrefix(3, currentDay, InsSample::getSampleCode);
        AtomicInteger count = new AtomicInteger();
        List<FiberDto> fiberList = new ArrayList<>();
        list.forEach(a -> {
@@ -267,7 +270,7 @@
            a.setId(null);
            a.setInsOrderId(insOrder.getId());
            if (StrUtil.isEmpty(a.getSampleCode())) {
                a.setSampleCode(giveCode.split("-")[2] + "-" + count.get());
                a.setSampleCode(generatedSampleCode + "-" + count.get());
            } else {
                //去除手输的样品编号中首尾可能包含的空格
                a.setSampleCode(a.getSampleCode().trim());
@@ -294,8 +297,7 @@
                            for (FibersDto fibersDto : bushingDto.getFibers()) {
                                fibersDto.setInsBushingId(bushingDto.getId());
                                if (StringUtils.isBlank(fibersDto.getCode())) {
//                                    fibersDto.setCode(this.giveCode.giveCode("", "ins_fibers", "", "yyMMdd"));
                                    fibersDto.setCode("");
                                    fibersDto.setCode(fibersCodeGenerator.generateNumberWithPrefix(3, currentDay, InsFibers::getCode));
                                }
                                insFibersMapper.insert(fibersDto);
                                for (FiberDto fiberDto : fibersDto.getFiber()) {
@@ -334,16 +336,13 @@
                                    insProductMapper.insert(product);
                                }
                            }
//                            else {
//                                throw new ErrorException("样品的光纤配置信息里面没有配置光纤带信息也没有光纤信息,请重新配置保存再提交下单!!!");
//                            }
                        }
                    }
                }
            }
            if (ObjectUtil.isNotEmpty(a.getInsulating())) {
                List<InsProduct> ip2 = new ArrayList<>();
                for (Integer i = 0; i < a.getInsulating().getNum(); i++) {
                for (int i = 0; i < a.getInsulating().getNum(); i++) {
                    ip2.addAll(a.getInsulating().getInsProduct());
                }
                for (InsProduct product : ip2) {
@@ -364,8 +363,7 @@
                        b.setInsOrderId(insOrder.getId());
                        b.setParentId(a.getId());
                        if (StrUtil.isEmpty(b.getSampleCode())) {
//                            b.setSampleCode(this.giveCode.giveCode("", "ins_sample", "", "yyMMdd"));
                            b.setSampleCode("");
                            b.setSampleCode(sampleCodeGenerator.generateNumberWithPrefix(3, currentDay, InsSample::getSampleCode));
                        }
                        insSampleMapper.insert(b);
                        if (ObjectUtil.isNotEmpty(b.getInsProduct())) {
@@ -388,7 +386,7 @@
                    } else {
                        for (FibersDto fibersDto : bushingDto.getFibers()) {
                            fibersDto.setInsBushingId(bushingDto.getId());
                            fibersDto.setCode("");
                            fibersDto.setCode(fibersCodeGenerator.generateNumberWithPrefix(3, currentDay, InsFibers::getCode));
                            insFibersMapper.insert(fibersDto);
                            for (FiberDto fiberDto : fibersDto.getFiber()) {
                                fiberDto.setInsFibersId(fibersDto.getId());
@@ -508,16 +506,6 @@
                        }
                    }
                }
                // æ²¡æœ‰è¿›è¡Œå…‰çº¤é…ç½®çš„熔接配对,直接添加样品
//                try {
//                    for (InsProduct insProduct : insProducts) {
//                        insProduct.setId(null);
//                        insProduct.setInsSampleId(insSample.getId());
//                        insProductMapper.insert(insProduct);
//                    }
//                } catch (Exception e) {
//                }
            }
        }
        return insOrder.getId();
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -74,7 +74,7 @@
        SysUser user = loginUser.getUser();
        //查询用户信息
        //TODO:重写查询用户信息sql
//        SysUserVO userInfo = userMapper.selectUserInfo(user.getUserId());
        SysUserVO userInfo = userMapper.selectUserInfo(user.getUserId());
        // è§’色集合
        Set<String> roles = permissionService.getRolePermission(user);
        // æƒé™é›†åˆ
@@ -85,7 +85,7 @@
            tokenService.refreshToken(loginUser);
        }
        AjaxResult ajax = AjaxResult.success();
        ajax.put("user", user);
        ajax.put("user", userInfo);
        ajax.put("roles", roles);
        ajax.put("permissions", permissions);
        return ajax;
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -96,5 +96,16 @@
        return Result.success(userService.addPersonUser(personDto));
    }
    /**
     * èŽ·å–å®žéªŒå®¤ä¸‹çš„æ£€éªŒå‘˜åˆ—è¡¨
     * @return
     */
    @ApiOperation(value = "获取实验室下的检验员列表")
    @GetMapping("/getLaboratoryPersonList")
    public Result<?> getLaboratoryPersonList() {
        return Result.success(userService.getLaboratoryPersonList());
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/numgen/NumberGenerator.java
@@ -79,7 +79,6 @@
        return prependPrefix(prefix, generatedNumber);
    }
    /**
     * ç”Ÿæˆå¸¦åŽç¼€çš„编号
     *
ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.vo.SysUserVO;
import org.apache.ibatis.annotations.Param;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -47,5 +48,9 @@
    User getUserNow(@Param("userId") int userId);
    SysUserVO selectUserInfo(Long userId);
    String seldepLimsId(int depLimsId);
    List<Map<String, Object>> getLaboratoryPersonList(String laboratory);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.core.dto.PersonDto;
import java.util.List;
import java.util.Map;
/**
 * ç”¨æˆ·ä¿¡æ¯è¡¨
@@ -40,5 +41,8 @@
    int delUserDepardLimsId(Integer id);
    int addPersonUser(PersonDto personDto);
    Map<String, List<Map<String,Object>>> getLaboratoryPersonList();
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
@@ -12,6 +12,7 @@
import com.ruoyi.system.mapper.UserMapper;
import com.ruoyi.system.service.CustomService;
import com.ruoyi.system.service.UserService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -19,6 +20,8 @@
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * ç”¨æˆ·ä¿¡æ¯è¡¨
@@ -110,5 +113,25 @@
        });
        return 1;
    }
    @Override
    public Map<String, List<Map<String, Object>>> getLaboratoryPersonList() {
        //查询通信和电力下的人员信息
        //查询当前登录人员的架构
        //判断全部,个人,组织的权限
        User user = baseMapper.selectById(SecurityUtils.getUserId());//当前登录的人
        //获取当前人所属实验室id
        String laboratory = "";
        String departLimsId = user.getDepartLimsId();
        if (ObjectUtils.isNotEmpty(departLimsId)) {
            String[] split = departLimsId.split(",");
            //查询对应架构名称(通信实验室,电力实验室,检测办)
            String departLims = baseMapper.seldepLimsId(Integer.parseInt(split[split.length - 1]));
            if (departLims.contains("实验室")) {
                laboratory = departLims;
            }
        }
        return baseMapper.getLaboratoryPersonList(laboratory).stream().collect(Collectors.groupingBy(m->m.get("depName").toString()));
    }
}
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
@@ -61,6 +61,50 @@
        where u.id = #{userId}
    </select>
    <select id="selectUserInfo" resultType="com.ruoyi.common.core.vo.SysUserVO">
        select * from user
        select u.id as user_id,
               u.dept_id,
               u.name as nick_name,
               u.account as user_name,
               u.name_en,
               u.email,
               u.phone as phone_number,
               u.sex,
               u.picture_url,
               u.signature_url,
               u.company,
               c.company as company_name,
               c.code,
               u.password,
               u.status,
               u.del_flag,
               u.login_ip,
               u.login_date,
               u.is_custom
        from user u left join custom c on u.company = c.id
        where u.id = #{userId}
    </select>
    <select id="seldepLimsId" resultType="java.lang.String">
        select name
        from department_lims
        where id = #{depLimsId}
    </select>
    <select id="getLaboratoryPersonList" resultType="java.util.Map">
        select
        u.id,
        u.name,
        dl.name as depName
        from
        user u
        left join
        department_lims dl
        on
        FIND_IN_SET(dl.id,u.depart_lims_id)
        where
        dl.name in('通信产品实验室','电力产品实验室')
        and u.status = 0
        and u.is_custom = 0
        <if test="laboratory!='' and laboratory!=null">
            and dl.name = #{laboratory}
        </if>
    </select>
</mapper>