理化报告同步
This commit is contained in:
@@ -606,7 +606,9 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
|
|||||||
sheetDtlTab.update(jsonSheetDtl);
|
sheetDtlTab.update(jsonSheetDtl);
|
||||||
// 调用质检单中的确认
|
// 调用质检单中的确认
|
||||||
inspectionsheetmstService.confirm(jsonSheetDtl);
|
inspectionsheetmstService.confirm(jsonSheetDtl);
|
||||||
} else {throw new BadRequestException("物料类型错误");}
|
} else {
|
||||||
|
throw new BadRequestException("物料类型错误");
|
||||||
|
}
|
||||||
} else if (StrUtil.equals(result, "02")) {
|
} else if (StrUtil.equals(result, "02")) {
|
||||||
// 不合格
|
// 不合格
|
||||||
/*
|
/*
|
||||||
@@ -998,34 +1000,38 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
|
|||||||
|
|
||||||
for (int i = 0; i < dataArr.size(); i++) {
|
for (int i = 0; i < dataArr.size(); i++) {
|
||||||
JSONObject json = dataArr.getJSONObject(i);
|
JSONObject json = dataArr.getJSONObject(i);
|
||||||
// 1.将erp物料id转换成本系统物料id
|
JSONObject jsonPhyMst = phyMstTab.query("inspection_id = '"+json.getString("inspection_id")+"'").uniqueResult(0);
|
||||||
String ext_id = json.getString("material_id");
|
|
||||||
JSONObject jsonMater = materTab.query("ext_id = '" + ext_id + "' and is_delete = '0' and is_used = '1'").uniqueResult(0);
|
|
||||||
if (ObjectUtil.isEmpty(jsonMater)) throw new BadRequestException("此物料"+ext_id+"在mes系统不存在");
|
|
||||||
|
|
||||||
String material_id = jsonMater.getString("material_id");
|
|
||||||
String pcsn = json.getString("pcsn");
|
|
||||||
// 2.根据物料、批次查询理化报告单 查询是否有此物料、批次的理化报告
|
|
||||||
JSONObject jsonPhyMst = phyMstTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn + "' and is_delete = '0'").uniqueResult(0);
|
|
||||||
// 3.如果理化报告不存在则是有问题 先跳过不做处理
|
|
||||||
if (ObjectUtil.isEmpty(jsonPhyMst)) continue;
|
|
||||||
if (StrUtil.equals(jsonPhyMst.getString("bill_status"), "99")) {
|
if (StrUtil.equals(jsonPhyMst.getString("bill_status"), "99")) {
|
||||||
throw new BadRequestException("此理化报告:" + jsonPhyMst.getString("inspection_code") + "已完成");
|
throw new BadRequestException("此理化报告:" + jsonPhyMst.getString("inspection_code") + "已完成");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 1.将wms物料id转换成本erp物料id
|
||||||
|
String material_id = json.getString("material_id");
|
||||||
|
JSONObject jsonMater = materTab.query("material_id = '" + material_id + "' and is_delete = '0' and is_used = '1'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(jsonMater)) throw new BadRequestException("此物料" + material_id + "在mes系统不存在");
|
||||||
|
|
||||||
|
String pcsn = json.getString("pcsn");
|
||||||
|
// 2.根据物料、批次查询erp系统中是否存在此批次的理化报告
|
||||||
|
JSONObject map = new JSONObject();
|
||||||
|
map.put("flag", "2");
|
||||||
|
map.put("ext_id", jsonMater.getString("ext_id"));
|
||||||
|
map.put("pcsn", pcsn);
|
||||||
|
JSONObject jsonErp = WQL.getWO("QL_ERP").addParamMap(map).setDbname("dataSource1").process().uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(jsonErp)) continue;
|
||||||
|
|
||||||
// 4.更新理化报告主表
|
// 4.更新理化报告主表
|
||||||
jsonPhyMst.put("result", json.getString("check_result"));
|
jsonPhyMst.put("result", jsonErp.getString("check_result"));
|
||||||
jsonPhyMst.put("grade", "01");
|
jsonPhyMst.put("grade", "01");
|
||||||
jsonPhyMst.put("other_device_no", json.getString("other_device_no"));
|
jsonPhyMst.put("other_device_no", jsonErp.getString("other_device_no"));
|
||||||
jsonPhyMst.put("other_device_wd", json.getString("other_device_wd"));
|
jsonPhyMst.put("other_device_wd", jsonErp.getString("other_device_wd"));
|
||||||
jsonPhyMst.put("weightlost", json.getString("weightlost"));
|
jsonPhyMst.put("weightlost", jsonErp.getString("weightlost"));
|
||||||
jsonPhyMst.put("remark", json.getString("remark"));
|
jsonPhyMst.put("remark", jsonErp.getString("remark"));
|
||||||
jsonPhyMst.put("bill_status", "30");
|
jsonPhyMst.put("bill_status", "30");
|
||||||
phyMstTab.update(jsonPhyMst);
|
phyMstTab.update(jsonPhyMst);
|
||||||
|
|
||||||
// 5.根据erp项点 插入理化报告明细 调用createPhyDtl()
|
// 5.根据erp项点 插入理化报告明细 调用createPhyDtl()
|
||||||
json.put("inspection_id", jsonPhyMst.getString("inspection_id"));
|
jsonErp.put("inspection_id", jsonPhyMst.getString("inspection_id"));
|
||||||
this.createPhyDtl(json);
|
this.createPhyDtl(jsonErp);
|
||||||
// 6.确认单据
|
// 6.确认单据
|
||||||
this.confirm(jsonPhyMst);
|
this.confirm(jsonPhyMst);
|
||||||
}
|
}
|
||||||
@@ -1034,6 +1040,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询理化质检检测项点 公共方法
|
* 查询理化质检检测项点 公共方法
|
||||||
|
*
|
||||||
* @param item_code: 项点编码 /
|
* @param item_code: 项点编码 /
|
||||||
* @return json
|
* @return json
|
||||||
*/
|
*/
|
||||||
@@ -1046,6 +1053,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据erp项点插入理化报告明细
|
* 根据erp项点插入理化报告明细
|
||||||
|
*
|
||||||
* @param json /
|
* @param json /
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
## 表字段对应输入参数
|
## 表字段对应输入参数
|
||||||
#################################################
|
#################################################
|
||||||
输入.flag TYPEAS s_string
|
输入.flag TYPEAS s_string
|
||||||
输入.search_material_code TYPEAS s_string
|
输入.ext_id TYPEAS s_string
|
||||||
输入.search_pcsn TYPEAS s_string
|
输入.pcsn TYPEAS s_string
|
||||||
|
|
||||||
|
|
||||||
[临时表]
|
[临时表]
|
||||||
@@ -63,20 +63,45 @@
|
|||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF 输入.flag = "2"
|
IF 输入.flag = "2"
|
||||||
PAGEQUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
*
|
*
|
||||||
FROM
|
FROM
|
||||||
QL_TEST_PHYSICAL
|
QL_TEST_PHYSICAL
|
||||||
|
where
|
||||||
|
is_effective = '1'
|
||||||
|
AND dr = '0'
|
||||||
|
|
||||||
OPTION 输入.search_material_code <> ""
|
OPTION 输入.ext_id <> ""
|
||||||
'material_code' like 输入.search_material_code
|
material_id = 输入.ext_id
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
OPTION 输入.search_pcsn <> ""
|
OPTION 输入.pcsn <> ""
|
||||||
'pcsn' like 输入.search_pcsn
|
pcsn = 输入.pcsn
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
|
|
||||||
ENDSELECT
|
ENDSELECT
|
||||||
ENDPAGEQUERY
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM
|
||||||
|
QL_TEST_PHYSICAL
|
||||||
|
where
|
||||||
|
'is_effective' = '1'
|
||||||
|
AND 'dr' = '0'
|
||||||
|
|
||||||
|
OPTION 输入.ext_id <> ""
|
||||||
|
'material_id' = 输入.ext_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.pcsn <> ""
|
||||||
|
'pcsn' = 输入.pcsn
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -150,7 +150,7 @@
|
|||||||
type="success"
|
type="success"
|
||||||
icon="el-icon-refresh"
|
icon="el-icon-refresh"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="phySyncShow = true"
|
@click="phySync"
|
||||||
>
|
>
|
||||||
理化同步
|
理化同步
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -252,7 +252,7 @@
|
|||||||
<MaterDtl :dialog-show.sync="materShow" :mater-opt-code.sync="materType" @tableChanged2="tableChanged2" />
|
<MaterDtl :dialog-show.sync="materShow" :mater-opt-code.sync="materType" @tableChanged2="tableChanged2" />
|
||||||
<Dialog1 :visiable1.sync="visiable1" :inspection-id="inspection_id" />
|
<Dialog1 :visiable1.sync="visiable1" :inspection-id="inspection_id" />
|
||||||
<RelevancyDialog :dialog-show.sync="RelevancyShow" @RelevancyChanged="RelevancyChanged" />
|
<RelevancyDialog :dialog-show.sync="RelevancyShow" @RelevancyChanged="RelevancyChanged" />
|
||||||
<PhySyncDialog :dialog-show.sync="phySyncShow" />
|
<!-- <PhySyncDialog :dialog-show.sync="phySyncShow" />-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -432,6 +432,19 @@ export default {
|
|||||||
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
phySync() {
|
||||||
|
const _selectData = this.$refs.table.selection
|
||||||
|
if (_selectData.length === 0) {
|
||||||
|
return this.crud.notify('请至少选择一条记录', CRUD.NOTIFICATION_TYPE.INFO)
|
||||||
|
}
|
||||||
|
const data = {
|
||||||
|
'data': _selectData
|
||||||
|
}
|
||||||
|
crudPhysicalMst.hpySync(data).then(res => {
|
||||||
|
this.crud.toQuery()
|
||||||
|
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user