小料开单

This commit is contained in:
zds
2022-10-13 09:22:39 +08:00
parent fc84da7153
commit 5b6111a4fd
18 changed files with 3119 additions and 3 deletions

View File

@@ -18,9 +18,18 @@ import java.util.Date;
public class AutoDelLogTask {
public void run() {
WQLObject logTab = WQLObject.getWQLObject("sys_log");
String perNum = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("AUTO_DELETE_LOG").getValue();
logTab.delete("DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL " + Integer.valueOf(perNum) + " day))");
WQLObject sys_log = WQLObject.getWQLObject("sys_log");
WQLObject sys_quartz_log = WQLObject.getWQLObject("sys_quartz_log");
String delete_time = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("LOG_DELETE_TIME").getValue();
DateTime date = DateUtil.date();
DateTime date2 = DateUtil.offsetDay(date, -Integer.parseInt(delete_time));
String date3 = DateUtil.formatDate(date2);
sys_log.delete("1=1 and create_time<='"+date3+"'");
sys_quartz_log.delete("1=1 and create_time<='"+date3+"'");
log.info("自动清理日志执行成功...!");
}
}

View File

@@ -0,0 +1,106 @@
package org.nl.wms.pf.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.pf.service.AcceptFormulaService;
import org.nl.wms.pf.service.AcceptMarkService;
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 Liuxy
* @date 2021-12-20
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "配粉BOM维护管理")
@RequestMapping("/api/acceptformula")
@Slf4j
public class AcceptFormulaController {
private final AcceptFormulaService acceptFormulaService;
@GetMapping
@Log("查询配粉BOM维护")
@ApiOperation("查询配粉BOM维护")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(acceptFormulaService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增配粉BOM维护")
@ApiOperation("新增配粉BOM维护")
public ResponseEntity<Object> create(@RequestBody Map whereJson) {
acceptFormulaService.create(whereJson);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改配粉BOM维护")
@ApiOperation("修改配粉BOM维护")
public ResponseEntity<Object> update(@RequestBody Map whereJson) {
acceptFormulaService.update(whereJson);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除配粉BOM维护")
@ApiOperation("删除配粉BOM维护")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
acceptFormulaService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getDtl")
@Log("编辑时获取明细")
@ApiOperation("编辑时获取明细")
public ResponseEntity<Object> getDtl(@RequestParam Map whereJson) {
return new ResponseEntity<>(acceptFormulaService.getDtl(whereJson), HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/getBoms")
public ResponseEntity<Object> getBoms() {
return new ResponseEntity<>(acceptFormulaService.getBoms(),HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/getTHWs")
public ResponseEntity<Object> getTHWs() {
return new ResponseEntity<>(acceptFormulaService.getTHWs(),HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/getPCSNs")
public ResponseEntity<Object> getPCSNs(@RequestParam Map whereJson) {
return new ResponseEntity<>(acceptFormulaService.getPCSNs(whereJson),HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/getPCSN")
public ResponseEntity<Object> getPCSN(@RequestParam Map whereJson) {
return new ResponseEntity<>(acceptFormulaService.getPCSN(whereJson),HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/getBom")
public ResponseEntity<Object> getBom(@RequestParam Map whereJson) {
return new ResponseEntity<>(acceptFormulaService.getBom(whereJson),HttpStatus.OK);
}
@Log("获取成型剂类别")
@ApiOperation("获取成型剂类别")
@GetMapping("/createPcsn")
public ResponseEntity<Object> createPcsn() {
return new ResponseEntity<>(acceptFormulaService.createPcsn(),HttpStatus.OK);
}
}

View File

@@ -0,0 +1,70 @@
package org.nl.wms.pf.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.pf.service.AcceptMarkService;
import org.nl.wms.pf.service.ProductbomService;
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 Liuxy
* @date 2021-12-20
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "配粉BOM维护管理")
@RequestMapping("/api/acceptmark")
@Slf4j
public class AcceptMarkController {
private final AcceptMarkService acceptMarkService;
@GetMapping
@Log("查询配粉BOM维护")
@ApiOperation("查询配粉BOM维护")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) {
return new ResponseEntity<>(acceptMarkService.queryAll(whereJson, page), HttpStatus.OK);
}
@PostMapping
@Log("新增配粉BOM维护")
@ApiOperation("新增配粉BOM维护")
public ResponseEntity<Object> create(@RequestBody Map whereJson) {
acceptMarkService.create(whereJson);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改配粉BOM维护")
@ApiOperation("修改配粉BOM维护")
public ResponseEntity<Object> update(@RequestBody Map whereJson) {
acceptMarkService.update(whereJson);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除配粉BOM维护")
@ApiOperation("删除配粉BOM维护")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
acceptMarkService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getDtl")
@Log("编辑时获取明细")
@ApiOperation("编辑时获取明细")
public ResponseEntity<Object> getDtl(@RequestParam Map whereJson) {
return new ResponseEntity<>(acceptMarkService.getDtl(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,98 @@
package org.nl.wms.pf.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.pf.service.dto.ProductbomDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @description 服务接口
* @author Liuxy
* @date 2021-12-20
**/
public interface AcceptFormulaService {
/**
* 查询数据分页
* @param whereJson 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
* @param whereJson 条件参数
* @return List<ProductbomDto>
*/
List<ProductbomDto> queryAll(Map whereJson);
/**
* 根据ID查询
* @param bom_id ID
* @return Productbom
*/
JSONObject findById(Long bom_id);
/**
* 根据编码查询
* @param code code
* @return Productbom
*/
ProductbomDto findByCode(String code);
/**
* 创建
* @param whereJson /
*/
void create(Map whereJson);
/**
* 编辑
* @param whereJson /
*/
void update(Map whereJson);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 编辑时获取明细
* @param whereJson /
*/
JSONArray getDtl(Map whereJson);
/**
* 提交
*/
JSONArray getBoms();
/**
* 提交
*/
JSONArray getTHWs();
/**
* 提交
*/
JSONArray getPCSNs(Map whereJson);
/**
* 提交
*/
JSONObject getPCSN(Map whereJson);
/**
* 提交
*/
JSONObject getBom(Map whereJson);
/**
* 提交
*/
JSONObject createPcsn();
}

View File

@@ -0,0 +1,73 @@
package org.nl.wms.pf.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.pf.service.dto.ProductbomDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @description 服务接口
* @author Liuxy
* @date 2021-12-20
**/
public interface AcceptMarkService {
/**
* 查询数据分页
* @param whereJson 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
* @param whereJson 条件参数
* @return List<ProductbomDto>
*/
List<ProductbomDto> queryAll(Map whereJson);
/**
* 根据ID查询
* @param bom_id ID
* @return Productbom
*/
JSONObject findById(Long bom_id);
/**
* 根据编码查询
* @param code code
* @return Productbom
*/
ProductbomDto findByCode(String code);
/**
* 创建
* @param whereJson /
*/
void create(Map whereJson);
/**
* 编辑
* @param whereJson /
*/
void update(Map whereJson);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 编辑时获取明细
* @param whereJson /
*/
JSONArray getDtl(Map whereJson);
}

View File

@@ -0,0 +1,304 @@
package org.nl.wms.pf.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
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.modules.system.util.CodeUtil;
import org.nl.utils.SecurityUtils;
import org.nl.wms.pf.service.AcceptFormulaService;
import org.nl.wms.pf.service.AcceptMarkService;
import org.nl.wms.pf.service.dto.ProductbomDto;
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 Liuxy
* @description 服务实现
* @date 2021-12-20
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class AcceptFormulaServiceImpl implements AcceptFormulaService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String material_code = (String) whereJson.get("material_code");
HashMap<String, String> map = new HashMap<>();
if (!StrUtil.isEmpty(material_code)) {
//处理转义字符
if (material_code.contains("\\")) {
material_code = material_code.replace("\\", "\\\\\\");
}
map.put("material_code", "%"+material_code+"%");
}
String material_pcsn = (String) whereJson.get("material_pcsn");
if (!StrUtil.isEmpty(material_pcsn)) {
map.put("material_pcsn", "%"+material_pcsn+"%");
}
String formula_code = (String) whereJson.get("formula_code");
if (!StrUtil.isEmpty(formula_code)) {
map.put("formula_code", "%"+formula_code+"%");
}
String accept_pcsn = (String) whereJson.get("accept_pcsn");
if (!StrUtil.isEmpty(accept_pcsn)) {
map.put("accept_pcsn", "%"+accept_pcsn+"%");
}
String begin_time = map.get("begin_time");
if (StrUtil.isNotEmpty(begin_time)) {
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
}
String end_time = map.get("end_time");
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
map.put("flag", "1");
JSONObject json = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc");
return json;
}
@Override
public List<ProductbomDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("md_pd_productbom");
JSONArray arr = wo.query().getResultJSONArray(0);
List<ProductbomDto> list = arr.toJavaList(ProductbomDto.class);
return list;
}
@Override
public JSONObject findById(Long mark_id) {
WQLObject wo = WQLObject.getWQLObject("QL_TEST_AcceptMark");
JSONObject json = wo.query("mark_id =" + mark_id + "").uniqueResult(0);
return json;
}
@Override
public ProductbomDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("QL_TEST_AcceptMark");
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
final ProductbomDto obj = json.toJavaObject(ProductbomDto.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();
JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser();
Long deptId = currentUser.getDeptId();
WQLObject mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
JSONArray jsonArr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("tableData")));
// 主表
JSONObject jsonMst = new JSONObject();
jsonMst = (JSONObject) JSON.toJSON(whereJson);
whereJson.remove("tableData");
jsonMst.put("mark_id", IdUtil.getSnowflake(1, 1).nextId());
jsonMst.put("is_delete", "0");
jsonMst.put("remark", (String) whereJson.get("remark"));
JSONObject jonow = mstTab.query("is_delete='0' and mark_code='" + jsonMst.getString("mark_code") + "'").uniqueResult(0);
if (jonow != null) {
throw new BadRequestException("该牌号已存在!");
}
jsonMst.put("create_id", currentUserId);
jsonMst.put("create_name", nickName);
jsonMst.put("create_time", now);
jsonMst.put("update_optid", currentUserId);
jsonMst.put("update_optname", nickName);
jsonMst.put("update_time", now);
jsonMst.put("detail_count", jsonArr.size());
mstTab.insert(jsonMst);
// 明细表
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject json = jsonArr.getJSONObject(i);
JSONObject jsonDtl = new JSONObject();
jsonDtl.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonDtl.put("mark_id", jsonMst.getString("mark_id"));
jsonDtl.put("seqno", (i+1)+"");
jsonDtl.put("material_id", json.getString("material_id"));
jsonDtl.put("standard_rate", json.getString("standard_rate"));
dtlTab.insert(jsonDtl);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(Map whereJson) {
JSONObject entity = this.findById(Long.valueOf((String) whereJson.get("mark_id")));
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
WQLObject mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
JSONArray jsonArr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("tableData")));
// 主表
JSONObject jsonMst = new JSONObject();
whereJson.remove("tableData");
jsonMst = (JSONObject) JSON.toJSON(whereJson);
String mark_code = jsonMst.getString("mark_code");
String mark_id = jsonMst.getString("mark_id");
JSONObject oldJO = mstTab.query("mark_id <> '" + mark_id + "' and mark_code='"+mark_code+"'").uniqueResult(0);
if(oldJO !=null){
throw new BadRequestException("已存在相同牌号!");
}
JSONObject now = mstTab.query("mark_id = '" + mark_id + "'").uniqueResult(0);
//主表
now.put("mark_code", jsonMst.getString("mark_code"));
now.put("c_balance", jsonMst.getString("c_balance"));
now.put("liquid_rate", jsonMst.getString("liquid_rate"));
now.put("ball_rate", jsonMst.getString("ball_rate"));
now.put("ball_speed", jsonMst.getString("ball_speed"));
now.put("ball_time", jsonMst.getString("ball_time"));
now.put("remark", jsonMst.getString("remark"));
now.put("update_optid", currentUserId);
now.put("update_optname", nickName);
now.put("update_time", DateUtil.now());
//删明细
dtlTab.delete("mark_id = '" + mark_id + "'");
//明细表
now.put("detail_count", jsonArr.size() + "");
mstTab.update(now);
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject json = jsonArr.getJSONObject(i);
JSONObject jsonDtl = new JSONObject();
jsonDtl.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonDtl.put("mark_id", mark_id);
jsonDtl.put("seqno", (i+1)+"");
jsonDtl.put("material_id", json.getString("material_id"));
jsonDtl.put("standard_rate", json.getString("standard_rate"));
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 mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
for (Long mark_id : ids) {
JSONObject param = new JSONObject();
param.put("mark_id", String.valueOf(mark_id));
param.put("is_delete", "1");
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
mstTab.update(param);
dtlTab.delete("mark_id='" + String.valueOf(mark_id) + "'");
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONArray getDtl(Map whereJson) {
String mark_id = (String) whereJson.get("mark_id");
JSONArray jsonArr = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParam("flag", "2").addParam("mark_id", mark_id).process().getResultJSONArray(0);
return jsonArr;
}
@Override
public JSONArray getBoms() {
HashMap<String, String> map = new HashMap<>();
map.put("flag", "3");
JSONArray ret = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParamMap(map).process().getResultJSONArray(0);
return ret;
}
@Override
public JSONArray getTHWs() {
HashMap<String, String> map = new HashMap<>();
map.put("flag", "4");
JSONArray ret = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParamMap(map).process().getResultJSONArray(0);
return ret;
}
@Override
public JSONArray getPCSNs(Map whereJson) {
HashMap<String, String> map = new HashMap<>(whereJson);
map.put("flag", "5");
JSONArray ret = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParamMap(map).process().getResultJSONArray(0);
return ret;
}
@Override
public JSONObject getPCSN(Map whereJson) {
HashMap<String, String> map = new HashMap<>(whereJson);
map.put("flag", "6");
JSONArray ret = WQL.getWO("QMD_PD_ACCEPTFORMULA01").addParamMap(map).process().getResultJSONArray(0);
JSONObject jo = new JSONObject();
jo.put("CJZB00007","0");
jo.put("CJZB00001","0");
jo.put("CJZB00002","0");
jo.put("CJZB00006","0");
jo.put("CJZB00021","0");
jo.put("CJZB00020","0");
jo.put("CJZB00004","0");
if(ret.size() > 0){
for(int i=0;i<ret.size();i++){
JSONObject now = ret.getJSONObject(i);
String inspection_item_code = now.getString("inspection_item_code");
if("CJZB00001".equals(inspection_item_code)){
jo.put("CJZB00001",now.getString("value"));
}else if("CJZB00002".equals(inspection_item_code)){
jo.put("CJZB00002",now.getString("value"));
}else if("CJZB00006".equals(inspection_item_code)){
jo.put("CJZB00006",now.getString("value"));
}else if("CJZB00020".equals(inspection_item_code)){
jo.put("CJZB00020",now.getString("value"));
}else if("CJZB00021".equals(inspection_item_code)){
jo.put("CJZB00021",now.getString("value"));
}else if("CJZB00004".equals(inspection_item_code)){
jo.put("CJZB00004",now.getString("value"));
}else if("CJZB00007".equals(inspection_item_code)){
jo.put("CJZB00007",now.getString("value"));
}
}
}
return jo;
}
@Override
public JSONObject getBom(Map whereJson) {
HashMap<String, String> map = new HashMap<>(whereJson);
WQLObject mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
String mark_id = map.get("mark_id");
JSONObject jo = mstTab.query("mark_id='"+mark_id+"'").uniqueResult(0);
return jo;
}
@Override
public JSONObject createPcsn() {
JSONObject jo = new JSONObject();
String ACCEPT_PCSN = CodeUtil.getNewCode("ACCEPT_PCSN");
jo.put("accept_pcsn",ACCEPT_PCSN);
return jo;
}
}

View File

@@ -0,0 +1,209 @@
package org.nl.wms.pf.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
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.modules.system.util.CodeUtil;
import org.nl.utils.SecurityUtils;
import org.nl.wms.common.util.DataAuthUtil;
import org.nl.wms.pf.service.AcceptMarkService;
import org.nl.wms.pf.service.ProductbomService;
import org.nl.wms.pf.service.dto.ProductbomDto;
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 Liuxy
* @description 服务实现
* @date 2021-12-20
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class AcceptMarkServiceImpl implements AcceptMarkService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String material_code = (String) whereJson.get("material_code");
HashMap<String, String> map = new HashMap<>();
if (!StrUtil.isEmpty(material_code)) {
//处理转义字符
if (material_code.contains("\\")) {
material_code = material_code.replace("\\", "\\\\\\");
}
map.put("material_code", "%"+material_code+"%");
}
map.put("flag", "1");
JSONObject json = WQL.getWO("QMD_PD_ACCEPTMARK01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time desc");
return json;
}
@Override
public List<ProductbomDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("md_pd_productbom");
JSONArray arr = wo.query().getResultJSONArray(0);
List<ProductbomDto> list = arr.toJavaList(ProductbomDto.class);
return list;
}
@Override
public JSONObject findById(Long mark_id) {
WQLObject wo = WQLObject.getWQLObject("QL_TEST_AcceptMark");
JSONObject json = wo.query("mark_id =" + mark_id + "").uniqueResult(0);
return json;
}
@Override
public ProductbomDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("QL_TEST_AcceptMark");
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
final ProductbomDto obj = json.toJavaObject(ProductbomDto.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();
JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser();
Long deptId = currentUser.getDeptId();
WQLObject mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
JSONArray jsonArr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("tableData")));
// 主表
JSONObject jsonMst = new JSONObject();
jsonMst = (JSONObject) JSON.toJSON(whereJson);
whereJson.remove("tableData");
jsonMst.put("mark_id", IdUtil.getSnowflake(1, 1).nextId());
jsonMst.put("is_delete", "0");
jsonMst.put("remark", (String) whereJson.get("remark"));
JSONObject jonow = mstTab.query("is_delete='0' and mark_code='" + jsonMst.getString("mark_code") + "'").uniqueResult(0);
if (jonow != null) {
throw new BadRequestException("该牌号已存在!");
}
jsonMst.put("create_id", currentUserId);
jsonMst.put("create_name", nickName);
jsonMst.put("create_time", now);
jsonMst.put("update_optid", currentUserId);
jsonMst.put("update_optname", nickName);
jsonMst.put("update_time", now);
jsonMst.put("detail_count", jsonArr.size());
mstTab.insert(jsonMst);
// 明细表
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject json = jsonArr.getJSONObject(i);
JSONObject jsonDtl = new JSONObject();
jsonDtl.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonDtl.put("mark_id", jsonMst.getString("mark_id"));
jsonDtl.put("seqno", (i+1)+"");
jsonDtl.put("material_id", json.getString("material_id"));
jsonDtl.put("standard_rate", json.getString("standard_rate"));
dtlTab.insert(jsonDtl);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(Map whereJson) {
JSONObject entity = this.findById(Long.valueOf((String) whereJson.get("mark_id")));
if (entity == null) {
throw new BadRequestException("被删除或无权限,操作失败!");
}
WQLObject mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
JSONArray jsonArr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("tableData")));
// 主表
JSONObject jsonMst = new JSONObject();
whereJson.remove("tableData");
jsonMst = (JSONObject) JSON.toJSON(whereJson);
String mark_code = jsonMst.getString("mark_code");
String mark_id = jsonMst.getString("mark_id");
JSONObject oldJO = mstTab.query("mark_id <> '" + mark_id + "' and mark_code='"+mark_code+"'").uniqueResult(0);
if(oldJO !=null){
throw new BadRequestException("已存在相同牌号!");
}
JSONObject now = mstTab.query("mark_id = '" + mark_id + "'").uniqueResult(0);
//主表
now.put("mark_code", jsonMst.getString("mark_code"));
now.put("c_balance", jsonMst.getString("c_balance"));
now.put("liquid_rate", jsonMst.getString("liquid_rate"));
now.put("ball_rate", jsonMst.getString("ball_rate"));
now.put("ball_speed", jsonMst.getString("ball_speed"));
now.put("ball_time", jsonMst.getString("ball_time"));
now.put("remark", jsonMst.getString("remark"));
now.put("update_optid", currentUserId);
now.put("update_optname", nickName);
now.put("update_time", DateUtil.now());
//删明细
dtlTab.delete("mark_id = '" + mark_id + "'");
//明细表
now.put("detail_count", jsonArr.size() + "");
mstTab.update(now);
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject json = jsonArr.getJSONObject(i);
JSONObject jsonDtl = new JSONObject();
jsonDtl.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId());
jsonDtl.put("mark_id", mark_id);
jsonDtl.put("seqno", (i+1)+"");
jsonDtl.put("material_id", json.getString("material_id"));
jsonDtl.put("standard_rate", json.getString("standard_rate"));
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 mstTab = WQLObject.getWQLObject("QL_TEST_AcceptMark");
WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_AcceptMarkBOM");
for (Long mark_id : ids) {
JSONObject param = new JSONObject();
param.put("mark_id", String.valueOf(mark_id));
param.put("is_delete", "1");
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
mstTab.update(param);
dtlTab.delete("mark_id='" + String.valueOf(mark_id) + "'");
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONArray getDtl(Map whereJson) {
String mark_id = (String) whereJson.get("mark_id");
JSONArray jsonArr = WQL.getWO("QMD_PD_ACCEPTMARK01").addParam("flag", "2").addParam("mark_id", mark_id).process().getResultJSONArray(0);
return jsonArr;
}
}

View File

@@ -0,0 +1,171 @@
[交易说明]
交易名: 产品配粉BOM维护分页查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.material_code TYPEAS s_string
输入.material_pcsn TYPEAS s_string
输入.formula_code TYPEAS s_string
输入.mark_id TYPEAS s_string
输入.accept_pcsn TYPEAS s_string
输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string
输入.material_id TYPEAS s_string
输入.inspection_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT
AcceptFormula.*,
mater.material_code,
mater.material_name,
AcceptMark.mark_code
FROM
QL_TEST_AcceptFormula AcceptFormula
LEFT JOIN MD_ME_MaterialBase mater ON AcceptFormula.material_id = mater.material_id
LEFT JOIN QL_TEST_AcceptMark AcceptMark ON AcceptMark.mark_id = AcceptFormula.mark_id
WHERE
AcceptFormula.is_delete = '0'
OPTION 输入.begin_time <> ""
AcceptFormula.create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
AcceptFormula.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.accept_pcsn <> ""
AcceptFormula.accept_pcsn like 输入.accept_pcsn
ENDOPTION
OPTION 输入.material_pcsn <> ""
AcceptFormula.material_pcsn like 输入.material_pcsn
ENDOPTION
OPTION 输入.formula_code <> ""
AcceptFormula.formula_code like 输入.formula_code
ENDOPTION
OPTION 输入.mark_id <> ""
AcceptFormula.mark_id = 输入.mark_id
ENDOPTION
OPTION 输入.material_code <> ""
(mater.material_code like 输入.material_code or mater.material_name like 输入.material_code)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
AcceptMarkBOM.*,
mater.material_code,
mater.material_name
FROM
QL_TEST_AcceptMarkBOM AcceptMarkBOM
LEFT JOIN MD_ME_MaterialBase mater ON AcceptMarkBOM.material_id = mater.material_id
WHERE 1=1
and AcceptMarkBOM.mark_id = 输入.mark_id
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT
AcceptMark.mark_id AS id ,
AcceptMark.mark_code AS code ,
AcceptMark.mark_code AS name
FROM
QL_TEST_AcceptMark AcceptMark
WHERE
1 = 1
AND AcceptMark.is_delete = '0'
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "4"
QUERY
SELECT
materialbase.material_id AS id ,
materialbase.material_code AS code ,
materialbase.material_name AS name
FROM
md_me_materialbase materialbase
WHERE
1 = 1
AND materialbase.is_delete = '0'
AND materialbase.material_type_id = '1503644361664106496'
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "5"
QUERY
SELECT
FactoryWarrantyMst.inspection_id AS id ,
FactoryWarrantyMst.pcsn AS code ,
FactoryWarrantyMst.inspection_code AS name
FROM
QL_TEST_FactoryWarrantyMst FactoryWarrantyMst
WHERE
1 = 1
AND FactoryWarrantyMst.is_delete = '0'
AND FactoryWarrantyMst.bill_status in ('99')
OPTION 输入.material_id <> ""
FactoryWarrantyMst.material_id = 输入.material_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "6"
QUERY
SELECT
FactoryWarrantyDtl.*,
inspectionitempoint.inspection_item_code,
inspectionitempoint.inspection_item_name
FROM
QL_TEST_FactoryWarrantyDtl FactoryWarrantyDtl
LEFT JOIN ql_test_inspectionitempoint inspectionitempoint ON FactoryWarrantyDtl.inspection_item_id = inspectionitempoint.inspection_item_id
WHERE
1 = 1
OPTION 输入.inspection_id <> ""
FactoryWarrantyDtl.inspection_id = 输入.inspection_id
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -0,0 +1,74 @@
[交易说明]
交易名: 产品配粉BOM维护分页查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.material_code TYPEAS s_string
输入.old_mark TYPEAS s_string
输入.is_used TYPEAS s_string
输入.mark_id TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT
AcceptMark.*
FROM
QL_TEST_AcceptMark AcceptMark
WHERE
AcceptMark.is_delete = '0'
OPTION 输入.material_code <> ""
AcceptMark.mark_code like 输入.material_code
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
QUERY
SELECT
AcceptMarkBOM.*,
mater.material_code,
mater.material_name
FROM
QL_TEST_AcceptMarkBOM AcceptMarkBOM
LEFT JOIN MD_ME_MaterialBase mater ON AcceptMarkBOM.material_id = mater.material_id
WHERE 1=1
and AcceptMarkBOM.mark_id = 输入.mark_id
ENDSELECT
ENDQUERY
ENDIF