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