代码更新
This commit is contained in:
Binary file not shown.
@@ -1,76 +0,0 @@
|
||||
|
||||
package org.nl.wms.basedata.st.rest;
|
||||
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.annotation.Log;
|
||||
import org.nl.wms.basedata.st.service.MaterialsafeivtService;
|
||||
import org.nl.wms.basedata.st.service.dto.MaterialsafeivtDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhouz
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "安全库存管理")
|
||||
@RequestMapping("/api/materialsafeivt")
|
||||
@Slf4j
|
||||
public class MaterialsafeivtController {
|
||||
|
||||
private final MaterialsafeivtService materialsafeivtService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询安全库存")
|
||||
@ApiOperation("查询安全库存")
|
||||
//@PreAuthorize("@el.check('materialsafeivt:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
|
||||
return new ResponseEntity<>(materialsafeivtService.queryAll(whereJson,page),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增安全库存")
|
||||
@ApiOperation("新增安全库存")
|
||||
//@PreAuthorize("@el.check('materialsafeivt:add')")
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody MaterialsafeivtDto dto){
|
||||
materialsafeivtService.create(dto);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改安全库存")
|
||||
@ApiOperation("修改安全库存")
|
||||
//@PreAuthorize("@el.check('materialsafeivt:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody MaterialsafeivtDto dto){
|
||||
materialsafeivtService.update(dto);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除安全库存")
|
||||
@ApiOperation("删除安全库存")
|
||||
//@PreAuthorize("@el.check('materialsafeivt:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
|
||||
materialsafeivtService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/insertSafe")
|
||||
@Log("插入安全库存")
|
||||
@ApiOperation("插入安全库存")
|
||||
//@PreAuthorize("@el.check('structrelamaterial:edit')")
|
||||
public ResponseEntity<Object> insertSafe(@RequestBody Map whereJson){
|
||||
materialsafeivtService.insertSafe(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
|
||||
package org.nl.wms.basedata.st.service;
|
||||
|
||||
import org.nl.wms.basedata.st.service.dto.MaterialsafeivtDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author zhouz
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
public interface MaterialsafeivtService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param whereJson 条件参数
|
||||
* @return List<MaterialsafeivtDto>
|
||||
*/
|
||||
List<MaterialsafeivtDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param material_id ID
|
||||
* @return Materialsafeivt
|
||||
*/
|
||||
MaterialsafeivtDto findById(Long material_id);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
* @param code code
|
||||
* @return Materialsafeivt
|
||||
*/
|
||||
MaterialsafeivtDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param dto /
|
||||
*/
|
||||
void create(MaterialsafeivtDto dto);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param dto /
|
||||
*/
|
||||
void update(MaterialsafeivtDto dto);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Long[] ids);
|
||||
|
||||
void insertSafe(Map whereJson);
|
||||
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
|
||||
package org.nl.wms.basedata.st.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wms.basedata.master.service.ClassstandardService;
|
||||
import org.nl.wms.basedata.st.service.MaterialsafeivtService;
|
||||
import org.nl.wms.basedata.st.service.dto.MaterialsafeivtDto;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhouz
|
||||
* @description 服务实现
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class MaterialsafeivtServiceImpl implements MaterialsafeivtService {
|
||||
private final ClassstandardService classstandardService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String search = (String) whereJson.get("search");
|
||||
String class_idStr = (String) whereJson.get("class_idStr");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
if (!StrUtil.isEmpty(search)) {
|
||||
//处理转义字符
|
||||
if (search.contains("\\")) search = search.replace("\\", "\\\\\\");
|
||||
map.put("search", "%" + search + "%");
|
||||
}
|
||||
String material_type_id = (String) whereJson.get("material_type_id");
|
||||
//处理物料当前节点的所有子节点
|
||||
if (!StrUtil.isEmpty(material_type_id)) {
|
||||
map.put("material_type_id", material_type_id);
|
||||
String classIds = classstandardService.getChildIdStr(material_type_id);
|
||||
map.put("classIds", classIds);
|
||||
} else if (ObjectUtil.isNotEmpty(class_idStr)) {
|
||||
String classIds = classstandardService.getAllChildIdStr(class_idStr);
|
||||
map.put("classIds", classIds);
|
||||
}
|
||||
|
||||
map.put("flag", "1");
|
||||
map.put("stor_id", MapUtil.getStr(whereJson, "stor_id"));
|
||||
JSONObject jo = WQL.getWO("QST_IVT_MATERIALSAFE").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "set_time desc");
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertSafe(Map whereJson) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
String stor_id = (String) whereJson.get("stor_id");
|
||||
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("rows");
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
HashMap<String, String> row = rows.get(i);
|
||||
WQLObject.getWQLObject("ST_IVT_MaterialSafeIvt").delete("stor_id = '" + stor_id + "' AND material_id = '" + row.get("material_id") + "'");
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("stor_id", stor_id);
|
||||
jo.put("safe_ivt_down", row.get("safe_ivt_down"));
|
||||
jo.put("material_id", row.get("material_id"));
|
||||
jo.put("safe_ivt_up", "999999");
|
||||
jo.put("qty_unit_id", row.get("qty_unit_id"));
|
||||
jo.put("qty_unit_name", row.get("qty_unit_name"));
|
||||
jo.put("set_id", currentUserId + "");
|
||||
jo.put("set_name", nickName);
|
||||
jo.put("set_time", now);
|
||||
WQLObject.getWQLObject("ST_IVT_MaterialSafeIvt").insert(jo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialsafeivtDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<MaterialsafeivtDto> list = arr.toJavaList(MaterialsafeivtDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialsafeivtDto findById(Long material_id) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = wo.query("material_id =" + material_id + "").uniqueResult(0);
|
||||
final MaterialsafeivtDto obj = json.toJavaObject(MaterialsafeivtDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialsafeivtDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final MaterialsafeivtDto obj = json.toJavaObject(MaterialsafeivtDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(MaterialsafeivtDto dto) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.insert(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(MaterialsafeivtDto dto) {
|
||||
MaterialsafeivtDto entity = this.findById(dto.getMaterial_id());
|
||||
if (entity == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.update(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
for (Long material_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("material_id", String.valueOf(material_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", now);
|
||||
wo.update(param);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
[交易说明]
|
||||
交易名: 基础点位分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.search TYPEAS s_string
|
||||
输入.classIds TYPEAS f_string
|
||||
输入.stor_id TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
(case when stor.stor_id is null THEN '' else stor.stor_id end) AS stor_id,
|
||||
(case when stor.stor_code is null then 'yclk01' else stor.stor_code end) stor_code,
|
||||
(case when stor.stor_name is null then '原料库' else stor.stor_name end) stor_name,
|
||||
(case when safe.safe_ivt_down is null then 0 else safe.safe_ivt_down end) safe_ivt_down,
|
||||
mb.material_code,
|
||||
mb.material_name,
|
||||
mb.base_unit_id,
|
||||
mb.material_id,
|
||||
mb.base_unit_id AS qty_unit_id,
|
||||
safe.set_name,
|
||||
safe.set_time,
|
||||
unit.unit_name AS qty_unit_name
|
||||
FROM
|
||||
md_me_materialbase mb
|
||||
LEFT JOIN st_ivt_materialsafeivt safe ON safe.material_id = mb.material_id
|
||||
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = safe.stor_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mb.base_unit_id
|
||||
LEFT JOIN md_pb_classstandard class ON class.class_id =mb.material_type_id
|
||||
WHERE
|
||||
1=1
|
||||
OPTION 输入.classIds <> ""
|
||||
mb.material_type_id in 输入.classIds
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
stor.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
OPTION 输入.search <> ""
|
||||
(
|
||||
mb.material_code like 输入.search
|
||||
OR
|
||||
mb.material_name like 输入.search
|
||||
)
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,109 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.rest;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.annotation.Log;
|
||||
import org.nl.wms.pdm.service.BomService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author geng by
|
||||
* @date 2022-06-02
|
||||
**/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "BOM单管理管理")
|
||||
@RequestMapping("/api/bom")
|
||||
@Slf4j
|
||||
public class BomController {
|
||||
|
||||
private final BomService bomService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询BOM单管理")
|
||||
@ApiOperation("查询BOM单管理")
|
||||
//@PreAuthorize("@el.check('bom:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
|
||||
return new ResponseEntity<>(bomService.queryAll(whereJson,page),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增BOM单管理")
|
||||
@ApiOperation("新增BOM单管理")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> create(@RequestBody JSONObject param){
|
||||
bomService.create(param);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改BOM单管理")
|
||||
@ApiOperation("修改BOM单管理")
|
||||
//@PreAuthorize("@el.check('bom:edit')")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject param){
|
||||
bomService.update(param);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除BOM单管理")
|
||||
@ApiOperation("删除BOM单管理")
|
||||
//@PreAuthorize("@el.check('bom:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
bomService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getProduceProcessRouteByMaterialId")
|
||||
@Log("根据物料标识获取产品工艺路线")
|
||||
@ApiOperation("根据物料标识获取产品工艺路线")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> getProduceProcessRouteByMaterialId(@RequestBody JSONObject param){
|
||||
return new ResponseEntity<>(bomService.getProduceProcessRouteByMaterialId(param),HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PostMapping("/getworkprocedureListByProduceProcessRouteId")
|
||||
@Log("根据产品工艺路线id获取工序列表")
|
||||
@ApiOperation("根据产品工艺路线id获取工序列表")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> getworkprocedureListByProduceProcessRouteId(@RequestBody JSONObject param){
|
||||
return new ResponseEntity<>(bomService.getworkprocedureListByProduceProcessRouteId(param),HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PostMapping("/getDtl")
|
||||
@Log("根据bom单id获取明细")
|
||||
@ApiOperation("根据bom单id获取明细")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> getDtl(@RequestBody JSONObject param){
|
||||
return new ResponseEntity<>(bomService.getDtl(param),HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PostMapping("/submits")
|
||||
@Log("BOM单提交")
|
||||
@ApiOperation("BOM单提交")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> submits(@RequestBody JSONObject param){
|
||||
bomService.submits(param);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/cancelSubmit")
|
||||
@Log("BOM单取消提交")
|
||||
@ApiOperation("BOM单取消提交")
|
||||
//@PreAuthorize("@el.check('bom:add')")
|
||||
public ResponseEntity<Object> cancelSubmit(@RequestBody JSONObject param){
|
||||
bomService.cancelSubmit(param);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.rest;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.annotation.Log;
|
||||
import org.nl.wms.pdm.service.ProcessrouteService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Lxy
|
||||
* @date 2022-03-21
|
||||
**/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "工艺路线管理")
|
||||
@RequestMapping("/api/processroute")
|
||||
@Slf4j
|
||||
public class ProcessrouteController {
|
||||
|
||||
private final ProcessrouteService processrouteService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询工艺路线")
|
||||
@ApiOperation("查询工艺路线")
|
||||
//@PreAuthorize("@el.check('processroute:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
|
||||
return new ResponseEntity<>(processrouteService.queryAll(whereJson, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增工艺路线")
|
||||
@ApiOperation("新增工艺路线")
|
||||
//@PreAuthorize("@el.check('processroute:add')")
|
||||
public ResponseEntity<Object> create(@RequestBody JSONObject json) {
|
||||
processrouteService.create(json);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改工艺路线")
|
||||
@ApiOperation("修改工艺路线")
|
||||
//@PreAuthorize("@el.check('processroute:edit')")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson) {
|
||||
processrouteService.update(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除工艺路线")
|
||||
@ApiOperation("删除工艺路线")
|
||||
//@PreAuthorize("@el.check('processroute:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
|
||||
processrouteService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("获取工序")
|
||||
@ApiOperation("获取工序")
|
||||
@GetMapping("/getWorkList")
|
||||
public ResponseEntity<Object> getWorkList() {
|
||||
return new ResponseEntity<>(processrouteService.getWorkList(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("获取明细")
|
||||
@ApiOperation("获取明细")
|
||||
@GetMapping("/getDtl")
|
||||
public ResponseEntity<Object> getDtl(@RequestParam Map map) {
|
||||
return new ResponseEntity<>(processrouteService.getDtl(map), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("提交")
|
||||
@ApiOperation("提交")
|
||||
@PutMapping("/submit")
|
||||
public ResponseEntity<Object> submit(@RequestBody JSONObject whereJson) {
|
||||
processrouteService.submit(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("取消提交")
|
||||
@ApiOperation("取消提交")
|
||||
@PutMapping("/CancelSubmit")
|
||||
public ResponseEntity<Object> CancelSubmit(@RequestBody JSONObject whereJson) {
|
||||
processrouteService.CancelSubmit(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.rest;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.annotation.Log;
|
||||
import org.nl.wms.pdm.service.ProductprocessrouteService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhouz
|
||||
* @date 2022-03-22
|
||||
**/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "产品工艺路线管理")
|
||||
@RequestMapping("/api/productprocessroute")
|
||||
@Slf4j
|
||||
public class ProductprocessrouteController {
|
||||
|
||||
private final ProductprocessrouteService productprocessrouteService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询产品工艺路线")
|
||||
@ApiOperation("查询产品工艺路线")
|
||||
//@PreAuthorize("@el.check('productprocessroute:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
|
||||
return new ResponseEntity<>(productprocessrouteService.queryAll(whereJson,page),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增产品工艺路线")
|
||||
@ApiOperation("新增产品工艺路线")
|
||||
//@PreAuthorize("@el.check('productprocessroute:add')")
|
||||
public ResponseEntity<Object> create(@RequestBody Map whereJson){
|
||||
productprocessrouteService.create(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改产品工艺路线")
|
||||
@ApiOperation("修改产品工艺路线")
|
||||
//@PreAuthorize("@el.check('productprocessroute:edit')")
|
||||
public ResponseEntity<Object> update(@RequestBody Map whereJson){
|
||||
productprocessrouteService.update(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除产品工艺路线")
|
||||
@ApiOperation("删除产品工艺路线")
|
||||
//@PreAuthorize("@el.check('productprocessroute:del')")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
|
||||
productprocessrouteService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/getRoute")
|
||||
@Log("获取工艺路线")
|
||||
@ApiOperation("获取工艺路线")
|
||||
//@PreAuthorize("@el.check('materialtype:list')")
|
||||
public ResponseEntity<Object> getRoute(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(productprocessrouteService.getRoute(whereJson),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getRouteDtl")
|
||||
@Log("获取工艺路线明细")
|
||||
@ApiOperation("获取工艺路线明细")
|
||||
//@PreAuthorize("@el.check('materialtype:list')")
|
||||
public ResponseEntity<Object> getRouteDtl(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(productprocessrouteService.getRouteDtl(whereJson),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getProductRouteDtl")
|
||||
@Log("查询产品工艺路线明细")
|
||||
@ApiOperation("查询产品工艺路线明细")
|
||||
//@PreAuthorize("@el.check('materialtype:list')")
|
||||
public ResponseEntity<Object> getProductRouteDtl(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(productprocessrouteService.getProductRouteDtl(whereJson),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("提交")
|
||||
@ApiOperation("提交")
|
||||
@PutMapping("/submit")
|
||||
public ResponseEntity<Object> submit(@RequestBody JSONObject whereJson) {
|
||||
productprocessrouteService.submit(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("取消提交")
|
||||
@ApiOperation("取消提交")
|
||||
@PutMapping("/unSubmit")
|
||||
public ResponseEntity<Object> unSubmit(@RequestBody JSONObject whereJson) {
|
||||
productprocessrouteService.unSubmit(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.pdm.service.dto.BomDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author geng by
|
||||
* @date 2022-06-02
|
||||
**/
|
||||
public interface BomService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param whereJson 条件参数
|
||||
* @return List<BomDto>
|
||||
*/
|
||||
List<BomDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param bom_uuid ID
|
||||
* @return Bom
|
||||
*/
|
||||
BomDto findById(String bom_uuid);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
* @param code code
|
||||
* @return Bom
|
||||
*/
|
||||
BomDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param param /
|
||||
*/
|
||||
void create(JSONObject param);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param param /
|
||||
*/
|
||||
void update(JSONObject param);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(String[] ids);
|
||||
|
||||
JSONObject getProduceProcessRouteByMaterialId(JSONObject param);
|
||||
|
||||
JSONObject getworkprocedureListByProduceProcessRouteId(JSONObject param);
|
||||
|
||||
JSONArray getDtl(JSONObject param);
|
||||
|
||||
void submits(JSONObject param);
|
||||
|
||||
void cancelSubmit(JSONObject param);
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.pdm.service.dto.ProcessrouteDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Lxy
|
||||
* @description 服务接口
|
||||
* @date 2022-03-21
|
||||
**/
|
||||
public interface ProcessrouteService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
*
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
Map<String, Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
*
|
||||
* @param whereJson 条件参数
|
||||
* @return List<ProcessrouteDto>
|
||||
*/
|
||||
List<ProcessrouteDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
*
|
||||
* @param processroute_id ID
|
||||
* @return Processroute
|
||||
*/
|
||||
ProcessrouteDto findById(String processroute_id);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
*
|
||||
* @param code code
|
||||
* @return Processroute
|
||||
*/
|
||||
ProcessrouteDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
*
|
||||
* @param json /
|
||||
*/
|
||||
void create(JSONObject json);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
void update(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
*
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Long[] ids);
|
||||
|
||||
/**
|
||||
* 获取工序
|
||||
*/
|
||||
JSONArray getWorkList();
|
||||
|
||||
/**
|
||||
* 获取明细
|
||||
*
|
||||
* @param map /
|
||||
*/
|
||||
JSONArray getDtl(Map map);
|
||||
|
||||
/**
|
||||
* 提交
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
void submit(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 取消提交
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
void CancelSubmit(JSONObject whereJson);
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.pdm.service.dto.ProductprocessrouteDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author zhouz
|
||||
* @date 2022-03-22
|
||||
**/
|
||||
public interface ProductprocessrouteService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param whereJson 条件参数
|
||||
* @return List<ProductprocessrouteDto>
|
||||
*/
|
||||
List<ProductprocessrouteDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param processroute_id ID
|
||||
* @return Productprocessroute
|
||||
*/
|
||||
ProductprocessrouteDto findById(String processroute_id);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
* @param code code
|
||||
* @return Productprocessroute
|
||||
*/
|
||||
ProductprocessrouteDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param whereJson /
|
||||
*/
|
||||
void create(Map whereJson);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param whereJson /
|
||||
*/
|
||||
void update(Map whereJson);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Long[] ids);
|
||||
|
||||
JSONArray getRoute(Map whereJson);
|
||||
|
||||
JSONArray getRouteDtl(Map whereJson);
|
||||
|
||||
JSONArray getProductRouteDtl(Map whereJson);
|
||||
|
||||
void submit(JSONObject whereJson);
|
||||
|
||||
void unSubmit(JSONObject whereJson);
|
||||
|
||||
}
|
||||
@@ -1,234 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wms.pdm.service.BomService;
|
||||
import org.nl.wms.pdm.service.dto.BomDto;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
* @author geng by
|
||||
* @date 2022-06-02
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class BomServiceImpl implements BomService {
|
||||
|
||||
@Override
|
||||
public Map<String,Object> queryAll(Map whereJson, Pageable page){
|
||||
String material = MapUtil.getStr(whereJson, "material");
|
||||
String bom = MapUtil.getStr(whereJson, "bom");
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("flag", "1");
|
||||
if (StrUtil.isNotEmpty(material)) map.put("material", "%" + material + "%");
|
||||
if (StrUtil.isNotEmpty(bom)) map.put("bom", "%" + bom + "%");
|
||||
JSONObject json = WQL.getWO("PDM_BI_BOM01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bom.update_time desc");
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BomDto> queryAll(Map whereJson){
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(BomDto.class);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BomDto findById(String bom_uuid) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
JSONObject json = wo.query("bom_uuid = '" + bom_uuid + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(json)){
|
||||
return json.toJavaObject( BomDto.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BomDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(json)){
|
||||
return json.toJavaObject( BomDto.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(JSONObject param) {
|
||||
WQLObject wo_bom = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
WQLObject wo_bomdtl = WQLObject.getWQLObject("PDM_BI_BOMDtl");
|
||||
final JSONArray jsonArray = param.getJSONArray("tableData");
|
||||
final String material_uuid = param.getString("material_uuid");
|
||||
final JSONObject jsonObject1 = wo_bom.query("material_uuid = '" + material_uuid + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject1)){
|
||||
throw new BadRequestException("物料已经存在,请重新选择");
|
||||
}
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
String bom_uuid = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
param.put("bom_uuid",bom_uuid);
|
||||
param.put("bom_status","01");
|
||||
param.put("detail_count",jsonArray.size());
|
||||
param.put("create_id",currentUserId);
|
||||
param.put("create_name",nickName);
|
||||
param.put("create_time",now);
|
||||
param.put("update_optid",currentUserId);
|
||||
param.put("update_optname",nickName);
|
||||
param.put("update_time",now);
|
||||
wo_bom.insert(param);
|
||||
if (jsonArray.size() > 0) {
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject map = new JSONObject();
|
||||
final JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
map.put("bomdtl_uuid",IdUtil.getSnowflake(1, 1).nextId() + "");
|
||||
map.put("bom_uuid",bom_uuid);
|
||||
map.put("workprocedure_uuid",jsonObject.getString("workprocedure_uuid"));
|
||||
map.put("material_uuid",jsonObject.getString("material_uuid"));
|
||||
map.put("yield_rate",jsonObject.getString("yield_rate"));
|
||||
map.put("endproduct_rate",jsonObject.getString("endproduct_rate"));
|
||||
map.put("piece_weight",jsonObject.getString("piece_weight"));
|
||||
map.put("seq_no",i + 1);
|
||||
wo_bomdtl.insert(map);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject param) {
|
||||
WQLObject wo_bom = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
WQLObject wo_bomdtl = WQLObject.getWQLObject("PDM_BI_BOMDtl");
|
||||
final JSONArray jsonArray = param.getJSONArray("tableData");
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
param.put("detail_count",jsonArray.size());
|
||||
param.put("update_optid",currentUserId);
|
||||
param.put("update_optname",nickName);
|
||||
param.put("update_time",now);
|
||||
wo_bom.update(param);
|
||||
if (jsonArray.size() > 0) {
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject map = new JSONObject();
|
||||
final JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
map.put("bomdtl_uuid",jsonObject.getString("bomdtl_uuid"));
|
||||
map.put("yield_rate",jsonObject.getString("yield_rate"));
|
||||
map.put("endproduct_rate",jsonObject.getString("endproduct_rate"));
|
||||
map.put("piece_weight",jsonObject.getString("piece_weight"));
|
||||
wo_bomdtl.update(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(String[] ids) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
WQLObject wo_dtl = WQLObject.getWQLObject("PDM_BI_BOMDtl");
|
||||
for (String bom_uuid: ids) {
|
||||
wo.delete("bom_uuid = '"+bom_uuid+"'");
|
||||
wo_dtl.delete("bom_uuid = '"+bom_uuid+"'");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getProduceProcessRouteByMaterialId(JSONObject param) {
|
||||
WQLObject wo = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute");
|
||||
final JSONObject jsonObject = wo.query("is_delete = '0' and productprocess_status = '20' and material_id = '" + param.getString("material_uuid") + "'").uniqueResult(0);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject getworkprocedureListByProduceProcessRouteId(JSONObject param) {
|
||||
JSONObject json = new JSONObject();
|
||||
final String material_uuid = param.getString("material_uuid");
|
||||
WQLObject wo_endrealsemimaterial = WQLObject.getWQLObject("md_me_endrealsemimaterial");
|
||||
WQLObject wo_material = WQLObject.getWQLObject("md_me_materialbase");
|
||||
final JSONObject jsonEndrealsemimaterial = wo_endrealsemimaterial.query("end_material_id = '" + material_uuid + "'").uniqueResult(0);
|
||||
final JSONObject semi_material = wo_material.query("is_delete = '0' and material_id = '" + jsonEndrealsemimaterial.getString("semi_material_id") + "'").uniqueResult(0);
|
||||
WQLObject wo = WQLObject.getWQLObject("PDM_BI_ProductProcessRouteDtl");
|
||||
WQLObject wo_workprocedure = WQLObject.getWQLObject("pdm_bi_workprocedure");
|
||||
final JSONArray resultJSONArray = wo.query("productprocess_id = '" + param.getString("processroute_uuid") + "'","workprocedure_no").getResultJSONArray(0);
|
||||
JSONArray newJ = new JSONArray();
|
||||
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||
JSONObject jsonObject = resultJSONArray.getJSONObject(i);
|
||||
JSONObject jsonWorkprocedure = wo_workprocedure.query("is_delete = '0' and workprocedure_id = '" + jsonObject.getString("workprocedure_id") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonWorkprocedure)){
|
||||
newJ.add(jsonWorkprocedure);
|
||||
}
|
||||
}
|
||||
json.put("semi_material",semi_material);
|
||||
json.put("array",newJ);
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getDtl(JSONObject param) {
|
||||
final String bom_uuid = param.getString("bom_uuid");
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("flag","2");
|
||||
map.put("bom_uuid",bom_uuid);
|
||||
JSONArray json = WQL.getWO("PDM_BI_BOM01").addParamMap(map).process().getResultJSONArray(0);
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void submits(JSONObject param) {
|
||||
WQLObject wo_bom = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
final String bom_uuid = param.getString("bom_uuid");
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("bom_uuid",bom_uuid);
|
||||
map.put("bom_status","02");
|
||||
map.put("update_optid",currentUserId);
|
||||
map.put("update_optname",nickName);
|
||||
map.put("update_time",now);
|
||||
wo_bom.update(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void cancelSubmit(JSONObject param) {
|
||||
WQLObject wo_bom = WQLObject.getWQLObject("pdm_bi_bom");
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
final String bom_uuid = param.getString("bom_uuid");
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("bom_uuid",bom_uuid);
|
||||
map.put("bom_status","01");
|
||||
map.put("update_optid",currentUserId);
|
||||
map.put("update_optname",nickName);
|
||||
map.put("update_time",now);
|
||||
wo_bom.update(map);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.modules.security.service.dto.JwtUserDto;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wms.pdm.service.ProcessrouteService;
|
||||
import org.nl.wms.pdm.service.dto.ProcessrouteDto;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Lxy
|
||||
* @description 服务实现
|
||||
* @date 2022-03-21
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class ProcessrouteServiceImpl implements ProcessrouteService {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String processroute_code = MapUtil.getStr(whereJson, "processroute_code");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
|
||||
map.put("flag", "1");
|
||||
map.put("processroute_status", MapUtil.getStr(whereJson, "processroute_status"));
|
||||
if (StrUtil.isNotEmpty(processroute_code)) map.put("processroute_code", "%" + processroute_code + "%");
|
||||
|
||||
JSONObject json = WQL.getWO("QP_BI_PROCESSROUTE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
|
||||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProcessrouteDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_processroute");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<ProcessrouteDto> list = arr.toJavaList(ProcessrouteDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessrouteDto findById(String processroute_id) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_processroute");
|
||||
JSONObject json = wo.query("processroute_id = '" + processroute_id + "'").uniqueResult(0);
|
||||
final ProcessrouteDto obj = json.toJavaObject(ProcessrouteDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessrouteDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_processroute");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final ProcessrouteDto obj = json.toJavaObject(ProcessrouteDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(JSONObject json) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser();
|
||||
Long deptId = currentUser.getUser().getDept().getId();
|
||||
|
||||
WQLObject mstTab = WQLObject.getWQLObject("pdm_bi_processroute"); // 工艺路线主表
|
||||
WQLObject dtlTab = WQLObject.getWQLObject("PDM_BI_ProcessRouteDtl"); // 工艺路线明细表
|
||||
WQLObject workTab = WQLObject.getWQLObject("pdm_bi_workprocedure"); // 工序表
|
||||
JSONArray jsonDataArr = json.getJSONArray("tableData");
|
||||
|
||||
// 插入主表
|
||||
JSONObject jsonMst = new JSONObject();
|
||||
jsonMst.put("processroute_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
jsonMst.put("processroute_code", json.getString("processroute_code"));
|
||||
jsonMst.put("processroute_name", json.getString("processroute_name"));
|
||||
jsonMst.put("processroute_status", "10");
|
||||
jsonMst.put("detail_count", jsonDataArr.size());
|
||||
jsonMst.put("remark", json.getString("remark"));
|
||||
jsonMst.put("create_id", currentUserId);
|
||||
jsonMst.put("create_name", nickName);
|
||||
jsonMst.put("create_time", now);
|
||||
jsonMst.put("sysdeptid", deptId);
|
||||
jsonMst.put("syscompanyid", deptId);
|
||||
mstTab.insert(jsonMst);
|
||||
// 插入明细表
|
||||
for (int i = 0; i < jsonDataArr.size(); i++) {
|
||||
JSONObject jsonObject = jsonDataArr.getJSONObject(i);
|
||||
JSONObject jsonWork = workTab.query("workprocedure_id = '" + jsonObject.getString("workprocedure_id") + "'").uniqueResult(0);
|
||||
|
||||
JSONObject jsonDtl = new JSONObject();
|
||||
jsonDtl.put("processroutedtl_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
jsonDtl.put("processroute_id", jsonMst.get("processroute_id"));
|
||||
jsonDtl.put("workprocedure_no", i + 1);
|
||||
jsonDtl.put("workprocedure_id", jsonWork.get("workprocedure_id"));
|
||||
if (i == 0) {
|
||||
jsonDtl.put("preworkprocedure_id", "");
|
||||
jsonDtl.put("nextworkprocedure_id", jsonDataArr.getJSONObject(i + 1).getString("workprocedure_id"));
|
||||
} else if ( i == jsonDataArr.size() - 1) {
|
||||
jsonDtl.put("preworkprocedure_id", jsonDataArr.getJSONObject(i - 1).getString("workprocedure_id"));
|
||||
jsonDtl.put("nextworkprocedure_id", "");
|
||||
} else {
|
||||
jsonDtl.put("preworkprocedure_id", jsonDataArr.getJSONObject(i - 1).getString("workprocedure_id"));
|
||||
jsonDtl.put("nextworkprocedure_id", jsonDataArr.getJSONObject(i + 1).getString("workprocedure_id"));
|
||||
}
|
||||
dtlTab.insert(jsonDtl);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject whereJson) {
|
||||
String processroute_id = MapUtil.getStr(whereJson, "processroute_id");
|
||||
ProcessrouteDto entity = this.findById(processroute_id);
|
||||
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
|
||||
|
||||
WQLObject mstTab = WQLObject.getWQLObject("pdm_bi_processroute"); // 工艺路线主表
|
||||
WQLObject dtlTab = WQLObject.getWQLObject("PDM_BI_ProcessRouteDtl"); // 工艺路线明细表
|
||||
WQLObject workTab = WQLObject.getWQLObject("pdm_bi_workprocedure"); // 工序表
|
||||
|
||||
JSONArray dataArr = whereJson.getJSONArray("tableData");
|
||||
// 更新主表
|
||||
JSONObject jsonMst = mstTab.query("processroute_id= '" + processroute_id + "'").uniqueResult(0);
|
||||
jsonMst.put("processroute_code", whereJson.getString("processroute_code"));
|
||||
jsonMst.put("processroute_name", whereJson.getString("processroute_name"));
|
||||
jsonMst.put("remark", whereJson.getString("remark"));
|
||||
jsonMst.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("update_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("update_time", DateUtil.now());
|
||||
jsonMst.put("detail_count", dataArr.size());
|
||||
mstTab.update(jsonMst);
|
||||
// 更新明细表
|
||||
JSONArray dtlArr = dtlTab.query("processroute_id = '" + processroute_id + "'").getResultJSONArray(0);
|
||||
if (ObjectUtil.isNotEmpty(dtlArr)) dtlTab.delete("processroute_id = '" + processroute_id + "'");
|
||||
for (int i = 0; i < dataArr.size(); i++) {
|
||||
JSONObject jsonObject = dataArr.getJSONObject(i);
|
||||
JSONObject jsonWork = workTab.query("workprocedure_id = '" + jsonObject.getString("workprocedure_id") + "'").uniqueResult(0);
|
||||
|
||||
JSONObject jsonDtl = new JSONObject();
|
||||
jsonDtl.put("processroutedtl_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
jsonDtl.put("processroute_id", jsonMst.get("processroute_id"));
|
||||
jsonDtl.put("workprocedure_no", i + 1);
|
||||
jsonDtl.put("workprocedure_id", jsonObject.get("workprocedure_id"));
|
||||
if (i == 0) {
|
||||
jsonDtl.put("preworkprocedure_id", "");
|
||||
jsonDtl.put("nextworkprocedure_id", dataArr.getJSONObject(i + 1).getString("workprocedure_id"));
|
||||
} else if ( i == dataArr.size() - 1) {
|
||||
jsonDtl.put("preworkprocedure_id", dataArr.getJSONObject(i - 1).getString("workprocedure_id"));
|
||||
jsonDtl.put("nextworkprocedure_id", "");
|
||||
} else {
|
||||
jsonDtl.put("preworkprocedure_id", dataArr.getJSONObject(i - 1).getString("workprocedure_id"));
|
||||
jsonDtl.put("nextworkprocedure_id", dataArr.getJSONObject(i + 1).getString("workprocedure_id"));
|
||||
}
|
||||
dtlTab.insert(jsonDtl);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_processroute");
|
||||
for (Long processroute_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("processroute_id", String.valueOf(processroute_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", now);
|
||||
wo.update(param);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONArray getWorkList() {
|
||||
JSONArray resultJSONArray = WQL.getWO("QP_BI_PROCESSROUTE01").addParam("flag", "2").process().getResultJSONArray(0);
|
||||
return resultJSONArray;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONArray getDtl(Map map) {
|
||||
String processroute_id = MapUtil.getStr(map, "processroute_id");
|
||||
// WQLObject dtlTab = WQLObject.getWQLObject("PDM_BI_ProcessRouteDtl");
|
||||
|
||||
//JSONArray dtlArr = dtlTab.query("processroute_id ='" + processroute_id + "' order by workprocedure_no ASC").getResultJSONArray(0);
|
||||
JSONArray resultJSONArray = WQL.getWO("QP_BI_PROCESSROUTE01").addParam("flag", "3").addParam("processroute_id",processroute_id).process().getResultJSONArray(0);
|
||||
return resultJSONArray;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void submit(JSONObject whereJson) {
|
||||
WQLObject mstTab = WQLObject.getWQLObject("pdm_bi_processroute"); // 工艺路线主表
|
||||
|
||||
/* JSONObject jsonMst = mstTab.query("processroute_id ='" + whereJson.getString("processroute_id") + "' and is_delete = '0'").uniqueResult(0);*/
|
||||
JSONObject jsonMst = new JSONObject();
|
||||
jsonMst.put("processroute_id", whereJson.getString("processroute_id"));
|
||||
jsonMst.put("processroute_status", "20");
|
||||
jsonMst.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("update_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("update_time", DateUtil.now());
|
||||
jsonMst.put("audit_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("audit_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("audit_time", DateUtil.now());
|
||||
mstTab.update(jsonMst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void CancelSubmit(JSONObject whereJson) {
|
||||
WQLObject mstTab = WQLObject.getWQLObject("pdm_bi_processroute"); // 工艺路线主表
|
||||
JSONObject jsonMst = new JSONObject();
|
||||
jsonMst.put("processroute_id", whereJson.getString("processroute_id"));
|
||||
jsonMst.put("processroute_status", "10");
|
||||
jsonMst.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("update_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("update_time", DateUtil.now());
|
||||
jsonMst.put("audit_optid", "");
|
||||
jsonMst.put("audit_optname", "");
|
||||
jsonMst.put("audit_time", "");
|
||||
mstTab.update(jsonMst);
|
||||
}
|
||||
}
|
||||
@@ -1,256 +0,0 @@
|
||||
|
||||
package org.nl.wms.pdm.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.modules.security.service.dto.JwtUserDto;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wms.pdm.service.ProductprocessrouteService;
|
||||
import org.nl.wms.pdm.service.dto.ProductprocessrouteDto;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhouz
|
||||
* @description 服务实现
|
||||
* @date 2022-03-22
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class ProductprocessrouteServiceImpl implements ProductprocessrouteService {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "4");
|
||||
if (StrUtil.isNotEmpty(MapUtil.getStr(whereJson, "processroute_code"))) {
|
||||
map.put("processroute_code", "%" + MapUtil.getStr(whereJson, "processroute_code")+"%");
|
||||
}
|
||||
map.put("productprocess_status", MapUtil.getStr(whereJson, "productprocess_status"));
|
||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||
if (StrUtil.isNotEmpty(material_code)) {
|
||||
map.put("material_code", "%" + material_code + "%");
|
||||
}
|
||||
|
||||
JSONObject jo = WQL.getWO("QPDM_BI_PRODUCTROUTE01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc");
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProductprocessrouteDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_productprocessroute");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<ProductprocessrouteDto> list = arr.toJavaList(ProductprocessrouteDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductprocessrouteDto findById(String processroute_id) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_productprocessroute");
|
||||
JSONObject json = wo.query("processroute_id = '" + processroute_id + "'").uniqueResult(0);
|
||||
final ProductprocessrouteDto obj = json.toJavaObject(ProductprocessrouteDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductprocessrouteDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_productprocessroute");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final ProductprocessrouteDto obj = json.toJavaObject(ProductprocessrouteDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(Map whereJson) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
if (ObjectUtil.isEmpty(whereJson)) {
|
||||
throw new BadRequestException("传入数据不能为空!");
|
||||
}
|
||||
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(whereJson));
|
||||
JSONArray rows = jo.getJSONArray("tableData");
|
||||
|
||||
if (ObjectUtil.isEmpty(rows)) {
|
||||
throw new BadRequestException("不存在任何明细!");
|
||||
}
|
||||
//创建主表
|
||||
JSONObject mst_jo = new JSONObject();
|
||||
String productprocess_id = IdUtil.getSnowflake(1, 1).nextId() + "";
|
||||
mst_jo.put("productprocess_id", productprocess_id);
|
||||
JSONObject mater_jo = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute").query("material_id = '" + jo.getString("material_id") + "' AND is_delete = '0'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(mater_jo)) {
|
||||
throw new BadRequestException("该产品已经存在工艺路线!");
|
||||
}
|
||||
mst_jo.put("material_id", jo.getString("material_id"));
|
||||
mst_jo.put("processroute_id", jo.getString("processroute_id"));
|
||||
mst_jo.put("productprocess_status", "10");
|
||||
mst_jo.put("detail_count", rows.size());
|
||||
mst_jo.put("remark", jo.getString("remark"));
|
||||
mst_jo.put("create_id", currentUserId);
|
||||
mst_jo.put("create_name", nickName);
|
||||
mst_jo.put("create_time", now);
|
||||
mst_jo.put("update_optid", currentUserId);
|
||||
mst_jo.put("update_optname", nickName);
|
||||
mst_jo.put("update_time", now);
|
||||
JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser();
|
||||
Long deptId = currentUser.getUser().getDept().getId();
|
||||
mst_jo.put("sysdeptid", deptId);
|
||||
mst_jo.put("syscompanyid", deptId);
|
||||
mst_jo.put("is_delete", "0");
|
||||
|
||||
WQLObject.getWQLObject("PDM_BI_ProductProcessRoute").insert(mst_jo);
|
||||
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
JSONObject row = rows.getJSONObject(i);
|
||||
row.put("productprocessdtl_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
row.put("productprocess_id", productprocess_id);
|
||||
WQLObject.getWQLObject("PDM_BI_ProductProcessRouteDtl").insert(row);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(Map whereJson) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
if (ObjectUtil.isEmpty(whereJson)) {
|
||||
throw new BadRequestException("传入数据不能为空!");
|
||||
}
|
||||
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(whereJson));
|
||||
JSONArray rows = jo.getJSONArray("tableData");
|
||||
|
||||
if (ObjectUtil.isEmpty(rows)) {
|
||||
throw new BadRequestException("不存在任何明细!");
|
||||
}
|
||||
String productprocess_id = jo.getString("productprocess_id");
|
||||
HashMap mst_map = new HashMap();
|
||||
mst_map.put("update_optid", currentUserId);
|
||||
mst_map.put("update_optname", nickName);
|
||||
mst_map.put("update_time", now);
|
||||
mst_map.put("processroute_id", jo.getString("processroute_id"));
|
||||
mst_map.put("detail_count", rows.size());
|
||||
mst_map.put("remark", jo.getString("remark"));
|
||||
mst_map.put("material_id", jo.getString("material_id"));
|
||||
JSONObject mater_jo = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute").query("material_id = '" + jo.getString("material_id") + "' AND is_delete = '0' AND productprocess_id <> '" + productprocess_id + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(mater_jo)) {
|
||||
throw new BadRequestException("该产品已经存在工艺路线!");
|
||||
}
|
||||
WQLObject.getWQLObject("PDM_BI_ProductProcessRoute").update(mst_map, "productprocess_id = '" + jo.getString("productprocess_id") + "'");
|
||||
|
||||
WQLObject.getWQLObject("PDM_BI_ProductProcessRouteDtl").delete("productprocess_id = '" + jo.getString("productprocess_id") + "'");
|
||||
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
JSONObject row = rows.getJSONObject(i);
|
||||
row.put("productprocessdtl_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
row.put("productprocess_id", productprocess_id);
|
||||
WQLObject.getWQLObject("PDM_BI_ProductProcessRouteDtl").insert(row);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_productprocessroute");
|
||||
for (Long productprocess_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("productprocess_id", String.valueOf(productprocess_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", now);
|
||||
wo.update(param);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getRoute(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("pdm_bi_processroute");
|
||||
JSONArray array = wo.query("is_delete = '0' and processroute_status ='20'").getResultJSONArray(0);
|
||||
/*
|
||||
JSONArray rows = new JSONArray();
|
||||
if (ObjectUtil.isEmpty(jsonSeries)) {
|
||||
return rows;
|
||||
} else {
|
||||
rows = WQL.getWO("QPDM_BI_PRODUCTROUTE01").addParam("flag", "5").addParam("processroute_id", jsonSeries.getString("processroute_id")).process().getResultJSONArray(0);
|
||||
}*/
|
||||
return array;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getRouteDtl(Map whereJson) {
|
||||
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(whereJson));
|
||||
JSONArray rows = WQL.getWO("QPDM_BI_PRODUCTROUTE01").addParam("flag", "2").addParam("processroute_id", jo.getString("processroute_id")).process().getResultJSONArray(0);
|
||||
return rows;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONArray getProductRouteDtl(Map whereJson) {
|
||||
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(whereJson));
|
||||
JSONArray rows = WQL.getWO("QPDM_BI_PRODUCTROUTE01").addParam("flag", "3").addParam("productprocess_id", jo.getString("productprocess_id")).process().getResultJSONArray(0);
|
||||
return rows;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void submit(JSONObject whereJson) {
|
||||
WQLObject mstTab = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute"); // 产品工艺路线主表
|
||||
|
||||
JSONObject jsonMst = mstTab.query("productprocess_id ='" + whereJson.getString("productprocess_id") + "' and is_delete = '0'").uniqueResult(0);
|
||||
jsonMst.put("productprocess_status", "20");
|
||||
jsonMst.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("update_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("update_time", DateUtil.now());
|
||||
jsonMst.put("audit_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("audit_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("audit_time", DateUtil.now());
|
||||
mstTab.update(jsonMst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void unSubmit(JSONObject whereJson) {
|
||||
WQLObject mstTab = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute"); // 产品工艺路线主表
|
||||
|
||||
JSONObject jsonMst = mstTab.query("productprocess_id ='" + whereJson.getString("productprocess_id") + "' and is_delete = '0'").uniqueResult(0);
|
||||
if (!jsonMst.getString("productprocess_status").equals("20")) {
|
||||
throw new BadRequestException("请选择提交状态的进行取消!");
|
||||
}
|
||||
jsonMst.put("productprocess_status", "10");
|
||||
jsonMst.put("update_optid", SecurityUtils.getCurrentUserId());
|
||||
jsonMst.put("update_optname", SecurityUtils.getNickName());
|
||||
jsonMst.put("update_time", DateUtil.now());
|
||||
jsonMst.put("audit_optid", "");
|
||||
jsonMst.put("audit_optname", "");
|
||||
jsonMst.put("audit_time", "");
|
||||
mstTab.update(jsonMst);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
[交易说明]
|
||||
交易名: bom查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.bom TYPEAS s_string
|
||||
输入.material TYPEAS s_string
|
||||
输入.bom_uuid TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
bom.*,
|
||||
material.material_code,
|
||||
material.material_name,
|
||||
material.material_spec
|
||||
FROM
|
||||
PDM_BI_BOM bom
|
||||
left join md_me_materialbase material on bom.material_uuid = material.material_id
|
||||
left join PDM_BI_ProductProcessRoute productProcessRoute on bom.processroute_uuid = productProcessRoute.productprocess_id
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.material <> ""
|
||||
(material.material_code like 输入.material or
|
||||
material.material_name like 输入.material or
|
||||
material.material_spec like 输入.material)
|
||||
ENDOPTION
|
||||
OPTION 输入.bom <> ""
|
||||
(bom.bom_code like 输入.bom or
|
||||
bom.bom_name like 输入.bom)
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
dtl.*,
|
||||
workprocedure.workprocedure_id,
|
||||
workprocedure.workprocedure_name,
|
||||
material.material_code,
|
||||
material.material_name
|
||||
FROM
|
||||
PDM_BI_BOMDtl dtl
|
||||
LEFT JOIN pdm_bi_workprocedure workprocedure ON dtl.workprocedure_uuid = workprocedure.workprocedure_id
|
||||
LEFT JOIN md_me_materialbase material ON dtl.material_uuid = material.material_id
|
||||
where
|
||||
dtl.bom_uuid = 输入.bom_uuid
|
||||
order by
|
||||
dtl.seq_no
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
@@ -1,145 +0,0 @@
|
||||
[交易说明]
|
||||
交易名: 工艺路线分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.processroute_id TYPEAS s_string
|
||||
输入.productprocess_id TYPEAS s_string
|
||||
输入.processroute_code TYPEAS s_string
|
||||
输入.productprocess_status TYPEAS s_string
|
||||
输入.material_code TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
pdm_bi_processroute route
|
||||
WHERE
|
||||
route.processroute_status = '20'
|
||||
AND
|
||||
route.is_delete = '0'
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
dtl.*,
|
||||
route.processroute_name,
|
||||
workProcedure.workprocedure_name,
|
||||
pre.workprocedure_name as pre_workprocedure_name,
|
||||
next.workprocedure_name as next_workprocedure_name
|
||||
FROM
|
||||
pdm_bi_processroutedtl dtl
|
||||
left join PDM_BI_ProcessRoute route on dtl.processroute_id = route.processroute_id
|
||||
left join PDM_BI_WorkProcedure workProcedure on dtl.workprocedure_id = workProcedure.workprocedure_id
|
||||
left join PDM_BI_WorkProcedure pre on dtl.preworkprocedure_id = pre.workprocedure_id
|
||||
left join PDM_BI_WorkProcedure next on dtl.nextworkprocedure_id = next.workprocedure_id
|
||||
WHERE
|
||||
dtl.processroute_id = 输入.processroute_id
|
||||
order by
|
||||
dtl.workprocedure_no
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
pdm_bi_productprocessroutedtl
|
||||
WHERE
|
||||
productprocess_id = 输入.productprocess_id
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "4"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
pp.*,
|
||||
mb.material_code,
|
||||
(case when pp.productprocess_status = '10' then '生成' when pp.productprocess_status = '20' then '提交' end) AS status_name,
|
||||
mb.material_name,
|
||||
route.processroute_name,
|
||||
route.processroute_code
|
||||
FROM
|
||||
pdm_bi_productprocessroute pp
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = pp.material_id
|
||||
LEFT JOIN PDM_BI_ProcessRoute route ON route.processroute_id = pp.processroute_id
|
||||
WHERE
|
||||
pp.is_delete = '0'
|
||||
OPTION 输入.processroute_code <> ""
|
||||
(route.processroute_code like 输入.processroute_code
|
||||
OR
|
||||
route.processroute_name like 输入.processroute_code
|
||||
)
|
||||
ENDOPTION
|
||||
OPTION 输入.productprocess_status <> ""
|
||||
pp.productprocess_status = 输入.productprocess_status
|
||||
ENDOPTION
|
||||
OPTION 输入.material_code <> ""
|
||||
mb.material_code like 输入.material_code
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "5"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
pdm_bi_processroute route
|
||||
WHERE
|
||||
route.processroute_status = '20'
|
||||
AND
|
||||
route.is_delete = '0'
|
||||
|
||||
OPTION 输入.processroute_id <> ""
|
||||
processroute_id = 输入.processroute_id
|
||||
ENDOPTION
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
[交易说明]
|
||||
交易名: 工艺路线分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.processroute_status TYPEAS s_string
|
||||
输入.processroute_code TYPEAS s_string
|
||||
输入.processroute_id TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_ProcessRoute
|
||||
WHERE
|
||||
is_delete = '0'
|
||||
OPTION 输入.processroute_code <> ""
|
||||
(processroute_code like 输入.processroute_code or
|
||||
processroute_name like 输入.processroute_code)
|
||||
ENDOPTION
|
||||
OPTION 输入.processroute_status <> ""
|
||||
processroute_status = 输入.processroute_status
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
workprocedure_id AS value,
|
||||
workprocedure_name AS label,
|
||||
workprocedure_code AS code
|
||||
FROM
|
||||
PDM_BI_WorkProcedure
|
||||
WHERE
|
||||
is_delete = '0'
|
||||
AND is_used = '1'
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
dtl.*,
|
||||
work.workprocedure_code
|
||||
FROM
|
||||
PDM_BI_ProcessRouteDtl dtl
|
||||
left join PDM_BI_WorkProcedure work on work.workprocedure_id = dtl.workprocedure_id
|
||||
WHERE
|
||||
is_delete = '0' and dtl.processroute_id = 输入.processroute_id
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user