Search in sources :

Example 1 with TGKaixiaoInfo

use of com.kendy.entity.TGKaixiaoInfo in project financial by greatkendy123.

the class TGAddKaixiaoController method getSubmitData.

/**
 * 获取待提交的数据
 * @time 2018年3月3日
 * @return
 */
private TGKaixiaoInfo getSubmitData() {
    String tgCompany = tgCompanyChoice.getSelectionModel().getSelectedItem();
    TGKaixiaoInfo TGKaixiaoEntity = new TGKaixiaoInfo(UUID.randomUUID().toString(), MyController.tgController.getDateString(), FinalPlaerNameField.getText(), payItemsChoice.getSelectionModel().getSelectedItem(), kaixiaoMoneyField.getText(), tgCompany);
    return TGKaixiaoEntity;
}
Also used : TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo)

Example 2 with TGKaixiaoInfo

use of com.kendy.entity.TGKaixiaoInfo in project financial by greatkendy123.

the class TGAddKaixiaoController method addTGKaixiaoBtnAction.

/**
 * 按钮:确定提交托管开销数据
 *
 * @time 2018年3月3日
 * @param event
 */
public void addTGKaixiaoBtnAction(ActionEvent event) {
    // 检验参数
    if (hasAnyParamBlank()) {
        ShowUtil.show("Sorry, 提交信息不完整,请查看!");
        return;
    }
    // 传递给主控制类处理逻辑 TODO
    TGKaixiaoInfo TGKaixiaoEntity = getSubmitData();
    TGController tgController = MyController.tgController;
    // 保存到数据库
    DBUtil.saveOrUpdate_tg_kaixiao(TGKaixiaoEntity);
    // 刷新界面
    if (equalsCurrentCompany())
        tgController.refreshTableTGKaixiao();
    ShowUtil.show("添加完成", 1);
}
Also used : TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo)

Example 3 with TGKaixiaoInfo

use of com.kendy.entity.TGKaixiaoInfo in project financial by greatkendy123.

the class TGController method delTGKaixiaoAction.

/**
 * 删除开销记录
 * @time 2018年3月4日
 * @param event
 */
public void delTGKaixiaoAction(ActionEvent event) {
    TGKaixiaoInfo selectedItem = tableTGKaixiao.getSelectionModel().getSelectedItem();
    if (selectedItem == null) {
        ShowUtil.show("先选择要删除的托管开销记录!");
    } else {
        // 同步到数据库
        DBUtil.del_tg_kaixiao_by_id(selectedItem.getTgKaixiaoEntityId());
        refreshTableTGKaixiao();
        ShowUtil.show("操作完成 ", 1);
    }
}
Also used : TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo)

Example 4 with TGKaixiaoInfo

use of com.kendy.entity.TGKaixiaoInfo in project financial by greatkendy123.

the class TGController method refreshProfitTab.

/**
 * 刷新月利润表
 * @time 2018年3月17日
 */
public void refreshProfitTab() {
    String tgCompany = currentTGCompanyLabel.getText();
    if (StringUtil.isBlank(tgCompany)) {
        ShowUtil.show("请先选择托管公司!");
        return;
    }
    System.out.println("===========================刷新月利润表");
    List<TGLirunInfo> list = new ArrayList<>();
    TGLirunInfo lirun = new TGLirunInfo();
    // 获取数据库的历史日利润表 TODO
    List<TGLirunInfo> liruns = DBUtil.get_all_tg_lirun(tgCompany);
    if (CollectUtil.isHaveValue(liruns)) {
        // liruns = liruns.stream()
        // .filter(info->tgCompany.equals(info.getTgLirunCompanyName())) // 获取当前托管公司的数据,但剔除今天已经保存过的数据,因为下面会重新计算
        // .filter(info-> !(TimeUtil.getDateString().equals(info.getTgLirunDate()) && tgCompany.equals(info.getTgLirunCompanyName())))
        // .collect(Collectors.toList());
        list.addAll(liruns);
        String today = getDateString();
        boolean isTodayContains = list.stream().anyMatch(info -> today.equals(info.getTgLirunDate()));
        if (isTodayContains) {
            log.info("刷新月利润表时已经存在了今天" + today + "的数据了!所以不重复计算");
            tableTGLirun.setItems(FXCollections.observableArrayList(list));
            return;
        }
    }
    // 刷新服务费
    refreshFwfTab();
    // 获取日期(日期与当前托管公司为主键)
    String dateString = getDateString();
    lirun.setTgLirunDate(dateString);
    lirun.setTgLirunCompanyName(tgCompany);
    // 获取总利润(即服务费明细中的总利润)
    ObservableList<TypeValueInfo> fwfList = tableTGFwfSum.getItems();
    String tgLirunTotalProfit = fwfList.stream().filter(info -> "总利润".equals(info.getType())).map(TypeValueInfo::getValue).findFirst().orElse("0");
    lirun.setTgLirunTotalProfit(tgLirunTotalProfit);
    // 获取总开销
    List<TGKaixiaoInfo> allTGKaixiaos = DBUtil.get_all_tg_kaixiao();
    double sumOfKaixiao = allTGKaixiaos.stream().filter(info -> tgCompany.equals(info.getTgKaixiaoCompany())).map(TGKaixiaoInfo::getTgKaixiaoMoney).mapToDouble(NumUtil::getNum).sum();
    lirun.setTgLirunTotalKaixiao(NumUtil.digit0(sumOfKaixiao + ""));
    // 设置Rest合计
    lirun.setTgLirunRestHeji(NumUtil.digit2(NumUtil.getSum(tgLirunTotalProfit, sumOfKaixiao + "")));
    // 设置公司占股
    TGCompanyModel companyModel = DBUtil.get_tg_company_by_id(tgCompany);
    String companyRate = companyModel.getCompanyRate();
    companyRate = companyRate.endsWith("%") ? NumUtil.getNumByPercent(companyRate) + "" : NumUtil.getNum(companyRate) / 100.0 + "";
    Double atmCompanyProfit = NumUtil.getNumTimes(lirun.getTgLirunRestHeji(), companyRate);
    lirun.setTgLirunATMCompany(NumUtil.digit2(atmCompanyProfit + ""));
    // 设置托管公司占股
    String tgCompanyRate = StringUtil.nvl(companyModel.getTgCompanyRate(), "0%");
    tgCompanyRate = tgCompanyRate.endsWith("%") ? NumUtil.getNumByPercent(tgCompanyRate) + "" : NumUtil.getNum(tgCompanyRate) / 100.0 + "";
    Double tgCompanyProfit = NumUtil.getNumTimes(lirun.getTgLirunRestHeji(), tgCompanyRate);
    lirun.setTgLirunTGCompany(NumUtil.digit2(tgCompanyProfit + ""));
    // 设置团队服务费 TODO
    Double tgCompanyProxy = 0.0d;
    List<TGTeamModel> tgTeamInfos = DBUtil.get_all_tg_team();
    Set<String> proxyTeamSet = tgTeamInfos.stream().filter(info -> "1".equals(info.getTgTeamProxy())).map(TGTeamModel::getTgTeamId).collect(Collectors.toSet());
    tgCompanyProxy = tableTGFwf.getItems().stream().filter(info -> proxyTeamSet.contains(info.getTgFwfTeamId())).mapToDouble(info -> NumUtil.getNum(info.getTgFwfFanshui()) + NumUtil.getNum(info.getTgFwfFanbao())).sum();
    lirun.setTgLirunTeamProfit(NumUtil.digit2(tgCompanyProxy + ""));
    // 设置托管公司合计 = 托管公司占股 + 托管公司代理
    Double tgCompanyHeji = tgCompanyProfit + tgCompanyProxy;
    lirun.setTgLirunHeji(NumUtil.digit2(tgCompanyHeji + ""));
    list.add(lirun);
    tableTGLirun.setItems(FXCollections.observableArrayList(list));
}
Also used : EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) Initializable(javafx.fxml.Initializable) Constants(application.Constants) NumUtil(com.kendy.util.NumUtil) URL(java.net.URL) InputDialog(com.kendy.util.InputDialog) Random(java.util.Random) VBox(javafx.scene.layout.VBox) Huishui(com.kendy.entity.Huishui) Logger(org.apache.log4j.Logger) Parent(javafx.scene.Parent) TabPane(javafx.scene.control.TabPane) AlertType(javafx.scene.control.Alert.AlertType) StringUtil(com.kendy.util.StringUtil) Map(java.util.Map) TGTeamModel(com.kendy.entity.TGTeamModel) WindowEvent(javafx.stage.WindowEvent) MyController(application.MyController) TableView(javafx.scene.control.TableView) Alert(javafx.scene.control.Alert) HBox(javafx.scene.layout.HBox) TextField(javafx.scene.control.TextField) Pair(javafx.util.Pair) PropertyValueFactory(javafx.scene.control.cell.PropertyValueFactory) Set(java.util.Set) Collectors(java.util.stream.Collectors) TgWaizhaiService(com.kendy.service.TgWaizhaiService) TGCompanyModel(com.kendy.entity.TGCompanyModel) FXML(javafx.fxml.FXML) List(java.util.List) TypeReference(com.alibaba.fastjson.TypeReference) CollectUtil(com.kendy.util.CollectUtil) ShowUtil(com.kendy.util.ShowUtil) TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo) ProxyTeamInfo(com.kendy.entity.ProxyTeamInfo) Optional(java.util.Optional) ObservableList(javafx.collections.ObservableList) Scene(javafx.scene.Scene) TGCommentInfo(com.kendy.entity.TGCommentInfo) TGExportExcelService(com.kendy.service.TGExportExcelService) ListView(javafx.scene.control.ListView) ButtonType(javafx.scene.control.ButtonType) FXCollections(javafx.collections.FXCollections) HashMap(java.util.HashMap) TGFwfService(com.kendy.service.TGFwfService) TypeValueInfo(com.kendy.entity.TypeValueInfo) Function(java.util.function.Function) ArrayList(java.util.ArrayList) TableColumn(javafx.scene.control.TableColumn) ResourceBundle(java.util.ResourceBundle) FXMLLoader(javafx.fxml.FXMLLoader) TableUtil(com.kendy.util.TableUtil) TGLirunInfo(com.kendy.entity.TGLirunInfo) DataConstans(application.DataConstans) DBUtil(com.kendy.db.DBUtil) TGFwfinfo(com.kendy.entity.TGFwfinfo) Label(javafx.scene.control.Label) TGTeamInfo(com.kendy.entity.TGTeamInfo) Node(javafx.scene.Node) CheckBox(javafx.scene.control.CheckBox) TeamProxyService(com.kendy.service.TeamProxyService) Main(application.Main) ActionEvent(javafx.event.ActionEvent) JSON(com.alibaba.fastjson.JSON) Stage(javafx.stage.Stage) ObservableValue(javafx.beans.value.ObservableValue) ChangeListener(javafx.beans.value.ChangeListener) Entity(com.kendy.interfaces.Entity) TypeValueInfo(com.kendy.entity.TypeValueInfo) TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo) ArrayList(java.util.ArrayList) TGTeamModel(com.kendy.entity.TGTeamModel) TGLirunInfo(com.kendy.entity.TGLirunInfo) TGCompanyModel(com.kendy.entity.TGCompanyModel)

Example 5 with TGKaixiaoInfo

use of com.kendy.entity.TGKaixiaoInfo in project financial by greatkendy123.

the class DBUtil method get_all_tg_kaixiao.

/**
 * 获取所有托管开销
 *
 * @time 2018年3月4日
 * @return
 */
public static List<TGKaixiaoInfo> get_all_tg_kaixiao() {
    List<TGKaixiaoInfo> list = new ArrayList<>();
    try {
        con = DBConnection.getConnection();
        String sql = "select * from tg_kaixiao";
        ps = con.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        while (rs.next()) {
            TGKaixiaoInfo kaixiao = new TGKaixiaoInfo(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6));
            list.add(kaixiao);
        }
    } catch (SQLException e) {
        ErrorUtil.err("获取所有托管开销失败", e);
    } finally {
        close(con, ps);
    }
    return list;
}
Also used : TGKaixiaoInfo(com.kendy.entity.TGKaixiaoInfo) SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) ResultSet(java.sql.ResultSet)

Aggregations

TGKaixiaoInfo (com.kendy.entity.TGKaixiaoInfo)6 ArrayList (java.util.ArrayList)2 Constants (application.Constants)1 DataConstans (application.DataConstans)1 Main (application.Main)1 MyController (application.MyController)1 JSON (com.alibaba.fastjson.JSON)1 TypeReference (com.alibaba.fastjson.TypeReference)1 DBUtil (com.kendy.db.DBUtil)1 Huishui (com.kendy.entity.Huishui)1 ProxyTeamInfo (com.kendy.entity.ProxyTeamInfo)1 TGCommentInfo (com.kendy.entity.TGCommentInfo)1 TGCompanyModel (com.kendy.entity.TGCompanyModel)1 TGExcelModel (com.kendy.entity.TGExcelModel)1 TGFwfinfo (com.kendy.entity.TGFwfinfo)1 TGLirunInfo (com.kendy.entity.TGLirunInfo)1 TGTeamInfo (com.kendy.entity.TGTeamInfo)1 TGTeamModel (com.kendy.entity.TGTeamModel)1 TypeValueInfo (com.kendy.entity.TypeValueInfo)1 Entity (com.kendy.interfaces.Entity)1