| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523 |
- package com.uas.eis.serviceImpl;
- import com.uas.eis.core.config.SpObserver;
- import com.uas.eis.dao.BaseDao;
- import com.uas.eis.dto.DataCenter;
- import com.uas.eis.entity.ErrorMessage;
- import com.uas.eis.exception.ApiSystemException;
- import com.uas.eis.sdk.entity.ApiResult;
- import com.uas.eis.sdk.resp.ApiResponse;
- import com.uas.eis.service.MESDataService;
- import com.uas.eis.utils.*;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import java.sql.Timestamp;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.logging.Logger;
- @Service
- public class MESDataServiceImpl implements MESDataService {
- @Autowired
- private BaseDao baseDao;
- @Value("${spring.datasource.username}")
- private String username;
- String Master;
- @Override
- public List<Map<Object,Object>> snStepPass(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- Master=SpObserver.getSp();
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_STEPPASSED where sp_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("SP_ID"));
- remap.put("id",map.get("SP_ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_STEPPASSED"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- //baseDao.execute(SqlUtil.getInsertSqlbyGridStore(maps, "TEMP_STEPPASSED"));
- //baseDao.execute("update temp_steppassed set t_status='D',T_REMAKR='重复' where t_id in (select t_id from (select temp_steppassed.*,row_number()over(partition by sp_id order by t_id desc) cn from temp_steppassed where nvl(t_status,'W')='W' ) where cn>1)");
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object,Object>> snInfo(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_SNINFO where SI_ID=? and nvl(t_status,'W')='W' ",Integer.class,map.get("SI_ID"));
- remap.put("id",map.get("SI_ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_SNINFO"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object,Object>> makeSnRelation(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_MAKESNRELATION where ID=? and nvl(t_status,'W')='W' ",Integer.class,map.get("ID"));
- remap.put("id",map.get("ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_MAKESNRELATION"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object,Object>> MAKEBAD(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_MAKEBAD where MB_CODE=? and nvl(t_status,'W')='W' ",Integer.class,map.get("MB_CODE"));
- remap.put("id",map.get("MB_CODE"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_MAKEBAD"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object,Object>> makeBadReason(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_MAKEBADREASON where MBR_ID=? and nvl(t_status,'W')='W' ",Integer.class,map.get("MBR_ID"));
- remap.put("id",map.get("MBR_ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_MAKEBADREASON"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object,Object>> packageDetail(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_PACKAGEDETAIL where PD_ID=? and nvl(t_status,'W')='W' ",Integer.class,map.get("MBR_ID"));
- remap.put("id",map.get("PD_ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_PACKAGEDETAIL"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> craftmaterial(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_CRAFTMATERIAL where cm_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("cm_id"));
- remap.put("id",map.get("cm_id"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_CRAFTMATERIAL"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> oqcbatch(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".TEMP_OQCBATCHDETAIL where obd_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("obd_id"));
- remap.put("id",map.get("obd_id"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_OQCBATCHDETAIL"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> inspectdata(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".temp_inspectdata where id_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("id_id"));
- remap.put("id",map.get("id_id"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".temp_inspectdata"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> prodiomac(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".temp_prodiomac where pim_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("pim_id"));
- remap.put("id",map.get("pim_id"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".temp_prodiomac"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> oqcitemsamples(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".temp_oqcitemsamples where OIS_ID=? and nvl(t_status,'W')='W' ",Integer.class,map.get("OIS_ID"));
- remap.put("id",map.get("OIS_ID"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".TEMP_OQCITEMSAMPLES"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public List<Map<Object, Object>> makeserial(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
- SpObserver.putSp(AE_MASTER);
- List<Map<Object, Object>> relist = new ArrayList<>();
- for (Map<Object, Object> map : maps) {
- Map<Object, Object> remap = new HashMap<>();
- String remark = "";
- int cn = baseDao.getJdbcTemplate().queryForObject("select count(1) from "+Master+".temp_makeserial where ms_id=? and nvl(t_status,'W')='W' ",Integer.class,map.get("ms_id"));
- remap.put("id",map.get("ms_id"));
- if(cn>0){
- map.put("T_STATUS","D");
- map.put("T_REMAKR","重复");
- remark = "重复";
- }else{
- map.put("T_STATUS","W");
- }
- map.put("T_KEY",accessKey);
- map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
- try {
- baseDao.execute(SqlUtil.getInsertSqlByMap(map,Master+".temp_makeserial"));
- remap.put("result","OK");
- remap.put("remark",remark);
- }catch (Exception e){
- remap.put("result","NG");
- remap.put("remark",e.getMessage());
- e.printStackTrace();
- }
- relist.add(remap);
- }
- SpObserver.putSp(username);
- return relist;
- }
- @Override
- public ApiResult<Map<Object,Object>> barcode(String accessKey, String requestId, String data) {
- String AE_MASTER = checkAccessKey(accessKey, requestId);
- SpObserver.putSp(AE_MASTER);
- Map<Object, Object> map = FlexJsonUtil.fromJson(data);
- try {
- if(!StringUtil.hasText(map.get("outno"))){
- return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参异常,出库单号不能为空!");
- }
- if("ADD".equals(map.get("action"))){
- if(!StringUtil.hasText(map.get("barlist"))){
- return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参操作类型:"+map.get("type")+"是写入,barlist 不允许为空");
- }
- List<Map<Object,Object>> barlist = (ArrayList)map.get("barlist");
- List<Map<Object,Object>> datab = new ArrayList<>();
- for(Map<Object,Object> mp : barlist){
- Map<Object,Object> mapb = new HashMap<>();
- mapb.put("ACTION","W");
- mapb.put("ERPID",mp.get("bar_id"));
- mapb.put("BAR_CODE",mp.get("bar_code"));
- mapb.put("BAR_PRODCODE",mp.get("bar_prodcode"));
- mapb.put("BAR_QTY",mp.get("bar_qty"));
- mapb.put("BAR_LOTNO",mp.get("bar_lotno"));
- mapb.put("BAR_DC",mp.get("bar_dc"));
- mapb.put("BAR_OUTNO",mp.get("bar_outno"));
- mapb.put("BAR_MACODE",mp.get("bar_macode"));
- mapb.put("BAR_BATCHQTY",mp.get("bar_batchqty"));
- datab.add(mapb);
- }
- baseDao.execute(SqlUtil.getInsertSqlbyGridStore(datab,Master+".TEMP_BARCODE"));
- }else if("DEL".equals(map.get("action"))){
- Map<Object,Object> mapb = new HashMap<>();
- mapb.put("ACTION","D");
- mapb.put("ERPID",0);
- mapb.put("BAR_OUTNO",map.get("outno"));
- baseDao.execute(SqlUtil.getInsertSqlByMap(mapb,Master+".TEMP_BARCODE"));
- }else{
- return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(),requestId,"传参操作类型:"+map.get("action")+"错误,只能是ADD或者DEL");
- }
- }catch (Exception e){
- e.printStackTrace();
- if(e.getMessage().length() > 500) {
- return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "异常错误," + e.getMessage().substring(0, 500));
- }else{
- return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "异常错误," + e.getMessage());
- }
- }
- return ApiResponse.successRsp("0",requestId,"操作成功");
- }
- private String checkAccessKey(String accessKey,String requestId){
- Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='"+accessKey+"'");
- Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='"+accessKey+"'");
- String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
- // 检查KEY是否合理
- if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null || "".equals(AE_MASTER.toString())) {
- ApiResult apiResult = new ApiResult();
- apiResult.setCode(ErrorMessage.ACCESSKEY_ILLEGAL.getCode());
- apiResult.setMessage(ErrorMessage.ACCESSKEY_ILLEGAL.getMessage());
- apiResult.setRequestId(requestId);
- throw new ApiSystemException(apiResult);
- }
- return AE_MASTER.toString();
- }
- }
|