Explorar o código

修改模具设备选择接口

%!s(int64=5) %!d(string=hai) anos
pai
achega
2b0cf5b525

+ 9 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/vo/UserVO.java

@@ -13,6 +13,15 @@ public class UserVO extends User {
     private String roleName;
     private String keyName;//项目名称
     private Integer serchType;//搜索类型0-项目名称,1-模具编号
+    private Integer projectId;
+
+    public Integer getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(Integer projectId) {
+        this.projectId = projectId;
+    }
 
     public String getKeyName() {
         return keyName;

+ 3 - 1
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/MouldMapper.java

@@ -21,5 +21,7 @@ public interface MouldMapper extends BaseMapper<Mould> {
 
     void updateMouldByProjectId(@Param("project") Project project);
 
-    List<MouldVO> selectListByCondition(UserVO userVO);
+    List<MouldVO> selectListByCondition(@Param("userVO")UserVO userVO);
+
+    List<MouldVO> selectListByConditionByProject(@Param("userVO")UserVO userVO, @Param("list")List<Integer> set);
 }

+ 29 - 10
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/ProjectServiceImpl.java

@@ -229,23 +229,42 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     public HttpRespMsg getModelListByUser(UserVO userVO, PageUtil page) {
         HttpRespMsg msg = new HttpRespMsg();
         List<Integer> set = new ArrayList<>();
+        set.add(-1);
+        List<MouldVO> moulds = new ArrayList<>();
         if(userVO.getId() != null){
             //资产方管理员,获取他公司下的所有模具
-            if(Constant.SYS_ID == userVO.getParentId()){
-                PageHelper.startPage(page.getPageNum(),page.getPageSize());
-                List<MouldVO> moulds = mouldMapper.selectListByCondition(userVO);
-                PageInfo<MouldVO> pageInfo = new PageInfo<>(moulds);
-                msg.data = pageInfo;
+            PageHelper.startPage(page.getPageNum(),page.getPageSize());
+            if(Constant.SYS_PARENT_ID == userVO.getParentId()){
+                moulds = mouldMapper.selectListByCondition(userVO);
+            }else if(Constant.SYS_ID == userVO.getParentId()){
+                moulds = mouldMapper.selectListByCondition(userVO);
             }else{
                 //普通用户或者项目经理
                 //充当项目经理参与的项目
-                List<Project> project = projectMapper.selectList(new QueryWrapper<Project>().eq("manager_id", userVO.getId()));
-//                if(){
-//
-//                }
+                if(userVO.getProjectId() != -1){
+                    set.add(userVO.getProjectId());
+                    moulds = mouldMapper.selectListByConditionByProject(userVO,set);
+                }else{
+                    QueryWrapper<Project> qw = new QueryWrapper<>();
+                    qw.eq("manager_id", userVO.getId());
+                    List<Project> projects = projectMapper.selectList(qw);
+                    if(projects.size()>0){
+                        for (Project project : projects) {
+                            set.add(project.getId());
+                        }
+                    }
 //                //充当普通人员参与的项目
-
+                    List<ProjectUser> projectUsers = projectUserMapper.selectList(new QueryWrapper<ProjectUser>().eq("user_id", userVO.getId()));
+                    if(projectUsers.size()>0){
+                        for (ProjectUser projectUser : projectUsers) {
+                            set.add(projectUser.getProjectId());
+                        }
+                    }
+                    moulds = mouldMapper.selectListByConditionByProject(userVO,set);
+                }
             }
+            PageInfo<MouldVO> pageInfo = new PageInfo<>(moulds);
+            msg.data = pageInfo;
         }else{
             msg.setError("用户不存在,或者未登录!");
         }

+ 36 - 3
cloud-model/src/main/resources/mapper/MouldMapper.xml

@@ -64,7 +64,7 @@
     <select id="selectListByCondition" resultMap="BaseResultMapVO">
         select
           tbm.model_no model_no, tbm.model_name, tbmp.end_time endTime,tbm.state state,tbp.project_name projectName,
-          tbp.manger_name mangerName,tbm.factory_name factory_name,tbm.area area,tbm.equipment_no equipmentNo,tbm.setting_life setting_life
+          tbp.manager mangerName,tbm.factory_name factory_name,tbm.area area,tbmp.equipment_no equipmentNo,tbm.setting_life setting_life
         from
           tb_mould tbm
         left join
@@ -74,13 +74,46 @@
         left join
          tb_project  tbp
         on tbp.id = tbm.project_id
+        <where>
+            <if test="userVO.parentId != 0">
+                tbm.company_id = #{userVO.companyId}
+            </if>
+            <if test="userVO.serchType == 0">
+                AND tbp.model_no like concat('%',#{userVO.keyName},'%')
+            </if>
+            <if test="userVO.serchType == 1">
+                AND tbm.model_name like concat('%',#{userVO.keyName},'%')
+            </if>
+            <if test="userVO.projectId != -1">
+                AND tbm.project_id = #{userVO.projectId}
+            </if>
+        </where>
+    </select>
+    <select id="selectListByConditionByProject" resultMap="BaseResultMapVO">
+        select
+        tbm.model_no model_no, tbm.model_name, tbmp.end_time endTime,tbm.state state,tbp.project_name projectName,
+        tbp.manager mangerName,tbm.factory_name factory_name,tbm.area area,tbmp.equipment_no equipmentNo,tbm.setting_life setting_life
+        from
+        tb_mould tbm
+        left join
+        tb_mould_equipment tbmp
+        on
+        tbm.equipment_id = tbmp.id
+        left join
+        tb_project  tbp
+        on tbp.id = tbm.project_id
         <where>
             <if test="userVO.serchType == 0">
-                tbp.project_name like concat('%',#{userVO.keyName},'%')
+                AND tbp.model_no like concat('%',#{userVO.keyName},'%')
             </if>
             <if test="userVO.serchType == 1">
-                tbm.model_no like concat('%',#{userVO.keyName},'%')
+                AND tbm.model_name like concat('%',#{userVO.keyName},'%')
             </if>
+                AND tbm.project_id in
+            <foreach item="item" index="index" collection="list"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
         </where>
     </select>
 </mapper>