소스 검색

优化代码

java110 5 년 전
부모
커밋
306e4592c5

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/attendanceClasses/AttendanceClassesDto.java

@@ -1,9 +1,11 @@
 package com.java110.dto.attendanceClasses;
 
 import com.java110.dto.PageDto;
+import com.java110.dto.attendanceClassesAttr.AttendanceClassesAttrDto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -27,6 +29,7 @@ public class AttendanceClassesDto extends PageDto implements Serializable {
     private String lateOffset;
     private String clockTypeValue;
     private String classesObjName;
+    private List<AttendanceClassesAttrDto> attrs;
 
 
     private Date createTime;
@@ -146,4 +149,12 @@ public class AttendanceClassesDto extends PageDto implements Serializable {
     public void setClassesObjName(String classesObjName) {
         this.classesObjName = classesObjName;
     }
+
+    public List<AttendanceClassesAttrDto> getAttrs() {
+        return attrs;
+    }
+
+    public void setAttrs(List<AttendanceClassesAttrDto> attrs) {
+        this.attrs = attrs;
+    }
 }

+ 32 - 13
java110-bean/src/main/java/com/java110/dto/attendanceClassesAttr/AttendanceClassesAttrDto.java

@@ -1,6 +1,7 @@
 package com.java110.dto.attendanceClassesAttr;
 
 import com.java110.dto.PageDto;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -15,10 +16,11 @@ import java.util.Date;
 public class AttendanceClassesAttrDto extends PageDto implements Serializable {
 
     private String classesId;
-private String attrId;
-private String specCd;
-private String storeId;
-private String value;
+    private String[] classesIds;
+    private String attrId;
+    private String specCd;
+    private String storeId;
+    private String value;
 
 
     private Date createTime;
@@ -29,31 +31,40 @@ private String value;
     public String getClassesId() {
         return classesId;
     }
-public void setClassesId(String classesId) {
+
+    public void setClassesId(String classesId) {
         this.classesId = classesId;
     }
-public String getAttrId() {
+
+    public String getAttrId() {
         return attrId;
     }
-public void setAttrId(String attrId) {
+
+    public void setAttrId(String attrId) {
         this.attrId = attrId;
     }
-public String getSpecCd() {
+
+    public String getSpecCd() {
         return specCd;
     }
-public void setSpecCd(String specCd) {
+
+    public void setSpecCd(String specCd) {
         this.specCd = specCd;
     }
-public String getStoreId() {
+
+    public String getStoreId() {
         return storeId;
     }
-public void setStoreId(String storeId) {
+
+    public void setStoreId(String storeId) {
         this.storeId = storeId;
     }
-public String getValue() {
+
+    public String getValue() {
         return value;
     }
-public void setValue(String value) {
+
+    public void setValue(String value) {
         this.value = value;
     }
 
@@ -73,4 +84,12 @@ public void setValue(String value) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String[] getClassesIds() {
+        return classesIds;
+    }
+
+    public void setClassesIds(String[] classesIds) {
+        this.classesIds = classesIds;
+    }
 }

+ 149 - 139
java110-db/src/main/resources/mapper/common/AttendanceClassesAttrServiceDaoImplMapper.xml

@@ -5,168 +5,178 @@
 <mapper namespace="attendanceClassesAttrServiceDaoImpl">
 
     <!-- 保存考勤班组属性信息 add by wuxw 2018-07-03 -->
-       <insert id="saveBusinessAttendanceClassesAttrInfo" parameterType="Map">
-           insert into business_attendance_classes_attr(
-classes_id,attr_id,operate,spec_cd,store_id,b_id,value
-) values (
-#{classesId},#{attrId},#{operate},#{specCd},#{storeId},#{bId},#{value}
-)
-       </insert>
-
-
-       <!-- 查询考勤班组属性信息(Business) add by wuxw 2018-07-03 -->
-       <select id="getBusinessAttendanceClassesAttrInfo" parameterType="Map" resultType="Map">
-           select  t.classes_id,t.classes_id classesId,t.attr_id,t.attr_id attrId,t.operate,t.spec_cd,t.spec_cd specCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.value 
-from business_attendance_classes_attr t 
-where 1 =1 
-<if test="classesId !=null and classesId != ''">
-   and t.classes_id= #{classesId}
-</if> 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-<if test="operate !=null and operate != ''">
-   and t.operate= #{operate}
-</if> 
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="bId !=null and bId != ''">
-   and t.b_id= #{bId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
-
-       </select>
+    <insert id="saveBusinessAttendanceClassesAttrInfo" parameterType="Map">
+        insert into business_attendance_classes_attr(
+        classes_id,attr_id,operate,spec_cd,store_id,b_id,value
+        ) values (
+        #{classesId},#{attrId},#{operate},#{specCd},#{storeId},#{bId},#{value}
+        )
+    </insert>
 
 
+    <!-- 查询考勤班组属性信息(Business) add by wuxw 2018-07-03 -->
+    <select id="getBusinessAttendanceClassesAttrInfo" parameterType="Map" resultType="Map">
+        select t.classes_id,t.classes_id classesId,t.attr_id,t.attr_id attrId,t.operate,t.spec_cd,t.spec_cd
+        specCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.value
+        from business_attendance_classes_attr t
+        where 1 =1
+        <if test="classesId !=null and classesId != ''">
+            and t.classes_id= #{classesId}
+        </if>
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="operate !=null and operate != ''">
+            and t.operate= #{operate}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
 
+    </select>
 
 
     <!-- 保存考勤班组属性信息至 instance表中 add by wuxw 2018-07-03 -->
     <insert id="saveAttendanceClassesAttrInfoInstance" parameterType="Map">
         insert into attendance_classes_attr(
-classes_id,attr_id,spec_cd,status_cd,store_id,b_id,value
-) select t.classes_id,t.attr_id,t.spec_cd,'0',t.store_id,t.b_id,t.value from business_attendance_classes_attr t where 1=1
-<if test="classesId !=null and classesId != ''">
-   and t.classes_id= #{classesId}
-</if> 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-   and t.operate= 'ADD'
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="bId !=null and bId != ''">
-   and t.b_id= #{bId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
+        classes_id,attr_id,spec_cd,status_cd,store_id,b_id,value
+        ) select t.classes_id,t.attr_id,t.spec_cd,'0',t.store_id,t.b_id,t.value from business_attendance_classes_attr t
+        where 1=1
+        <if test="classesId !=null and classesId != ''">
+            and t.classes_id= #{classesId}
+        </if>
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        and t.operate= 'ADD'
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
 
     </insert>
 
 
-
     <!-- 查询考勤班组属性信息 add by wuxw 2018-07-03 -->
     <select id="getAttendanceClassesAttrInfo" parameterType="Map" resultType="Map">
-        select  t.classes_id,t.classes_id classesId,t.attr_id,t.attr_id attrId,t.spec_cd,t.spec_cd specCd,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.value 
-from attendance_classes_attr t 
-where 1 =1 
-<if test="classesId !=null and classesId != ''">
-   and t.classes_id= #{classesId}
-</if> 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="bId !=null and bId != ''">
-   and t.b_id= #{bId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        select t.classes_id,t.classes_id classesId,t.attr_id,t.attr_id attrId,t.spec_cd,t.spec_cd
+        specCd,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.value
+        from attendance_classes_attr t
+        where 1 =1
+        <if test="classesId !=null and classesId != ''">
+            and t.classes_id= #{classesId}
+        </if>
+        <if test="classesIds !=null ">
+            and t.classes_id in
+            <foreach collection="classesIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 修改考勤班组属性信息 add by wuxw 2018-07-03 -->
     <update id="updateAttendanceClassesAttrInfoInstance" parameterType="Map">
-        update  attendance_classes_attr t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="classesId !=null and classesId != ''">
-, t.classes_id= #{classesId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-, t.spec_cd= #{specCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-, t.store_id= #{storeId}
-</if> 
-<if test="value !=null and value != ''">
-, t.value= #{value}
-</if> 
- where 1=1 <if test="attrId !=null and attrId != ''">
-and t.attr_id= #{attrId}
-</if> 
-<if test="bId !=null and bId != ''">
-and t.b_id= #{bId}
-</if> 
+        update attendance_classes_attr t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="classesId !=null and classesId != ''">
+            , t.classes_id= #{classesId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            , t.spec_cd= #{specCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            , t.store_id= #{storeId}
+        </if>
+        <if test="value !=null and value != ''">
+            , t.value= #{value}
+        </if>
+        where 1=1
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
 
     </update>
 
     <!-- 查询考勤班组属性数量 add by wuxw 2018-07-03 -->
-     <select id="queryAttendanceClassesAttrsCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from attendance_classes_attr t 
-where 1 =1 
-<if test="classesId !=null and classesId != ''">
-   and t.classes_id= #{classesId}
-</if> 
-<if test="attrId !=null and attrId != ''">
-   and t.attr_id= #{attrId}
-</if> 
-<if test="specCd !=null and specCd != ''">
-   and t.spec_cd= #{specCd}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="storeId !=null and storeId != ''">
-   and t.store_id= #{storeId}
-</if> 
-<if test="bId !=null and bId != ''">
-   and t.b_id= #{bId}
-</if> 
-<if test="value !=null and value != ''">
-   and t.value= #{value}
-</if> 
-
-
-     </select>
+    <select id="queryAttendanceClassesAttrsCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        from attendance_classes_attr t
+        where 1 =1
+        <if test="classesId !=null and classesId != ''">
+            and t.classes_id= #{classesId}
+        </if>
+        <if test="classesIds !=null ">
+            and t.classes_id in
+            <foreach collection="classesIds" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="attrId !=null and attrId != ''">
+            and t.attr_id= #{attrId}
+        </if>
+        <if test="specCd !=null and specCd != ''">
+            and t.spec_cd= #{specCd}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
+        <if test="bId !=null and bId != ''">
+            and t.b_id= #{bId}
+        </if>
+        <if test="value !=null and value != ''">
+            and t.value= #{value}
+        </if>
+
+
+    </select>
 
 </mapper>

+ 33 - 0
service-common/src/main/java/com/java110/common/smo/impl/AttendanceClassesInnerServiceSMOImpl.java

@@ -5,7 +5,9 @@ import com.java110.common.dao.IAttendanceClassesServiceDao;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.attendanceClasses.AttendanceClassesDto;
+import com.java110.dto.attendanceClassesAttr.AttendanceClassesAttrDto;
 import com.java110.dto.user.UserDto;
+import com.java110.intf.common.IAttendanceClassesAttrInnerServiceSMO;
 import com.java110.intf.common.IAttendanceClassesInnerServiceSMO;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +31,9 @@ public class AttendanceClassesInnerServiceSMOImpl extends BaseServiceSMO impleme
     @Autowired
     private IAttendanceClassesServiceDao attendanceClassesServiceDaoImpl;
 
+    @Autowired
+    private IAttendanceClassesAttrInnerServiceSMO attendanceClassesAttrInnerServiceSMOImpl;
+
 
     @Override
     public List<AttendanceClassesDto> queryAttendanceClassess(@RequestBody AttendanceClassesDto attendanceClassesDto) {
@@ -43,9 +48,37 @@ public class AttendanceClassesInnerServiceSMOImpl extends BaseServiceSMO impleme
 
         List<AttendanceClassesDto> attendanceClassess = BeanConvertUtil.covertBeanList(attendanceClassesServiceDaoImpl.getAttendanceClassesInfo(BeanConvertUtil.beanCovertMap(attendanceClassesDto)), AttendanceClassesDto.class);
 
+        refreshAttrs(attendanceClassess);
         return attendanceClassess;
     }
 
+    private void refreshAttrs(List<AttendanceClassesDto> attendanceClassess) {
+        if (attendanceClassess == null || attendanceClassess.size() < 1 || attendanceClassess.size() > 20) {
+            return;
+        }
+
+        List<String> classesIds = new ArrayList<>();
+        for (AttendanceClassesDto attendanceClassesDto : attendanceClassess) {
+            classesIds.add(attendanceClassesDto.getClassesId());
+        }
+
+
+        AttendanceClassesAttrDto attendanceClassesAttrDto = new AttendanceClassesAttrDto();
+        attendanceClassesAttrDto.setClassesIds(classesIds.toArray(new String[classesIds.size()]));
+        attendanceClassesAttrDto.setStoreId(attendanceClassess.get(0).getStoreId());
+        List<AttendanceClassesAttrDto> attendanceClassesAttrDtos = attendanceClassesAttrInnerServiceSMOImpl.queryAttendanceClassesAttrs(attendanceClassesAttrDto);
+
+        List<AttendanceClassesAttrDto> tmpAttendanceClassesAttrDto = null;
+        for (AttendanceClassesDto attendanceClassesDto : attendanceClassess) {
+            tmpAttendanceClassesAttrDto = new ArrayList<>();
+            for (AttendanceClassesAttrDto attendanceClassesAttrDto1 : attendanceClassesAttrDtos) {
+                tmpAttendanceClassesAttrDto.add(attendanceClassesAttrDto1);
+            }
+            attendanceClassesDto.setAttrs(tmpAttendanceClassesAttrDto);
+        }
+
+    }
+
     /**
      * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
      *