代码更新

This commit is contained in:
2022-08-06 14:52:19 +08:00
parent e75bae3a1a
commit f04cedee8c
51 changed files with 8 additions and 5656 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}
}
}

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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