From ed09402ec0025eaae680d0bb15defcdec343661d Mon Sep 17 00:00:00 2001 From: shicf <shi_chongfu@163.com> Date: 星期四, 29 八月 2024 16:13:55 +0800 Subject: [PATCH] 移动代码 --- src/main/java/com/product/mobile/core/service/SysMessageService.java | 44 +++++ src/main/java/com/product/mobile/core/service/SystemTableMetaService.java | 2 src/main/java/com/product/mobile/core/controller/SysMessageController.java | 28 ++++ src/main/java/com/product/mobile/core/controller/SystemOrgController.java | 72 ++++++++++ src/test/java/om/product/mobile/test/SystemTableMetaController.java | 165 +++++++++++++++++++++++ src/main/java/com/product/mobile/device/controller/DeviceManagerController.java | 93 +++++++++++- 6 files changed, 389 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/product/mobile/core/controller/SysMessageController.java b/src/main/java/com/product/mobile/core/controller/SysMessageController.java index 30531b9..7405965 100644 --- a/src/main/java/com/product/mobile/core/controller/SysMessageController.java +++ b/src/main/java/com/product/mobile/core/controller/SysMessageController.java @@ -64,4 +64,32 @@ return error(MobileCoreCode.LIST_READ_MESSAGE_FAIL); } } + /** + * 娑堟伅鍒嗙被缁熻 + * @param request + * @return + */ + @PostMapping("/type/num/{version}") + @ApiVersion(1) + public String listTypeMessage(HttpServletRequest request) { + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); + return this.error(MobileCoreCode.SYSTEM_FORM_NODATA.getValue(), MobileCoreCode.SYSTEM_FORM_NODATA.getText()); + } + return OK_List(sysMessageService.getTypeMessage(fse.getObject("type"),fse.getInteger("read"))); + } catch (BaseException e) { + e.printStackTrace(); + return error(e); + } catch (Exception e) { + e.printStackTrace(); + return error(MobileCoreCode.LIST_READ_MESSAGE_FAIL); + } + } } diff --git a/src/main/java/com/product/mobile/core/controller/SystemOrgController.java b/src/main/java/com/product/mobile/core/controller/SystemOrgController.java new file mode 100644 index 0000000..5561c5e --- /dev/null +++ b/src/main/java/com/product/mobile/core/controller/SystemOrgController.java @@ -0,0 +1,72 @@ +package com.product.mobile.core.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +import com.product.admin.config.SystemCode; +import com.product.common.lang.StringUtils; +import com.product.core.config.CoreConst; +import com.product.core.controller.support.AbstractBaseController; +import com.product.core.entity.FieldSetEntity; +import com.product.core.entity.RequestParameterEntity; +import com.product.core.exception.BaseException; +import com.product.core.spring.context.SpringMVCContextHolder; +import com.product.mobile.core.service.ApplicationsService; +import com.product.mobile.core.service.SystemTableMetaService; +import com.product.module.sys.version.ApiVersion; +import com.product.org.admin.config.CmnCode; +import com.product.org.admin.service.idel.IOrganizationService; +import com.product.util.BaseUtil; + +/** + * App鎸囧畾琛ㄧ粨鏋勪俊鎭� + * + * @author shicf + */ +@RequestMapping("/api/mobile") +@RestController +public class SystemOrgController extends AbstractBaseController { + + @Autowired + @Qualifier("organizationServiceV2") + private IOrganizationService organizationServiceV2; + + /** + * 鑾峰彇缁勭粐鏋舵瀯V3 + *organization_type锛氱粍缁囨満鏋勭被鍨� 1-鍏徃锛�2-鍏徃 - 閮ㄩ棬锛�3-鍏徃 - 閮ㄩ棬 - 宀椾綅锛�4-鍏徃 - 閮ㄩ棬 - 宀椾綅 - 浜哄憳锛�5-鍏徃 - 閮ㄩ棬 - 浜哄憳 + * @param request + * @return + */ + @RequestMapping(value = "/get-organization/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String getOrganizationV3(HttpServletRequest request) { + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + RequestParameterEntity rpe = (RequestParameterEntity) bean; + if (null != rpe && null != rpe.getFormData()) { + fse = rpe.getFormData(); + } + if (fse == null) { + SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); + return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); + } + Object jsonArray = organizationServiceV2.getOrganization(fse); + System.out.println(jsonArray); + return BaseUtil.success(jsonArray); + } catch (BaseException e) { + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(e.getCode(), e.getMessageInfo()); + } catch (Exception e) { + e.printStackTrace(); + SpringMVCContextHolder.getSystemLogger().error(e); + return this.error(CmnCode.GET_ORGANIZATION_FAIL); + } + } + +} diff --git a/src/main/java/com/product/mobile/core/service/SysMessageService.java b/src/main/java/com/product/mobile/core/service/SysMessageService.java index d422fe3..447cc98 100644 --- a/src/main/java/com/product/mobile/core/service/SysMessageService.java +++ b/src/main/java/com/product/mobile/core/service/SysMessageService.java @@ -1,12 +1,15 @@ package com.product.mobile.core.service; import com.product.admin.config.CmnConst; +import com.product.admin.service.PublicService; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.service.support.AbstractBaseService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.module.sys.service.UserService; + +import java.util.ArrayList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -31,13 +34,26 @@ * @return */ public DataTableEntity listReadMessage(FieldSetEntity fse) { + ArrayList <Object> ps= new ArrayList<Object>(); + ps.add(SpringMVCContextHolder.getCurrentUserId()); + StringBuilder f=new StringBuilder(); + if(fse.getString("type")!=null) { + f.append(" and SUBSTRING(m.message_type,1,1)=?"); + ps.add(fse.getString("type")); + } + if(fse.getString("key")!=null) { + f.append( " and (title like concat('%',?,'%') or content like concat('%',?,'%') or user_name like concat('%',?,'%') ) "); + ps.add(fse.getString("key")); + ps.add(fse.getString("key")); + ps.add(fse.getString("key")); + } StringBuilder sql = new StringBuilder(); - sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,ifnull(m.mobile_url,'') url "); + sql.append("\nselect m.uuid,m.title,m.content,m.send_user_id,mu.user_name send_user_name,m.send_time,m.message_type,ifnull(m.url,'') url,source_table,source_uuid,thumbnail_img "); sql.append("\nfrom product_sys_message m"); sql.append("\nleft join product_sys_users mu on mu.user_id=m.send_user_id "); - sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and u.read_type=1 and u.user_id=?"); + sql.append("\ninner join product_sys_message_user u on u.message_uuid=m.uuid and u.read_type=1 and u.user_id=? ").append(f); sql.append("\norder by m.send_time desc"); - DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{SpringMVCContextHolder.getCurrentUserId()}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); + DataTableEntity dte = baseDao.listTable(sql.toString(), ps.toArray(), fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); dte.getMeta().addAliasTable("product_sys_message", "m"); baseDao.loadPromptData(dte); @@ -50,4 +66,26 @@ return dte; } + /** + * 缁熻鍒嗙被鍨嬫秷鎭� + * @param fse + * @return + */ + public DataTableEntity getTypeMessage(Object type,int read) { + + ArrayList<Object> ps= new ArrayList<Object>(); + ps.add(SpringMVCContextHolder.getCurrentUserId()); + ps.add(read); + String f=""; + if(type!=null) { + f=" and SUBSTRING(message_type,1,1)=?"; + ps.add(type); + } + StringBuilder sql = new StringBuilder(); + sql.append("\nselect SUBSTRING(message_type,1,1) message_type, count(*) num from product_db_lift.product_sys_message m inner join product_db_lift.product_sys_message_user u on u.message_uuid=m.uuid \r\n" + + "and u.user_id=? and u.read_type=?").append(f).append(" group by SUBSTRING(message_type,1,1) "); + DataTableEntity dte = baseDao.listTable(sql.toString(),ps.toArray(),Integer.MAX_VALUE, 1); + return dte; + } + } diff --git a/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java b/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java index 4ce9460..b006ad9 100644 --- a/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java +++ b/src/main/java/com/product/mobile/core/service/SystemTableMetaService.java @@ -36,7 +36,7 @@ Map<Object,Object> vs=fse.getValues(); StringBuilder b=new StringBuilder(); - b.append("select t.table_name,f.field_name,f.field_length,f.field_show_name,f.field_type,f.field_reference,f.is_more_value from product_sys_datamodel_field f left join product_sys_datamodel_table t on f.table_uuid=t.uuid"); + b.append("select t.table_name,f.field_name,f.field_length,f.field_show_name,f.field_type,f.field_reference,f.is_more_value,f.is_required from product_sys_datamodel_field f left join product_sys_datamodel_table t on f.table_uuid=t.uuid"); List<Object> ps=new ArrayList<>(); if(vs!=null && vs.size()>0) { b.append(" where "); diff --git a/src/main/java/com/product/mobile/device/controller/DeviceManagerController.java b/src/main/java/com/product/mobile/device/controller/DeviceManagerController.java index f096703..e57f5cd 100644 --- a/src/main/java/com/product/mobile/device/controller/DeviceManagerController.java +++ b/src/main/java/com/product/mobile/device/controller/DeviceManagerController.java @@ -119,12 +119,12 @@ return this.error(MobileCoreCode.SYSTEM_FORM_NODATA); } System.out.println(fse.getString("device_number")); - if (StringUtils.isEmpty(fse.getString("uuid")) && StringUtils.isEmpty(fse.getString("device_number")) ) { + if (StringUtils.isEmpty(fse.getString("uuid"))) { SpringMVCContextHolder.getSystemLogger().error(MobileCoreCode.SYSTEM_ACQUIRE_PARAM_FAIL.getValue(), MobileCoreCode.SYSTEM_ACQUIRE_PARAM_FAIL.getText()); return this.error(MobileCoreCode.SYSTEM_ACQUIRE_PARAM_FAIL); } System.out.println(222222); - String result=result_OK_List(deviceManagerService.findDeviceAndSub(fse.getString("uuid"),fse.getString("device_number"))); + String result=result_List_OK(deviceManagerService.findDeviceAndSub(fse.getString("uuid"),fse.getString("device_number"))); System.out.println(result); return result; } catch (BaseException e) { @@ -267,14 +267,16 @@ SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); return this.error(DeviceCode.SYSTEM_FORM_NODATA); } - if (fse.getString(DeviceConst.DEVICE_NUMBER)==null && fse.getString(DeviceConst.UUID)==null) { + if (fse.getString(DeviceConst.UUID)==null) { SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); return this.error(DeviceCode.SYSTEM_FORM_NODATA); } - String result=OK_List(deviceInspectionConfigService.findInspectionSettingForApp(fse)); - -// String result=result_OK_List(commonInspectionService.findDeviceSetting(fse.getString(DeviceConst.UUID))); - return result; + fse=deviceInspectionConfigService.findInspectionSettingForApp(fse); + if(FieldSetEntity.isEmpty(fse)) { + return this.error(DeviceCode.COMMON_DATA_ERROR); + }else { + return result_List_OK(fse); + } } catch (BaseException e) { e.printStackTrace(); return error(e); @@ -306,7 +308,7 @@ SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); return this.error(DeviceCode.SYSTEM_FORM_NODATA); } - String result=OK_List(deviceInspectionConfigService.findInspectionSettingForApp(fse)); + String result=result_List_OK(deviceInspectionConfigService.findInspectionSettingForApp(fse)); // String result=result_OK_List(commonInspectionService.findDeviceSetting(fse.getString(DeviceConst.UUID))); return result; @@ -384,6 +386,41 @@ } } /** + * 璁惧鐐规淇℃伅璇︽儏 + * @throws IOException + */ + @RequestMapping(value = "/find-inspection/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String findDevcieInspection(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + IDeviceInspectionService Service = (IDeviceInspectionService) getProxyInstance(commonInspectionService); + FieldSetEntity record=Service.findInspectionRecord(fse.getUUID()); + if(record!=null) { + return this.result_List_OK(record); + }else { + return error(DeviceCode.COMMON_DATA_ERROR); + } + + } catch (BaseException e) { + e.printStackTrace(); + return error(e); + } catch (Exception e) { + e.printStackTrace(); + return error(new BaseException(e)); + } + } + /** * 璁惧淇濆吇淇℃伅淇濆瓨 * @throws IOException */ @@ -402,8 +439,8 @@ SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); return this.error(DeviceCode.SYSTEM_FORM_NODATA); } - IDeviceMaintenanceRecordService Service = (IDeviceMaintenanceRecordService) getProxyInstance(deviceMaintenanceRecordService); - String uuid=Service.saveMaintenanceDevice(fse); + IDeviceMaintenanceRecordService service = (IDeviceMaintenanceRecordService) getProxyInstance(deviceMaintenanceRecordService); + String uuid=service.saveMaintenanceDevice(fse); if(uuid!=null) { return this.OK_Add(uuid); }else { @@ -418,5 +455,39 @@ return error(DeviceCode.DEVICE_CREATE_INSPECTION_ERROR); } } - + /** + * 璁惧淇濆吇淇℃伅璇︽儏 + * @throws IOException + */ + @RequestMapping(value = "/find-maintenance/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String findDevcieMaintenance(HttpServletRequest request) { + + try { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(String.valueOf(DeviceCode.SYSTEM_FORM_NODATA)); + return this.error(DeviceCode.SYSTEM_FORM_NODATA); + } + IDeviceMaintenanceRecordService service = (IDeviceMaintenanceRecordService) getProxyInstance(deviceMaintenanceRecordService); + FieldSetEntity record=service.findMaintenanceRecord(fse.getUUID()); + if(record!=null) { + return this.result_List_OK(record); + }else { + return error(DeviceCode.COMMON_DATA_ERROR); + } + + } catch (BaseException e) { + e.printStackTrace(); + return error(e); + } catch (Exception e) { + e.printStackTrace(); + return error(new BaseException(e)); + } + } } diff --git a/src/test/java/om/product/mobile/test/SystemTableMetaController.java b/src/test/java/om/product/mobile/test/SystemTableMetaController.java new file mode 100644 index 0000000..8dcf6ac --- /dev/null +++ b/src/test/java/om/product/mobile/test/SystemTableMetaController.java @@ -0,0 +1,165 @@ +package om.product.mobile.test; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; + +import com.product.admin.config.SystemCode; +import com.product.common.lang.StringUtils; +import com.product.core.config.CoreConst; +import com.product.core.controller.support.AbstractBaseController; +import com.product.core.entity.FieldSetEntity; +import com.product.core.entity.RequestParameterEntity; +import com.product.core.spring.context.SpringMVCContextHolder; +import com.product.mobile.core.service.ApplicationsService; +import com.product.mobile.core.service.SystemTableMetaService; +import com.product.module.sys.version.ApiVersion; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSONArray; + +/** + * App鎸囧畾琛ㄧ粨鏋勪俊鎭� + * + * @author shicf + */ +@RequestMapping("/api/mobile") +@RestController +public class SystemTableMetaController extends AbstractBaseController { + @Autowired + SystemTableMetaService systemTableMetaService; + + /** + * 鑾峰彇鎸囧畾琛ㄧ殑鏁版嵁缁撴瀯淇℃伅 + * + * @param request + * @return + */ + @RequestMapping(value = "/system/table/list-meta/{version}", method = RequestMethod.POST) + @ApiVersion(2) + public String tableMetaList(HttpServletRequest request) { + FieldSetEntity fse = null; + Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA); + if (bean != null) { + RequestParameterEntity reqp = (RequestParameterEntity) bean; + fse = reqp.getFormData(); + } + if (bean == null || fse == null) { + SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); + return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText()); + } + return this.OK_List(systemTableMetaService.getSystemTableMeta(fse)); + } + + /** + * 杩斿洖鏁版嵁搴撳垵濮嬭〃 + * @return + */ + public static String initTableMeta() { + + JSONObject data=new JSONObject(); + data.put("message", "鎴愬姛"); + data.put("~table~", "product_sys_datamodel_field"); + data.put("success", true); + JSONArray devices=new JSONArray(); + data.put("device_archives", devices); + + JSONObject device_name=new JSONObject(); + devices.add(device_name); + device_name.put("field_name","device_name"); + device_name.put("field_show_name", "璁惧鍚嶇О"); + device_name.put("field_reference", ""); + device_name.put("field_type", "string"); + device_name.put("field_length", 200); + device_name.put("is_more_value", 0); + + JSONObject device_number=new JSONObject(); + devices.add(device_number); + device_number.put("field_name","device_number"); + device_number.put("field_show_name", "璁惧缂栫爜"); + device_number.put("field_reference", ""); + device_number.put("field_type", "string"); + device_number.put("field_length", 100); + device_number.put("is_more_value", 0); + + JSONObject specification_model=new JSONObject(); + devices.add(specification_model); + specification_model.put("field_name","specification_model"); + specification_model.put("field_show_name", "瑙勬牸鍨嬪彿"); + specification_model.put("field_reference", ""); + specification_model.put("field_type", "string"); + specification_model.put("field_length", 200); + specification_model.put("is_more_value", 0); + + JSONObject run_status=new JSONObject(); + devices.add(run_status); + run_status.put("field_name","run_status"); + run_status.put("field_show_name", "杩愯鐘舵��"); + run_status.put("field_reference", "銆奃EVICE-RUN-STATUS銆�");//code------ + run_status.put("field_type", "int"); + run_status.put("field_length", 200); + run_status.put("is_more_value", 0); + + JSONObject status=new JSONObject(); + devices.add(status); + status.put("field_name","status"); + status.put("field_show_name", "璁惧鐘舵��"); + status.put("field_reference", "銆奃EVICE-STATUS銆�"); //code------ + status.put("field_type", "int"); + status.put("field_length", 200); + status.put("is_more_value", 0); + + JSONObject company_id=new JSONObject(); + devices.add(company_id); + company_id.put("field_name","company_id"); + company_id.put("field_show_name", "鎵�灞炲叕鍙�"); + company_id.put("field_reference", "orgs"); //code------ + company_id.put("field_type", "int"); + company_id.put("field_length", 300); + company_id.put("is_more_value", 0); + + JSONObject use_dept_id=new JSONObject(); + devices.add(use_dept_id); + use_dept_id.put("field_name","use_dept_id"); + use_dept_id.put("field_show_name", "浣跨敤閮ㄩ棬"); + use_dept_id.put("field_reference", "orgss"); //code------ + use_dept_id.put("field_type", "int"); + use_dept_id.put("field_length", 300); + use_dept_id.put("is_more_value", 0); + + JSONObject plant=new JSONObject(); + devices.add(plant); + plant.put("field_name","plant"); + plant.put("field_show_name", "鎵�灞炲伐鍘�"); + plant.put("field_reference", "orgs"); //code------ + plant.put("field_type", "int"); + plant.put("field_length", 300); + plant.put("is_more_value", 0); + + JSONObject workshop=new JSONObject(); + devices.add(workshop); + workshop.put("field_name","workshop"); + workshop.put("field_show_name", "杞﹂棿"); + workshop.put("field_reference", "orgs"); //------ + workshop.put("field_type", "int"); + workshop.put("field_length", 300); + workshop.put("is_more_value", 0); + + JSONObject device_manager=new JSONObject(); + devices.add(device_manager); + device_manager.put("field_name","device_manager"); + device_manager.put("field_show_name", "璁惧绠$悊鍛�"); + device_manager.put("field_reference", "users"); //------ + device_manager.put("field_type", "int"); + device_manager.put("field_length", 300); + device_manager.put("is_more_value", 0); + + + + + return data.toJSONString(); + } +} -- Gitblit v1.9.2