|
|
@@ -477,11 +477,23 @@ public class MESServiceImpl implements MESService {
|
|
|
int bcpiid = 0;
|
|
|
String llcode = null;
|
|
|
int llpiid=0;
|
|
|
- String macode=null;
|
|
|
+ String ma_tasktype=null;
|
|
|
+ int maid=0;
|
|
|
String llpiclass = "生产领料单", llcaller = "ProdInOut!Picking", bcpiclass = "拨出单", bccaller = "ProdInOut!AppropriationOut";
|
|
|
// 是否生成调拨单,勾选不生成,不勾选默认生成
|
|
|
Boolean notCreateAppropriation = baseDao.isDBSetting("MultiMakeSendLS", "notCreateAppropriation");
|
|
|
List<String> sqls = new ArrayList<>();
|
|
|
+ JSONArray array = data.get("detail");
|
|
|
+ if(array!=null&&array.size()>0){
|
|
|
+ String macode = StringUtil.valueOf(JSON.parseObject(StringUtil.nvl(array.get(0), "{}")).get("FICMOBillNo"));
|
|
|
+ Object[] data1 = baseDao.getFieldsDataByCondition("Make", "ma_tasktype,ma_id", "ma_code in ('" + macode + "')");
|
|
|
+ if (data1!=null&&data1.length>0) {
|
|
|
+ ma_tasktype = StringUtil.nvl(data1[0], "");
|
|
|
+ maid = Integer.parseInt(StringUtil.nvl(data1[1], "0"));
|
|
|
+ }else {
|
|
|
+ return ApiResponse.failRsp("10046", request.getHeader("RequestId"), "工单在ERP不存在,请核对!");
|
|
|
+ }
|
|
|
+ }
|
|
|
for (int i = 0; i <jsonArray.size() ; i++) {
|
|
|
JSONObject jsonObject2 = JSON.parseObject(StringUtil.nvl(jsonArray.get(i), ""));
|
|
|
Map<Object, Object> map1 = JSONUtil.toMap(StringUtil.valueOf(jsonObject2.get("FDeptID")));
|
|
|
@@ -489,8 +501,6 @@ public class MESServiceImpl implements MESService {
|
|
|
Map<Object, Object> map3 = JSONUtil.toMap(StringUtil.valueOf(jsonObject2.get("FFManagerID")));
|
|
|
Map<Object, Object> map4 = JSONUtil.toMap(StringUtil.valueOf(jsonObject2.get("FSManagerID")));
|
|
|
Map<Object, Object> map5 = JSONUtil.toMap(StringUtil.valueOf(jsonObject2.get("FBillerID")));
|
|
|
- macode = StringUtil.valueOf(jsonObject2.get("FHeadSelfB0437"));
|
|
|
- Object ma_tasktype = baseDao.getFieldDataByCondition("Make", "ma_tasktype", "ma_code in ('" + macode + "')");
|
|
|
if ("OS".equals(ma_tasktype)) {
|
|
|
llpiclass = "委外领料单";
|
|
|
llcaller = "ProdInOut!OutsidePicking";
|
|
|
@@ -505,7 +515,7 @@ public class MESServiceImpl implements MESService {
|
|
|
"values ("+bcpiid+",'"+bccode+"','"+bcpiclass+"',to_date('"+jsonObject2.get("Fdate")+"','yyyy-MM-dd " +
|
|
|
"HH24:mi:ss'),'UNPOST','未过账','"+map1.get("FNumber")+"','"+map1.get("FName")+"','"+map4.get("FNumber")+"','"+map4.get("FName")+"','ENTERING','在录入','"+map5.get("FName")+"',to_date('"+jsonObject2.get("Fdate")+"','yyyy-MM-dd HH24:mi:ss'),'UNPRINT','未打印','库存转移')");
|
|
|
}
|
|
|
- //生成生产领料单
|
|
|
+ //生成领料单
|
|
|
llpiid = baseDao.getSeqId("PRODINOUT_SEQ");
|
|
|
llcode = baseDao.sGetMaxNumber(llcaller, 2);
|
|
|
sqls.add("insert into prodinout (pi_id,pi_inoutno,pi_class,pi_date,pi_statuscode,pi_status," +
|
|
|
@@ -515,21 +525,12 @@ public class MESServiceImpl implements MESService {
|
|
|
"HH24:mi:ss'),'UNPOST','未过账','"+map1.get("FNumber")+"','"+map1.get("FName")+"','"+map4.get(
|
|
|
"FNumber")+"','"+map4.get("FName")+"','ENTERING','在录入','"+map5.get("FName")+"',to_date('"+jsonObject2.get("Fdate")+"','yyyy-MM-dd HH24:mi:ss'),'UNPRINT','未打印','"+map2.get("FName")+"')");
|
|
|
// 标示领料单的拨出单号
|
|
|
- baseDao.execute("update ProdInOut set pi_fromcode='" + bccode + "' where pi_id=" + llpiid);
|
|
|
+ sqls.add("update ProdInOut set pi_fromcode='" + bccode + "' where pi_id=" + llpiid);
|
|
|
}
|
|
|
- /*Object mmwhcode = baseDao.getFieldDataByCondition("MakeMaterial", "min(mm_whcode)", " nvl(mm_whcode,' ')<>' '" + " and mm_code in ('" + macode + "')");
|
|
|
- Object mmwhname="";
|
|
|
- if (mmwhcode!=null&&!"".equals(mmwhcode.toString())){
|
|
|
- mmwhname = baseDao.getFieldDataByCondition("warehouse", "min(wh_description)",
|
|
|
- "wh_code in ('" + mmwhcode + "'");
|
|
|
- }*/
|
|
|
-
|
|
|
- JSONArray array = data.get("detail");
|
|
|
Object[] warehouses=null;
|
|
|
Object[] warehouses2=null;
|
|
|
int detno=1;
|
|
|
int det=1;
|
|
|
- int maid=0;
|
|
|
for (int i = 0; i <array.size(); i++) {
|
|
|
JSONObject object = JSON.parseObject(StringUtil.nvl(array.get(i), "{}"));
|
|
|
Map<Object, Object> map = JSONUtil.toMap(StringUtil.valueOf(object.get("FItemID")));
|
|
|
@@ -544,7 +545,6 @@ public class MESServiceImpl implements MESService {
|
|
|
Double qty = Double.parseDouble(fAuxQty);
|
|
|
Map<Object, Object> map1 = JSONUtil.toMap(StringUtil.valueOf(object.get("FSCStockID1")));
|
|
|
String whcode = StringUtil.nvl(map1.get("FNumber"), "");
|
|
|
- String whname = StringUtil.nvl(map1.get("FName"), "");
|
|
|
if ("".equals(whcode)){
|
|
|
return ApiResponse.failRsp("10043",request.getHeader("RequestId"),"发料仓库不能为空!");
|
|
|
}
|
|
|
@@ -557,7 +557,6 @@ public class MESServiceImpl implements MESService {
|
|
|
String ficmoBillNo = StringUtil.nvl(object.get("FICMOBillNo"), "");
|
|
|
Map<Object, Object> map2 = JSONUtil.toMap(StringUtil.nvl(object.get("FSCStockID2"), "{}"));
|
|
|
String whcode2 = StringUtil.nvl(map2.get("FNumber"), "");
|
|
|
- String whname2 = StringUtil.nvl(map2.get("FName"), "");
|
|
|
if ("".equals(whcode2)){
|
|
|
return ApiResponse.failRsp("10043",request.getHeader("RequestId"),"物料所在仓库不能为空!");
|
|
|
}
|
|
|
@@ -612,6 +611,9 @@ public class MESServiceImpl implements MESService {
|
|
|
det++;
|
|
|
}
|
|
|
}
|
|
|
+ if ("OS".equals(ma_tasktype)) {
|
|
|
+ sqls.add("update prodinout set(pi_cardcode,pi_title,pi_receivecode,pi_receivename) = (select max(ma_vendcode),max(ma_vendname),max(nvl(ma_apvendcode,ma_vendcode)),max(nvl(ma_apvendname,ma_vendname)) from make where ma_id in (" + maid + ")) where pi_id=" + llpiid);
|
|
|
+ }
|
|
|
if (warehouses2!=null){
|
|
|
sqls.add("update prodinout set pi_whcode='"+warehouses2[0]+"',pi_whname='"+warehouses2[1]+"' where " + "pi_id="+bcpiid);
|
|
|
}
|
|
|
@@ -630,17 +632,17 @@ public class MESServiceImpl implements MESService {
|
|
|
String s = postProdInOut(bcpiid, bccaller, employee);
|
|
|
logger.info("S=="+s);
|
|
|
if (s!=null){
|
|
|
- return ApiResponse.successRsp("0",request.getHeader("RequestId"),"拨出单:"+bccode+",过账失败,请在ERP重新过账!");
|
|
|
+ return ApiResponse.successRsp("0",request.getHeader("RequestId"),bcpiclass+":"+bccode+",过账失败,请在ERP重新过账!");
|
|
|
}else {
|
|
|
if (count>0) {
|
|
|
String s1 = postProdInOut(llpiid, llcaller, employee);
|
|
|
logger.info("S1==" + s1);
|
|
|
if (s1 != null) {
|
|
|
- return ApiResponse.successRsp("0", request.getHeader("RequestId"), "生产领料单:" + llcode + ",过账失败,请在ERP重新过账!");
|
|
|
+ return ApiResponse.successRsp("0", request.getHeader("RequestId"), llpiclass+":" + llcode + ",过账失败,请在ERP重新过账!");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return ApiResponse.successRsp("0",request.getHeader("RequestId"),"生产领料单:"+llcode+",拨出单:"+bccode+",请在ERP查看!");
|
|
|
+ return ApiResponse.successRsp("0",request.getHeader("RequestId"),llpiclass+":"+llcode+","+bcpiclass+":"+bccode+ ",请在ERP查看!");
|
|
|
}
|
|
|
|
|
|
@Override
|