Kaynağa Gözat

模具文档

5 yıl önce
ebeveyn
işleme
318d9f034c

+ 6 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/entity/vo/CompanyVO.java

@@ -3,8 +3,12 @@ package com.hssx.cloudmodel.entity.vo;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.hssx.cloudmodel.entity.Company;
 import com.hssx.cloudmodel.entity.Factory;
+import com.hssx.cloudmodel.entity.Mould;
 import lombok.Data;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Author: 吴涛涛 cuiyi@itany.com
  * Date : 2019 - 08 - 09 13:44
@@ -24,4 +28,6 @@ public class CompanyVO extends Company{
          */
         @TableField("x_lat")
         private String xLat;
+
+        private List<Mould> list  = new ArrayList<>();
 }

+ 2 - 0
cloud-model/src/main/java/com/hssx/cloudmodel/mapper/CompanyMapper.java

@@ -21,4 +21,6 @@ public interface CompanyMapper extends BaseMapper<Company> {
     List<CompanyVO> getListByKeyName(@Param("keyName") String keyName, @Param("start")Integer start, @Param("pageSize") Integer pageSize, @Param("companyType")Integer companyType);
 
     List<CompanyVO> getCustomerListByKeyName(@Param("keyName") String keyName, @Param("start")Integer start, @Param("pageSize") Integer pageSize, @Param("companyType")Integer companyType);
+
+    List<CompanyVO> getListMould(@Param("mouldIds")List<Integer> mouldIds);
 }

+ 53 - 5
cloud-model/src/main/java/com/hssx/cloudmodel/service/impl/CompanyServiceImpl.java

@@ -5,10 +5,7 @@ import com.hssx.cloudmodel.constant.Constant;
 import com.hssx.cloudmodel.entity.*;
 import com.hssx.cloudmodel.entity.vo.CompanyVO;
 import com.hssx.cloudmodel.entity.vo.UserVO;
-import com.hssx.cloudmodel.mapper.CompanyMapper;
-import com.hssx.cloudmodel.mapper.LngLatCompanyMapper;
-import com.hssx.cloudmodel.mapper.ProjectMapper;
-import com.hssx.cloudmodel.mapper.UserMapper;
+import com.hssx.cloudmodel.mapper.*;
 import com.hssx.cloudmodel.service.CompanyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hssx.cloudmodel.util.HttpRespMsg;
@@ -20,6 +17,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -39,6 +37,10 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
     LngLatCompanyMapper lngLatCompanyMapper;
     @Resource
     ProjectMapper projectMapper;
+    @Resource
+    MouldMapper mouldMapper;
+    @Resource
+    ProjectUserMapper projectUserMapper;
 
     @Override
     public HttpRespMsg addAndUpdateRole(CompanyVO companyVO, Integer flag) {
@@ -142,8 +144,54 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
 
     @Override
     public HttpRespMsg getCoutomCompanyAndMouldsByUser(UserVO userVO) {
+        HttpRespMsg msg = new HttpRespMsg();
+        List<CompanyVO> companyVOS = new ArrayList<>();
         User currentUser = userMapper.selectOne(new QueryWrapper<User>().eq("head_imgurl", userVO.getToken()));
-        return null;
+        if (Constant.SYS_ID == currentUser.getParentId()) {
+            //此时是admin,可看到自己公司下的模具和交于生产的公司
+            QueryWrapper<Mould> qw = new QueryWrapper<>();
+            List<Mould> moulds = mouldMapper.selectList(qw.eq("company_id", currentUser.getCompanyId()));
+            List<Integer> mouldIds = new ArrayList<>();
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        } else if (Constant.SYS_PARENT_ID == currentUser.getParentId()) {
+            //系统管理员创建admin,返回资产方公司
+            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>());
+            List<Integer> mouldIds = new ArrayList<>();
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        } else {
+            //此时是项目经理创建其他用户
+            QueryWrapper<Project> qw = new QueryWrapper<>();
+            qw.eq("manager_id", currentUser.getId());
+            List<Integer> set = new ArrayList<>();
+            set.add(-1);
+            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", currentUser.getId()));
+            if (projectUsers.size() > 0) {
+                for (ProjectUser projectUser : projectUsers) {
+                    set.add(projectUser.getProjectId());
+                }
+            }
+            List<Mould> moulds = mouldMapper.selectList(new QueryWrapper<Mould>().in("project_id",set));
+            List<Integer> mouldIds = new ArrayList<>();
+            for (Mould mould : moulds) {
+                mouldIds.add(mould.getId());
+            }
+            companyVOS = companyMapper.getListMould(mouldIds);
+        }
+        msg.data = companyVOS;
+        return msg;
     }
 
     @Override

+ 63 - 0
cloud-model/src/main/resources/mapper/CompanyMapper.xml

@@ -17,6 +17,16 @@
         <result column="y_lng" property="yLng" />
         <result column="x_lat" property="xLat" />
     </resultMap>
+    <resultMap id="BaseResultMapMouldVO" type="com.hssx.cloudmodel.entity.vo.CompanyVO">
+        <id column="id" property="id" />
+        <result column="company_name" property="companyName" />
+        <result column="company_address" property="companyAddress" />
+        <result column="company_type" property="companyType" />
+        <result column="y_lng" property="yLng" />
+        <result column="x_lat" property="xLat" />
+        <collection property="list" javaType="java.util.List" select="selectMouldsList" column="id"
+                    ofType="com.hssx.cloudmodel.entity.Mould"/>
+    </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
@@ -57,4 +67,57 @@
         Limit #{start},#{pageSize}
     </select>
 
+    <select id="getListMould" resultMap="BaseResultMapMouldVO">
+       select
+        t.id, t.company_name, t.company_address, t.company_type,tbc.y_lng, tbc.x_lat
+        from
+          tb_mould tm
+        LEFT JOIN
+          tb_company t
+        on
+          tm.produce_company_id = t.id
+        LEFT JOIN
+          tb_lng_lat_company tbc
+        ON
+          tbc.company_id = t.id
+        where  t.id IS NOT NULL AND tm.id in
+        <foreach item="item" index="index" collection="mouldIds"
+                 open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+    <resultMap id="BaseResultMouldMap" type="com.hssx.cloudmodel.entity.Mould">
+        <id column="id" property="id" />
+        <result column="model_no" property="modelNo" />
+        <result column="model_name" property="modelName" />
+        <result column="water_gap" property="waterGap" />
+        <result column="tonnage" property="tonnage" />
+        <result column="oc_cycle" property="ocCycle" />
+        <result column="daily_output" property="dailyOutput" />
+        <result column="company_id" property="companyId" />
+        <result column="current_version_id" property="currentVersionId" />
+        <result column="state" property="state" />
+        <result column="is_delete" property="isDelete" />
+        <result column="creator_id" property="creatorId" />
+        <result column="project_id" property="projectId" />
+        <result column="rfid" property="rfid" />
+        <result column="setting_life" property="settingLife" />
+        <result column="area" property="area" />
+        <result column="factory_id" property="factoryId" />
+        <result column="factory_name" property="factoryName" />
+        <result column="initial_modulus" property="initialModulus" />
+        <result column="equipment_id" property="equipmentId" />
+        <result column="belong_project_grade" property="belongProjectGrade" />
+        <result column="produce_company_id" property="produceCompanyId" />
+        <result column="run_times" property="runTimes" />
+    </resultMap>
+    <select id="selectMouldsList" resultMap="BaseResultMouldMap">
+    select
+      id, model_no, model_name, water_gap, tonnage, oc_cycle, daily_output, company_id, current_version_id, state, is_delete, creator_id, project_id, rfid, setting_life, area, factory_id, factory_name,
+      initial_modulus, equipment_id, belong_project_grade, produce_company_id, run_times
+    from
+      tb_mould
+    where
+      produce_company_id = #{id}
+    </select>
 </mapper>

+ 4 - 1
cloud-model/src/test/java/com/hssx/cloudmodel/CloudModelApplicationTests.java

@@ -2,7 +2,9 @@ package com.hssx.cloudmodel;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hssx.cloudmodel.entity.ProjectUser;
 import com.hssx.cloudmodel.entity.User;
+import com.hssx.cloudmodel.mapper.ProjectUserMapper;
 import com.hssx.cloudmodel.mapper.UserMapper;
 import com.hssx.cloudmodel.util.HttpKit;
 import com.hssx.cloudmodel.util.HttpRespMsg;
@@ -20,12 +22,13 @@ import java.util.List;
 @SpringBootTest
 public class CloudModelApplicationTests {
 //    @Autowired
-//    private RoleService roleService;
+    private ProjectUserMapper projectUserMapper;
 
     @Autowired
     UserMapper userMapper;
     @Test
     public void contextLoads() {
+
     }