工令批次号修改

This commit is contained in:
zds
2022-06-30 18:58:20 +08:00
parent 5dcb227b03
commit 3084f145e8
8 changed files with 222 additions and 22 deletions

View File

@@ -92,4 +92,11 @@ public class WorkOrderController {
public ResponseEntity<Object> createPcsn(@RequestParam Map whereJson) {
return new ResponseEntity<>(workOrdereService.createPcsn(whereJson),HttpStatus.OK);
}
@Log("获取明细list")
@ApiOperation("获取Bom明细list")
@GetMapping("/getDepts")
public ResponseEntity<Object> getDepts(@RequestParam Map whereJson) {
return new ResponseEntity<>(workOrdereService.getDepts(whereJson),HttpStatus.OK);
}
}

View File

@@ -64,4 +64,9 @@ public interface WorkOrdereService {
* @param whereJson /
*/
JSONObject createPcsn(Map whereJson);
/**
* 提交
* @param whereJson /
*/
JSONArray getDepts(Map whereJson);
}

View File

@@ -59,7 +59,7 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.workorder_code");
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.planstart_time,WorkOrder.workorder_code");
return json;
}
@Override
@@ -75,7 +75,7 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
if (StrUtil.isNotEmpty(material_id)) {
map.put("material_id", "%" + material_id + "%");
}
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.workorder_code");
JSONObject json = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.planstart_time,WorkOrder.workorder_code");
return json;
}
@Override
@@ -621,6 +621,14 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
if(StrUtil.isEmpty(material_id)){
throw new BadRequestException("产品id不能为空");
}
String org_id = map.get("org_id");
if(StrUtil.isEmpty(org_id)){
throw new BadRequestException("所属组织不能为空!");
}
String is_experiment = map.get("is_experiment");
if(StrUtil.isEmpty(is_experiment)){
throw new BadRequestException("是否实验粉不能为空!");
}
WQLObject wo_param = WQLObject.getWQLObject("sys_param");
JSONObject param = wo_param.query("is_active='1' and is_delete='0' and code='PCSN_NUM'").uniqueResult(0);
if (ObjectUtil.isEmpty(param)) {
@@ -635,11 +643,27 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
if(StrUtil.isEmpty(old_mark)){
throw new BadRequestException("成品物料扩展信息表牌号不能为空!");
}
WQLObject pdm_bi_productdeptpcsn = WQLObject.getWQLObject("pdm_bi_productdeptpcsn");
JSONObject org = pdm_bi_productdeptpcsn.query("org_id='"+org_id+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(org)) {
throw new BadRequestException("生产事业部批次代码查询失败!");
}
String org_pcsn = org.getString("org_pcsn");
if(StrUtil.isEmpty(org_pcsn)){
throw new BadRequestException("生产事业部批次代码不能为空!");
}
org_pcsn = org_pcsn.replace(" ","");
String technology_code = mater.getString("technology_code");
if(StrUtil.isEmpty(technology_code)){
technology_code = "";
}
technology_code = technology_code.replace(" ","");
WQLObject PDM_BI_BrandMaxPCSN = WQLObject.getWQLObject("PDM_BI_BrandMaxPCSN");
DateTime now = DateTime.now();
String year = now.year()+"";
JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"'").uniqueResult(0);
JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0);
JSONObject ret = new JSONObject();
if(jo_pcsn==null){
String value = "";
@@ -651,6 +675,11 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
}
value += max_sn;
value = year.substring(2)+value;
value = org_pcsn+value;
value = value+technology_code;
if("1".equals(is_experiment)){
value = value+"S";
}
ret.put("pcsn",value);
}else{
String value = "";
@@ -665,6 +694,12 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
}
value += max_sn;
value = year.substring(2)+value;
value = org_pcsn+value;
value = value+technology_code;
if("1".equals(is_experiment)){
value = value+"S";
}
ret.put("pcsn",value);
}
return ret;
@@ -676,6 +711,15 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
if(StrUtil.isEmpty(material_id)){
throw new BadRequestException("产品id不能为空");
}
String org_id = from.getString("org_id");
if(StrUtil.isEmpty(org_id)){
throw new BadRequestException("所属组织不能为空!");
}
WQLObject wo_param = WQLObject.getWQLObject("sys_param");
JSONObject param = wo_param.query("is_active='1' and is_delete='0' and code='PCSN_NUM'").uniqueResult(0);
if (ObjectUtil.isEmpty(param)) {
throw new BadRequestException("批次序号的位数系统参数查询失败!");
}
WQLObject md_me_producmaterialext = WQLObject.getWQLObject("md_me_producmaterialext");
JSONObject mater = md_me_producmaterialext.query("material_id='"+material_id+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(mater)) {
@@ -688,18 +732,21 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
WQLObject PDM_BI_BrandMaxPCSN = WQLObject.getWQLObject("PDM_BI_BrandMaxPCSN");
DateTime now = DateTime.now();
String year = now.year()+"";
JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"'").uniqueResult(0);
JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0);
if(jo_pcsn == null){
JSONObject ret = new JSONObject();
ret.put("brandmax_id", IdUtil.getSnowflake(1, 1).nextId());
ret.put("brand_code",old_mark);
ret.put("year",year);
pcsn = pcsn.substring(2,pcsn.length());
ret.put("org_id",org_id);
int length = param.getInteger("value");
pcsn = pcsn.substring(3,3+length);
int max_sn = Integer.parseInt(pcsn);
ret.put("max_sn",max_sn);
PDM_BI_BrandMaxPCSN.insert(ret);
}else{
pcsn = pcsn.substring(2,pcsn.length());
int length = param.getInteger("value");
pcsn = pcsn.substring(3,3+length);
int max_sn = Integer.parseInt(pcsn);
if(jo_pcsn.getInteger("max_sn") == max_sn){
throw new BadRequestException("工令牌号此生产批次已存在!");
@@ -709,4 +756,12 @@ public class WorkOrderServiceImpl implements WorkOrdereService {
}
}
@Override
public JSONArray getDepts(Map json) {
HashMap<String, String> map = new HashMap<>(json);
map.put("flag", "14");
JSONArray ret = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).process().getResultJSONArray(0);
return ret;
}
}

View File

@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.workorder_code TYPEAS s_string
输入.org_id TYPEAS s_string
输入.material_id TYPEAS s_string
输入.workorder_type TYPEAS s_string
输入.status TYPEAS s_string
@@ -83,6 +84,9 @@
OPTION 输入.end_time <> ""
WorkOrder.planstart_time <= 输入.end_time
ENDOPTION
OPTION 输入.org_id <> ""
WorkOrder.org_id = 输入.org_id
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
@@ -182,5 +186,20 @@
ENDIF
IF 输入.flag = "14"
QUERY
SELECT
productdeptpcsn.org_id AS id,
productdeptpcsn.org_code AS code,
productdeptpcsn.org_name AS name
FROM
pdm_bi_productdeptpcsn productdeptpcsn
WHERE
1 = 1
ENDSELECT
ENDQUERY
ENDIF