chenshuichuan 2 years ago
parent 29ba7196af
commit 87e34e30ac

@ -73,14 +73,19 @@ CREATE TABLE `mes_energy_device_check_record`
ROW_FORMAT = DYNAMIC COMMENT ='抄表记录';
CREATE TABLE `mes_dv_subject`
CREATE TABLE `device_check_subject`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) NOT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT '0' COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准',
`code` varchar(64) NOT NULL COMMENT '项目编码',
`name` varchar(255) NOT NULL COMMENT '项目名称',
`type` varchar(64) DEFAULT '0' COMMENT '项目类型',
`content` varchar(500) NOT NULL COMMENT '项目内容',
`standard_value` decimal(24, 6) DEFAULT NULL COMMENT '标准值',
`max_value` decimal(24, 6) DEFAULT NULL COMMENT '最大值',
`min_value` decimal(24, 6) DEFAULT NULL COMMENT '最小值',
`enum_value` varchar(64) DEFAULT '' COMMENT '枚举值(逗号分隔)',
`address_code` varchar(64) DEFAULT '' COMMENT '采集点编码',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -95,18 +100,13 @@ CREATE TABLE `mes_dv_subject`
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检项目表';
CREATE TABLE `mes_dv_check`
CREATE TABLE `device_check_solution`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_code` varchar(64) NOT NULL COMMENT '计划编码',
`plan_name` varchar(255) DEFAULT NULL COMMENT '计划名称',
`plan_type` varchar(64) NOT NULL COMMENT '计划类型',
`start_date` datetime DEFAULT NULL COMMENT '开始日期',
`end_date` datetime DEFAULT NULL COMMENT '结束日期',
`cycle_type` varchar(64) DEFAULT NULL COMMENT '频率',
`cycle_count` int DEFAULT NULL COMMENT '次数',
`status` varchar(64) DEFAULT NULL COMMENT '状态',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`code` varchar(64) NOT NULL COMMENT '编码',
`name` varchar(255) NOT NULL COMMENT '方案名称',
`type` varchar(64) DEFAULT '0' COMMENT '方案类型',
`content` varchar(500) NOT NULL COMMENT '方案内容',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -119,71 +119,13 @@ CREATE TABLE `mes_dv_check`
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检计划表';
CREATE TABLE `mes_dv_check_subject`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_id` bigint NOT NULL COMMENT '计划ID',
`subject_id` bigint NOT NULL COMMENT '设备ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT NULL COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检计划项目表';
ROW_FORMAT = DYNAMIC COMMENT ='点检方案表';
CREATE TABLE `mes_dv_check_device`
CREATE TABLE `device_check_solution_subject`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_id` bigint NOT NULL COMMENT '计划ID',
`machinery_id` bigint NOT NULL COMMENT '设备ID',
`machinery_code` varchar(64) NOT NULL COMMENT '设备编码',
`machinery_name` varchar(255) NOT NULL COMMENT '设备名称',
`machinery_brand` varchar(255) DEFAULT NULL COMMENT '品牌',
`machinery_spec` varchar(255) DEFAULT NULL COMMENT '规格型号',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检计划设备表';
CREATE TABLE `mes_dv_check_record`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`plan_code` varchar(64) DEFAULT NULL COMMENT '计划编码',
`plan_name` varchar(255) DEFAULT NULL COMMENT '计划名称',
`plan_type` varchar(64) DEFAULT NULL COMMENT '计划类型',
`machinery_id` bigint NOT NULL COMMENT '设备ID',
`machinery_code` varchar(64) NOT NULL COMMENT '设备编码',
`machinery_name` varchar(255) NOT NULL COMMENT '设备名称',
`machinery_brand` varchar(255) DEFAULT NULL COMMENT '品牌',
`machinery_spec` varchar(255) DEFAULT NULL COMMENT '规格型号',
`check_time` datetime NOT NULL COMMENT '点检时间',
`status` varchar(64) DEFAULT 'PREPARE' COMMENT '状态',
`solution_id` bigint NOT NULL COMMENT '方案Id',
`subject_id` bigint NOT NULL COMMENT '项目Id',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -196,75 +138,33 @@ CREATE TABLE `mes_dv_check_record`
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备点检记录';
ROW_FORMAT = DYNAMIC COMMENT ='点检方案项目';
CREATE TABLE `mes_dv_check_record_line`
CREATE TABLE `device_document`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`record_id` bigint NOT NULL COMMENT '计划ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT NULL COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准',
`check_status` varchar(64) NOT NULL COMMENT '点检结果',
`check_result` varchar(500) DEFAULT NULL COMMENT '异常描述',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备点检记录行表';
CREATE TABLE `mes_dv_maintain_record`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_id` bigint DEFAULT NULL COMMENT '计划ID',
`plan_code` varchar(64) DEFAULT NULL COMMENT '计划编码',
`plan_name` varchar(255) DEFAULT NULL COMMENT '计划名称',
`plan_type` varchar(64) DEFAULT NULL COMMENT '计划类型',
`machinery_id` bigint NOT NULL COMMENT '设备ID',
`machinery_code` varchar(64) NOT NULL COMMENT '设备编码',
`machinery_name` varchar(255) NOT NULL COMMENT '设备名称',
`machinery_brand` varchar(255) DEFAULT NULL COMMENT '品牌',
`machinery_spec` varchar(255) DEFAULT NULL COMMENT '规格型号',
`mainten_time` datetime NOT NULL COMMENT '保养时间',
`status` varchar(64) DEFAULT 'PREPARE' COMMENT '状态',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备保养记录表';
`code` varchar(64) NOT NULL COMMENT '编码',
`name` varchar(255) NOT NULL COMMENT '名称',
`type` varchar(64) DEFAULT '0' COMMENT '分类',
`use_status` varchar(16) NOT NULL COMMENT '设备状态',
`specifications` varchar(255) NOT NULL COMMENT '规格',
`image` varchar(255) NOT NULL COMMENT '图片',
`location` varchar(255) NOT NULL COMMENT '地点',
`description` varchar(255) NOT NULL COMMENT '描述',
`user_id` bigint NOT NULL COMMENT '负责人Id',
`supplier_id` bigint NOT NULL COMMENT '供应商id',
`buy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '购买时间',
`stock_in_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
`check_solution_id` bigint NOT NULL COMMENT '点检方案',
`last_check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近点检时间',
`maintain_solution_id` bigint NOT NULL COMMENT '保养方案',
`last_maintain_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近保养时间',
`last_repair_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近维修时间',
CREATE TABLE `mes_dv_maintain_record_line`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`record_id` bigint NOT NULL COMMENT '计划ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT NULL COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准',
`maintain_status` varchar(64) NOT NULL COMMENT '保养结果',
`maintain_result` varchar(500) DEFAULT NULL COMMENT '异常描述',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
@ -276,56 +176,17 @@ CREATE TABLE `mes_dv_maintain_record_line`
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备保养记录行表';
ROW_FORMAT = DYNAMIC COMMENT ='设备档案';
CREATE TABLE `mes_dv_repair`
CREATE TABLE `device_check_ticket`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`repair_code` varchar(64) NOT NULL COMMENT '维修单编号',
`repair_name` varchar(255) DEFAULT NULL COMMENT '维修单名称',
`machinery_id` bigint NOT NULL COMMENT '设备ID',
`machinery_code` varchar(64) NOT NULL COMMENT '设备编码',
`machinery_name` varchar(255) NOT NULL COMMENT '设备名称',
`machinery_brand` varchar(255) DEFAULT NULL COMMENT '品牌',
`machinery_spec` varchar(255) DEFAULT NULL COMMENT '规格型号',
`machinery_type_id` bigint NOT NULL COMMENT '设备类型ID',
`require_date` datetime DEFAULT NULL COMMENT '报修日期',
`finish_date` datetime DEFAULT NULL COMMENT '维修完成日期',
`confirm_date` datetime DEFAULT NULL COMMENT '验收日期',
`repair_result` varchar(64) DEFAULT NULL COMMENT '维修结果',
`accepted_by` varchar(64) DEFAULT NULL COMMENT '维修人员',
`confirm_by` varchar(64) DEFAULT NULL COMMENT '验收人员',
`status` varchar(64) DEFAULT 'PREPARE' COMMENT '单据状态',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备点检记录表';
`code` varchar(64) NOT NULL COMMENT '编码',
`check_user_id` bigint NOT NULL COMMENT '点检人员',
`check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点检时间',
`ticket_status` varchar(16) NOT NULL COMMENT '单据状态',
CREATE TABLE `mes_dv_repair_line`
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`repair_id` bigint NOT NULL COMMENT '维修单ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT NULL COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准',
`malfunction` varchar(500) DEFAULT NULL COMMENT '故障描述',
`malfunction_url` varchar(255) DEFAULT NULL COMMENT '故障描述资源',
`repair_des` varchar(500) DEFAULT NULL COMMENT '维修情况',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
@ -337,4 +198,4 @@ CREATE TABLE `mes_dv_repair_line`
AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='设备点检记录行表';
ROW_FORMAT = DYNAMIC COMMENT ='设备点检';

@ -169,7 +169,7 @@ public class ErpSaleOutServiceImpl implements ErpSaleOutService {
saleOut.setDiscountPercent(BigDecimal.ZERO);
}
saleOut.setDiscountPrice(MoneyUtils.priceMultiplyPercent(saleOut.getTotalPrice(), saleOut.getDiscountPercent()));
saleOut.setTotalPrice(saleOut.getTotalPrice().subtract(saleOut.getDiscountPrice().add(saleOut.getOtherPrice())));
saleOut.setTotalPrice(saleOut.getTotalPrice().subtract(saleOut.getDiscountPrice()).add(saleOut.getOtherPrice()));
}
private void updateSaleOrderOutCount(Long orderId) {

@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@ -50,6 +51,7 @@ public class ReportPlanViewController {
ProcessTypeEnum type = ProcessTypeEnum.fromValue(book.getOrgType());
return type.ordinal();
}));
}else planSummaryDOS = new ArrayList<>();
/**** todo
*/
BigDecimal stockInNumber = stockInDetailService.selectSumBy(id);
@ -57,7 +59,6 @@ public class ReportPlanViewController {
respVO.setTotalWasteNumber(BigDecimal.ZERO);
respVO.setOrgType("ruku");
planSummaryDOS.add(respVO);
}
return success(planSummaryDOS);
}
@ -78,6 +79,7 @@ public class ReportPlanViewController {
ProcessTypeEnum type = ProcessTypeEnum.fromValue(book.getOrgType());
return type.ordinal();
}));
}else planSummaryDOS = new ArrayList<>();
/**** todo
*/
BigDecimal stockInNumber = stockInDetailService.selectSumByTaskDetailId(id);
@ -85,7 +87,6 @@ public class ReportPlanViewController {
respVO.setTotalWasteNumber(BigDecimal.ZERO);
respVO.setOrgType("ruku");
planSummaryDOS.add(respVO);
}
return success(planSummaryDOS);
}
}

@ -131,8 +131,8 @@ public class StockInDetailServiceImpl implements StockInDetailService {
// 3. 变更库存
List<ErpStockInItemDO> stockInItems = stockInItemMapper.selectListByInId(id);
Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType()
: ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType();
Integer bizType = approve ? ErpStockRecordBizTypeEnum.MES_PRODUCT_IN.getType()
: ErpStockRecordBizTypeEnum.MES_PRODUCT_IN_CANCEL.getType();
stockInItems.forEach(stockInItem -> {
BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
@ -183,6 +183,7 @@ public class StockInDetailServiceImpl implements StockInDetailService {
private List<StockInDetailDO> stockInToPlan(ErpStockInDO stockIn, ErpStockInItemDO inItem,List<PlanDO> planList){
List<StockInDetailDO> detailDOS = new ArrayList<>();
MathContext mc = new MathContext(0, RoundingMode.HALF_UP);
MathContext mc2 = new MathContext(6, RoundingMode.HALF_UP);
long totalNeed = 0;
Map<Long, Long> planNeedMap = new HashMap<>();
Map<Long, PlanDO> planDoMap = new HashMap<>();
@ -194,18 +195,31 @@ public class StockInDetailServiceImpl implements StockInDetailService {
planDoMap.put(plan.getId(),plan);
}
//根据计划各自的需求比例分配给计划
BigDecimal unplan = new BigDecimal(inItem.getCount().toString());
for (Long planId : planNeedMap.keySet()) {
Long planNeed = planNeedMap.get(planId);
if(planNeed>0){
BigDecimal planNumber = inItem.getCount().multiply(BigDecimal.valueOf(planNeed/totalNeed),mc);
BigDecimal planNumber = inItem.getCount().multiply(BigDecimal.valueOf(planNeed),mc).divide(BigDecimal.valueOf(totalNeed),mc2)
.setScale(0,RoundingMode.CEILING);
StockInDetailDO detailDO = new StockInDetailDO()
.setStockInId(stockIn.getId()).setStockInNo(stockIn.getNo())
.setProductId(inItem.getProductId()).setStockInItemId(inItem.getId())
.setNumber(planNumber).setPlanId(planId)
.setTaskDetailId(planDoMap.get(planId).getTaskDetailId());
.setPlanId(planId).setTaskDetailId(planDoMap.get(planId).getTaskDetailId());
if(unplan.compareTo(planNumber)>=0){
detailDO.setNumber(planNumber);
unplan = unplan.subtract(planNumber,mc);
}
else{
detailDO.setNumber(unplan);
unplan = BigDecimal.ZERO;
}
if(detailDO.getNumber().compareTo(BigDecimal.ZERO)>0)
detailDOS.add(detailDO);
}
}
if(unplan.compareTo(BigDecimal.ZERO) > 0 && detailDOS.size()>0){
detailDOS.get(0).setNumber(detailDOS.get(0).getNumber().add(unplan));
}
return detailDOS;
}
}
Loading…
Cancel
Save