chenshuichuan 2 years ago
parent 29ba7196af
commit 87e34e30ac

@ -73,14 +73,19 @@ CREATE TABLE `mes_energy_device_check_record`
ROW_FORMAT = DYNAMIC COMMENT ='抄表记录'; ROW_FORMAT = DYNAMIC COMMENT ='抄表记录';
CREATE TABLE `mes_dv_subject` CREATE TABLE `device_check_subject`
( (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码', `code` varchar(64) NOT NULL COMMENT '项目编码',
`subject_name` varchar(255) NOT NULL COMMENT '项目名称', `name` varchar(255) NOT NULL COMMENT '项目名称',
`subject_type` varchar(64) DEFAULT '0' COMMENT '项目类型', `type` varchar(64) DEFAULT '0' COMMENT '项目类型',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容', `content` varchar(500) NOT NULL COMMENT '项目内容',
`subject_standard` varchar(255) DEFAULT 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 '是否启用', `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -95,18 +100,13 @@ CREATE TABLE `mes_dv_subject`
COLLATE = utf8mb4_unicode_ci COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检项目表'; ROW_FORMAT = DYNAMIC COMMENT ='点检项目表';
CREATE TABLE `mes_dv_check` CREATE TABLE `device_check_solution`
( (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_code` varchar(64) NOT NULL COMMENT '计划编码', `code` varchar(64) NOT NULL COMMENT '编码',
`plan_name` varchar(255) DEFAULT NULL COMMENT '计划名称', `name` varchar(255) NOT NULL COMMENT '方案名称',
`plan_type` varchar(64) NOT NULL COMMENT '计划类型', `type` varchar(64) DEFAULT '0' COMMENT '方案类型',
`start_date` datetime DEFAULT NULL COMMENT '开始日期', `content` varchar(500) NOT 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 '备注',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -119,71 +119,13 @@ CREATE TABLE `mes_dv_check`
AUTO_INCREMENT = 91 AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci COLLATE = utf8mb4_unicode_ci
ROW_FORMAT = DYNAMIC COMMENT ='点检计划表'; 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 ='点检计划项目表';
CREATE TABLE `device_check_solution_subject`
CREATE TABLE `mes_dv_check_device`
( (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`plan_id` bigint NOT NULL COMMENT '计划ID', `solution_id` bigint NOT NULL COMMENT '方案Id',
`machinery_id` bigint NOT NULL COMMENT '设备ID', `subject_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 '状态',
`is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用', `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@ -196,75 +138,33 @@ CREATE TABLE `mes_dv_check_record`
AUTO_INCREMENT = 91 AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci 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', `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`record_id` bigint NOT NULL COMMENT '计划ID', `code` varchar(64) NOT NULL COMMENT '编码',
`subject_id` bigint NOT NULL COMMENT '项目ID', `name` varchar(255) NOT NULL COMMENT '名称',
`subject_code` varchar(64) NOT NULL COMMENT '项目编码', `type` varchar(64) DEFAULT '0' COMMENT '分类',
`subject_name` varchar(255) DEFAULT NULL COMMENT '项目名称', `use_status` varchar(16) NOT NULL COMMENT '设备状态',
`subject_type` varchar(64) DEFAULT NULL COMMENT '项目类型', `specifications` varchar(255) NOT NULL COMMENT '规格',
`subject_content` varchar(500) NOT NULL COMMENT '项目内容', `image` varchar(255) NOT NULL COMMENT '图片',
`subject_standard` varchar(255) DEFAULT NULL COMMENT '标准', `location` varchar(255) NOT NULL COMMENT '地点',
`check_status` varchar(64) NOT NULL COMMENT '点检结果', `description` varchar(255) NOT NULL COMMENT '描述',
`check_result` varchar(500) DEFAULT NULL COMMENT '异常描述',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `user_id` bigint NOT NULL COMMENT '负责人Id',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `supplier_id` bigint NOT NULL COMMENT '供应商id',
`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 '更新时间', `buy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '购买时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `stock_in_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '入库时间',
`tenant_id` bigint DEFAULT NULL COMMENT '租户id', `check_solution_id` bigint NOT NULL COMMENT '点检方案',
PRIMARY KEY (`id`) USING BTREE `last_check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近点检时间',
) ENGINE = InnoDB
AUTO_INCREMENT = 91 `maintain_solution_id` bigint NOT NULL COMMENT '保养方案',
DEFAULT CHARSET = utf8mb4 `last_maintain_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近保养时间',
COLLATE = utf8mb4_unicode_ci `last_repair_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最近维修时间',
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 ='设备保养记录表';
CREATE TABLE `mes_dv_maintain_record_line` `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
(
`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 '异常描述',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' 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 AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci 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', `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID',
`repair_code` varchar(64) NOT NULL COMMENT '维修单编号', `code` varchar(64) NOT NULL COMMENT '编码',
`repair_name` varchar(255) DEFAULT NULL COMMENT '维修单名称', `check_user_id` bigint NOT NULL COMMENT '点检人员',
`machinery_id` bigint NOT NULL COMMENT '设备ID', `check_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '点检时间',
`machinery_code` varchar(64) NOT NULL COMMENT '设备编码', `ticket_status` varchar(16) 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 ='设备点检记录表';
CREATE TABLE `mes_dv_repair_line` `is_enable` bit(1) NOT NULL DEFAULT b'1' COMMENT '是否启用',
(
`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 '备注',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' 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 AUTO_INCREMENT = 91
DEFAULT CHARSET = utf8mb4 DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_unicode_ci 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.setDiscountPercent(BigDecimal.ZERO);
} }
saleOut.setDiscountPrice(MoneyUtils.priceMultiplyPercent(saleOut.getTotalPrice(), saleOut.getDiscountPercent())); 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) { private void updateSaleOrderOutCount(Long orderId) {

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

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