瀏覽代碼

人员信息添加是否后勤和后勤排序号

xiao547607 4 年之前
父節點
當前提交
f1f1af8d58

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/modules/base/dao/PersonInfoDAO.java

@@ -70,4 +70,6 @@ public interface PersonInfoDAO {
     PersonInfo findByCarNum(String carNum);
 
 	PersonInfo findJobNumber(String jobNumber);
+
+	int updateNullForHqSortNo(Long personId);
 }

+ 1 - 1
common/src/main/java/com/jpsoft/shinestar/modules/base/entity/PersonInfo.java

@@ -250,5 +250,5 @@ public class PersonInfo implements Serializable {
     private String hqStatus;
 
     @ApiModelProperty(value = "后勤排序号")
-    private String hqSortNo;
+    private Integer hqSortNo;
 }

+ 2 - 0
common/src/main/java/com/jpsoft/shinestar/modules/base/service/PersonInfoService.java

@@ -76,4 +76,6 @@ public interface PersonInfoService {
     PersonInfo findByCarNum(String carNum);
 
 	PersonInfo findJobNumber(String jobNumber);
+
+	int updateNullForHqSortNo(Long personId);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/shinestar/modules/base/service/impl/PersonInfoServiceImpl.java

@@ -520,4 +520,9 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         return personInfoDAO.findJobNumber(jobNumber);
     }
 
+    @Override
+    public int updateNullForHqSortNo(Long personId){
+        return personInfoDAO.updateNullForHqSortNo(personId);
+    }
+
 }

+ 11 - 6
common/src/main/resources/mapper/base/PersonInfo.xml

@@ -199,13 +199,13 @@
                 job_number = #{jobNumber,jdbcType=VARCHAR},
             </if>
             <if test="carNum != null">
-                car_num = #{carNum,jdbcType=VARCHAR}
+                car_num = #{carNum,jdbcType=VARCHAR},
             </if>
             <if test="hqSortNo != null">
-                hq_sort_no = #{hqSortNo,jdbcType=NUMERIC}
+                hq_sort_no = #{hqSortNo,jdbcType=NUMERIC},
             </if>
             <if test="hqStatus != null">
-                hq_status = #{hqStatus,jdbcType=VARCHAR}
+                hq_status = #{hqStatus,jdbcType=VARCHAR},
             </if>
         </set>
         where id_=#{id}
@@ -225,6 +225,10 @@
         </set>
         where id_card=#{idCard} and name_=#{name}
     </update>
+    <update id="updateNullForHqSortNo" parameterType="com.jpsoft.shinestar.modules.base.entity.PersonInfo">
+        update base_person_info set hq_sort_no = null
+        where id_=#{id} and del_flag = 0
+    </update>
     <select id="get" parameterType="long" resultMap="PersonInfoMap">
         select
         a.*,b.name_ as company_name
@@ -420,9 +424,10 @@
                 and a.hq_status = #{searchParams.hqStatus}
             </if>
             <if test="searchParams.querHq != null">
-                <![CDATA[
-					and ifnull(a.hq_status,0)<>0
-				]]>
+                and a.id_ in(
+                select person_id from base_hq_person
+                where del_flag=0
+                )
             </if>
             <if test="searchParams.popedomList != null">
                 <foreach item="popedom" collection="searchParams.popedomList" open="and a.popedom_ in (" separator="," close=")">

+ 28 - 1
web/src/main/java/com/jpsoft/shinestar/modules/base/controller/PersonInfoController.java

@@ -188,8 +188,16 @@ public class PersonInfoController {
 
                 //设置用户身份
                 personInfo.setPopedom(personPopedom.getId());
+                if(StringUtils.isEmpty(personInfo.getHqStatus())){
+                    personInfo.setHqStatus("0");
+                }
                 personInfoService.update(personInfo);
 
+                if(StringUtils.isEmpty(personInfo.getHqStatus()) || "0".equals(personInfo.getHqStatus())){
+                    //如果后勤状态为空 或者为非后勤人员 则清空排序
+                    personInfoService.updateNullForHqSortNo(personInfo.getId());
+                }
+
                 String personCompany = personInfo.getPersonCompany();
 
                 if(StringUtils.isNotEmpty(personCompany)) {
@@ -327,6 +335,12 @@ public class PersonInfoController {
 
             int affectCount = personInfoService.update(personInfo);
 
+
+            if(StringUtils.isEmpty(personInfo.getHqStatus()) || "0".equals(personInfo.getHqStatus())){
+                //如果后勤状态为空 或者为非后勤人员 则清空排序
+                personInfoService.updateNullForHqSortNo(personInfo.getId());
+            }
+
             String personCompany = personInfo.getPersonCompany();
             String[] pcs = personCompany.split(",");
             //删除
@@ -543,6 +557,7 @@ public class PersonInfoController {
             @ApiImplicitParam(name = "parentId",value = "上级企业ID", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "subordinate",value = "是否查询下级单位", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "derviceName",value = "设备名称", required = false, paramType = "form",dataType = "String"),
+            @ApiImplicitParam(name = "hqStatus",value = "后勤类型", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "position1",value = "一级位置", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "position2",value = "二级位置", required = false, paramType = "form",dataType = "String"),
             @ApiImplicitParam(name = "position3",value = "三级位置", required = false, paramType = "form",dataType = "String"),
@@ -564,6 +579,7 @@ public class PersonInfoController {
             @RequestParam(value="subordinate",defaultValue="false")  Boolean subordinate,
             @RequestParam(value="roleId",defaultValue="")  String roleId,
             @RequestParam(value="derviceName",defaultValue="") String derviceName,
+            @RequestParam(value="hqStatus",defaultValue="")  String hqStatus,
             @RequestParam(value="position1",defaultValue="") String position1,
             @RequestParam(value="position2",defaultValue="") String position2,
             @RequestParam(value="position3",defaultValue="") String position3,
@@ -589,7 +605,13 @@ public class PersonInfoController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("a.id_","asc"));
+
+        if(StringUtils.isNotEmpty(hqStatus)){
+            searchParams.put("hqStatus", hqStatus);
+            sortList.add(new Sort("a.hq_sort_no", "asc"));
+        }
+        sortList.add(new Sort("a.id_", "asc"));
+
 
         if (StringUtils.isNotEmpty(id)) {
             searchParams.put("id", id);
@@ -1281,6 +1303,7 @@ public class PersonInfoController {
                         personInfo.setCreateBy(subject);
                         personInfo.setCreateTime(new Date());
                         personInfo.setPopedom(personPopedom.getId());
+                        personInfo.setHqStatus("0");
 
                         personInfoService.insert(personInfo);
 
@@ -1354,6 +1377,7 @@ public class PersonInfoController {
             @RequestParam(value="idCard",defaultValue="") String idCard,
             @RequestParam(value="phone",defaultValue="") String phone,
             @RequestParam(value="parentId",defaultValue="")  String parentId,
+            @RequestParam(value="hqStatus",defaultValue="")  String hqStatus,
             @RequestParam(value="subordinate",defaultValue="false")  Boolean subordinate,
             @RequestParam(value="position1",defaultValue="") String position1,
             @RequestParam(value="position2",defaultValue="") String position2,
@@ -1448,6 +1472,9 @@ public class PersonInfoController {
             if (StringUtils.isNotEmpty(phone)) {
                 searchParams.put("phone","%" + phone + "%");
             }
+            if (StringUtils.isNotEmpty(hqStatus)) {
+                searchParams.put("hqStatus",hqStatus);
+            }
 
             if (StringUtils.isNotEmpty(parentId)) {
                 CompanyInfo parent = companyInfoService.get(parentId);