|
|
@@ -1,25 +1,18 @@
|
|
|
package com.uas.eis.service.Impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.uas.eis.core.support.TokenProperties;
|
|
|
import com.uas.eis.dao.BaseDao;
|
|
|
-import com.uas.eis.dao.SqlRowList;
|
|
|
-import com.uas.eis.entity.*;
|
|
|
import com.uas.eis.sdk.converter.ObjectToMapConverter;
|
|
|
import com.uas.eis.sdk.dto.PurchaseItem;
|
|
|
import com.uas.eis.sdk.dto.PurchaseItemAmount;
|
|
|
import com.uas.eis.sdk.dto.PurchaseMain;
|
|
|
-import com.uas.eis.sdk.entity.ApiResult;
|
|
|
-import com.uas.eis.sdk.resp.ApiResponse;
|
|
|
import com.uas.eis.service.ERPService;
|
|
|
-import com.uas.eis.utils.*;
|
|
|
+import com.uas.eis.utils.SqlUtil;
|
|
|
+import com.uas.eis.utils.X5StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -157,82 +150,4 @@ public class ERPServiceImpl implements ERPService {
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
- @Override
|
|
|
- public ApiResult<String> syncProduct(String data) {
|
|
|
- Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
|
|
|
- Product product = baseDao.getJdbcTemplate().queryForObject("select case when pr_kh_user='柏英特' or nvl(pr_kh_user,' ')=' ' then 'BYT' else nvl(cu_mescode,cu_code) end pr_kh_user,pr_code ,pr_detail ,replace(PR_SPEC,'''','''''') pr_spec,nvl(pr_unit,'PCS') pr_unit,nvl(pr_cop,'BYT') pr_cop,nvl(pr_version,'0') pr_version,case when nvl(pr_kind,'')='半成品' or nvl(pr_kind,' ')='成品' then 'product' else 'raw' end pr_serial,nvl(pr_validdays,'0') pr_validdays,pr_msdlevel ,pr_fhelpcode ,pr_f_115 ,pr_f_116 ,pr_f_102,pr_kind,flag,pr_statuscode,pr_status from mes_product left join customer on pr_kh_user=cu_shortname where pr_id=?",
|
|
|
- new BeanPropertyRowMapper<Product>(Product.class),store.get("pr_id"));
|
|
|
- product.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
|
|
|
- product.setMesUser(tokenConfig.get("mesUser"));
|
|
|
- product.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
|
|
|
- return syncMES(JSON.toJSONString(product, SerializerFeature.WriteMapNullValue).replace("null","\"\""),tokenConfig.get("syncProduct"));
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public ApiResult<String> syncMakeBase(String data) {
|
|
|
- Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
|
|
|
- Make make = baseDao.getJdbcTemplate().queryForObject("select ma_code,ma_prodcode,ma_qty,nvl(cu_mescode,ma_custcode) ma_custcode,pr_unit,pr_detail,replace(PR_SPEC,'''','''''') pr_spec,ma_salecode,to_char(ma_planbegindate,'yyyy-MM-dd') ma_planbegindate,to_char(ma_planenddate,'yyyy-MM-dd') ma_planenddate,nvl(ma_cop,'BYT') ma_cop,'S' status,to_char(ma_date,'yyyy-MM-dd HH24:mi:ss') ma_date,ma_recorder,nvl(ma_version,0) ma_version,ma_id,wc_id,pr_id,to_char(ma_modifydate,'yyyy-MM-dd HH24:mi:ss') ma_modifydate,ma_modifier from make left join product on ma_prodcode=pr_code left join workcenter on ma_wccode=wc_code left join customer on ma_custcode=cu_code where ma_id=?",
|
|
|
- new BeanPropertyRowMapper<Make>(Make.class),store.get("ma_id"));
|
|
|
- make.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
|
|
|
- make.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
|
|
|
- make.setMesUser(tokenConfig.get("mesUser"));
|
|
|
- return syncMES(JSON.toJSONString(make, SerializerFeature.WriteMapNullValue).replace("null","\"\""),tokenConfig.get("syncMakeBase"));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public ApiResult<String> syncMakeBaseDetail(String data) {
|
|
|
- Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
|
|
|
- MakeMaterial makeMaterial = baseDao.getJdbcTemplate().queryForObject("select mm_code,erpid,mm_prodcode,pr_detail,replace(PR_SPEC,'''','''''') pr_spec,pr_unit,mm_oneuseqty qty,mm_qty,mm_oneuseqty,case when mm_ifrep=-1 then 'alternative' else 'main' end type,bo_recorder,to_char(bo_date,'yyyy-MM-dd HH24:mi:ss') bo_date,nvl(bo_version,0) bo_version,nvl(bo_cop,'BYT') bo_cop,mm_repprodcode,mm_balance,nvl(cu_mescode,ma_custcode) ma_custcode,to_char(mc_indate,'yyyy-MM-dd HH24:mi:ss') mc_indate,mc_recorder,flag from mes_makematerial left join make on ma_id=mm_maid left join Product on mm_prodcode=pr_code left join bom on bo_id=mm_bomid left join MakeMaterialChangeDet on md_makecode=ma_code and md_mmdetno=mm_detno left join MakeMaterialChange on mc_id=md_mcid left join customer on ma_custcode=cu_code where mm_id=? order by mm_detno",
|
|
|
- new BeanPropertyRowMapper<MakeMaterial>(MakeMaterial.class),store.get("mm_id"));
|
|
|
- makeMaterial.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
|
|
|
- makeMaterial.setMesUser(tokenConfig.get("mesUser"));
|
|
|
- makeMaterial.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
|
|
|
- return syncMES(JSON.toJSONString(makeMaterial, SerializerFeature.WriteMapNullValue).replace("null","\"\""),tokenConfig.get("syncMakeBaseDetail"));
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public ApiResult<String> syncUpdateReceiveByErp(String data) {
|
|
|
- try {
|
|
|
- Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
|
|
|
- VerifyApply verifyApply = baseDao.getJdbcTemplate().queryForObject("select va_id,va_mescode,va_code,to_char(va_date,'yyyy-MM-dd HH24:mi:ss') va_date,va_vendcode,va_vendname,va_currency,va_rate,va_paymentscode,va_payments,va_transport,va_sendcode,va_emcode,va_emname,va_departmentcode,va_department,va_recorder,case when nvl(va_cop,' ')=' ' then 'BYT' else va_cop end va_cop,va_remark,va_ancode,va_factory,0 version,va_type,va_pucode,case when nvl(va_pucode,' ')=' ' then 0 else (select pu_id from purchase where pu_code=va_pucode) end pu_id,va_status,1 posted,to_char(va_auditdate,'yyyy-MM-dd HH24:mi:ss') va_auditdate,va_auditman,va_custcode,va_custname from VerifyApply where va_id=?",
|
|
|
- new BeanPropertyRowMapper<VerifyApply>(VerifyApply.class), store.get("va_id"));
|
|
|
- SqlRowList rs = baseDao.queryForRowSet("select case when va_custcode='AR214' or nvl(va_custcode,' ')=' ' then 'BYT' else nvl(cu_mescode,cu_code) end cu_code,cu_name from verifyapply left join customer on va_custcode=cu_code where va_id="+store.get("va_id"));
|
|
|
- if (rs.next()){
|
|
|
- verifyApply.setVa_custcode(rs.getString("cu_code"));
|
|
|
- //verifyApply.setVa_custname(rs.getString("cu_name"));
|
|
|
- }
|
|
|
- verifyApply.setMesPwd(MD5Util.encodeByMD5(tokenConfig.get("mesPwd")));
|
|
|
- verifyApply.setMesUser(tokenConfig.get("mesUser"));
|
|
|
- verifyApply.setFlag(Integer.parseInt(StringUtil.nvl(store.get("flag"),"-1")));
|
|
|
- List<VerifyApplyDetail> verifyApplyDetails = baseDao.query("select vad_code,vad_prodcode,pr_detail,replace(PR_SPEC,'''','''''') pr_spec,pr_unit,va_recorder,va_date,pr_kh_user,cu_name,sum(nvl(vad_qty,0)) vad_qty,vad_salecode from ( select vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit,vad_qty,va_recorder,to_char(va_date,'yyyy-MM-dd HH24:mi:ss') va_date,case when pr_kh_user='柏英特' or nvl(pr_kh_user,' ')=' ' then 'BYT' else nvl(cu_mescode,cu_code) end pr_kh_user,cu_name,vad_salecode from verifyapplydetail left join VerifyApply on va_id=vad_vaid left join product on vad_prodcode=pr_code left join customer on cu_shortname=pr_kh_user where nvl(vad_qty,0)>0 and vad_vaid="+store.get("va_id")+") group by vad_code,vad_prodcode,pr_detail,pr_spec,pr_unit,va_recorder,va_date,pr_kh_user,cu_name,vad_salecode", VerifyApplyDetail.class);
|
|
|
- verifyApply.setDetail(verifyApplyDetails);
|
|
|
- return syncMES(JSON.toJSONString(verifyApply, SerializerFeature.WriteMapNullValue).replace("null","\"\""),tokenConfig.get("syncUpdateReceiveByErp"));
|
|
|
- }catch (Exception e){
|
|
|
- logger.info("同步收料单异常信息:"+e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- return ApiResponse.failRsp("104",e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private ApiResult<String> syncMES(String params,String url){
|
|
|
- try {
|
|
|
- logger.info("params:"+params);
|
|
|
- String post = PSHttpUtils.sendPost(tokenConfig.get("mesHttp") + url, params);
|
|
|
- logger.info("post:"+post);
|
|
|
- JSONObject jsonObject = JSON.parseObject(post);
|
|
|
- int code = jsonObject.getIntValue("result");
|
|
|
- if (code==0){
|
|
|
- return ApiResponse.successRsp("0","同步MES成功");
|
|
|
- }else if(code==1){
|
|
|
- return ApiResponse.failRsp("101",jsonObject.getString("message"));
|
|
|
- }else {
|
|
|
- return ApiResponse.failRsp("102","接口调用异常,请联系MES处理!");
|
|
|
- }
|
|
|
- }catch (Exception e){
|
|
|
- logger.info("异常信息:"+e.getMessage());
|
|
|
- return ApiResponse.failRsp("103","接口调用异常,请联系MES处理!");
|
|
|
- }
|
|
|
- }
|
|
|
}
|