change
-------------------------------------------------
package sample.dto;
import java.math.BigDecimal;
/**
* jisseki
*/
public class ActDto {
private String group;
private BigDecimal actKingaku;
public ActDto(String group, double actKingaku) {
super();
this.group = group;
this.actKingaku = BigDecimal.valueOf(actKingaku);
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public BigDecimal getActKingaku() {
return actKingaku;
}
public void setActKingaku(BigDecimal actKingaku) {
this.actKingaku = actKingaku;
}
}
package sample.dto;
import java.math.BigDecimal;
/**
* mitsumori
*/
public class EstDto {
private String group;
private BigDecimal estKingaku;
public EstDto(String group, double estKingaku) {
super();
this.group = group;
this.estKingaku = BigDecimal.valueOf(estKingaku);
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public BigDecimal getEstKingaku() {
return estKingaku;
}
public void setEstKingaku(BigDecimal estKingaku) {
this.estKingaku = estKingaku;
}
}
package sample.dto;
/**
* group
*
*/
public class GroupDto {
private String group;
private String groupName;
public GroupDto(String group, String groupName) {
super();
this.group = group;
this.groupName = groupName;
}
public GroupDto(String group) {
super();
this.group = group;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
}
package sample.dto;
import java.math.BigDecimal;
/**
* 画面表示用DTO
*/
public class GroupActEstDto implements Comparable<GroupActEstDto> {
private String group;
private String groupName;
private BigDecimal actKingaku = null;
private BigDecimal estKingaku = null;
public GroupActEstDto() {
}
public GroupActEstDto(String group) {
this.group = group;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
public BigDecimal getActKingaku() {
return actKingaku;
}
public void setActKingaku(BigDecimal actKingaku) {
this.actKingaku = actKingaku;
}
public BigDecimal getEstKingaku() {
return estKingaku;
}
public void setEstKingaku(BigDecimal estKingaku) {
this.estKingaku = estKingaku;
}
public void addActKingaku(BigDecimal actKingaku) {
if (actKingaku != null) {
if (this.actKingaku == null) {
this.actKingaku = BigDecimal.ZERO;
}
this.actKingaku = this.actKingaku.add(actKingaku);
}
}
public void addEstKingaku(BigDecimal estKingaku) {
if (estKingaku != null) {
if (this.estKingaku == null) {
this.estKingaku = BigDecimal.ZERO;
}
this.estKingaku = this.estKingaku.add(estKingaku);
}
}
/**
* 差額金額を取得(見積-実績)
*/
public BigDecimal getDifftKingaku() {
return this.actKingaku.subtract(this.estKingaku);
}
/**
* グループ1文字目取得
*/
public String getGroupChar1() {
return group.substring(0, 1);
}
/**
* グループ2文字目取得
*/
public String getGroupChar2() {
return group.substring(1, 2);
}
/**
* 自グループのサマリ(N**)取得
*/
public String getSummaryGroup2() {
return getGroupChar1() + "**";
}
/**
* 自グループのサマリ(NN*)取得
*/
public String getSummaryGroup3() {
return getGroupChar1() + getGroupChar2() + "*";
}
/**
* サマリグループ?
*/
public boolean isSummaryGroup() {
return group.contains("*");
}
/**
* サマリ不要グループ?(*情報作成不要?)
*/
public boolean isSummaryUnnecessaryGroup() {
return group.equals("000") || group.startsWith("OPT");
}
@Override
public int compareTo(GroupActEstDto o) {
int comp = getGroupChar1().compareTo(o.getGroupChar1());
if (comp != 0) {
// グループ一文字目順優先
return comp;
}
if (isSummaryGroup() != o.isSummaryGroup()) {
// 非サマリグループは先、サマリグループは後
return isSummaryGroup() ? 1 : -1;
}
// サマリ文字*をAに変換して数値より後として比較
return this.group.replaceAll("\\*", "A").compareTo(o.group.replaceAll("\\*", "A"));
}
@Override
public String toString() {
return "GroupActEstDto [group=" + group + ", groupName=" + groupName + ", actKingaku=" + actKingaku
+ ", estKingaku=" + estKingaku + "]";
}
}
-------------------------------------------------