|
@@ -1,11 +1,26 @@
|
|
|
package com.rongwei.bscommon.sys.service.impl;
|
|
|
|
|
|
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
|
|
|
-import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
|
|
|
-import com.rongwei.bscommon.sys.service.ApsProcessOperationService;
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
|
|
|
+import com.rongwei.bscommon.sys.service.*;
|
|
|
+import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
|
|
|
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
|
|
|
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
|
|
|
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
|
|
|
+import com.rongwei.bsentity.vo.PreviousProcessVo;
|
|
|
+import com.rongwei.rwcommon.base.R;
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
+import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 生产订单_坯料计划_工序作业 服务实现类
|
|
@@ -14,7 +29,307 @@ import org.springframework.stereotype.Service;
|
|
|
* @author fpy
|
|
|
* @since 2024-03-01
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperationDao, ApsProcessOperationDo> implements ApsProcessOperationService {
|
|
|
+ @Autowired
|
|
|
+ private ApsProcessOperationDao apsProcessOperationDao;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ApsCraftRouteStepService apsCraftRouteStepService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ApsCraftRouteOutMaterRequestService apsCraftRouteOutMaterRequestService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ApsCraftRouteStepEquService apsCraftRouteStepEquService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ApsProcessOperationService apsProcessOperationService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ApsProcessOperationOutMaterService apsProcessOperationOutMaterService;
|
|
|
+
|
|
|
+ private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
|
|
|
+ put("kg", "公斤");
|
|
|
+ put("ton", "吨");
|
|
|
+ }};
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新工序的待加工批次号信息
|
|
|
+ *
|
|
|
+ * @param ids
|
|
|
+ * @param batchNumn
|
|
|
+ */
|
|
|
+ public void updateBachmaterialprocessByIds(List<String> ids, String batchNumn) {
|
|
|
+ apsProcessOperationDao.updateBachmaterialprocessByIds(ids, batchNumn);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新当前工序的输出已检验卷数,不合格卷数,合格卷数
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @param currentCheckNum
|
|
|
+ * @param qualifiedQuantity
|
|
|
+ * @param unqualifiedQuantity
|
|
|
+ */
|
|
|
+ public void updateAboutCheckBatchNum(String id, Integer currentCheckNum, Integer qualifiedQuantity, Integer unqualifiedQuantity) {
|
|
|
+ apsProcessOperationDao.updateAboutCheckBatchNum(id, currentCheckNum, qualifiedQuantity, unqualifiedQuantity);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 数量单位字典
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ 选择工艺路线后续操作
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R resetCraftRoute(Map<String, Object> params) {
|
|
|
+// R r = new R();
|
|
|
+ try {
|
|
|
+ JSONObject blanckdata = new JSONObject(params.get("BLANKDATA"));
|
|
|
+ String craftrouteid = params.get("CRAFTROUTEID").toString();
|
|
|
+
|
|
|
+ //先清空之前的相关数据
|
|
|
+ Map<String, Object> blanckMap = new HashMap<>();
|
|
|
+ blanckMap.put("BLANKID", blanckdata.getStr("ID"));
|
|
|
+ clearCraftRoute(blanckMap);
|
|
|
+
|
|
|
+ //工艺路线对应的步骤信息
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("CRAFTROUTEID", craftrouteid);
|
|
|
+ List<ApsCraftRouteStepDo> apsCraftRouteStepDoList = apsCraftRouteStepService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
+ Collections.sort(apsCraftRouteStepDoList, Comparator.comparingInt(ApsCraftRouteStepDo::getLevel));
|
|
|
+
|
|
|
+ List<String> overRouteStepIds = new ArrayList<>();
|
|
|
+ List<PreviousProcessVo> newProcessIds = new ArrayList<>();//前道工序信息
|
|
|
+ List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
|
|
|
+ List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = new ArrayList<>();
|
|
|
+ for (ApsCraftRouteStepDo apsCraftRouteStepDo : apsCraftRouteStepDoList) {
|
|
|
+ if (overRouteStepIds.contains(apsCraftRouteStepDo.getId())) {
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+ String processId;
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo;
|
|
|
+ PreviousProcessVo previousProcessVo;
|
|
|
+ if (StringUtils.isNotBlank(apsCraftRouteStepDo.getPreviousstepid())) {
|
|
|
+ //后面工序
|
|
|
+ List<ApsCraftRouteStepDo> apsCraftRouteStepDoList1 = apsCraftRouteStepDoList.stream().filter(acrs -> apsCraftRouteStepDo.getPreviousstepid().equals(acrs.getPreviousstepid())).collect(Collectors.toList());
|
|
|
+ Collections.sort(apsCraftRouteStepDoList1, Comparator.comparing(ApsCraftRouteStepDo::getCreatedate));
|
|
|
+ for (ApsCraftRouteStepDo apsCraftRouteStepDo1 : apsCraftRouteStepDoList1) {
|
|
|
+ previousProcessVo = new PreviousProcessVo();
|
|
|
+ processId = SecurityUtil.getUUID();
|
|
|
+ apsProcessOperationDo = BeanUtil.toBean(apsCraftRouteStepDo1, ApsProcessOperationDo.class);
|
|
|
+ apsProcessOperationDo.setId(processId);
|
|
|
+
|
|
|
+ //前道工序输出
|
|
|
+ List<PreviousProcessVo> processVo = newProcessIds.stream().filter(pro -> pro.getPreviousstepid().equals(apsCraftRouteStepDo1.getPreviousstepid())).collect(Collectors.toList());
|
|
|
+ ApsProcessOperationOutMaterDo outMaterDo = processVo.get(0).getApsProcessOperationOutMaterDo();
|
|
|
+ apsProcessOperationDo.setPreviousprocessid(processVo.get(0).getProcessId());
|
|
|
+ apsProcessOperationDo.setPreviousprocess(processVo.get(0).getProcessName());
|
|
|
+ apsProcessOperationDo.setPlaninputid(outMaterDo.getId());
|
|
|
+ String meterInput = getMeterInfo(outMaterDo.getProducttype(), outMaterDo.getMetal(), outMaterDo.getMetalstate(), outMaterDo.getThickness(), outMaterDo.getProwidth(), outMaterDo.getProlength());
|
|
|
+// apsProcessOperationDo.setPlaninput(meterInput + outMaterDo.getSinglerollweight() + cxAdminFeginClient.getDictNameByValue("MATERIAL_UNIT", outMaterDo.getNumunit()));
|
|
|
+ apsProcessOperationDo.setPlaninput(meterInput + outMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(outMaterDo.getNumunit(), ""));
|
|
|
+ apsProcessOperationDo.setProducttypeid(outMaterDo.getProducttypeid());
|
|
|
+ apsProcessOperationDo.setProducttype(outMaterDo.getProducttype());
|
|
|
+ apsProcessOperationDo.setMetal(outMaterDo.getMetal());
|
|
|
+ apsProcessOperationDo.setMetalstate(outMaterDo.getMetalstate());
|
|
|
+ apsProcessOperationDo.setThickness(outMaterDo.getThickness());
|
|
|
+ apsProcessOperationDo.setProwidth(outMaterDo.getProwidth());
|
|
|
+ apsProcessOperationDo.setProlength(outMaterDo.getProlength());
|
|
|
+ apsProcessOperationDo.setSinglerollweight(outMaterDo.getSinglerollweight());
|
|
|
+ apsProcessOperationDo.setPlaninrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
|
|
|
+ apsProcessOperationDo.setPlanprocessrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
|
|
|
+ apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ if (outMaterDo.getThickrule().equals("自定义") || outMaterDo.getWidthrule().equals("自定义") || outMaterDo.getLengthrule().equals("自定义")) {
|
|
|
+ apsProcessOperationDo.setChangeinmeter("1");//输入物料是否可编辑
|
|
|
+ }
|
|
|
+
|
|
|
+ //本道工序信息
|
|
|
+ previousProcessVo.setProcessId(processId);
|
|
|
+ previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
|
|
|
+ previousProcessVo.setPreviousstepid(apsCraftRouteStepDo1.getId());
|
|
|
+ //本道工序的输出
|
|
|
+ map.put("CRAFTSTEPID", apsCraftRouteStepDo1.getId());
|
|
|
+ List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
+ ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo = BeanUtil.toBean(apsCraftRouteOutMaterRequestDo.get(0), ApsProcessOperationOutMaterDo.class);
|
|
|
+ apsProcessOperationOutMaterDo.setId(SecurityUtil.getUUID());
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttypeid())) {
|
|
|
+ apsProcessOperationOutMaterDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttype())) {
|
|
|
+ apsProcessOperationOutMaterDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetal())) {
|
|
|
+ apsProcessOperationOutMaterDo.setMetal(blanckdata.getStr("ALLOY"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetalstate())) {
|
|
|
+ apsProcessOperationOutMaterDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
|
|
|
+ }
|
|
|
+ apsProcessOperationOutMaterDo.setThickness(changeSize(outMaterDo.getThickness(), apsProcessOperationOutMaterDo.getThickrule(), apsProcessOperationOutMaterDo.getThickchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setProwidth(changeSize(outMaterDo.getProwidth(), apsProcessOperationOutMaterDo.getWidthrule(), apsProcessOperationOutMaterDo.getWidthchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setProlength(changeSize(outMaterDo.getProlength(), apsProcessOperationOutMaterDo.getLengthrule(), apsProcessOperationOutMaterDo.getLengthchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setRipcutnum(1);
|
|
|
+ apsProcessOperationOutMaterDo.setCrosscutnum(1);
|
|
|
+ apsProcessOperationOutMaterDo.setOutval(1);
|
|
|
+ apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
|
|
|
+ apsProcessOperationOutMaterDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
|
|
|
+ apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
|
|
|
+ apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
|
|
|
+ apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
|
|
|
+ apsProcessOperationOutMaterDo.setMainid(processId);
|
|
|
+ apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
|
|
|
+
|
|
|
+ newProcessIds.add(previousProcessVo);
|
|
|
+ apsProcessOperationDoList.add(apsProcessOperationDo);
|
|
|
+ apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
|
+
|
|
|
+ overRouteStepIds.add(apsCraftRouteStepDo1.getId());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ previousProcessVo = new PreviousProcessVo();
|
|
|
+ //首道工序
|
|
|
+ processId = SecurityUtil.getUUID();
|
|
|
+ String meterInput = getMeterInfo(blanckdata.getStr("PRODUCTTYPE"), blanckdata.getStr("ALLOY"), blanckdata.getStr("ALLOYSTATUS"), blanckdata.getBigDecimal("THICKNESS"), blanckdata.getBigDecimal("PROWIDTH"), blanckdata.getBigDecimal("PROLENGTH"));
|
|
|
+ apsProcessOperationDo = BeanUtil.toBean(apsCraftRouteStepDo, ApsProcessOperationDo.class);
|
|
|
+ apsProcessOperationDo.setId(processId);
|
|
|
+ apsProcessOperationDo.setPlaninput(meterInput + blanckdata.getStr("SINGLEROLLWEIGHT") + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), ""));
|
|
|
+ apsProcessOperationDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
|
|
|
+ apsProcessOperationDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
|
|
|
+ apsProcessOperationDo.setMetal(blanckdata.getStr("ALLOY"));
|
|
|
+ apsProcessOperationDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
|
|
|
+ apsProcessOperationDo.setThickness(blanckdata.getBigDecimal("THICKNESS"));
|
|
|
+ apsProcessOperationDo.setProwidth(blanckdata.getBigDecimal("PROWIDTH"));
|
|
|
+ apsProcessOperationDo.setProlength(blanckdata.getBigDecimal("PROLENGTH"));
|
|
|
+ apsProcessOperationDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
|
|
|
+ apsProcessOperationDo.setPlaninrall(blanckdata.getInt("ROLLNUM"));
|
|
|
+ apsProcessOperationDo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
|
|
|
+ apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+
|
|
|
+ //本道工序信息
|
|
|
+ previousProcessVo.setProcessId(processId);
|
|
|
+ previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
|
|
|
+ previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
|
|
|
+ //本道工序的输出
|
|
|
+ map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
|
|
|
+ List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
+ ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo = BeanUtil.toBean(apsCraftRouteOutMaterRequestDo.get(0), ApsProcessOperationOutMaterDo.class);
|
|
|
+ apsProcessOperationOutMaterDo.setId(SecurityUtil.getUUID());
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttypeid())) {
|
|
|
+ apsProcessOperationOutMaterDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttype())) {
|
|
|
+ apsProcessOperationOutMaterDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetal())) {
|
|
|
+ apsProcessOperationOutMaterDo.setMetal(blanckdata.getStr("ALLOY"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetalstate())) {
|
|
|
+ apsProcessOperationOutMaterDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
|
|
|
+ }
|
|
|
+ apsProcessOperationOutMaterDo.setThickness(changeSize(blanckdata.getBigDecimal("THICKNESS"), apsProcessOperationOutMaterDo.getThickrule(), apsProcessOperationOutMaterDo.getThickchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setProwidth(changeSize(blanckdata.getBigDecimal("PROWIDTH"), apsProcessOperationOutMaterDo.getWidthrule(), apsProcessOperationOutMaterDo.getWidthchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setProlength(changeSize(blanckdata.getBigDecimal("PROLENGTH"), apsProcessOperationOutMaterDo.getLengthrule(), apsProcessOperationOutMaterDo.getLengthchange()));
|
|
|
+ apsProcessOperationOutMaterDo.setRipcutnum(1);
|
|
|
+ apsProcessOperationOutMaterDo.setCrosscutnum(1);
|
|
|
+ apsProcessOperationOutMaterDo.setOutval(1);
|
|
|
+ apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
|
|
|
+ apsProcessOperationOutMaterDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
|
|
|
+ apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
|
|
|
+ apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
|
|
|
+ apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
|
|
|
+ apsProcessOperationOutMaterDo.setMainid(processId);
|
|
|
+ apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
|
|
|
+ previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
|
|
|
+
|
|
|
+ newProcessIds.add(previousProcessVo);
|
|
|
+ apsProcessOperationDoList.add(apsProcessOperationDo);
|
|
|
+ apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ boolean bool1 = apsProcessOperationService.saveOrUpdateBatch(apsProcessOperationDoList);
|
|
|
+ boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
|
|
|
+
|
|
|
+ if (bool1 && bool2) {
|
|
|
+// r.setCode("200");
|
|
|
+// r.putData(apsCraftRouteStepDoList);
|
|
|
+ return R.ok();
|
|
|
+ } else {
|
|
|
+ return R.error();
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ log.info("选择工艺路线异常:" + e.getMessage());
|
|
|
+ return R.error();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 清除工艺路线
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void clearCraftRoute(Map<String, Object> params) {
|
|
|
+ String blankid = params.get("BLANKID").toString();
|
|
|
+ //工序作业
|
|
|
+ apsProcessOperationDao.updateProcessOperation(blankid);
|
|
|
+ //工序作业输出物料
|
|
|
+ apsProcessOperationDao.updateProcessOperationOutMeter(blankid);
|
|
|
+ }
|
|
|
+
|
|
|
+ //工艺步骤管理/物料输出规则
|
|
|
+ private String getMeterInfo(String producttype, String metal, String metalstate, BigDecimal thickness, BigDecimal prowidth, BigDecimal prolength) {
|
|
|
+ String res = "";
|
|
|
+ StringBuilder resStr = new StringBuilder();
|
|
|
+ StringBuilder resSizeStr = new StringBuilder();
|
|
|
+ if (StringUtils.isNotBlank(metal)) {
|
|
|
+ resStr.append(metal);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(metalstate)) {
|
|
|
+ resStr.append(metalstate);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(producttype)) {
|
|
|
+ resStr.append(producttype);
|
|
|
+ }
|
|
|
+ if (thickness != null) {
|
|
|
+ resSizeStr.append("厚" + thickness + "*");
|
|
|
+ }
|
|
|
+ if (prowidth != null) {
|
|
|
+ resSizeStr.append("宽" + prowidth + "*");
|
|
|
+ }
|
|
|
+ if (prolength != null) {
|
|
|
+ resSizeStr.append("长" + prolength + "*");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(resSizeStr.toString())) {
|
|
|
+ res = resStr.toString();
|
|
|
+ } else {
|
|
|
+ res = (StringUtils.isBlank(resStr.toString()) ? "" : (resStr.toString() + " ")) + resSizeStr.toString().substring(0, resSizeStr.toString().length() - 1) + "mm";
|
|
|
+ }
|
|
|
+
|
|
|
+ return res;
|
|
|
+ }
|
|
|
|
|
|
+ //长宽高的计算规则
|
|
|
+ private BigDecimal changeSize(BigDecimal oldVal, String countRule, BigDecimal changeVal) {
|
|
|
+ BigDecimal newVal = null;
|
|
|
+ if (!countRule.equals("自定义") && oldVal != null) {
|
|
|
+ if (countRule.equals("=")) {
|
|
|
+ newVal = changeVal;
|
|
|
+ } else if (countRule.equals("+")) {
|
|
|
+ newVal = oldVal.add(changeVal);
|
|
|
+ } else if (countRule.equals("-")) {
|
|
|
+ newVal = oldVal.subtract(changeVal);
|
|
|
+ } else if (countRule.equals("0")) {
|
|
|
+ newVal = oldVal;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return newVal;
|
|
|
+ }
|
|
|
}
|