停车道闸系统与物业管理系统接口设计的入口车辆识别接口2025/07/31
| | |
| | | private String state; |
| | | private String communityId; |
| | | private String importFeeId; |
| | | |
| | | |
| | | private String description; |
| | | private String objName; |
| | | private String expenseSubject; |
| | | private Date createTime; |
| | | |
| | | private String statusCd = "0"; |
| | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | public void setDescription(String description) { |
| | | this.description = description; |
| | | } |
| | | |
| | | public String getObjName() { |
| | | return objName; |
| | | } |
| | | |
| | | public void setObjName(String objName) { |
| | | this.objName = objName; |
| | | } |
| | | |
| | | public String getExpenseSubject() { |
| | | return expenseSubject; |
| | | } |
| | | |
| | | public void setExpenseSubject(String expenseSubject) { |
| | | this.expenseSubject = expenseSubject; |
| | | } |
| | | } |
| | |
| | | |
| | | private String staffName; |
| | | |
| | | private String expenseSubject; |
| | | |
| | | public String getReceivableAmount() { |
| | | return receivableAmount; |
| | | } |
| | |
| | | public void setPayerObjName(String payerObjName) { |
| | | this.payerObjName = payerObjName; |
| | | } |
| | | |
| | | public String getExpenseSubject() { |
| | | return expenseSubject; |
| | | } |
| | | |
| | | public void setExpenseSubject(String expenseSubject) { |
| | | this.expenseSubject = expenseSubject; |
| | | } |
| | | } |
| | |
| | | private Long waitCount; |
| | | |
| | | private String state; |
| | | |
| | | private String userName; |
| | | |
| | | private String stateName; |
| | | |
| | |
| | | public void setWaitCount(Long waitCount) { |
| | | this.waitCount = waitCount; |
| | | } |
| | | |
| | | public String getUserName() { |
| | | return userName; |
| | | } |
| | | |
| | | public void setUserName(String userName) { |
| | | this.userName = userName; |
| | | } |
| | | } |
| | |
| | | private String objId; |
| | | private String objName; |
| | | private String objType; |
| | | |
| | | private String expenseSubject; |
| | | private String importFeeId; |
| | | private String remark; |
| | | |
| | |
| | | public void setObjType(String objType) { |
| | | this.objType = objType; |
| | | } |
| | | |
| | | public String getExpenseSubject() { |
| | | return expenseSubject; |
| | | } |
| | | |
| | | public void setExpenseSubject(String expenseSubject) { |
| | | this.expenseSubject = expenseSubject; |
| | | } |
| | | } |
| | |
| | | throw new IllegalArgumentException("暂不支持该类公式"); |
| | | } |
| | | } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(feeDto.getPayerObjType())) {//车位相关 |
| | | if(feeDto.getAmount() == null){ |
| | | feeDto.setAmount(String.valueOf(0)); |
| | | } |
| | | String computingFormula = feeDto.getComputingFormula(); |
| | | |
| | | OwnerCarDto ownerCarDto = new OwnerCarDto(); |
| | |
| | | select t.log_type,t.log_type logType,t.log_id,t.log_id |
| | | logId,t.remark,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id |
| | | communityId,t.create_time createTime,t.state,td.`name` |
| | | logTypeName,td1.name stateName, |
| | | logTypeName,td1.name stateName,t.user_name userName, |
| | | (select count(1) successCount from asset_import_log_detail a where a.log_id = t.log_id and a.status_cd = '0' and a.state = 'C') successCount, |
| | | (select count(1) errorCount from asset_import_log_detail a where a.log_id = t.log_id and a.status_cd = '0' and a.state = 'F') errorCount, |
| | | (select count(1) waitCount from asset_import_log_detail a where a.log_id = t.log_id and a.status_cd = '0' and a.state = 'W') waitCount |
| | |
| | | <insert id="saveImportFeeDetailInfo" parameterType="Map"> |
| | | insert into import_fee_detail( |
| | | amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time, |
| | | end_time,state,community_id,import_fee_id,remark,obj_id,obj_name,obj_type |
| | | end_time,state,community_id,import_fee_id,remark,obj_id,obj_name,obj_type,expense_subject |
| | | ) values ( |
| | | #{amount},#{unitNum},#{feeId},#{floorNum},#{roomId},#{roomNum},#{ifdId},#{feeName},#{startTime}, |
| | | #{endTime},#{state},#{communityId},#{importFeeId},#{remark},#{objId},#{objName},#{objType} |
| | | <if test="amount == null">0,</if> |
| | | <if test="amount != null">#{amount},</if> |
| | | #{unitNum},#{feeId},#{floorNum},#{roomId},#{roomNum},#{ifdId},#{feeName},#{startTime}, |
| | | #{endTime},#{state},#{communityId},#{importFeeId},#{remark},#{objId},#{objName},#{objType},#{expenseSubject} |
| | | ) |
| | | </insert> |
| | | |
| | |
| | | feeId,t.floor_num,t.floor_num floorNum,t.room_id,t.room_id roomId,t.room_num,t.room_num |
| | | roomNum,t.ifd_id,t.ifd_id ifdId,t.fee_name,t.fee_name feeName,t.start_time,t.start_time |
| | | startTime,t.end_time,t.end_time endTime,t.state,t.community_id,t.community_id communityId, |
| | | t.remark,t.obj_id objId,t.obj_name objName,t.obj_type objType |
| | | t.remark,t.obj_id objId,t.obj_name objName,t.obj_type objType,imf.create_time createTime, |
| | | td.description,t.expense_subject expenseSubject |
| | | from import_fee_detail t |
| | | left join import_fee imf on imf.import_fee_id = t.import_fee_id |
| | | left join `t_dict` td on imf.fee_type_cd = td.status_cd and td.table_columns = "fee_type_cd" |
| | | where 1 =1 |
| | | <if test="amount !=null and amount != ''"> |
| | | and t.amount= #{amount} |
| | |
| | | <insert id="saveImportFeeDetails" parameterType="Map"> |
| | | insert into import_fee_detail( |
| | | amount,unit_num,fee_id,floor_num,room_id,room_num,ifd_id,fee_name,start_time, |
| | | end_time,state,community_id,import_fee_id,remark,obj_id,obj_name,obj_type |
| | | end_time,state,community_id,import_fee_id,remark,obj_id,obj_name,obj_type,expense_subject |
| | | ) values |
| | | <foreach collection="importFeeDetailPos" item="item" separator=","> |
| | | (#{item.amount},#{item.unitNum},#{item.feeId},#{item.floorNum},#{item.roomId},#{item.roomNum},#{item.ifdId},#{item.feeName}, |
| | | ( <if test="item.amount == null">0</if> |
| | | <if test="item.amount != null">#{item.amount}</if> |
| | | ,#{item.unitNum},#{item.feeId},#{item.floorNum},#{item.roomId},#{item.roomNum},#{item.ifdId},#{item.feeName}, |
| | | #{item.startTime},#{item.endTime},#{item.state},#{item.communityId},#{item.importFeeId},#{item.remark}, |
| | | #{item.objId},#{item.objName},#{item.objType}) |
| | | #{item.objId},#{item.objName},#{item.objType},#{item.expenseSubject}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | |
| | | |
| | | private void getRoomsAndCars(Workbook workbook, List<ImportRoomFee> importRoomFees) { |
| | | Sheet sheet = null; |
| | | sheet = ImportExcelUtils.getSheet(workbook, "房屋费用信息"); |
| | | sheet = ImportExcelUtils.getSheet(workbook, "费用导入模板"); |
| | | List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet); |
| | | ImportRoomFee importRoomFee = null; |
| | | Map<Integer, Object> debugs = new HashMap<Integer, Object>(); |
| | | for (int osIndex = 0; osIndex < oList.size(); osIndex++) { |
| | | Object[] os = oList.get(osIndex); |
| | | if (osIndex == 0) { // 第一行是 头部信息 直接跳过 |
| | | if (osIndex == 0 || osIndex == 1) { // 第一行是 头部信息 直接跳过 |
| | | continue; |
| | | } |
| | | if (os == null ||(os[0] == null && os[1] == null && os[2] == null)) { |
| | |
| | | |
| | | |
| | | importRoomFee = new ImportRoomFee(); |
| | | importRoomFee.setPayerObjName(os[0]==null?os[1].toString():os[0].toString()); |
| | | importRoomFee.setObjType(os[0] == null ? "6666" : "3333"); |
| | | importRoomFee.setPayerObjName(os[0] == null || (os[0] != null && os[1] != null)?os[1].toString():os[0].toString()); |
| | | importRoomFee.setObjType(os[0] == null || (os[0] != null && os[1] != null) ? "6666" : "3333"); |
| | | importRoomFee.setFeeTypeCd(os[2] == null ? null : os[2].toString()); |
| | | importRoomFee.setFeeName(os[3] == null ? null : os[3].toString()); |
| | | importRoomFee.setExpenseSubject(os[0] == null || (os[0] != null && os[1] != null)?os[1].toString():os[0].toString()); |
| | | if(startTime != null){ |
| | | importRoomFee.setStartTime(startTime); |
| | | } |
| | |
| | | importRoomFee.setEndTime(endTime); |
| | | } |
| | | if (os.length > 6){ |
| | | importRoomFee.setCreateTime(os[6] == null ? null : os[6].toString()); |
| | | importRoomFee.setAmount(os[7] == null ? null : os[7].toString()); |
| | | importRoomFee.setCreateTime(os[7] == null ? null : excelDoubleToDate(os[7].toString())); |
| | | importRoomFee.setAmount(os[6] == null ? null : os[6].toString()); |
| | | }else{ |
| | | importRoomFee.setCreateTime(null); |
| | | importRoomFee.setAmount("0"); |
| | |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.community.CommunityAttrDto; |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.intf.common.ICarInoutV1InnerServiceSMO; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.ICommunityLocationInnerServiceSMO; |
| | | import com.java110.po.car.CarInoutPo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | |
| | | import org.slf4j.Logger; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 类表述:保存 |
| | |
| | | @Autowired |
| | | private ICarInoutV1InnerServiceSMO carInoutV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "community_name", "请求报文中未包含小区名称"); |
| | | Assert.hasKeyAndValue(reqJson, "plate_number", "请求报文中未包含车牌号"); |
| | | Assert.hasKeyAndValue(reqJson, "entry_time", "请求报文中未包含进场时间"); |
| | | CommunityDto communityDto = new CommunityDto(); |
| | | communityDto.setName(reqJson.getString("community_name")); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto); |
| | | if (!(communityDtos == null || communityDtos.size() == 0)) { |
| | | reqJson.put("communityId",communityDtos.get(0).getCommunityId()); |
| | | } |
| | | reqJson.put("carNum", reqJson.getString("plate_number")); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId"); |
| | | Assert.hasKeyAndValue(reqJson, "carNum", "请求报文中未包含carNum"); |
| | | Assert.hasKeyAndValue(reqJson, "state", "请求报文中未包含state"); |
| | | Assert.hasKeyAndValue(reqJson, "inTime", "请求报文中未包含inTime"); |
| | | Assert.hasKeyAndValue(reqJson, "paId", "请求报文中未包含paId"); |
| | | |
| | | if (reqJson.containsKey("exit_time")) { |
| | | reqJson.put("state" , "100500"); |
| | | }else { |
| | | reqJson.put("state" , "100300"); |
| | | } |
| | | reqJson.put("inTime", reqJson.getString("entry_time")); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (flag < 1) { |
| | | throw new CmdException("保存数据失败"); |
| | | } |
| | | JSONObject jsonObject = new JSONObject(); |
| | | jsonObject.put("allow_entry","true"); |
| | | jsonObject.put("message","允许通行"); |
| | | jsonObject.put("expire_date","");// 如果是包月车,返回有效期 |
| | | ResponseEntity<String> responseEntity = ResponseEntity |
| | | .ok() |
| | | .header("Content-Type", "application/json") |
| | | .body(jsonObject.toString()); // 关键:用toString()返回原始JSON字符串 |
| | | |
| | | cmdDataFlowContext.setResponseEntity(ResultVo.success()); |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | } |
| | |
| | | public int saveImportFeeDetails(@RequestBody List<ImportFeeDetailPo> importFeeDetailPos) { |
| | | List<Map> fees = new ArrayList<>(); |
| | | for (ImportFeeDetailPo payFeeDetailPo : importFeeDetailPos) { |
| | | if (payFeeDetailPo.getAmount() == null){ |
| | | payFeeDetailPo.setAmount("0"); |
| | | } |
| | | fees.add(BeanConvertUtil.beanCovertMap(payFeeDetailPo)); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | importFeeDetailPo.setObjType(importRoomFee.getObjType()); |
| | | |
| | | importFeeDetailPo.setExpenseSubject(importRoomFee.getExpenseSubject()); |
| | | importFeeDetailPo.setStartTime(importRoomFee.getStartTime()); |
| | | importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId, true)); |
| | | importFeeDetailPo.setState("1000"); |
| | | importFeeDetailPo.setImportFeeId(importRoomFee.getBatchId()); |
| | | importFeeDetailPos.add(importFeeDetailPo); |
| | | |
| | | ImportFeeDto importFeeDto = new ImportFeeDto(); |
| | | importFeeDto.setCommunityId(payFeePo.getCommunityId()); |
| | | importFeeDto.setImportFeeId(importRoomFee.getBatchId()); |
| New file |
| | |
| | | package com.java110.user.cmd.owner; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.privilege.BasePrivilegeDto; |
| | | import com.java110.intf.common.IFileRelInnerServiceSMO; |
| | | import com.java110.intf.community.IMenuInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | | import com.java110.po.owner.OwnerPo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Java110Cmd(serviceCode = "owner.updateOwnerMembers") |
| | | public class UpdateOwnerMembersCmd extends Cmd { |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IMenuInnerServiceSMO menuInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { |
| | | Assert.jsonObjectHaveKey(reqJson, "communityId", "请求中未包含communityId信息"); |
| | | Assert.jsonObjectHaveKey(reqJson, "memberId", "请求中未包含memberId信息"); |
| | | // Assert.jsonObjectHaveKey(reqJson, "ownerTypeCd", "请求中未包含ownerTypeCd信息"); |
| | | if (!reqJson.containsKey("page")) { |
| | | reqJson.put("page", 1); |
| | | } |
| | | if (!reqJson.containsKey("row")) { |
| | | reqJson.put("row", 10); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { |
| | | String userId = context.getReqHeaders().get("user-id"); |
| | | OwnerPo ownerDto = BeanConvertUtil.covertBean(reqJson, OwnerPo.class); |
| | | ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_MEMBER); |
| | | |
| | | int total = ownerInnerServiceSMOImpl.updateOwnerMember(ownerDto); |
| | | context.setResponseEntity(ResultVo.success()); |
| | | } |
| | | } |
| | |
| | | spring: |
| | | profiles: |
| | | active: debug |
| | | active: dev |
| | | |
| | | |
| | | # docker build -t lx . |