|
@@ -1,20 +1,13 @@
|
|
|
package com.jeesite.modules.erp.web;
|
|
package com.jeesite.modules.erp.web;
|
|
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
|
|
-import java.math.RoundingMode;
|
|
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
-import com.jeesite.modules.mes.entity.MesProductReport;
|
|
|
|
|
import com.jeesite.modules.mes.resp.CommonResp;
|
|
import com.jeesite.modules.mes.resp.CommonResp;
|
|
|
-import com.jeesite.modules.mes.service.MesProductReportService;
|
|
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
@@ -31,7 +24,6 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.jeesite.common.config.Global;
|
|
import com.jeesite.common.config.Global;
|
|
|
import com.jeesite.common.entity.Page;
|
|
import com.jeesite.common.entity.Page;
|
|
|
import com.jeesite.common.lang.StringUtils;
|
|
import com.jeesite.common.lang.StringUtils;
|
|
|
-import com.jeesite.common.mybatis.mapper.query.QueryType;
|
|
|
|
|
import com.jeesite.common.service.ServiceException;
|
|
import com.jeesite.common.service.ServiceException;
|
|
|
import com.jeesite.common.web.BaseController;
|
|
import com.jeesite.common.web.BaseController;
|
|
|
import com.jeesite.modules.erp.entity.MesProductOrder;
|
|
import com.jeesite.modules.erp.entity.MesProductOrder;
|
|
@@ -49,9 +41,6 @@ public class MesProductOrderController extends BaseController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private MesProductOrderService mesProductOrderService;
|
|
private MesProductOrderService mesProductOrderService;
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
- private MesProductReportService mesProductReportService;
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取数据
|
|
* 获取数据
|
|
|
*/
|
|
*/
|
|
@@ -125,7 +114,7 @@ public class MesProductOrderController extends BaseController {
|
|
|
//展示所有未结束的订单
|
|
//展示所有未结束的订单
|
|
|
mesProductOrder.setState("1");//0=草稿 1=下发 2=完成
|
|
mesProductOrder.setState("1");//0=草稿 1=下发 2=完成
|
|
|
List<MesProductOrder> list = mesProductOrderService.findList(mesProductOrder);
|
|
List<MesProductOrder> list = mesProductOrderService.findList(mesProductOrder);
|
|
|
- fillNowNumsFromProductReport(list);
|
|
|
|
|
|
|
+ mesProductOrderService.fillNowNumsFromProductReport(list);
|
|
|
resp.setData(list);
|
|
resp.setData(list);
|
|
|
resp.setResult(Global.TRUE);
|
|
resp.setResult(Global.TRUE);
|
|
|
resp.setMessage("操作成功!");
|
|
resp.setMessage("操作成功!");
|
|
@@ -133,45 +122,6 @@ public class MesProductOrderController extends BaseController {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * nowNums = 同生产订单号(sn = moDocNo)下完工报告入库数量 completeQty 之和
|
|
|
|
|
- */
|
|
|
|
|
- private void fillNowNumsFromProductReport(List<MesProductOrder> orders) {
|
|
|
|
|
- if (orders == null || orders.isEmpty()) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- List<String> sns = new ArrayList<>();
|
|
|
|
|
- for (MesProductOrder order : orders) {
|
|
|
|
|
- if (StringUtils.isNotBlank(order.getSn())) {
|
|
|
|
|
- sns.add(order.getSn());
|
|
|
|
|
- }
|
|
|
|
|
- order.setNowNums(0);
|
|
|
|
|
- }
|
|
|
|
|
- if (sns.isEmpty()) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- MesProductReport query = new MesProductReport();
|
|
|
|
|
- query.getSqlMap().getWhere().and("mo_doc_no", QueryType.IN, sns);
|
|
|
|
|
- List<MesProductReport> reports = mesProductReportService.findList(query);
|
|
|
|
|
- Map<String, BigDecimal> sumMap = new HashMap<>();
|
|
|
|
|
- for (MesProductReport report : reports) {
|
|
|
|
|
- if (StringUtils.isBlank(report.getMoDocNo()) || StringUtils.isBlank(report.getCompleteQty())) {
|
|
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
- try {
|
|
|
|
|
- BigDecimal qty = new BigDecimal(report.getCompleteQty().trim());
|
|
|
|
|
- sumMap.merge(report.getMoDocNo(), qty, BigDecimal::add);
|
|
|
|
|
- } catch (NumberFormatException ignored) {
|
|
|
|
|
- // 非法数量跳过
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- for (MesProductOrder order : orders) {
|
|
|
|
|
- BigDecimal sum = sumMap.get(order.getSn());
|
|
|
|
|
- if (sum != null) {
|
|
|
|
|
- order.setNowNums(sum.setScale(0, RoundingMode.HALF_UP).intValue());
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- /**
|
|
|
|
|
* pda生产订单详情
|
|
* pda生产订单详情
|
|
|
*/
|
|
*/
|
|
|
// @RequiresPermissions("erp:mesProductOrder:view")
|
|
// @RequiresPermissions("erp:mesProductOrder:view")
|