java110 лет назад: 5
Родитель
Сommit
4430ceb824

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/attendanceClassesAttr/AttendanceClassesAttrDto.java

@@ -19,6 +19,7 @@ public class AttendanceClassesAttrDto extends PageDto implements Serializable {
     private String[] classesIds;
     private String attrId;
     private String specCd;
+    private String name;
     private String storeId;
     private String value;
 
@@ -92,4 +93,12 @@ public class AttendanceClassesAttrDto extends PageDto implements Serializable {
     public void setClassesIds(String[] classesIds) {
         this.classesIds = classesIds;
     }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
 }

+ 3 - 1
java110-db/src/main/resources/mapper/common/AttendanceClassesAttrServiceDaoImplMapper.xml

@@ -77,8 +77,10 @@
     <!-- 查询考勤班组属性信息 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
+        specCd,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.value,
+        td.name
         from attendance_classes_attr t
+        LEFT JOIN t_dict td on t.spec_cd = td.status_cd and td.table_name = 'attendance_classes_attr' and td.table_columns = 'spec_cd'
         where 1 =1
         <if test="classesId !=null and classesId != ''">
             and t.classes_id= #{classesId}

+ 22 - 0
service-api/src/main/java/com/java110/api/listener/attendanceClasses/UpdateAttendanceClassesListener.java

@@ -1,13 +1,16 @@
 package com.java110.api.listener.attendanceClasses;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.attendanceClasses.IAttendanceClassesBMO;
+import com.java110.api.bmo.attendanceClassesAttr.IAttendanceClassesAttrBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeAttendanceClassesConstant;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 
@@ -21,6 +24,8 @@ public class UpdateAttendanceClassesListener extends AbstractServiceApiPlusListe
 
     @Autowired
     private IAttendanceClassesBMO attendanceClassesBMOImpl;
+    @Autowired
+    private IAttendanceClassesAttrBMO attendanceClassesAttrBMOImpl;
 
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -42,6 +47,23 @@ public class UpdateAttendanceClassesListener extends AbstractServiceApiPlusListe
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
         attendanceClassesBMOImpl.updateAttendanceClasses(reqJson, context);
+
+        JSONArray attrs = reqJson.getJSONArray("attrs");
+        if (attrs == null || attrs.size() < 1) {
+            return;
+        }
+
+        JSONObject attr = null;
+        for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
+            attr = attrs.getJSONObject(attrIndex);
+            attr.put("classesId", reqJson.getString("classesId"));
+            attr.put("storeId", reqJson.getString("storeId"));
+            if (!attr.containsKey("attrId") || attr.getString("attrId").startsWith("-") || StringUtil.isEmpty(attr.getString("attrId"))) {
+                attendanceClassesAttrBMOImpl.addAttendanceClassesAttr(attr, context);
+                continue;
+            }
+            attendanceClassesAttrBMOImpl.updateAttendanceClassesAttr(attr, context);
+        }
     }
 
     @Override