Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
9c4a1f5e3d
@ -104,6 +104,8 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_IS_EXISTS = new ErrorCode(1_008_009, "存在物料清单已生成采购订单,请刷新界面!");
|
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_IS_EXISTS = new ErrorCode(1_008_009, "存在物料清单已生成采购订单,请刷新界面!");
|
||||||
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_IS_STORAGE = new ErrorCode(1_008_010, "存在物料清单已转库存,请刷新界面!");
|
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_IS_STORAGE = new ErrorCode(1_008_010, "存在物料清单已转库存,请刷新界面!");
|
||||||
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_MATERIAL_NOT_EXISTS = new ErrorCode(1_008_011, "物料数据不能为空,请选择物料后重试!");
|
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_MATERIAL_NOT_EXISTS = new ErrorCode(1_008_011, "物料数据不能为空,请选择物料后重试!");
|
||||||
|
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_BOOM_DETAIL_IS_EXISTS = new ErrorCode(1_008_012, "BOM明细ID不能为空!");
|
||||||
|
ErrorCode PURCHASE_ORDER_MAKE_DETAIL_PROJECTSUB_DETAIL_NOT_EXISTS = new ErrorCode(1_008_013, "子项目ID不能为空!");
|
||||||
/************生产管理***********/
|
/************生产管理***********/
|
||||||
ErrorCode TASK_DISPATCH_NOT_EXISTS = new ErrorCode(1_009_001, "派工单不存在");
|
ErrorCode TASK_DISPATCH_NOT_EXISTS = new ErrorCode(1_009_001, "派工单不存在");
|
||||||
ErrorCode TASK_REPORT_NOT_EXISTS = new ErrorCode(1_009_002, "任务报工不存在");
|
ErrorCode TASK_REPORT_NOT_EXISTS = new ErrorCode(1_009_002, "任务报工不存在");
|
||||||
|
@ -21,12 +21,13 @@ public class MaterialPlanBoomSaveReqVO {
|
|||||||
@NotNull(message = "物料需求计划id不能为空")
|
@NotNull(message = "物料需求计划id不能为空")
|
||||||
private Long projectMaterialPlanId;
|
private Long projectMaterialPlanId;
|
||||||
|
|
||||||
@Schema(description = "工艺boom明细id,零件类型:加工件", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "工艺boom明细id,零件类型:加工件")
|
||||||
@NotNull(message = "工艺boom明细id,零件类型:加工件不能为空")
|
// @NotNull(message = "工艺boom明细id,零件类型:加工件不能为空")
|
||||||
private Long boomDetailId;
|
private Long boomDetailId;
|
||||||
|
|
||||||
@Schema(description = "订单子项目id", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "订单子项目id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "订单子项目id不能为空")
|
// @NotNull(message = "订单子项目id不能为空")
|
||||||
|
@Schema(description = "订单子项目id")
|
||||||
private Long projectPlanSubId;
|
private Long projectPlanSubId;
|
||||||
|
|
||||||
@Schema(description = "需求数量")
|
@Schema(description = "需求数量")
|
||||||
|
@ -64,7 +64,9 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
|
|||||||
|
|
||||||
query.selectAll(MaterialPlanBoomDO.class)
|
query.selectAll(MaterialPlanBoomDO.class)
|
||||||
// .select("mat.id as matId","mat.name as matName","mat.code as matCode","mat.spec as matSpec","mat.unit as matUnit","mat.material_type as matType")
|
// .select("mat.id as matId","mat.name as matName","mat.code as matCode","mat.spec as matSpec","mat.unit as matUnit","mat.material_type as matType")
|
||||||
.select("b.material_name as matName","m.code as matCode","b.spec as matSpec","b.unit as matUnit","b.blueprint_no as blueprintNo")
|
// .select("b.material_name as matName","m.code as matCode","b.spec as matSpec","b.unit as matUnit","b.blueprint_no as blueprintNo")
|
||||||
|
.select("b.material_name as matName","b.spec as matSpec","b.unit as matUnit","b.blueprint_no as blueprintNo")
|
||||||
|
|
||||||
.select("bc.`name` as compositionName","b.`composition_id` as compositionId")
|
.select("bc.`name` as compositionName","b.`composition_id` as compositionId")
|
||||||
.select("ma.brief as customerBriefName,ma.project_name as projectName,ma.name as projectSubName,ma.project_id as projectId")
|
.select("ma.brief as customerBriefName,ma.project_name as projectName,ma.name as projectSubName,ma.project_id as projectId")
|
||||||
.leftJoin(MaterialPlanDO.class,"ma",MaterialPlanDO::getId, MaterialPlanBoomDO::getProjectMaterialPlanId)
|
.leftJoin(MaterialPlanDO.class,"ma",MaterialPlanDO::getId, MaterialPlanBoomDO::getProjectMaterialPlanId)
|
||||||
@ -73,7 +75,7 @@ public interface MaterialPlanBoomMapper extends BaseMapperX<MaterialPlanBoomDO>
|
|||||||
.leftJoin(CompositionDO.class, "bc", CompositionDO::getId, ProcessBomDetailDO::getCompositionId)
|
.leftJoin(CompositionDO.class, "bc", CompositionDO::getId, ProcessBomDetailDO::getCompositionId)
|
||||||
.leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId,MaterialPlanDO::getProjectId)
|
.leftJoin(ProjectOrderDO.class,"po",ProjectOrderDO::getId,MaterialPlanDO::getProjectId)
|
||||||
.leftJoin(AdminUserDO.class,"u",AdminUserDO::getId, MaterialPlanBoomDO::getDuEmpId)
|
.leftJoin(AdminUserDO.class,"u",AdminUserDO::getId, MaterialPlanBoomDO::getDuEmpId)
|
||||||
.leftJoin(MaterialDO.class,"m",MaterialDO::getId,MaterialPlanBoomDO::getMaterialId)
|
// .leftJoin(MaterialDO.class,"m",MaterialDO::getId,MaterialPlanBoomDO::getMaterialId)
|
||||||
.eq(MaterialPlanDO::getMatType,0)
|
.eq(MaterialPlanDO::getMatType,0)
|
||||||
.in(MaterialPlanBoomDO::getIsPurYard,Arrays.asList(0,5))
|
.in(MaterialPlanBoomDO::getIsPurYard,Arrays.asList(0,5))
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
|
@ -114,6 +114,12 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService {
|
|||||||
HashMap<Long, PlanSubDO> planSubMap = new HashMap<>();
|
HashMap<Long, PlanSubDO> planSubMap = new HashMap<>();
|
||||||
for (MaterialPlanBoomDO dp : materialPlanBoomDOList) {
|
for (MaterialPlanBoomDO dp : materialPlanBoomDOList) {
|
||||||
PurchaseOrderMakeDetailDO makeDetailDO = new PurchaseOrderMakeDetailDO();
|
PurchaseOrderMakeDetailDO makeDetailDO = new PurchaseOrderMakeDetailDO();
|
||||||
|
if (dp.getBoomDetailId() == null){
|
||||||
|
throw exception(PURCHASE_ORDER_MAKE_DETAIL_BOOM_DETAIL_IS_EXISTS);
|
||||||
|
}
|
||||||
|
if(dp.getProjectPlanSubId() == null){
|
||||||
|
throw exception(PURCHASE_ORDER_MAKE_DETAIL_PROJECTSUB_DETAIL_NOT_EXISTS);
|
||||||
|
}
|
||||||
makeDetailDO.setBoomDetailId(dp.getBoomDetailId());
|
makeDetailDO.setBoomDetailId(dp.getBoomDetailId());
|
||||||
makeDetailDO.setBoomName(dp.getMatName());
|
makeDetailDO.setBoomName(dp.getMatName());
|
||||||
makeDetailDO.setBoomSpec(dp.getMatSpec());
|
makeDetailDO.setBoomSpec(dp.getMatSpec());
|
||||||
@ -178,7 +184,8 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService {
|
|||||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||||
|
|
||||||
// 入库前缀
|
// 入库前缀
|
||||||
purchaseOrderMakeDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
|
String code = PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString());
|
||||||
|
purchaseOrderMakeDO.setPurchaseNo(code);
|
||||||
purchaseOrderMakeDO.setGoodsType(1);
|
purchaseOrderMakeDO.setGoodsType(1);
|
||||||
purchaseOrderMakeDO.setStatus(1);
|
purchaseOrderMakeDO.setStatus(1);
|
||||||
purchaseOrderMakeDO.setSubmitUserId(loginUserId);
|
purchaseOrderMakeDO.setSubmitUserId(loginUserId);
|
||||||
@ -206,7 +213,7 @@ public class MaterialPlanBoomServiceImpl implements MaterialPlanBoomService {
|
|||||||
dp.setMplanStatus(1);
|
dp.setMplanStatus(1);
|
||||||
dp.setProjectPurchaseOrderMakeId(purchaseOrderMakeDO.getId());
|
dp.setProjectPurchaseOrderMakeId(purchaseOrderMakeDO.getId());
|
||||||
dp.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailDO.getId());
|
dp.setProjectPurchaseOrderMakeDetailId(purchaseOrderMakeDetailDO.getId());
|
||||||
dp.setPurchaseNo(purchaseOrderMakeDO.getPurchaseNo());
|
dp.setPurchaseNo(code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,8 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta
|
|||||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||||
|
|
||||||
// 入库前缀
|
// 入库前缀
|
||||||
purchaseOrderNoDO.setPurchaseNo(PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString()));
|
String code = PURCHASE_ORDER.getCode(serialNumberDO.getSerialNumber().toString());
|
||||||
|
purchaseOrderNoDO.setPurchaseNo(code);
|
||||||
serialNumberService.updateSerialNumber(serialNumberDO);
|
serialNumberService.updateSerialNumber(serialNumberDO);
|
||||||
purchaseOrderNoDO.setGoodsType(1);
|
purchaseOrderNoDO.setGoodsType(1);
|
||||||
purchaseOrderNoDO.setPurchaseType(1);
|
purchaseOrderNoDO.setPurchaseType(1);
|
||||||
@ -161,6 +162,7 @@ public class PurchaseOrderMakeDetailServiceImpl implements PurchaseOrderMakeDeta
|
|||||||
pmd.setPurchaseOrderNoId(purchaseOrderNoDO.getId());
|
pmd.setPurchaseOrderNoId(purchaseOrderNoDO.getId());
|
||||||
pmd.setPurchaseOrderNoDetailId(pd.getId());
|
pmd.setPurchaseOrderNoDetailId(pd.getId());
|
||||||
pmd.setOrderStatus(2);
|
pmd.setOrderStatus(2);
|
||||||
|
pmd.setPurchaseNo(code);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<el-input v-model="queryParams.projectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
<el-input v-model="queryParams.projectCode" placeholder="请输入项目编号" clearable @keyup.enter="handleQuery" class="!w-240px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="采购状态" prop="orderStatus">
|
<el-form-item label="采购状态" prop="orderStatus">
|
||||||
<el-select clearable v-model="queryParams.orderStatus" placeholder="请选择采购状态" class="!w-240px">
|
<el-select @change="e => clearItem(e)" clearable v-model="queryParams.orderStatus" placeholder="请选择采购状态" class="!w-240px">
|
||||||
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -264,7 +264,9 @@ const getMateriallist = async(row) =>{
|
|||||||
const handleSelectionChange = (selection) => {
|
const handleSelectionChange = (selection) => {
|
||||||
ids.value = selection;
|
ids.value = selection;
|
||||||
}
|
}
|
||||||
|
const clearItem = (e) =>{
|
||||||
|
multipleTable.value.clearSelection();
|
||||||
|
}
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExportDetail = async () => {
|
const handleExportDetail = async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -237,7 +237,7 @@ const getRowKeys=(row)=>{
|
|||||||
const handleSelectionChange = (selection) => {
|
const handleSelectionChange = (selection) => {
|
||||||
ids.value = selection;
|
ids.value = selection;
|
||||||
}
|
}
|
||||||
const clearItem = () =>{
|
const clearItem = (e) =>{
|
||||||
multipleTable.value.clearSelection();
|
multipleTable.value.clearSelection();
|
||||||
}
|
}
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
|
@ -22,7 +22,9 @@
|
|||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table ref="multipleTableRef" v-loading="loading" :data="list" :stripe="true" highlight-current-row @current-change="handleCurrentChange" :show-overflow-tooltip="true" class="hl-table">
|
<el-table
|
||||||
|
ref="multipleTableRef" v-loading="loading" :data="list" :stripe="true"
|
||||||
|
@row-click="clickRow" @selection-change="handleCurrentChange" :show-overflow-tooltip="true" class="hl-table">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
width="55"/>
|
width="55"/>
|
||||||
@ -114,12 +116,28 @@ const getList = async () => {
|
|||||||
}
|
}
|
||||||
const clickItem = ref([])
|
const clickItem = ref([])
|
||||||
const handleCurrentChange = (val) => {
|
const handleCurrentChange = (val) => {
|
||||||
multipleTableRef.value!.clearSelection()
|
|
||||||
|
|
||||||
clickItem.value = val;
|
clickItem.value = val;
|
||||||
|
if(val.length > 1){
|
||||||
|
multipleTableRef.value!.clearSelection()
|
||||||
|
multipleTableRef.value!.toggleRowSelection(val.pop())
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
const clickRow = (row) => {
|
||||||
|
// 单选选中行
|
||||||
|
if ( clickItem.value[0] == row) {
|
||||||
|
// 取消
|
||||||
|
clickItem.value = [];
|
||||||
|
multipleTableRef.value!.clearSelection()
|
||||||
|
} else {
|
||||||
|
// 选择
|
||||||
|
clickItem.value.push(row);
|
||||||
|
multipleTableRef.value!.clearSelection()
|
||||||
|
multipleTableRef.value!.toggleRowSelection(row, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
multipleTableRef.value!.toggleRowSelection(val, undefined)
|
|
||||||
};
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
const handleQuery = () => {
|
const handleQuery = () => {
|
||||||
queryParams.pageNo = 1
|
queryParams.pageNo = 1
|
||||||
@ -162,7 +180,8 @@ const emit = defineEmits(['success'])
|
|||||||
// emit('success', multipleSelection.value)
|
// emit('success', multipleSelection.value)
|
||||||
const success = () =>{
|
const success = () =>{
|
||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
emit('success',rowid.value,clickItem.value.storageOkQty,clickItem.value.id,clickItem.value.matCode)
|
console.log(clickItem.value)
|
||||||
|
emit('success',rowid.value,clickItem.value[0].storageOkQty,clickItem.value[0].id,clickItem.value[0].matCode)
|
||||||
}
|
}
|
||||||
const handleRg = async (rgid) => {
|
const handleRg = async (rgid) => {
|
||||||
pnCurrentList.value =[]
|
pnCurrentList.value =[]
|
||||||
|
Loading…
Reference in New Issue
Block a user