wuxw
2020-01-31 85195c780137fc848121c1513474d696a0c29ac2
有批量收费
6个文件已修改
92 ■■■■ 已修改文件
Api/src/main/java/com/java110/api/listener/community/SaveCommunityListener.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/fee/SaveRoomCreateFeeListener.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/room/SellRoomListener.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.html 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Api/src/main/java/com/java110/api/listener/community/SaveCommunityListener.java
@@ -9,6 +9,7 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.entity.center.AppService;
import com.java110.event.service.api.ServiceDataFlowEvent;
import com.java110.utils.util.DateUtil;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
@@ -44,6 +45,8 @@
        //添加单元信息
        businesses.add(addCommunity(reqJson, context));
        businesses.addAll(addCommunityMember(reqJson));
        //产生物业费配置信息
        businesses.add(addFeeConfig(reqJson,context));
        JSONObject paramInObj = super.restToCenterProtocol(businesses, context.getRequestCurrentHeaders());
@@ -55,6 +58,39 @@
        context.setResponseEntity(responseEntity);
    }
    /**
     * 添加小区信息
     *
     * @param paramInJson     接口调用放传入入参
     * @param dataFlowContext 数据上下文
     * @return 订单服务能够接受的报文
     */
    private JSONObject addFeeConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) {
        paramInJson.put("configId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId));
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_CONFIG);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ+1);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessFeeConfig = new JSONObject();
        businessFeeConfig.putAll(paramInJson);
        businessFeeConfig.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY);
        businessFeeConfig.put("feeName", "物业费[系统默认]");
        businessFeeConfig.put("feeFlag", "1003006");
        businessFeeConfig.put("startTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        businessFeeConfig.put("endTime", DateUtil.LAST_TIME);
        businessFeeConfig.put("computingFormula", "1001");
        businessFeeConfig.put("squarePrice", "0.00");
        businessFeeConfig.put("additionalAmount", "0.00");
        businessFeeConfig.put("communityId", paramInJson.getString("communityId"));
        businessFeeConfig.put("configId", paramInJson.getString("configId"));
        businessFeeConfig.put("isDefault", "T");
        //计算 应收金额
        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessFeeConfig", businessFeeConfig);
        return business;
    }
    /**
     * 添加小区成员 开发者 代理商 运维 商户
Api/src/main/java/com/java110/api/listener/fee/SaveRoomCreateFeeListener.java
@@ -80,24 +80,28 @@
        Assert.listOnlyOne(feeConfigDtos, "当前费用项ID不存在或存在多条" + reqJson.getString("configId"));
        reqJson.put("feeTypeCd", reqJson.getString("feeTypeCd"));
        //判断收费范围
        RoomDto roomDto = new RoomDto();
        if (reqJson.containsKey("roomState") && "2001".equals(reqJson.getString("roomState"))) {
            roomDto.setState("2001");
        }
        if ("1000".equals(reqJson.getString("locationTypeCd"))) {//小区
            RoomDto roomDto = new RoomDto();
            roomDto.setCommunityId(reqJson.getString("communityId"));
            roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        } else if ("4000".equals(reqJson.getString("locationTypeCd"))) {//楼栋
            RoomDto roomDto = new RoomDto();
            //RoomDto roomDto = new RoomDto();
            roomDto.setCommunityId(reqJson.getString("communityId"));
            roomDto.setFloorId(reqJson.getString("locationObjId"));
            roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        } else if ("2000".equals(reqJson.getString("locationTypeCd"))) {//单元
            RoomDto roomDto = new RoomDto();
            //RoomDto roomDto = new RoomDto();
            roomDto.setCommunityId(reqJson.getString("communityId"));
            roomDto.setUnitId(reqJson.getString("locationObjId"));
            roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
        } else if ("3000".equals(reqJson.getString("locationTypeCd"))) {//房屋
            RoomDto roomDto = new RoomDto();
            //RoomDto roomDto = new RoomDto();
            roomDto.setCommunityId(reqJson.getString("communityId"));
            roomDto.setRoomId(reqJson.getString("locationObjId"));
            roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
@@ -125,6 +129,7 @@
        int failRooms = 0;
        //添加单元信息
        for (int roomIndex = 0; roomIndex < roomDtos.size(); roomIndex++) {
            businesses.add(addFee(roomDtos.get(0), reqJson, context));
            if (roomIndex % DEFAULT_ADD_FEE_COUNT == 0 && roomIndex != 0) {
Api/src/main/java/com/java110/api/listener/room/SellRoomListener.java
@@ -3,6 +3,9 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiDataFlowListener;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.FeeTypeConstant;
@@ -22,6 +25,8 @@
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import java.util.List;
/**
 * @ClassName SaveUnitListener
 * @Description TODO 售卖房屋信息
@@ -40,6 +45,9 @@
    @Autowired
    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
    @Autowired
    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMO;
    @Override
    public String getServiceCode() {
@@ -74,7 +82,6 @@
        //更新房屋信息为售出
        businesses.add(updateRoom(paramObj, dataFlowContext));
        //添加物业费用信息
        businesses.add(addPropertyFee(paramObj, dataFlowContext));
@@ -121,14 +128,21 @@
     * @return 订单服务能够接受的报文
     */
    private JSONObject addPropertyFee(JSONObject paramInJson, DataFlowContext dataFlowContext) {
        FeeConfigDto feeConfigDto = new FeeConfigDto();
        feeConfigDto.setCommunityId(paramInJson.getString("communityId"));
        feeConfigDto.setIsDefault("T");
        feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_PROPERTY);
        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMO.queryFeeConfigs(feeConfigDto);
        Assert.listOnlyOne(feeConfigDtos, "物业费默认配置不存在或存在多条请检查");
        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FEE_INFO);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 1);
        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 2);
        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
        JSONObject businessUnit = new JSONObject();
        businessUnit.put("feeId", "-1");
        businessUnit.put("configId", feeConfigDtos.get(0).getConfigId());
        businessUnit.put("feeTypeCd", FeeTypeConstant.FEE_TYPE_PROPERTY);
        businessUnit.put("incomeObjId", paramInJson.getString("storeId"));
        businessUnit.put("amount", "-1.00");
WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.html
@@ -72,7 +72,7 @@
                                        </option>
                                    </select></div>
                            </div>
                            <div class="form-group row" v-if="roomCreateFeeAddInfo.computingFormula != '2002'">
                            <div class="form-group row" >
                                <label class="col-sm-2 col-form-label">出账类型</label>
                                <div class="col-sm-10">
                                    <select class="custom-select" v-model="roomCreateFeeAddInfo.billType">
@@ -83,6 +83,16 @@
                                    </select>
                                </div>
                            </div>
                            <div class="form-group row" >
                                <label class="col-sm-2 col-form-label">房屋状态</label>
                                <div class="col-sm-10">
                                    <select class="custom-select" v-model="roomCreateFeeAddInfo.roomState">
                                        <option selected disabled value="">必填,请选择房屋状态</option>
                                        <option  value="2001">已售房屋</option>
                                        <option  value="0000">全部房屋</option>
                                    </select>
                                </div>
                            </div>
                            <div class="ibox-content">
                                <button class="btn btn-primary float-right" type="button"
                                        v-on:click="saveRoomCreateFeeInfo()"><i class="fa fa-check"></i>&nbsp;提交
WebService/src/main/resources/components/feePackage/roomCreateFeeAdd/roomCreateFeeAdd.js
@@ -15,7 +15,8 @@
                roomId: '',
                feeTypeCd:'',
                configId:'',
                billType:''
                billType:'',
                roomState:''
            }
        },
        _initMethod: function() {
@@ -85,7 +86,13 @@
                        param: "",
                        errInfo: "出账类型不能为空"
                    }
                    ]
                    ],
                     'roomCreateFeeAddInfo.roomState': [{
                         limit: "required",
                         param: "",
                         errInfo: "出账类型不能为空"
                     }
                     ]
                });
            },
            saveRoomCreateFeeInfo: function() {
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -16,7 +16,7 @@
    private static DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
    private static final String LAST_TIME = "2038-01-01 00:00:00";
    public static final String LAST_TIME = "2038-01-01 00:00:00";
    private static Map<String, SimpleDateFormat> formats = new HashMap();
    public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss";