Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/smartschool-platform into dev

FANGLH 6 years ago
parent
commit
50396728f9

+ 0 - 1
applications/device/device-sdk-dahua/src/main/java/com/usoftchina/smartschool/device/dahua/lib/DahuaLibrary.java

@@ -776,7 +776,6 @@ public interface DahuaLibrary extends Library {
                     ", byLeftLogTimes=" + (byLeftLogTimes & 0xff) +
                     ", byLeftLogTimes=" + (byLeftLogTimes & 0xff) +
                     ", bReserved=" + new String(bReserved) +
                     ", bReserved=" + new String(bReserved) +
                     ", nLockLeftTime=" + nLockLeftTime +
                     ", nLockLeftTime=" + nLockLeftTime +
-                    ", Reserved=" + Arrays.toString(Reserved) +
                     '}';
                     '}';
         }
         }
     }
     }

+ 3 - 1
applications/device/device-sdk-dahua/src/main/java/com/usoftchina/smartschool/device/dahua/service/DahuaDeviceService.java

@@ -28,6 +28,7 @@ public class DahuaDeviceService implements DeviceApi {
      * 多个设备的登录句柄
      * 多个设备的登录句柄
      */
      */
     private Map<DeviceId, NativeLong> loginHandles;
     private Map<DeviceId, NativeLong> loginHandles;
+    private NET_DEVICEINFO_Ex deviceInfo;
     private final Logger logger = LoggerFactory.getLogger(DahuaDeviceService.class);
     private final Logger logger = LoggerFactory.getLogger(DahuaDeviceService.class);
     private final DahuaDataAnalyzeService dataAnalyzeService;
     private final DahuaDataAnalyzeService dataAnalyzeService;
 
 
@@ -59,8 +60,9 @@ public class DahuaDeviceService implements DeviceApi {
      */
      */
     private NativeLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
     private NativeLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
         IntByReference nError = new IntByReference(0);
         IntByReference nError = new IntByReference(0);
+        deviceInfo = new NET_DEVICEINFO_Ex();
         NativeLong m_hLoginHandle = sdk.getInstance().CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword,
         NativeLong m_hLoginHandle = sdk.getInstance().CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword,
-                0, null, new NET_DEVICEINFO_Ex(), nError);
+                EM_LOGIN_SPAC_CAP_TYPE.EM_LOGIN_SPEC_CAP_TCP, null, deviceInfo, nError);
         if (m_hLoginHandle.longValue() == 0) {
         if (m_hLoginHandle.longValue() == 0) {
             DahuaSdkError error = sdk.getLastError();
             DahuaSdkError error = sdk.getLastError();
             logger.error("Device[{}] Port[{}] Login Failed. Last Error[{}]", m_strIp, m_nPort, error);
             logger.error("Device[{}] Port[{}] Login Failed. Last Error[{}]", m_strIp, m_nPort, error);

+ 3 - 1
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/GradeServiceImpl.java

@@ -266,7 +266,9 @@ public class GradeServiceImpl implements GradeService{
         SysGrade oldGrade = sysGradeMapper.selectByPrimaryKey(grade.getGrade_id());
         SysGrade oldGrade = sysGradeMapper.selectByPrimaryKey(grade.getGrade_id());
         if (!oldGrade.getGrade_name().equals(grade.getGrade_name())) {
         if (!oldGrade.getGrade_name().equals(grade.getGrade_name())) {
             List<SysClazz> clazzList = sysClazzMapper.selectBygrade(grade.getGrade_id());
             List<SysClazz> clazzList = sysClazzMapper.selectBygrade(grade.getGrade_id());
-            sysStudentMapper.updateGradeName(grade.getGrade_name(), clazzList);
+            if (!CollectionUtils.isEmpty(clazzList)) {
+                sysStudentMapper.updateGradeName(grade.getGrade_name(), clazzList);
+            }
         }
         }
         DocBaseDTO docBaseDTO = new DocBaseDTO(grade.getGrade_id(), CODE,  NAME);
         DocBaseDTO docBaseDTO = new DocBaseDTO(grade.getGrade_id(), CODE,  NAME);
         sysGradeMapper.updateByPrimaryKeySelective(grade);
         sysGradeMapper.updateByPrimaryKeySelective(grade);

+ 17 - 8
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/StudentServiceImpl.java

@@ -15,10 +15,7 @@ import com.usoftchina.smartschool.school.dto.BatchDealBaseDTO;
 import com.usoftchina.smartschool.school.dto.DocBaseDTO;
 import com.usoftchina.smartschool.school.dto.DocBaseDTO;
 import com.usoftchina.smartschool.school.dto.ListReqDTO;
 import com.usoftchina.smartschool.school.dto.ListReqDTO;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
-import com.usoftchina.smartschool.school.mapper.DataImportMapper;
-import com.usoftchina.smartschool.school.mapper.SysClazzMapper;
-import com.usoftchina.smartschool.school.mapper.SysGradeMapper;
-import com.usoftchina.smartschool.school.mapper.SysStudentMapper;
+import com.usoftchina.smartschool.school.mapper.*;
 import com.usoftchina.smartschool.school.po.*;
 import com.usoftchina.smartschool.school.po.*;
 import com.usoftchina.smartschool.school.wxschool.mapper.WxUserMapper;
 import com.usoftchina.smartschool.school.wxschool.mapper.WxUserMapper;
 import com.usoftchina.smartschool.utils.CollectionUtils;
 import com.usoftchina.smartschool.utils.CollectionUtils;
@@ -48,6 +45,8 @@ public class StudentServiceImpl implements StudentService{
     @Autowired
     @Autowired
     private SysGradeMapper sysGradeMapper;
     private SysGradeMapper sysGradeMapper;
     @Autowired
     @Autowired
+    private SysTeacherMapper sysTeacherMapper;
+    @Autowired
     private SysClazzMapper sysClazzMapper;
     private SysClazzMapper sysClazzMapper;
     @Autowired
     @Autowired
     private MessageLogService messageLogService;
     private MessageLogService messageLogService;
@@ -174,12 +173,22 @@ public class StudentServiceImpl implements StudentService{
             //更新账户信息表的手机号
             //更新账户信息表的手机号
             for (SysParents item : updateDetails) {
             for (SysParents item : updateDetails) {
                 SysParents sysParents = sysStudentMapper.selectParentById(item.getParent_id());
                 SysParents sysParents = sysStudentMapper.selectParentById(item.getParent_id());
-                if (ObjectUtils.isEmpty(sysParents)) {
+                if (!ObjectUtils.isEmpty(sysParents)) {
                     if (item.getPa_phone().equals(sysParents.getPa_phone())) {
                     if (item.getPa_phone().equals(sysParents.getPa_phone())) {
                         UserDO userDO = new UserDO();
                         UserDO userDO = new UserDO();
-                        userDO.setUserId(item.getUser_id());
-                        userDO.setUserPhone(item.getPa_phone());
-                        userMapper.update(userDO);
+                        UserDO oldUserDO = userMapper.selectUserByPhone(sysParents.getPa_phone());
+                        if (!ObjectUtils.isEmpty(oldUserDO)) {
+                            userDO.setUserId(oldUserDO.getUserId());
+                            userDO.setUserPhone(item.getPa_phone());
+                            userMapper.update(userDO);
+                            SysTeacher oldSysTeacher = sysTeacherMapper.selectByPhone(sysParents.getPa_phone(), schoolid);
+                            if (!ObjectUtils.isEmpty(oldSysTeacher)){
+                                SysTeacher sysTeacher = new SysTeacher();
+                                sysTeacher.setTeacher_phone(item.getPa_phone());
+                                sysTeacher.setTeacher_id(oldSysTeacher.getTeacher_id());
+                                sysTeacherMapper.updateByPrimaryKeySelective(sysTeacher);
+                            }
+                        }
                     }
                     }
                 }
                 }
             }
             }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/NoticeServiceImpl.java

@@ -165,6 +165,8 @@ public class NoticeServiceImpl implements NoticeService{
 
 
                 url = baseWechatUrl + "/notifyDetail/person/" + id + "?personId=" + noticer.getPersonId().split(",")[0] +
                 url = baseWechatUrl + "/notifyDetail/person/" + id + "?personId=" + noticer.getPersonId().split(",")[0] +
                         "&type=" + noticer.getType().split(",")[0];
                         "&type=" + noticer.getType().split(",")[0];
+                noticer.setType(noticer.getType().split(",")[0]);
+                noticer.setPersonId(noticer.getPersonId().split(",")[0]);
                 msg.setUrl(url);
                 msg.setUrl(url);
                 msg.setTitle(data.getNotify_title());
                 msg.setTitle(data.getNotify_title());
                 msg.setKeyword1(school.getSchool_name());
                 msg.setKeyword1(school.getSchool_name());

+ 5 - 5
applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml

@@ -329,7 +329,7 @@
         #{sd_stu,jdbcType=VARCHAR},
         #{sd_stu,jdbcType=VARCHAR},
       </if>
       </if>
       <if test="sd_score != null" >
       <if test="sd_score != null" >
-        #{sd_score,jdbcType=INTEGER},
+        #{sd_score,jdbcType=DOUBLE},
       </if>
       </if>
       <if test="sd_subject != null" >
       <if test="sd_subject != null" >
         #{sd_subject,jdbcType=VARCHAR},
         #{sd_subject,jdbcType=VARCHAR},
@@ -370,7 +370,7 @@
     <result column="sd_siid" property="sd_siid" jdbcType="BIGINT" />
     <result column="sd_siid" property="sd_siid" jdbcType="BIGINT" />
     <result column="sd_stuid" property="sd_stuid" jdbcType="BIGINT" />
     <result column="sd_stuid" property="sd_stuid" jdbcType="BIGINT" />
     <result column="sd_stu" property="sd_stu" jdbcType="VARCHAR" />
     <result column="sd_stu" property="sd_stu" jdbcType="VARCHAR" />
-    <result column="sd_score" property="sd_score" jdbcType="INTEGER" />
+    <result column="sd_score" property="sd_score" jdbcType="DOUBLE" />
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="school_id" property="school_id" jdbcType="BIGINT" />
     <result column="school_id" property="school_id" jdbcType="BIGINT" />
@@ -427,7 +427,7 @@
     <result column="sd_siid" property="sd_siid" jdbcType="BIGINT" />
     <result column="sd_siid" property="sd_siid" jdbcType="BIGINT" />
     <result column="sd_stuid" property="sd_stuid" jdbcType="BIGINT" />
     <result column="sd_stuid" property="sd_stuid" jdbcType="BIGINT" />
     <result column="sd_stu" property="sd_stu" jdbcType="VARCHAR" />
     <result column="sd_stu" property="sd_stu" jdbcType="VARCHAR" />
-    <result column="sd_score" property="sd_score" jdbcType="INTEGER" />
+    <result column="sd_score" property="sd_score" jdbcType="DOUBLE" />
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="sd_stunumber" property="sd_stunumber" jdbcType="VARCHAR" />
     <result column="sd_stunumber" property="sd_stunumber" jdbcType="VARCHAR" />
@@ -525,7 +525,7 @@
     ) values
     ) values
       <foreach collection="list" item="item" index="index" open="" close="" separator=",">
       <foreach collection="list" item="item" index="index" open="" close="" separator=",">
       (
       (
-      #{item.sd_siid, jdbcType=BIGINT},#{item.sd_stuid,jdbcType=BIGINT},#{item.sd_stu,jdbcType=VARCHAR},#{item.sd_score,jdbcType=INTEGER},#{item.sd_subject,jdbcType=VARCHAR},
+      #{item.sd_siid, jdbcType=BIGINT},#{item.sd_stuid,jdbcType=BIGINT},#{item.sd_stu,jdbcType=VARCHAR},#{item.sd_score,jdbcType=DOUBLE},#{item.sd_subject,jdbcType=VARCHAR},
       #{item.sd_remark,jdbcType=VARCHAR},#{item.school_id,jdbcType=BIGINT},#{item.sd_stuNumber,jdbcType=VARCHAR},#{sd_total,jdbcType=INTEGER},
       #{item.sd_remark,jdbcType=VARCHAR},#{item.school_id,jdbcType=BIGINT},#{item.sd_stuNumber,jdbcType=VARCHAR},#{sd_total,jdbcType=INTEGER},
       #{sd_class_rank,jdbcType=INTEGER},#{sd_grade_rank,jdbcType=INTEGER},#{sd_class_average,jdbcType=DOUBLE},#{sd_grade_average,jdbcType=DOUBLE}
       #{sd_class_rank,jdbcType=INTEGER},#{sd_grade_rank,jdbcType=INTEGER},#{sd_class_average,jdbcType=DOUBLE},#{sd_grade_average,jdbcType=DOUBLE}
       )
       )
@@ -546,7 +546,7 @@
           sd_stu = #{item.sd_stu,jdbcType=VARCHAR},
           sd_stu = #{item.sd_stu,jdbcType=VARCHAR},
         </if>
         </if>
         <if test="item.sd_score != null">
         <if test="item.sd_score != null">
-          sd_score = #{item.sd_score,jdbcType=INTEGER},
+          sd_score = #{item.sd_score,jdbcType=DOUBLE},
         </if>
         </if>
         <if test="item.sd_subject != null">
         <if test="item.sd_subject != null">
           sd_subject = #{item.sd_subject,jdbcType=VARCHAR},
           sd_subject = #{item.sd_subject,jdbcType=VARCHAR},

+ 1 - 1
applications/school/school-server/src/main/resources/mapper/SysGradeMapper.xml

@@ -109,7 +109,7 @@
     <selectKey  resultType="java.lang.Long" keyProperty="grade_id">
     <selectKey  resultType="java.lang.Long" keyProperty="grade_id">
       SELECT LAST_INSERT_ID() AS ID
       SELECT LAST_INSERT_ID() AS ID
     </selectKey>
     </selectKey>
-    insert into sys_grade (grade_name,grade_no,school_id) select #{grade_name},#{grade_no},#{school_id} from dual where
+    insert into sys_grade (grade_name,grade_no,school_id,grade_status) select #{grade_name},#{grade_no},#{school_id},#{grade_status} from dual where
     not  exists (select 1 from sys_grade where grade_name = #{grade_name} and school_id = #{school_id})
     not  exists (select 1 from sys_grade where grade_name = #{grade_name} and school_id = #{school_id})
   </insert>
   </insert>
 
 

+ 1 - 0
base-servers/gateway-server/src/main/resources/application.yml

@@ -147,4 +147,5 @@ auth:
     - /api/school/wxSchool/taskNotify/taskDetail*
     - /api/school/wxSchool/taskNotify/taskDetail*
     - /api/school/wxSchool/outInRecord/inout/detail*
     - /api/school/wxSchool/outInRecord/inout/detail*
     - /api/device/**
     - /api/device/**
+    - /api/file/download*
     - /api/school/excel/**
     - /api/school/excel/**

+ 6 - 2
frontend/pc-web/app/view/Interaction/mailbox/Detail.js

@@ -69,12 +69,16 @@ Ext.define('school.view.interaction.maibox.Detail', {
                 xtype: 'textareafield',
                 xtype: 'textareafield',
                 name: 'mb_reply',
                 name: 'mb_reply',
                 fieldLabel: '回复内容',
                 fieldLabel: '回复内容',
-                columnWidth: 1
+                columnWidth: 1,
+                allowBlank: false
             }],
             }],
             toolBtns: [{
             toolBtns: [{
                 xtype: 'button',
                 xtype: 'button',
                 text: '回复',
                 text: '回复',
-                handler: 'onReply'
+                handler: 'onReply',
+                bind: {
+                    disabled: '{!base.valid}'
+                }
             }, {
             }, {
                 xtype: 'button',
                 xtype: 'button',
                 text: '忽略',
                 text: '忽略',

+ 2 - 1
frontend/pc-web/app/view/Interaction/score/Detail.js

@@ -27,7 +27,8 @@ Ext.define('school.view.interaction.score.Detail', {
             }, {
             }, {
                 xtype: 'textfield',
                 xtype: 'textfield',
                 name: 'si_examtitle',
                 name: 'si_examtitle',
-                fieldLabel: '考试标题'
+                fieldLabel: '考试标题',
+                allowBlank: false
             }, {
             }, {
                 xtype: 'datefield',
                 xtype: 'datefield',
                 name: 'si_examdate',
                 name: 'si_examdate',

+ 3 - 1
frontend/pc-web/app/view/Interaction/score/List.js

@@ -162,9 +162,11 @@ Ext.define('school.view.interaction.score.List', {
                     dataIndex: 'si_examtitle',
                     dataIndex: 'si_examtitle',
                     width: 200
                     width: 200
                 }, {
                 }, {
+                    xtype: 'datecolumn',
                     text: '考试时间',
                     text: '考试时间',
                     dataIndex: 'si_examdate',
                     dataIndex: 'si_examdate',
-                    width: 150
+                    width: 150,
+                    formate: 'Y-m-d',
                 }, {
                 }, {
                     text: '考试范围',
                     text: '考试范围',
                     dataIndex: 'si_examscope'
                     dataIndex: 'si_examscope'

+ 1 - 0
frontend/pc-web/app/view/core/form/field/FileField.js

@@ -160,6 +160,7 @@ Ext.define('school.view.core.form.field.FileField', {
 		me.clearAll();
 		me.clearAll();
 		var files = new Array();
 		var files = new Array();
 		var accessPath = paths.replace(/[ \[ | \" | \" | \] ]/g, '');
 		var accessPath = paths.replace(/[ \[ | \" | \" | \] ]/g, '');
+		accessPath = accessPath == 'null' ? null : accessPath;
 		Ext.Ajax.request({
 		Ext.Ajax.request({
 			// url : 'http://10.1.80.101:9520/api/file/info',
 			// url : 'http://10.1.80.101:9520/api/file/info',
 			url : '/api/file/info',
 			url : '/api/file/info',

+ 4 - 2
frontend/pc-web/app/view/core/form/field/TrashField.js

@@ -7,7 +7,8 @@ Ext.define('school.view.core.form.field.TrashField', {
 	alias : 'widget.trashfield',
 	alias : 'widget.trashfield',
     style:'margin:5px 0 0 0',
     style:'margin:5px 0 0 0',
 	fieldStyle: 'background:#C6E2FF;color:#D9D9D9;',
 	fieldStyle: 'background:#C6E2FF;color:#D9D9D9;',
-    autoShow: true,
+	autoShow: true,
+	maxLength: 200,
 	initComponent : function() {
 	initComponent : function() {
 		this.callParent(arguments);
 		this.callParent(arguments);
 	},
 	},
@@ -92,7 +93,8 @@ Ext.define('school.view.core.form.field.TrashField', {
 	download : function() {
 	download : function() {
         var me = this;
         var me = this;
         var serverOptions = Ext.manifest.server;
         var serverOptions = Ext.manifest.server;
-		window.location.href = (serverOptions.basePath.https?serverOptions.basePath.https:serverOptions.basePath) + '/api/file/download?path='+me.filepath;
+		var rul = (serverOptions.basePath.https?serverOptions.basePath.https:serverOptions.basePath) + '/api/file/download?path='+me.filepath;
+		window.open(rul);
 	},
 	},
 	showAttach : function() {
 	showAttach : function() {
 		var me = this,src = basePath + 'common/download.action?path=' + me.realpath.replace(/\+/g, '%2B')+"&size="+me.filesize+"&fileName="+me.fileName;
 		var me = this,src = basePath + 'common/download.action?path=' + me.realpath.replace(/\+/g, '%2B')+"&size="+me.filesize+"&fileName="+me.fileName;