|
@@ -15,17 +15,20 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
|
|
import com.jeesite.common.config.Global;
|
|
import com.jeesite.common.config.Global;
|
|
|
|
|
+import com.jeesite.common.collect.ListUtils;
|
|
|
import com.jeesite.common.entity.Page;
|
|
import com.jeesite.common.entity.Page;
|
|
|
-import com.jeesite.common.lang.StringUtils;
|
|
|
|
|
|
|
+import com.jeesite.common.lang.DateUtils;
|
|
|
|
|
+import com.jeesite.common.utils.excel.ExcelExport;
|
|
|
|
|
+import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
|
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
import com.jeesite.common.web.BaseController;
|
|
import com.jeesite.common.web.BaseController;
|
|
|
import com.jeesite.modules.mes.entity.MesWuliaoCz;
|
|
import com.jeesite.modules.mes.entity.MesWuliaoCz;
|
|
|
-import com.jeesite.modules.mes.resp.CommonResp;
|
|
|
|
|
import com.jeesite.modules.mes.service.MesWuliaoCzService;
|
|
import com.jeesite.modules.mes.service.MesWuliaoCzService;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 称重数据表Controller
|
|
* 称重数据表Controller
|
|
|
* @author sxl
|
|
* @author sxl
|
|
|
- * @version 2026-09-28
|
|
|
|
|
|
|
+ * @version 2026-09-29
|
|
|
*/
|
|
*/
|
|
|
@Controller
|
|
@Controller
|
|
|
@RequestMapping(value = "${adminPath}/mes/mesWuliaoCz")
|
|
@RequestMapping(value = "${adminPath}/mes/mesWuliaoCz")
|
|
@@ -84,48 +87,119 @@ public class MesWuliaoCzController extends BaseController {
|
|
|
mesWuliaoCzService.save(mesWuliaoCz);
|
|
mesWuliaoCzService.save(mesWuliaoCz);
|
|
|
return renderResult(Global.TRUE, text("保存称重数据表成功!"));
|
|
return renderResult(Global.TRUE, text("保存称重数据表成功!"));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
- * 删除数据
|
|
|
|
|
|
|
+ * 导出数据
|
|
|
|
|
+ */
|
|
|
|
|
+ @RequiresPermissions("mes:mesWuliaoCz:view")
|
|
|
|
|
+ @RequestMapping(value = "exportData")
|
|
|
|
|
+ public void exportData(MesWuliaoCz mesWuliaoCz, HttpServletResponse response) {
|
|
|
|
|
+ List<MesWuliaoCz> list = mesWuliaoCzService.findList(mesWuliaoCz);
|
|
|
|
|
+ for (MesWuliaoCz item : list) {
|
|
|
|
|
+ String hlBl = item.getHlBl();
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(hlBl)) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ try {
|
|
|
|
|
+ double num = Double.parseDouble(hlBl.trim());
|
|
|
|
|
+ String pct = String.format("%.2f", num * 100).replaceAll("0+$", "").replaceAll("\\.$", "") + "%";
|
|
|
|
|
+ item.setHlBl(pct);
|
|
|
|
|
+ } catch (NumberFormatException ignored) {
|
|
|
|
|
+ // 非数字原样导出
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ String fileName = "称重数据表" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
|
|
|
|
|
+ try(ExcelExport ee = new ExcelExport("称重数据表", MesWuliaoCz.class)){
|
|
|
|
|
+ ee.setDataList(list).write(response, fileName);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 下载模板
|
|
|
|
|
+ */
|
|
|
|
|
+ @RequiresPermissions("mes:mesWuliaoCz:view")
|
|
|
|
|
+ @RequestMapping(value = "importTemplate")
|
|
|
|
|
+ public void importTemplate(HttpServletResponse response) {
|
|
|
|
|
+ MesWuliaoCz mesWuliaoCz = new MesWuliaoCz();
|
|
|
|
|
+ List<MesWuliaoCz> list = ListUtils.newArrayList(mesWuliaoCz);
|
|
|
|
|
+ String fileName = "称重数据表模板.xlsx";
|
|
|
|
|
+ try(ExcelExport ee = new ExcelExport("称重数据表", MesWuliaoCz.class, Type.IMPORT)){
|
|
|
|
|
+ ee.setDataList(list).write(response, fileName);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 导入数据
|
|
|
*/
|
|
*/
|
|
|
- @RequiresPermissions("mes:mesWuliaoCz:edit")
|
|
|
|
|
- @RequestMapping(value = "delete")
|
|
|
|
|
@ResponseBody
|
|
@ResponseBody
|
|
|
- public String delete(MesWuliaoCz mesWuliaoCz) {
|
|
|
|
|
- mesWuliaoCzService.delete(mesWuliaoCz);
|
|
|
|
|
- return renderResult(Global.TRUE, text("删除称重数据表成功!"));
|
|
|
|
|
|
|
+ @RequiresPermissions("mes:mesWuliaoCz:edit")
|
|
|
|
|
+ @PostMapping(value = "importData")
|
|
|
|
|
+ public String importData(MultipartFile file) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ String message = mesWuliaoCzService.importData(file);
|
|
|
|
|
+ return renderResult(Global.TRUE, "posfull:"+message);
|
|
|
|
|
+ } catch (Exception ex) {
|
|
|
|
|
+ return renderResult(Global.FALSE, "posfull:"+ex.getMessage());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 客户端称重提交接口(无需登录)
|
|
* 客户端称重提交接口(无需登录)
|
|
|
* POST ${adminPath}/mes/mesWuliaoCz/pcsubmit
|
|
* POST ${adminPath}/mes/mesWuliaoCz/pcsubmit
|
|
|
- * 参数:lc炉次、bc班次、type物料类型、zl重量、ucode操作人(可选)
|
|
|
|
|
|
|
+ * 参数:lc炉次、bc班次、yzl原铝锭、hzl回炉料、qpZl去皮、hlBl回炉料比例(可选,不传则服务端计算)、ucode操作人(可选)
|
|
|
|
|
+ * 公式:hlBl = hzl / (yzl + hzl - qpZl),保留两位小数
|
|
|
*/
|
|
*/
|
|
|
@PostMapping(value = "pcsubmit")
|
|
@PostMapping(value = "pcsubmit")
|
|
|
@ResponseBody
|
|
@ResponseBody
|
|
|
- public CommonResp<String> pcsubmit(HttpServletRequest request) {
|
|
|
|
|
- CommonResp<String> resp = new CommonResp<>();
|
|
|
|
|
|
|
+ public com.jeesite.modules.mes.resp.CommonResp<String> pcsubmit(HttpServletRequest request) {
|
|
|
|
|
+ com.jeesite.modules.mes.resp.CommonResp<String> resp = new com.jeesite.modules.mes.resp.CommonResp<>();
|
|
|
String lc = request.getParameter("lc");
|
|
String lc = request.getParameter("lc");
|
|
|
String bc = request.getParameter("bc");
|
|
String bc = request.getParameter("bc");
|
|
|
- String type = request.getParameter("type");
|
|
|
|
|
- String zl = request.getParameter("zl");
|
|
|
|
|
|
|
+ String yzl = request.getParameter("yzl");
|
|
|
|
|
+ String hzl = request.getParameter("hzl");
|
|
|
|
|
+ String qpZl = request.getParameter("qpZl");
|
|
|
|
|
+ String hlBl = request.getParameter("hlBl");
|
|
|
String ucode = request.getParameter("ucode");
|
|
String ucode = request.getParameter("ucode");
|
|
|
|
|
|
|
|
- if (StringUtils.isBlank(lc) || StringUtils.isBlank(bc)
|
|
|
|
|
- || StringUtils.isBlank(type) || StringUtils.isBlank(zl)) {
|
|
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(lc)
|
|
|
|
|
+ || com.jeesite.common.lang.StringUtils.isBlank(bc)) {
|
|
|
resp.setResult(Global.FALSE);
|
|
resp.setResult(Global.FALSE);
|
|
|
- resp.setMessage("参数错误:炉次、班次、物料类型、重量不能为空");
|
|
|
|
|
|
|
+ resp.setMessage("参数错误:炉次、班次不能为空");
|
|
|
return resp;
|
|
return resp;
|
|
|
}
|
|
}
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(yzl)) {
|
|
|
|
|
+ yzl = "0.00";
|
|
|
|
|
+ }
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(hzl)) {
|
|
|
|
|
+ hzl = "0.00";
|
|
|
|
|
+ }
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(qpZl)) {
|
|
|
|
|
+ qpZl = "0.00";
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
|
|
+ double y = Double.parseDouble(yzl.trim());
|
|
|
|
|
+ double h = Double.parseDouble(hzl.trim());
|
|
|
|
|
+ double qp = Double.parseDouble(qpZl.trim());
|
|
|
|
|
+ double denom = y + h - qp;
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isBlank(hlBl)) {
|
|
|
|
|
+ if (Math.abs(denom) < 1e-9) {
|
|
|
|
|
+ resp.setResult(Global.FALSE);
|
|
|
|
|
+ resp.setMessage("计算回炉料比例失败:原铝锭+回炉料-去皮重量不能为0");
|
|
|
|
|
+ return resp;
|
|
|
|
|
+ }
|
|
|
|
|
+ hlBl = String.format("%.2f", h / denom);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
MesWuliaoCz entity = new MesWuliaoCz();
|
|
MesWuliaoCz entity = new MesWuliaoCz();
|
|
|
entity.setIsNewRecord(true);
|
|
entity.setIsNewRecord(true);
|
|
|
entity.setLc(lc.trim());
|
|
entity.setLc(lc.trim());
|
|
|
entity.setBc(bc.trim());
|
|
entity.setBc(bc.trim());
|
|
|
- entity.setType(type.trim());
|
|
|
|
|
- entity.setZl(zl.trim());
|
|
|
|
|
- if (StringUtils.isNotBlank(ucode)) {
|
|
|
|
|
|
|
+ entity.setYzl(String.format("%.2f", y));
|
|
|
|
|
+ entity.setHzl(String.format("%.2f", h));
|
|
|
|
|
+ entity.setQpZl(String.format("%.2f", qp));
|
|
|
|
|
+ entity.setHlBl(hlBl.trim());
|
|
|
|
|
+ if (com.jeesite.common.lang.StringUtils.isNotBlank(ucode)) {
|
|
|
entity.setRemarks(ucode.trim());
|
|
entity.setRemarks(ucode.trim());
|
|
|
}
|
|
}
|
|
|
mesWuliaoCzService.save(entity);
|
|
mesWuliaoCzService.save(entity);
|
|
@@ -133,6 +207,9 @@ public class MesWuliaoCzController extends BaseController {
|
|
|
resp.setResult(Global.TRUE);
|
|
resp.setResult(Global.TRUE);
|
|
|
resp.setMessage("称重提交成功");
|
|
resp.setMessage("称重提交成功");
|
|
|
resp.setData(entity.getId());
|
|
resp.setData(entity.getId());
|
|
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
|
|
+ resp.setResult(Global.FALSE);
|
|
|
|
|
+ resp.setMessage("重量参数格式错误");
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
logger.error("称重提交失败", e);
|
|
logger.error("称重提交失败", e);
|
|
|
resp.setResult(Global.FALSE);
|
|
resp.setResult(Global.FALSE);
|
|
@@ -143,8 +220,6 @@ public class MesWuliaoCzController extends BaseController {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 客户端称重记录分页查询(无需登录)
|
|
* 客户端称重记录分页查询(无需登录)
|
|
|
- * POST ${adminPath}/mes/mesWuliaoCz/pclist
|
|
|
|
|
- * 参数:pageNo、pageSize、lc、bc、type(均可选)
|
|
|
|
|
*/
|
|
*/
|
|
|
@PostMapping(value = "pclist")
|
|
@PostMapping(value = "pclist")
|
|
|
@ResponseBody
|
|
@ResponseBody
|