This commit is contained in:
zds
2022-11-29 20:10:59 +08:00
parent aa38c4c722
commit e5632397fe
30 changed files with 358 additions and 329 deletions

View File

@@ -103,6 +103,11 @@ public class ClassstandardServiceImpl implements ClassstandardService {
if (classstandardDto != null && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) { if (classstandardDto != null && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) {
throw new BadRequestException("存在相同的基础类别编号"); throw new BadRequestException("存在相同的基础类别编号");
} }
WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard");
JSONObject old = wo.query("is_delete='0' and class_code='"+class_code+"'").uniqueResult(0);
if(old!=null){
throw new BadRequestException("已存在相同编码!");
}
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName(); String nickName = SecurityUtils.getNickName();
String now = DateUtil.now(); String now = DateUtil.now();
@@ -124,7 +129,7 @@ public class ClassstandardServiceImpl implements ClassstandardService {
dto.setIs_modify("0"); dto.setIs_modify("0");
} }
WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.insert(json); wo.insert(json);
@@ -147,7 +152,11 @@ public class ClassstandardServiceImpl implements ClassstandardService {
if (classstandardDto != null && !dto.getClass_id().equals(classstandardDto.getClass_id()) && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) { if (classstandardDto != null && !dto.getClass_id().equals(classstandardDto.getClass_id()) && classstandardDto.getIs_delete().equals("0") && dto.getBase_data_type().equals(classstandardDto.getBase_data_type())) {
throw new BadRequestException("存在相同的供应商编号"); throw new BadRequestException("存在相同的供应商编号");
} }
WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard");
JSONObject old = wo.query("is_delete='0' and class_code='"+class_code+"' and class_id<>'"+dto.getClass_id()+"'").uniqueResult(0);
if(old!=null){
throw new BadRequestException("已存在相同编码!");
}
Long oldPid = findById(dto.getClass_id() + "").getParent_class_id(); Long oldPid = findById(dto.getClass_id() + "").getParent_class_id();
Long newPid = dto.getParent_class_id(); Long newPid = dto.getParent_class_id();
@@ -163,7 +172,6 @@ public class ClassstandardServiceImpl implements ClassstandardService {
dto.setUpdate_optid(currentUserId); dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName); dto.setUpdate_optname(nickName);
WQLObject wo = WQLObject.getWQLObject("MD_PB_ClassStandard");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
wo.update(json); wo.update(json);

View File

@@ -47,6 +47,8 @@
svp.storagevehiclepoint_id, svp.storagevehiclepoint_id,
svp.storagevehicle_id, svp.storagevehicle_id,
svp.storagevehicle_code, svp.storagevehicle_code,
svp.update_optname AS update_optname2,
svp.update_time AS update_time2,
svp.set_type, svp.set_type,
d.label AS set_type_name d.label AS set_type_name
FROM FROM

View File

@@ -44,7 +44,7 @@ public class ItempointServiceImpl implements ItempointService {
map.put("flag", "1"); map.put("flag", "1");
map.put("item_type", item_type); map.put("item_type", item_type);
if (!ObjectUtil.isEmpty(item_code)) map.put("item_code", "%" + item_code + "%"); if (!ObjectUtil.isEmpty(item_code)) map.put("item_code", "%" + item_code + "%");
JSONObject json = WQL.getWO("PA_BASE_ITEMPOINT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "item.update_time desc"); JSONObject json = WQL.getWO("PA_BASE_ITEMPOINT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "item.item_code");
return json; return json;
} }

View File

@@ -66,12 +66,12 @@ public class PerformancemstServiceImpl implements PerformancemstService {
String assessor_id = (String) whereJson.get("assessor_id"); String assessor_id = (String) whereJson.get("assessor_id");
String assessor_date = (String) whereJson.get("assessor_date"); String assessor_date = (String) whereJson.get("assessor_date");
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("flag", "1"); map.put("flag", "01");
if (ObjectUtil.isNotEmpty(assessor_id)) { if (ObjectUtil.isNotEmpty(assessor_id)) {
map.put("assessor_id", "%" + assessor_id + "%"); map.put("assessor_id", "%" + assessor_id + "%");
} }
map.put("assessor_date", assessor_date); map.put("assessor_date", assessor_date);
JSONObject json = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.update_time desc"); JSONObject json = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.status,mst.assessor_date desc,user.nick_name");
return json; return json;
} }

View File

@@ -82,6 +82,44 @@
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF
IF 输入.flag = "01"
PAGEQUERY
SELECT
mst.performance_id,
mst.performance_code,
mst.assessor_id,
mst.assessor_date,
round(mst.total_score,2) AS total_score,
mst.status,
mst.remark,
mst.create_name,
mst.create_time,
mst.update_optname,
mst.update_time,
mst.confirm_optname,
mst.confirm_time,
mst.is_delete,
user.nick_name AS assessor_name
FROM
QL_TEST_PerformanceMst mst
LEFT JOIN sys_user user ON mst.assessor_id = user.user_id
WHERE
mst.is_delete = '0'
OPTION 输入.assessor_id <> ""
user.nick_name like 输入.assessor_id
ENDOPTION
OPTION 输入.create_id <> ""
mst.assessor_id = 输入.create_id
ENDOPTION
OPTION 输入.assessor_date <> ""
mst.assessor_date = 输入.assessor_date
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2" IF 输入.flag = "2"
QUERY QUERY
SELECT SELECT

View File

@@ -83,7 +83,7 @@
WorkTask.workprocedure_id = 输入.workprocedure_id WorkTask.workprocedure_id = 输入.workprocedure_id
ENDOPTION ENDOPTION
OPTION 输入.device_code <> "" OPTION 输入.device_code <> ""
device.device_code like 输入.device_code (device.device_code like 输入.device_code or device.device_name like 输入.device_code)
ENDOPTION ENDOPTION
OPTION 输入.status <> "" OPTION 输入.status <> ""
WorkTask.status = 输入.status WorkTask.status = 输入.status

View File

@@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.exception.BadRequestException; import org.nl.exception.BadRequestException;
@@ -39,6 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author Lxy * @author Lxy
@@ -785,51 +787,88 @@ public class FlourworkServiceImpl implements FlourworkService {
@Override @Override
public Map<String, Object> queryException(Map whereJson, Pageable page) { public Map<String, Object> queryException(Map whereJson, Pageable page) {
String is_deal = MapUtil.getStr(whereJson, "is_deal"); String is_query = MapUtil.getStr(whereJson, "is_query");
String is_all = MapUtil.getStr(whereJson, "is_all"); JSONObject json = new JSONObject();
String device_id = MapUtil.getStr(whereJson, "device_id"); if(ObjectUtil.isEmpty(is_query) || is_query.equals("0")){
json.put("content",new JSONArray());
json.put("total","0");
}else{
WQLObject md_me_materialbase = WQLObject.getWQLObject("md_me_materialbase");
String is_deal = MapUtil.getStr(whereJson, "is_deal");
String is_all = MapUtil.getStr(whereJson, "is_all");
String device_id = MapUtil.getStr(whereJson, "device_id");
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("flag", "5"); map.put("flag", "5");
map.put("device_id", device_id); map.put("device_id", device_id);
map.put("formula_code", MapUtil.getStr(whereJson, "formula_code")); map.put("formula_code", MapUtil.getStr(whereJson, "formula_code"));
if (ObjectUtil.isEmpty(is_deal)) { if (ObjectUtil.isEmpty(is_deal)) {
is_deal = "0"; is_deal = "0";
map.put("is_process", is_deal); map.put("is_process", is_deal);
}
if (ObjectUtil.isNotEmpty(is_deal)) map.put("is_process", is_deal);
String num1 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE1").getValue();
String num2 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE2").getValue();
String num3 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE3").getValue();
map.put("num1", num1);
map.put("num2", num2);
map.put("num3", num3);
map.put("is_all", is_all);
json = WQL.getWO("QPDM_BI_FORMULA01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.formula_code,a.put_time DESC");
JSONArray array = json.getJSONArray("content");
if (ObjectUtil.isNotEmpty(array)){
JSONArray array2 = new JSONArray();
for(int i=0;i< array.size();i++){
JSONObject jo = array.getJSONObject(i);
String material_id = jo.getString("material_id");
JSONObject mater1 = md_me_materialbase.query("material_id='"+material_id+"'").uniqueResult(0);
if(mater1!=null){
jo.put("product_material_code",mater1.getString("material_code"));
}
String dtl_material_id = jo.getString("dtl_material_id");
JSONObject mater2 = md_me_materialbase.query("material_id='"+dtl_material_id+"'").uniqueResult(0);
if(mater2!=null){
jo.put("dtl_material_code",mater2.getString("material_code"));
jo.put("dtl_material_name",mater2.getString("material_name"));
}
array2.add(jo);
}
json.put("content",array2);
}
} }
if (ObjectUtil.isNotEmpty(is_deal)) map.put("is_process", is_deal);
String num1 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE1").getValue();
String num2 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE2").getValue();
String num3 = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SMALL_BALANCE3").getValue();
map.put("num1", num1);
map.put("num2", num2);
map.put("num3", num3);
map.put("is_all", is_all);
JSONObject json = WQL.getWO("QPDM_BI_FORMULA01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "a.formula_code,a.put_time DESC");
return json; return json;
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void exceptionSure(JSONObject whereJson) { public void exceptionSure(JSONObject whereJson) {
String formuladtljob_id = whereJson.getString("formuladtljob_id");
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName(); String nickName = SecurityUtils.getNickName();
String now = DateUtil.now(); String now = DateUtil.now();
WQLObject dtlJobTab = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob"); // 作业明细表 WQLObject dtlJobTab = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob"); // 作业明细表
JSONObject jsonDtlJob = dtlJobTab.query("formuladtljob_id = '" + formuladtljob_id + "'").uniqueResult(0);
if (!StrUtil.equals(jsonDtlJob.getString("is_process"), "0")) throw new BadRequestException("状态必须为未处理");
jsonDtlJob.put("is_process", "1"); JSONArray rows = whereJson.getJSONArray("rows");
jsonDtlJob.put("process_id", currentUserId); for(int i=0;i<rows.size();i++){
jsonDtlJob.put("process_name", nickName); JSONObject jo = rows.getJSONObject(i);
jsonDtlJob.put("process_time", now); String formuladtljob_id = jo.getString("formuladtljob_id");
jsonDtlJob.put("process_type", "0"); JSONObject jsonDtlJob = dtlJobTab.query("formuladtljob_id = '" + formuladtljob_id + "'").uniqueResult(0);
dtlJobTab.update(jsonDtlJob); if (!StrUtil.equals(jsonDtlJob.getString("is_process"), "0")) {
throw new BadRequestException(jo.getString("bucketunique")+"状态必须为未处理!");
}
jsonDtlJob.put("is_process", "1");
jsonDtlJob.put("process_id", currentUserId);
jsonDtlJob.put("process_name", nickName);
jsonDtlJob.put("process_time", now);
jsonDtlJob.put("process_type", "0");
dtlJobTab.update(jsonDtlJob);
}
} }
@Override @Override

View File

@@ -70,6 +70,14 @@ public class FormulaServiceImpl implements FormulaService {
if (StrUtil.isNotEmpty(workorder_code)) { if (StrUtil.isNotEmpty(workorder_code)) {
map.put("workorder_code", "%" + workorder_code + "%"); map.put("workorder_code", "%" + workorder_code + "%");
} }
String begin_time = map.get("begin_time");
if (StrUtil.isNotEmpty(begin_time)) {
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
}
String end_time = map.get("end_time");
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
String formula_code = map.get("formula_code"); String formula_code = map.get("formula_code");
if (StrUtil.isNotEmpty(formula_code)) { if (StrUtil.isNotEmpty(formula_code)) {
map.put("formula_code", "%" + formula_code + "%"); map.put("formula_code", "%" + formula_code + "%");

View File

@@ -23,6 +23,7 @@
输入.is_process TYPEAS s_string 输入.is_process TYPEAS s_string
输入.formula_code TYPEAS s_string 输入.formula_code TYPEAS s_string
输入.workorder_id TYPEAS s_string 输入.workorder_id TYPEAS s_string
输入.materialIds TYPEAS f_string
输入.is_all TYPEAS s_string 输入.is_all TYPEAS s_string
输入.num1 TYPEAS s_string 输入.num1 TYPEAS s_string
输入.num2 TYPEAS s_string 输入.num2 TYPEAS s_string
@@ -375,78 +376,56 @@
IF 输入.flag = "5" IF 输入.flag = "5"
PAGEQUERY PAGEQUERY
SELECT * FROM ( SELECT * FROM (
SELECT
SELECT mst.storagevehicle_code,
work.workordercard_id, mst.pcsn AS product_pcsn,
mst.formula_code, dtlJob.pcsn AS dtl_pcsn,
mater1.material_code AS product_material_code, dtlJob.bucketunique,
mst.pcsn AS product_pcsn, dtlJob.storage_qty,
mst.storagevehicle_code, dtlJob.putconfirm_qty,
mater2.material_code AS dtl_material_code, mst.material_id,
mater2.material_name AS dtl_material_name, dtlJob.material_id AS dtl_material_id,
dtlJob.pcsn AS dtl_pcsn, dtlJob.outconfirm_qty,
dtlJob.bucketunique, mst.workorder_id AS workordercard_id,
dtlJob.storage_qty, (dtlJob.putconfirm_qty - dtlJob.outconfirm_qty) AS bad_qty,
dtlJob.putconfirm_qty, dtlJob.formula_code,
dtlJob.outconfirm_qty, dtlJob.struct_code,
(dtlJob.putconfirm_qty - dtlJob.outconfirm_qty) AS bad_qty, dtlJob.jobstoragevehicle_code,
dtlJob.struct_code, dtlJob.put_name,
dtlJob.jobstoragevehicle_code, dtlJob.put_time,
dtlJob.put_name, dtlJob.is_process,
dtlJob.put_time, dtlJob.process_name,
( dtlJob.process_time,
CASE dtlJob.formuladtljob_id,
WHEN dtlJob.is_process = '0' THEN '否' dtlJob.formuladtl_id,
WHEN dtlJob.is_process = '1' THEN '是' dtlJob.formula_id,
END task.device_id
) AS is_process, FROM
dtlJob.process_name, PDM_BI_FormulaDtlJob dtlJob
dtlJob.process_time, INNER JOIN PDM_BI_Formula mst ON mst.formula_id = dtlJob.formula_id
INNER JOIN PDM_BI_WorkTask task ON task.workorder_id = mst.workorder_id
dtlJob.formuladtljob_id, AND task.workprocedure_code = 'GX001'
dtlJob.formuladtl_id, WHERE
dtlJob.formula_id, mst.is_delete = '0'
device.device_code AND dtlJob.is_abnormal = '1'
FROM OPTION 输入.device_id <> ""
PDM_BI_FormulaDtlJob dtlJob
LEFT JOIN PDM_BI_FormulaDtl dtl ON dtlJob.formuladtl_id = dtl.formuladtl_id
LEFT JOIN PDM_BI_Formula mst ON mst.formula_id = dtl.formula_id
LEFT JOIN md_me_materialbase mater1 ON mater1.material_id = mst.material_id
LEFT JOIN md_me_materialbase mater2 ON mater2.material_id = dtlJob.material_id
LEFT JOIN PDM_BI_WorkOrder work ON work.workorder_id = mst.workorder_id
LEFT JOIN PDM_BI_WorkTask task ON task.workorder_id = work.workorder_id AND task.workprocedure_code = 'GX001'
LEFT JOIN EM_BI_DeviceInfo device ON device.device_id = task.device_id
WHERE
work.is_delete = '0'
AND mst.is_delete = '0'
AND dtlJob.is_abnormal = '1'
OPTION 输入.device_id <> ""
task.device_id = 输入.device_id task.device_id = 输入.device_id
ENDOPTION ENDOPTION
OPTION 输入.is_process <> "" OPTION 输入.is_process <> ""
dtlJob.is_process = 输入.is_process dtlJob.is_process = 输入.is_process
ENDOPTION ENDOPTION
OPTION 输入.formula_code <> "" OPTION 输入.formula_code <> ""
mst.formula_code = 输入.formula_code mst.formula_code = 输入.formula_code
ENDOPTION ENDOPTION
) a ) a
where where 1=1
1=1 OPTION 输入.is_all <> "1"
OPTION 输入.is_all <> "1" (( a.device_id = '1510803277447565312' AND a.bad_qty > 输入.num1)
(a.device_code = 'PFW001' AND a.bad_qty > 输入.num1) OR
OR ( a.device_id = '1510803382053507072' AND a.bad_qty > 输入.num2)
(a.device_code = 'PFW002' AND a.bad_qty > 输入.num2) OR
OR ( a.device_id = '1510803479571075072' AND a.bad_qty > 输入.num3))
(a.device_code = 'PFW003' AND a.bad_qty > 输入.num3)
ENDOPTION ENDOPTION
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF

View File

@@ -85,12 +85,12 @@ public class SparePartOutController {
return new ResponseEntity<>(sparePartOutService.getStructIvt(whereJson), HttpStatus.OK); return new ResponseEntity<>(sparePartOutService.getStructIvt(whereJson), HttpStatus.OK);
} }
@PostMapping("/getIvt") @GetMapping("/getIvt")
@Log("查询备件库存") @Log("查询备件库存")
@ApiOperation("查询备件库存") @ApiOperation("查询备件库存")
//@PreAuthorize("@el.check('materialtype:list')") //@PreAuthorize("@el.check('materialtype:list')")
public ResponseEntity<Object> getIvt(@RequestBody JSONObject whereJson) { public ResponseEntity<Object> getIvt(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(sparePartOutService.getIvt(whereJson), HttpStatus.OK); return new ResponseEntity<>(sparePartOutService.getIvt(whereJson,page), HttpStatus.OK);
} }
@PostMapping("/insertDis") @PostMapping("/insertDis")

View File

@@ -37,7 +37,7 @@ public interface SparePartOutService {
JSONArray getStructIvt(JSONObject whereJson); JSONArray getStructIvt(JSONObject whereJson);
JSONArray getIvt(JSONObject whereJson); Map<String, Object> getIvt(Map whereJson, Pageable page);
void divStruct(JSONObject whereJson); void divStruct(JSONObject whereJson);

View File

@@ -199,14 +199,14 @@ public class SparePartOutServiceImpl implements SparePartOutService {
} }
@Override @Override
public JSONArray getIvt(JSONObject whereJson) { public Map<String, Object> getIvt(Map whereJson, Pageable page) {
String search = whereJson.getString("search"); String search = (String) whereJson.get("search");
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("flag", "11"); map.put("flag", "11");
if (StrUtil.isNotEmpty(search)) { if (StrUtil.isNotEmpty(search)) {
map.put("search", search); map.put("search", search);
} }
JSONArray dtl_rows = WQL.getWO("QEM_BI_SPAREPARTOUT").addParamMap(map).process().getResultJSONArray(0); JSONObject dtl_rows = WQL.getWO("QEM_BI_SPAREPARTOUT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "material_code");
return dtl_rows; return dtl_rows;
} }

View File

@@ -71,7 +71,7 @@
(case when dtl.source_bill_type = 'PO' then '备件采购入库' else '' end ) AS source_type_name (case when dtl.source_bill_type = 'PO' then '备件采购入库' else '' end ) AS source_type_name
FROM FROM
em_bi_iostorinv ios em_bi_iostorinv ios
LEFT JOIN em_bi_iostorinvdtl dtl ON dtl.iostorinv_id = ios.iostorinv_id LEFT JOIN em_bi_iostorinvdtl dtl ON dtl.iostorinv_id = ios.iostorinv_id and dtl.seq_no='1'
WHERE WHERE
ios.buss_type = 输入.buss_type ios.buss_type = 输入.buss_type
AND AND

View File

@@ -434,7 +434,7 @@
ENDIF ENDIF
IF 输入.flag = "11" IF 输入.flag = "11"
QUERY PAGEQUERY
SELECT SELECT
mb.material_code, mb.material_code,
mb.material_name, mb.material_name,
@@ -484,7 +484,7 @@
) )
ENDOPTION ENDOPTION
ENDSELECT ENDSELECT
ENDQUERY ENDPAGEQUERY
ENDIF ENDIF
IF 输入.flag = "12" IF 输入.flag = "12"

View File

@@ -74,9 +74,8 @@ public class DevicefaultcaeServiceImpl implements DevicefaultcaeService {
map.put("classIds", classIds); map.put("classIds", classIds);
} }
JSONObject json = WQL.getWO("EM_DEVICEFAULTCAE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "re.devicerecord_id DESC"); JSONObject json = WQL.getWO("EM_DEVICEFAULTCAE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "dept.name,file.device_code");
/* // 处理平均故障间隔时间 && 平均故障修复时间 /* // 处理平均故障间隔时间 && 平均故障修复时间*/
WQLObject tab = WQLObject.getWQLObject("EM_BI_DeviceRepairRequest");*/
JSONArray content = json.getJSONArray("content"); JSONArray content = json.getJSONArray("content");
for (int i = 0; i < content.size(); i++) { for (int i = 0; i < content.size(); i++) {
JSONObject jsonObject = content.getJSONObject(i); JSONObject jsonObject = content.getJSONObject(i);
@@ -111,39 +110,6 @@ public class DevicefaultcaeServiceImpl implements DevicefaultcaeService {
jsonObject.put("avgRep_time","0"); jsonObject.put("avgRep_time","0");
} }
} }
/*JSONArray arr = tab.query("devicerecord_id = '" + devicerecord_id + "' and is_delete = '0'").getResultJSONArray(0);
// 计算平均故障修复时间
String nunm = jsonObject.getString("nunm");
String create_time_all = "0";
String finish_time_all = "0";
for (int j = 0; j < arr.size(); j++) {
JSONObject jsonObject1 = arr.getJSONObject(j);
// 去掉时间中的特殊字符
String create_time = jsonObject1.getString("create_time").substring(0,10).replaceAll("[[\\s-:punct:]]","");
String finish_time = "0";
if (ObjectUtil.isNotEmpty(jsonObject1.getString("finish_time"))) {
finish_time = jsonObject1.getString("finish_time").substring(0,10).replaceAll("[[\\s-:punct:]]","");
}
// 相加
create_time_all = String.valueOf(NumberUtil.add(create_time_all,create_time));
finish_time_all = String.valueOf(NumberUtil.add(finish_time_all,finish_time));
}
BigDecimal mul = NumberUtil.mul(NumberUtil.sub(finish_time_all, create_time_all), 24);
BigDecimal div = NumberUtil.div(mul.toString(), nunm);
if (div.intValue() < 0) {
jsonObject.put("avgRep_time","0");
} else {
jsonObject.put("avgRep_time",String.valueOf(div));
}
// 计算平均故障间隔时间
String re_end_time = end_time.substring(0, 10).replaceAll("[[\\s-:punct:]]", "");
String re_begin_time = begin_time.substring(0, 10).replaceAll("[[\\s-:punct:]]", "");
BigDecimal add = NumberUtil.add(NumberUtil.sub(re_end_time, re_begin_time).toString(), "1");
BigDecimal avgVal_time = NumberUtil.div(NumberUtil.mul(add, 24).toString(), nunm);
jsonObject.put("avgVal_time",avgVal_time.toString());*/
} }
json.put("content",content); json.put("content",content);
return json; return json;

View File

@@ -90,9 +90,6 @@
OPTION 输入.end_time <> "" OPTION 输入.end_time <> ""
re.fault_time <= 输入.end_time re.fault_time <= 输入.end_time
ENDOPTION ENDOPTION
group by re.devicerecord_id
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF
@@ -174,4 +171,4 @@
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF

View File

@@ -65,7 +65,7 @@
<el-input v-model.trim="form.class_desc" style="width: 370px;" /> <el-input v-model.trim="form.class_desc" style="width: 370px;" />
</el-form-item> </el-form-item>
<el-form-item label="顶级类目"> <el-form-item label="顶级类目">
<el-radio-group v-model="form.isTop" style="width: 140px"> <el-radio-group v-model="form.isTop" style="width: 140px" @change="mychange">
<el-radio label="1">是</el-radio> <el-radio label="1">是</el-radio>
<el-radio label="0">否</el-radio> <el-radio label="0">否</el-radio>
</el-radio-group> </el-radio-group>
@@ -187,6 +187,7 @@ export default {
data() { data() {
return { return {
classes: [], classes: [],
base_data_type: null,
permission: {}, permission: {},
rules: { rules: {
class_id: [ class_id: [
@@ -290,6 +291,18 @@ export default {
this.classes = date this.classes = date
}) })
}, },
mychange(val) {
if (val === '0' && this.form.base_data_type != null) {
crudClassstandard.getClass({ base_data_type: this.form.base_data_type }).then(res => {
this.classes = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
}
},
getClass() { getClass() {
crudClassstandard.getClass({ enabled: true }).then(res => { crudClassstandard.getClass({ enabled: true }).then(res => {
this.classes = res.content.map(function(obj) { this.classes = res.content.map(function(obj) {

View File

@@ -58,7 +58,7 @@
</crudOperation> </crudOperation>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :max-height="590" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> <el-table ref="table" v-loading="crud.loading" :max-height="590" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<!-- <el-table-column type="selection" width="55" />--> <el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="storagevehiclepoint_id" label="载具点位对应标识" /> <el-table-column v-if="false" prop="storagevehiclepoint_id" label="载具点位对应标识" />
<el-table-column v-if="false" prop="set_type" label="对应类型" /> <el-table-column v-if="false" prop="set_type" label="对应类型" />
<el-table-column v-if="false" prop="storagevehicle_id" label="载具标识" /> <el-table-column v-if="false" prop="storagevehicle_id" label="载具标识" />
@@ -74,16 +74,8 @@
</el-table-column> </el-table-column>
<el-table-column v-if="false" prop="point_id" label="点位标识" /> <el-table-column v-if="false" prop="point_id" label="点位标识" />
<el-table-column v-if="false" prop="area_type" label="所属区域" /> <el-table-column v-if="false" prop="area_type" label="所属区域" />
<el-table-column prop="update_optname" label="修改者" /> <el-table-column prop="update_optname2" label="修改者" />
<el-table-column prop="update_time" label="修改时间" /> <el-table-column prop="update_time2" label="修改时间" />
<!-- <el-table-column v-permission="['admin','storagevehiclepoint:edit','storagevehiclepoint:del']" label="操作" width="150px" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>-->
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@@ -114,7 +106,7 @@ const defaultForm = {
} }
export default { export default {
name: 'Storagevehiclepoint', name: 'Storagevehiclepoint',
components: { pagination, crudOperation, rrOperation, udOperation }, components: { pagination, crudOperation, rrOperation },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() { cruds() {
return CRUD({ return CRUD({
@@ -147,6 +139,7 @@ export default {
data() { data() {
return { return {
storageVehicleTypeList: [], storageVehicleTypeList: [],
checkrows: [],
permission: { permission: {
}} }}
}, },
@@ -156,16 +149,17 @@ export default {
}) })
}, },
methods: { methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
hand(value) { hand(value) {
this.crud.toQuery() this.crud.toQuery()
}, },
save() { save() {
this.checkrows = this.$refs.table.selection
if (this.checkrows.length === 0) {
this.crud.notify('请勾选需要操作的记录!')
return false
}
const data = { const data = {
'data': this.$refs.table.data 'data': this.checkrows
} }
crudStoragevehiclepoint.save(data).then(res => { crudStoragevehiclepoint.save(data).then(res => {
this.crud.toQuery() this.crud.toQuery()

View File

@@ -22,18 +22,6 @@
@change="crud.toQuery" @change="crud.toQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="人员">
<el-input
v-model="query.assessor_id"
clearable
size="mini"
placeholder="请输人员姓名"
style="width: 230px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation /> <rrOperation />
</el-form> </el-form>
</div> </div>

View File

@@ -253,7 +253,7 @@
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.workorder_code }}</el-link> <el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.workorder_code }}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="org_id" :formatter="orgFormat" min-width="105" label="所属组织" /> <el-table-column prop="org_id" :formatter="orgFormat" min-width="120" label="所属组织" />
<el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="75" label="工令类型" /> <el-table-column prop="workorder_type" :formatter="bill_typeFormat" min-width="75" label="工令类型" />
<el-table-column :formatter="stateFormat" min-width="75" prop="status" label="工令状态" /> <el-table-column :formatter="stateFormat" min-width="75" prop="status" label="工令状态" />
<el-table-column prop="device_name" min-width="80" label="设备" /> <el-table-column prop="device_name" min-width="80" label="设备" />

View File

@@ -81,12 +81,12 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="设备编码"> <el-form-item label="设备">
<el-input <el-input
v-model="query.device_code" v-model="query.device_code"
size="mini" size="mini"
clearable clearable
placeholder="设备编码" placeholder="设备"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
</el-form-item> </el-form-item>

View File

@@ -67,7 +67,7 @@
</el-form-item> </el-form-item>
<el-form-item label="不考虑误差" label-width="120px"> <el-form-item label="不考虑误差" label-width="120px">
<el-switch v-model="query.is_all" active-value="1" inactive-value="0" @change="crud.toQuery()"/> <el-switch v-model="query.is_all" active-value="1" inactive-value="0" @change="crud.toQuery()" />
</el-form-item> </el-form-item>
<rrOperation /> <rrOperation />
</el-form> </el-form>
@@ -94,28 +94,29 @@
style="width: 100%;" style="width: 100%;"
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="workordercard_id" label="工艺指令卡" /> <el-table-column prop="workordercard_id" label="工艺指令卡" min-width="150" />
<el-table-column min-width="120" show-overflow-tooltip prop="formula_code" label="配方号" /> <el-table-column min-width="120" prop="formula_code" label="配方号" />
<el-table-column min-width="120" show-overflow-tooltip prop="product_material_code" label="产品编码" /> <el-table-column min-width="120" prop="product_material_code" label="产品编码" />
<el-table-column show-overflow-tooltip prop="product_pcsn" label="产品批次" /> <el-table-column prop="product_pcsn" label="产品批次" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="配粉槽" /> <el-table-column prop="storagevehicle_code" label="配粉槽" />
<el-table-column min-width="120" show-overflow-tooltip prop="dtl_material_code" label="物料编码" /> <el-table-column min-width="120" prop="dtl_material_code" label="物料编码" />
<el-table-column min-width="120" show-overflow-tooltip prop="dtl_material_name" label="物料名称" /> <el-table-column min-width="120" prop="dtl_material_name" label="物料名称" />
<el-table-column min-width="100" show-overflow-tooltip prop="dtl_pcsn" label="物料批次" /> <el-table-column min-width="100" prop="dtl_pcsn" label="物料批次" />
<el-table-column min-width="140" show-overflow-tooltip prop="bucketunique" label="桶号" /> <el-table-column min-width="140" prop="bucketunique" label="桶号" />
<el-table-column show-overflow-tooltip prop="storage_qty" label="库存重量" /> <el-table-column prop="storage_qty" label="库存重量" />
<el-table-column show-overflow-tooltip prop="putconfirm_qty" label="实际投料" /> <el-table-column prop="putconfirm_qty" label="实际投料" />
<el-table-column show-overflow-tooltip prop="outconfirm_qty" label="出库重量" /> <el-table-column prop="outconfirm_qty" label="出库重量" />
<el-table-column show-overflow-tooltip prop="bad_qty" label="差异重量" /> <el-table-column prop="bad_qty" label="差异重量" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" :formatter="formatQtyName"/> <el-table-column prop="qty_unit_name" label="单位" :formatter="formatQtyName" />
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" /> <el-table-column prop="struct_code" label="货位" />
<el-table-column show-overflow-tooltip prop="jobstoragevehicle_code" label="托盘号" /> <!-- <el-table-column prop="device_id" label="配粉工位" :formatter="deviceListFormat" />-->
<el-table-column show-overflow-tooltip prop="put_name" label="投料人" /> <el-table-column prop="jobstoragevehicle_code" label="托盘号" />
<el-table-column min-width="150" show-overflow-tooltip prop="put_time" label="投料时间" /> <el-table-column prop="put_name" label="投料" />
<el-table-column show-overflow-tooltip prop="is_process" label="是否已处理" /> <el-table-column min-width="150" prop="put_time" label="投料时间" />
<el-table-column show-overflow-tooltip prop="process_name" label="处理人" /> <el-table-column prop="is_process" label="是否已处理" :formatter="formatQtyName2" />
<el-table-column show-overflow-tooltip prop="process_time" label="处理时间" /> <el-table-column prop="process_name" label="处理" />
<el-table-column prop="process_time" label="处理时间" />
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@@ -132,23 +133,22 @@
import CRUD, { presenter, header, crud } from '@crud/crud' import CRUD, { presenter, header, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import crudOrderproc from '@/api/wms/pcs/orderproc'
import crudFlourwork from '@/api/wms/pf/flourwork' import crudFlourwork from '@/api/wms/pf/flourwork'
import { download } from '@/api/data' import { download } from '@/api/data'
import { downloadFile } from '@/utils' import { downloadFile } from '@/utils'
export default { export default {
name: 'ExceptionDialog', name: 'ExceptionDialog',
components: { rrOperation, crudOperation, udOperation, pagination, crudOrderproc }, components: { rrOperation, crudOperation, pagination },
mixins: [presenter(), header()], mixins: [presenter(), header()],
cruds() { cruds() {
return CRUD({ return CRUD({
url: 'api/flourwork/queryException', url: 'api/flourwork/queryException',
idField: 'formula_id', idField: 'formuladtljob_id',
sort: 'formula_id,desc', sort: '',
crudMethod: { ... crudFlourwork }, crudMethod: { ... crudFlourwork },
query: { is_deal: '0', is_all: '0', is_query: '0' },
optShow: { optShow: {
add: false, add: false,
edit: false, edit: false,
@@ -195,29 +195,40 @@ export default {
.catch(_ => { .catch(_ => {
}) })
}, },
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
close() { close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false) this.$emit('update:dialogShow', false)
}, },
open() { open() {
this.crud.query.is_query = '1'
this.crud.toQuery() this.crud.toQuery()
}, },
hand(value) { hand(value) {
this.crud.toQuery() this.crud.toQuery()
}, },
deviceListFormat(row) {
for (const item of this.deviceList) {
if (item.code === row.device_id) {
return item.name
}
}
},
formatQtyName(row, cloum) { formatQtyName(row, cloum) {
return 'Kg' return 'Kg'
}, },
formatQtyName2(row, cloum) {
if (row.is_process === '1') {
return '是'
} else {
return '否'
}
},
sure() { sure() {
const _selectData = this.$refs.table.selection const _selectData = this.$refs.table.selection
if (!_selectData || _selectData.length !== 1) { if (!_selectData || _selectData.length === 0) {
return this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO) return this.crud.notify('请选择需要操作的记录', CRUD.NOTIFICATION_TYPE.INFO)
} }
const data = _selectData[0] crudFlourwork.exceptionSure({ 'rows': _selectData }).then(res => {
crudFlourwork.exceptionSure(data).then(res => {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery() this.crud.toQuery()
}) })

View File

@@ -59,22 +59,7 @@
</el-form-item> </el-form-item>
<el-form-item label="显示全部" label-width="120px"> <el-form-item label="显示全部" label-width="120px">
<!--<el-select
v-model="query.is_all"
clearable
placeholder="默认为否"
size="mini"
class="filter-item"
@change="hand"
>
<el-option
v-for="item in isAllList"
:label="item.name"
:value="item.code"
/>
</el-select>-->
<el-switch v-model="query.is_all" active-value="1" inactive-value="0" @change="crud.toQuery()"/> <el-switch v-model="query.is_all" active-value="1" inactive-value="0" @change="crud.toQuery()"/>
</el-form-item> </el-form-item>
<rrOperation /> <rrOperation />

View File

@@ -37,7 +37,8 @@
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']" :default-time="['00:00:00', '23:59:59']"
@change="crud.toQuery" @input="onInput()"
@change="mytoQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="配方编号"> <el-form-item label="配方编号">
@@ -130,16 +131,6 @@
> >
配粉补料 配粉补料
</el-button> </el-button>
<!-- <el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-check"
size="mini"
@click="pointCard"
>
打印工艺指令控制卡
</el-button>-->
<el-button <el-button
slot="right" slot="right"
class="filter-item" class="filter-item"
@@ -177,15 +168,15 @@
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table
ref="table" ref="table"
:max-height="590"
v-loading="crud.loading" v-loading="crud.loading"
:max-height="590"
size="mini" size="mini"
:data="crud.data" :data="crud.data"
style="width: 100%;" style="width: 100%;"
:highlight-current-row="true" :highlight-current-row="true"
@selection-change="mySelectionChange" @selection-change="mySelectionChange"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column prop="formula_code" width="130" label="配方编号"> <el-table-column prop="formula_code" width="130" label="配方编号">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.formula_code }}</el-link> <el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.formula_code }}</el-link>
@@ -193,25 +184,25 @@
</el-table-column> </el-table-column>
<el-table-column prop="workorder_code" width="130" label="工令号" /> <el-table-column prop="workorder_code" width="130" label="工令号" />
<el-table-column prop="bucket_type" :formatter="bucket_typeFormat" min-width="80" label="桶类型" /> <el-table-column prop="bucket_type" :formatter="bucket_typeFormat" min-width="80" label="桶类型" />
<el-table-column prop="material_code" min-width="130" label="物料编码"/> <el-table-column prop="material_code" min-width="130" label="物料编码" />
<el-table-column :formatter="seriesFormat" min-width="130" prop="product_series_id" label="系列" /> <el-table-column :formatter="seriesFormat" min-width="130" prop="product_series_id" label="系列" />
<el-table-column prop="pcsn" min-width="130" label="批次"/> <el-table-column prop="pcsn" min-width="130" label="批次" />
<el-table-column prop="detail_count" min-width="100" label="明细数"/> <el-table-column prop="detail_count" min-width="100" label="明细数" />
<el-table-column prop="masterbucket_qty" min-width="100" label="重量" :formatter="crud.formatNum3"/> <el-table-column prop="masterbucket_qty" min-width="100" label="重量" :formatter="crud.formatNum3" />
<el-table-column prop="status" :formatter="stateFormat" min-width="80" label="状态" /> <el-table-column prop="status" :formatter="stateFormat" min-width="80" label="状态" />
<el-table-column prop="is_audit" :formatter="stateFormat2" min-width="80" label="是否审核" /> <el-table-column prop="is_audit" :formatter="stateFormat2" min-width="80" label="是否审核" />
<el-table-column prop="audit_time" min-width="140" label="审核时间"/> <el-table-column prop="audit_time" min-width="140" label="审核时间" />
<el-table-column prop="audit_name" min-width="80" label="审核人"/> <el-table-column prop="audit_name" min-width="80" label="审核人" />
<el-table-column prop="create_time" min-width="140" label="开单时间"/> <el-table-column prop="create_time" min-width="140" label="开单时间" />
<el-table-column prop="create_name" min-width="80" label="开单人"/> <el-table-column prop="create_name" min-width="80" label="开单人" />
<el-table-column prop="update_time" min-width="140" label="修改时间"/> <el-table-column prop="update_time" min-width="140" label="修改时间" />
<el-table-column prop="update_optname" min-width="80" label="修改人"/> <el-table-column prop="update_optname" min-width="80" label="修改人" />
<el-table-column prop="start_time" min-width="140" label="开始时间"/> <el-table-column prop="start_time" min-width="140" label="开始时间" />
<el-table-column prop="start_name" min-width="80" label="开始人"/> <el-table-column prop="start_name" min-width="80" label="开始人" />
<el-table-column prop="end_time" min-width="140" label="结束时间"/> <el-table-column prop="end_time" min-width="140" label="结束时间" />
<el-table-column prop="end_name" min-width="80" label="结束人"/> <el-table-column prop="end_name" min-width="80" label="结束人" />
<el-table-column prop="add_time" min-width="140" label="补料时间"/> <el-table-column prop="add_time" min-width="140" label="补料时间" />
<el-table-column prop="add_name" min-width="80" label="补料人"/> <el-table-column prop="add_name" min-width="80" label="补料人" />
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@@ -259,20 +250,20 @@ import formula from '@/api/wms/pf/formula'
import CRUD, { crud, header, presenter } from '@crud/crud' import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import DivDialog from '@/views/wms/pf/formula/DivDialog' import DivDialog from '@/views/wms/pf/formula/DivDialog'
import ViewDialog from '@/views/wms/pf/formula/ViewDialog' import ViewDialog from '@/views/wms/pf/formula/ViewDialog'
import crudseriesProcessRoute from "@/api/wms/pdm/seriesProcessRoute"; import crudseriesProcessRoute from '@/api/wms/pdm/seriesProcessRoute'
import {download} from "@/api/data"; import { download } from '@/api/data'
import {downloadFile} from "@/utils"; import { downloadFile } from '@/utils'
import {getToken} from "@/utils/auth"; import { getToken } from '@/utils/auth'
import {mapGetters} from "vuex"; import { mapGetters } from 'vuex'
import PicDialog from '@/views/wms/pf/formula/PicDialog' import PicDialog from '@/views/wms/pf/formula/PicDialog'
import Date from '@/utils/datetime'
export default { export default {
name: 'formula', name: 'Formula',
components: { ViewDialog, DivDialog, crudOperation, rrOperation, udOperation, pagination, PicDialog }, components: { ViewDialog, DivDialog, crudOperation, rrOperation, pagination, PicDialog },
cruds() { cruds() {
return CRUD({ title: '工令', idField: 'formula_id', url: 'api/formula', return CRUD({ title: '工令', idField: 'formula_id', url: 'api/formula',
props: { props: {
@@ -309,8 +300,9 @@ export default {
viewShow: false, viewShow: false,
changeShow: false, changeShow: false,
currentRow: null, currentRow: null,
query_flag: true,
checkrows: [], checkrows: [],
XLList:[] XLList: []
} }
}, },
computed: { computed: {
@@ -329,12 +321,18 @@ export default {
crudseriesProcessRoute.getXLlist2().then(res => { crudseriesProcessRoute.getXLlist2().then(res => {
this.XLList = res this.XLList = res
}) })
this.crud.query.createTime = [new Date().daysAgo(7), new Date()]
}, },
methods: { methods: {
canUd(row) { canUd(row) {
return row.status !== '10' return row.status !== '10'
}, },
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
if (this.query_flag) {
this.crud.query.begin_time = (new Date().daysAgo(7)).strftime('%F', 'zh')
this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
this.query_flag = false
}
this.handleCurrentChange() this.handleCurrentChange()
}, },
toView(index, row) { toView(index, row) {
@@ -361,11 +359,11 @@ export default {
if (rows[i].status === '99') { if (rows[i].status === '99') {
this.Export_flag = true this.Export_flag = true
} }
if (!'30,20'.includes(rows[i].status) || rows.length !== 1) { if (!'30,20'.includes(rows[i].status) || rows.length !== 1) {
this.change_flag = true this.change_flag = true
} }
} }
}else{ } else {
this.handleCurrentChange() this.handleCurrentChange()
} }
}, },
@@ -402,31 +400,31 @@ export default {
}, },
typeChange() { typeChange() {
this.checkrows = this.$refs.table.selection this.checkrows = this.$refs.table.selection
if(this.checkrows.length !== 1 ){ if (this.checkrows.length !== 1) {
this.crud.notify('只能勾选一条记录开单!') this.crud.notify('只能勾选一条记录开单!')
return false return false
} }
this.mstrow = this.checkrows.pop() this.mstrow = this.checkrows.pop()
this.changeShow = true this.changeShow = true
}, },
cancel(){ cancel() {
this.checkrows = this.$refs.table.selection this.checkrows = this.$refs.table.selection
if(this.checkrows.length === 0){ if (this.checkrows.length === 0) {
this.crud.notify('请先选择需要作废的配方记录!') this.crud.notify('请先选择需要作废的配方记录!')
return false return false
} }
formula.cancel({'rows':this.checkrows}).then(res => { formula.cancel({ 'rows': this.checkrows }).then(res => {
this.crud.notify('作废配方成功!') this.crud.notify('作废配方成功!')
this.querytable() this.querytable()
}) })
}, },
audit(){ audit() {
this.checkrows = this.$refs.table.selection this.checkrows = this.$refs.table.selection
if(this.checkrows.length === 0){ if (this.checkrows.length === 0) {
this.crud.notify('请先选择需要审核的配方记录!') this.crud.notify('请先选择需要审核的配方记录!')
return false return false
} }
formula.audit({'rows':this.checkrows}).then(res => { formula.audit({ 'rows': this.checkrows }).then(res => {
this.crud.notify('审核配方成功!') this.crud.notify('审核配方成功!')
this.querytable() this.querytable()
}) })
@@ -435,6 +433,19 @@ export default {
this.crud.toQuery() this.crud.toQuery()
this.handleCurrentChange() this.handleCurrentChange()
}, },
onInput() {
this.$forceUpdate()
},
mytoQuery(array1) {
if (array1 === null) {
this.crud.query.begin_time = ''
this.crud.query.end_time = ''
} else {
this.crud.query.begin_time = array1[0]
this.crud.query.end_time = array1[1]
}
this.crud.toQuery()
},
pointCard() { pointCard() {
const _selectData = this.$refs.table.selection const _selectData = this.$refs.table.selection
if (_selectData.length === 0 || _selectData.length > 1) { if (_selectData.length === 0 || _selectData.length > 1) {

View File

@@ -15,22 +15,22 @@
label-width="80px" label-width="80px"
label-suffix=":" label-suffix=":"
> >
<el-form-item label="模糊搜索"> <el-form-item label="模糊搜索">
<el-input <el-input
v-model="queryrow.search" v-model="query.search"
clearable clearable
size="mini" size="mini"
placeholder="编码、名称" placeholder="编码、名称"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
</el-form-item> </el-form-item>
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="queryBtn">查询</el-button> <rrOperation />
</el-form> </el-form>
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table
ref="table" ref="table"
:data="tableDtl" v-loading="crud.loading"
:data="crud.data"
style="width: 100%;" style="width: 100%;"
size="mini" size="mini"
border border
@@ -63,16 +63,18 @@
<script> <script>
import crudMaterialbase from '@/api/wms/basedata/master/materialbase' import CRUD, { header, presenter } from '@crud/crud'
import CRUD, { header } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import sparePartout from '@/api/wms/sb/sparepartout' import crudClassstandard from '@/api/wms/basedata/master/classstandard'
export default { export default {
name: 'MaterDtl', name: 'MaterDtl',
components: { rrOperation, pagination }, components: { rrOperation, pagination },
mixins: [header()], cruds() {
return CRUD({ title: '库存', url: 'api/sb/outbill/getIvt', optShow: {}})
},
mixins: [presenter(), header()],
dicts: ['product_series'], dicts: ['product_series'],
props: { props: {
dialogShow: { dialogShow: {
@@ -121,16 +123,6 @@ export default {
} }
} }
}, },
open() {
sparePartout.getIvt(this.queryrow).then(res => {
this.tableDtl = res
})
},
queryBtn() {
sparePartout.getIvt(this.queryrow).then(res => {
this.tableDtl = res
})
},
queryClassId() { queryClassId() {
const param = { const param = {
'class_idStr': this.class_idStr 'class_idStr': this.class_idStr
@@ -161,6 +153,9 @@ export default {
this.crud.resetQuery(false) this.crud.resetQuery(false)
this.$emit('update:dialogShow', false) this.$emit('update:dialogShow', false)
}, },
open() {
this.crud.resetQuery(true)
},
submit() { submit() {
// 处理单选 // 处理单选
if (this.isSingle && this.tableRadio) { if (this.isSingle && this.tableRadio) {

View File

@@ -6,6 +6,7 @@
destroy-on-close destroy-on-close
width="1000px" width="1000px"
@close="close" @close="close"
@open="open"
> >
<el-form <el-form
:inline="true" :inline="true"
@@ -173,6 +174,9 @@ export default {
onSelectAll() { onSelectAll() {
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
}, },
open() {
this.crud.resetQuery(true)
},
close() { close() {
this.crud.resetQuery(false) this.crud.resetQuery(false)
this.$emit('update:dialogShow', false) this.$emit('update:dialogShow', false)

View File

@@ -145,23 +145,18 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="50" /> <el-table-column type="selection" width="50" />
<el-table-column v-if="false" prop="taskdtl_id" label="任务标识" />
<el-table-column prop="task_code" label="任务编码" /> <el-table-column prop="task_code" label="任务编码" />
<el-table-column v-if="false" prop="task_type" label="任务类型" />
<el-table-column prop="task_type_name" label="任务类型" /> <el-table-column prop="task_type_name" label="任务类型" />
<el-table-column v-if="false" prop="taskdtl_type" label="任务明细" />
<el-table-column prop="taskdtl_type_name" label="任务明细" /> <el-table-column prop="taskdtl_type_name" label="任务明细" />
<el-table-column v-if="false" prop="task_status" label="任务状态" />
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" /> <el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
<el-table-column prop="start_area_name" label="起始区域" width="95" show-overflow-tooltip /> <el-table-column prop="start_area_name" label="起始区域" width="95" />
<el-table-column prop="start_point_code" label="起点编码" width="85" /> <el-table-column prop="start_point_code" label="起点编码" width="85" />
<el-table-column prop="start_point_name" label="起点名称" width="105" show-overflow-tooltip /> <el-table-column prop="start_point_name" label="起点名称" width="105" />
<el-table-column prop="next_area_name" label="下一区域" width="95" show-overflow-tooltip /> <el-table-column prop="next_area_name" label="下一区域" width="95" />
<el-table-column prop="next_point_code" label="下一点编码" width="85" /> <el-table-column prop="next_point_code" label="下一点编码" width="105" />
<el-table-column prop="next_point_name" label="下一点名称" width="105" show-overflow-tooltip /> <el-table-column prop="next_point_name" label="下一点名称" width="105" />
<el-table-column prop="vehicle_code" label="载具编码" /> <el-table-column prop="vehicle_code" label="载具编码" />
<el-table-column prop="remark" label="备注" width="120" show-overflow-tooltip /> <el-table-column prop="remark" label="备注" width="120" />
<el-table-column v-if="false" prop="update_by" label="修改者" />
<el-table-column prop="create_time" label="创建时间" width="135" /> <el-table-column prop="create_time" label="创建时间" width="135" />
<el-table-column prop="update_time" label="修改时间" width="135" /> <el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column <el-table-column

View File

@@ -247,11 +247,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div v-show="crud.status.cu > 0" slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
<AddDtl :dialog-show.sync="dtlShow" :open-param="opendtlParam" @tableChanged="tableChanged" /> <AddDtl :dialog-show.sync="dtlShow" :open-param="opendtlParam" @tableChanged="tableChanged" />
<MaterDtl <MaterDtl
:dialog-show.sync="materShow" :dialog-show.sync="materShow"

View File

@@ -173,18 +173,18 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :selectable="checkboxT" type="selection" width="55" /> <el-table-column :selectable="checkboxT" type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="bill_code" width="130" label="订单编码"> <el-table-column prop="bill_code" min-width="130" label="订单编码">
<template slot-scope="scope"> <template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.bill_code }}</el-link> <el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.bill_code }}</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip :formatter="stateFormat" width="100" prop="bill_status" label="单据状态" /> <el-table-column :formatter="stateFormat" min-width="100" prop="bill_status" label="单据状态" />
<el-table-column prop="stor_name" label="仓库" width="100" /> <el-table-column prop="stor_name" label="仓库" width="100" />
<el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" min-width="120" label="业务类型" /> <el-table-column prop="bill_type" :formatter="bill_typeFormat" min-width="120" label="业务类型" />
<el-table-column show-overflow-tooltip width="135" prop="biz_date" label="业务日期" /> <el-table-column min-width="135" prop="biz_date" label="业务日期" />
<el-table-column show-overflow-tooltip :formatter="create_modeFormat" prop="create_mode" label="生成方式" width="100" /> <el-table-column :formatter="create_modeFormat" prop="create_mode" label="生成方式" min-width="100" />
<el-table-column label="明细数" align="center" prop="detail_count" width="100" /> <el-table-column label="明细数" align="center" prop="detail_count" min-width="100" />
<el-table-column show-overflow-tooltip prop="input_time" width="135" label="创建日期" /> <el-table-column prop="input_time" min-width="135" label="创建日期" />
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />

View File

@@ -236,6 +236,7 @@ export default {
// 每页数据条数 // 每页数据条数
size: 20 size: 20
}, idField: 'iostorinv_id', url: 'api/inandoutreturn', crudMethod: { ...inandoutreturn }, }, idField: 'iostorinv_id', url: 'api/inandoutreturn', crudMethod: { ...inandoutreturn },
query: { is_upload: '0' },
optShow: { optShow: {
add: false, add: false,
edit: false, edit: false,