9 changed files with 658 additions and 2 deletions
-
16src/main/java/com/heai/modules/production/controller/DailyPlanController.java
-
49src/main/java/com/heai/modules/production/dao/DailyPlanMapper.java
-
35src/main/java/com/heai/modules/production/entity/ScheduleCheckData.java
-
170src/main/java/com/heai/modules/production/entity/ScheduleData.java
-
57src/main/java/com/heai/modules/production/entity/ScheduleDetail.java
-
12src/main/java/com/heai/modules/production/service/DailyPlanService.java
-
42src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java
-
241src/main/java/com/heai/modules/production/util/BigDecimalUtils.java
-
38src/main/resources/mapper/production/DailyPlanMapper.xml
@ -0,0 +1,35 @@ |
|||
package com.heai.modules.production.entity; |
|||
|
|||
import org.apache.ibatis.type.Alias; |
|||
|
|||
import java.math.BigDecimal; |
|||
@Alias("ScheduleCheckData") |
|||
public class ScheduleCheckData { |
|||
private BigDecimal qty; |
|||
private BigDecimal scheduledQty; |
|||
private String status; |
|||
|
|||
public BigDecimal getQty() { |
|||
return qty; |
|||
} |
|||
|
|||
public void setQty(BigDecimal qty) { |
|||
this.qty = qty; |
|||
} |
|||
|
|||
public BigDecimal getScheduledQty() { |
|||
return scheduledQty; |
|||
} |
|||
|
|||
public void setScheduledQty(BigDecimal scheduledQty) { |
|||
this.scheduledQty = scheduledQty; |
|||
} |
|||
|
|||
public String getStatus() { |
|||
return status; |
|||
} |
|||
|
|||
public void setStatus(String status) { |
|||
this.status = status; |
|||
} |
|||
} |
|||
@ -0,0 +1,170 @@ |
|||
package com.heai.modules.production.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.heai.modules.production.util.BigDecimalUtils; |
|||
import org.apache.ibatis.type.Alias; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
@Alias("ScheduleData") |
|||
public class ScheduleData { |
|||
private String orderNo; |
|||
private String site; |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date needDate; |
|||
private String partNo; |
|||
private Float itemNo; |
|||
private BigDecimal qty; |
|||
private String workCenterNo; |
|||
private BigDecimal sumQty; |
|||
private int seqNo; |
|||
private BigDecimal scheduleQty; |
|||
private String resourceId; |
|||
private String shiftNo; |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date scheduleDate; |
|||
private String operatorId; |
|||
private String scheduleType; |
|||
private float efficiency; |
|||
List<ScheduleDetail> scheduleDetail; |
|||
|
|||
public String getOrderNo() { |
|||
return orderNo; |
|||
} |
|||
|
|||
public void setOrderNo(String orderNo) { |
|||
this.orderNo = orderNo; |
|||
} |
|||
|
|||
public String getSite() { |
|||
return site; |
|||
} |
|||
|
|||
public void setSite(String site) { |
|||
this.site = site; |
|||
} |
|||
|
|||
public Date getNeedDate() { |
|||
return needDate; |
|||
} |
|||
|
|||
public void setNeedDate(Date needDate) { |
|||
this.needDate = needDate; |
|||
} |
|||
|
|||
public String getPartNo() { |
|||
return partNo; |
|||
} |
|||
|
|||
public void setPartNo(String partNo) { |
|||
this.partNo = partNo; |
|||
} |
|||
|
|||
public Float getItemNo() { |
|||
return itemNo; |
|||
} |
|||
|
|||
public void setItemNo(Float itemNo) { |
|||
this.itemNo = itemNo; |
|||
} |
|||
|
|||
public String getWorkCenterNo() { |
|||
return workCenterNo; |
|||
} |
|||
|
|||
public void setWorkCenterNo(String workCenterNo) { |
|||
this.workCenterNo = workCenterNo; |
|||
} |
|||
|
|||
public BigDecimal getSumQty() { |
|||
return sumQty; |
|||
} |
|||
|
|||
public void setSumQty(BigDecimal sumQty) { |
|||
this.sumQty = sumQty; |
|||
} |
|||
|
|||
public List<ScheduleDetail> getScheduleDetail() { |
|||
return scheduleDetail; |
|||
} |
|||
|
|||
public void setScheduleDetail(List<ScheduleDetail> scheduleDetail) { |
|||
this.scheduleDetail = scheduleDetail; |
|||
} |
|||
|
|||
public BigDecimal getQty() { |
|||
return qty; |
|||
} |
|||
|
|||
public void setQty(BigDecimal qty) { |
|||
this.qty = qty; |
|||
} |
|||
|
|||
public int getSeqNo() { |
|||
return seqNo; |
|||
} |
|||
|
|||
public void setSeqNo(int seqNo) { |
|||
this.seqNo = seqNo; |
|||
} |
|||
|
|||
public BigDecimal getScheduleQty() { |
|||
return scheduleQty; |
|||
} |
|||
|
|||
public void setScheduleQty(BigDecimal scheduleQty) { |
|||
this.scheduleQty = scheduleQty; |
|||
} |
|||
|
|||
public String getResourceId() { |
|||
return resourceId; |
|||
} |
|||
|
|||
public void setResourceId(String resourceId) { |
|||
this.resourceId = resourceId; |
|||
} |
|||
|
|||
public String getShiftNo() { |
|||
return shiftNo; |
|||
} |
|||
|
|||
public void setShiftNo(String shiftNo) { |
|||
this.shiftNo = shiftNo; |
|||
} |
|||
|
|||
public Date getScheduleDate() { |
|||
return scheduleDate; |
|||
} |
|||
|
|||
public void setScheduleDate(Date scheduleDate) { |
|||
this.scheduleDate = scheduleDate; |
|||
} |
|||
|
|||
public String getOperatorId() { |
|||
return operatorId; |
|||
} |
|||
|
|||
public void setOperatorId(String operatorId) { |
|||
this.operatorId = operatorId; |
|||
} |
|||
|
|||
public String getScheduleType() { |
|||
return scheduleType; |
|||
} |
|||
|
|||
public void setScheduleType(String scheduleType) { |
|||
this.scheduleType = scheduleType; |
|||
} |
|||
|
|||
public float getEfficiency() { |
|||
return efficiency; |
|||
} |
|||
|
|||
public void setEfficiency(float efficiency) { |
|||
this.efficiency = efficiency; |
|||
} |
|||
} |
|||
@ -0,0 +1,57 @@ |
|||
package com.heai.modules.production.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
|
|||
public class ScheduleDetail { |
|||
private BigDecimal scheduleQty; |
|||
private String resourceId; |
|||
private String shiftNo; |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date scheduleDate; |
|||
private String operatorId; |
|||
|
|||
public BigDecimal getScheduleQty() { |
|||
return scheduleQty; |
|||
} |
|||
|
|||
public void setScheduleQty(BigDecimal scheduleQty) { |
|||
this.scheduleQty = scheduleQty; |
|||
} |
|||
|
|||
public String getResourceId() { |
|||
return resourceId; |
|||
} |
|||
|
|||
public void setResourceId(String resourceId) { |
|||
this.resourceId = resourceId; |
|||
} |
|||
|
|||
public String getShiftNo() { |
|||
return shiftNo; |
|||
} |
|||
|
|||
public void setShiftNo(String shiftNo) { |
|||
this.shiftNo = shiftNo; |
|||
} |
|||
|
|||
public Date getScheduleDate() { |
|||
return scheduleDate; |
|||
} |
|||
|
|||
public void setScheduleDate(Date scheduleDate) { |
|||
this.scheduleDate = scheduleDate; |
|||
} |
|||
|
|||
public String getOperatorId() { |
|||
return operatorId; |
|||
} |
|||
|
|||
public void setOperatorId(String operatorId) { |
|||
this.operatorId = operatorId; |
|||
} |
|||
} |
|||
@ -0,0 +1,241 @@ |
|||
package com.heai.modules.production.util; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.text.NumberFormat; |
|||
|
|||
/** |
|||
* @Description BigDecimal运算类 |
|||
* @ClassName BigDecimalUtils |
|||
* @author Yangzz |
|||
* @date 2021/6/18 18:13 |
|||
**/ |
|||
public class BigDecimalUtils { |
|||
|
|||
//默认除法运算精度 |
|||
private static final int DEF_DIV_SCALE = 2; |
|||
|
|||
//建立货币格式化引用 |
|||
private static final NumberFormat currency = NumberFormat.getCurrencyInstance(); |
|||
|
|||
//建立百分比格式化引用 |
|||
private static final NumberFormat percent = NumberFormat.getPercentInstance(); |
|||
|
|||
/** |
|||
* 加法 |
|||
* @param num |
|||
* @param num1 |
|||
* @return |
|||
*/ |
|||
public static BigDecimal add(BigDecimal num, BigDecimal num1) { |
|||
return num.add(num1); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的加法运算(默认四舍五入,根据scale保留小数位数) |
|||
* @param num |
|||
* @param num1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal add(BigDecimal num, BigDecimal num1, int scale) { |
|||
return num.add(num1).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
/** |
|||
* 提供精确的加法运算(默认四舍五入,根据scale保留小数位数) |
|||
* @param num |
|||
* @param num1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal add(BigDecimal num, BigDecimal num1,BigDecimal num2, int scale) { |
|||
BigDecimal bigDecimal = num.add(num1).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
return bigDecimal.add(num2).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的加法运算(默认四舍五入,根据scale保留小数位数) |
|||
* @param add |
|||
* @param add1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal add(String add, String add1, int scale) { |
|||
BigDecimal num = new BigDecimal(add); |
|||
BigDecimal num1 = new BigDecimal(add1); |
|||
return num.add(num1).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 减法 |
|||
* @param num |
|||
* @param num1 |
|||
* @return |
|||
*/ |
|||
public static BigDecimal sub(BigDecimal num, BigDecimal num1) { |
|||
return num.subtract(num1); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的减法运算(默认四舍五入,根据scale保留小数位数) |
|||
* @param num |
|||
* @param num1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal sub(BigDecimal num, BigDecimal num1, int scale) { |
|||
return num.subtract(num1).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的减法运算(默认四舍五入,根据scale保留小数位数) |
|||
* @param minus |
|||
* @param minus1 |
|||
* @return |
|||
*/ |
|||
public static BigDecimal sub(String minus, String minus1, int scale) { |
|||
BigDecimal num = new BigDecimal(minus); |
|||
BigDecimal num1 = new BigDecimal(minus1); |
|||
return sub(num, num1, scale); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 乘法 |
|||
* @param num |
|||
* @param num1 |
|||
* @return |
|||
*/ |
|||
public static BigDecimal multiply(BigDecimal num, BigDecimal num1) { |
|||
return num.multiply(num1); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的乘法运算(默认四舍五入,保留小数位数根据scale决定) |
|||
* @param num |
|||
* @param num1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal multiply(String num, String num1, int scale) { |
|||
BigDecimal mul = new BigDecimal(num); |
|||
BigDecimal mul1 = new BigDecimal(num1); |
|||
return multiply(mul, mul1, scale); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的乘法运算(默认四舍五入,保留小数位数根据scale确定) |
|||
* @param num |
|||
* @param num1 |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal multiply(BigDecimal num, BigDecimal num1, int scale) { |
|||
return num.multiply(num1).setScale(scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 除法(除法除不尽会抛异常) |
|||
* @param num |
|||
* @param num1 |
|||
* @return |
|||
*/ |
|||
public static BigDecimal divide(BigDecimal num, BigDecimal num1) { |
|||
return num.divide(num1, DEF_DIV_SCALE); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的除法运算(默认四舍五入保留两位小数) |
|||
* @param dividend |
|||
* @param divisor |
|||
* @return |
|||
*/ |
|||
public static BigDecimal divide(BigDecimal dividend, BigDecimal divisor, int scale) { |
|||
return dividend.divide(divisor, scale, BigDecimal.ROUND_HALF_UP); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的除法运算(默认四舍五入,保留小数位数根据scale决定) |
|||
* @param dividend |
|||
* @param divisor |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal divide(String dividend, String divisor, int scale) { |
|||
BigDecimal num = new BigDecimal(dividend); |
|||
BigDecimal num1 = new BigDecimal(divisor); |
|||
return divide(num, num1, scale); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的取余数运算(小数保留位数根据scale决定) |
|||
* @param dividend |
|||
* @param divisor |
|||
* @param scale |
|||
* @return |
|||
*/ |
|||
public static BigDecimal balance(BigDecimal dividend, BigDecimal divisor, int scale) { |
|||
return dividend.remainder(divisor).setScale(scale); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 提供精确的取余数运算(默认保留两位小数) |
|||
* @param dividend |
|||
* @param divisor |
|||
* @return |
|||
*/ |
|||
public static BigDecimal balance(BigDecimal dividend, BigDecimal divisor) { |
|||
return dividend.remainder(divisor).setScale(DEF_DIV_SCALE); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 比较BigDecimal,相等返回0,num>num1返回1,num<num1返回-1 |
|||
* @param num |
|||
* @param num1 |
|||
* @return |
|||
*/ |
|||
public static int compareTo(BigDecimal num, BigDecimal num1) { |
|||
return num.compareTo(num1); |
|||
} |
|||
|
|||
/** |
|||
* 比较BigDecimal,相等返回0,大于0返回1,小于0返回-1 |
|||
* @param num |
|||
* @return |
|||
*/ |
|||
public static int compareToZero(BigDecimal num) { |
|||
return num.compareTo(new BigDecimal(0)); |
|||
} |
|||
|
|||
/** |
|||
* BigDecimal货币格式化 |
|||
* @param money |
|||
* @return |
|||
*/ |
|||
public static String currencyFormat(BigDecimal money) { |
|||
return currency.format(money); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* BigDecimal百分比格式化 |
|||
* @param rate |
|||
* @return |
|||
*/ |
|||
public static String rateFormat(BigDecimal rate) { |
|||
return percent.format(rate); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue