|
@@ -32,6 +32,7 @@ import nc.jdbc.framework.generator.IdGenerator;
|
|
import nc.jdbc.framework.generator.SequenceGenerator;
|
|
import nc.jdbc.framework.generator.SequenceGenerator;
|
|
import nc.jdbc.framework.processor.BeanListProcessor;
|
|
import nc.jdbc.framework.processor.BeanListProcessor;
|
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
|
import nc.jdbc.framework.processor.ColumnProcessor;
|
|
|
|
+import nc.jdbc.framework.processor.MapProcessor;
|
|
import nc.md.data.access.NCObject;
|
|
import nc.md.data.access.NCObject;
|
|
import nc.md.persist.framework.IMDPersistenceQueryService;
|
|
import nc.md.persist.framework.IMDPersistenceQueryService;
|
|
import nc.ui.pub.ClientEnvironment;
|
|
import nc.ui.pub.ClientEnvironment;
|
|
@@ -95,6 +96,7 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
private ISaleOrder isoservice = (ISaleOrder) NCLocator.getInstance().lookup(ISaleOrder.class.getName());
|
|
private ISaleOrder isoservice = (ISaleOrder) NCLocator.getInstance().lookup(ISaleOrder.class.getName());
|
|
private IOrderTotalInfo iorder = NCLocator.getInstance().lookup(IOrderTotalInfo.class);
|
|
private IOrderTotalInfo iorder = NCLocator.getInstance().lookup(IOrderTotalInfo.class);
|
|
private IplatFormEntry iIplatFormEntry = NCLocator.getInstance().lookup(IplatFormEntry.class);
|
|
private IplatFormEntry iIplatFormEntry = NCLocator.getInstance().lookup(IplatFormEntry.class);
|
|
|
|
+ private IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
|
|
public ToSaleOutDialog(HRAggVO aggvo) {
|
|
public ToSaleOutDialog(HRAggVO aggvo) {
|
|
super();
|
|
super();
|
|
initialize(aggvo);
|
|
initialize(aggvo);
|
|
@@ -169,7 +171,7 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
try {
|
|
try {
|
|
ivjUIPanel0 = new UIPanel();
|
|
ivjUIPanel0 = new UIPanel();
|
|
ivjUIPanel0.setLayout(new FlowLayout(FlowLayout.LEFT));
|
|
ivjUIPanel0.setLayout(new FlowLayout(FlowLayout.LEFT));
|
|
- ivjUIPanel0.add(getQueryBtn());
|
|
|
|
|
|
+ // ivjUIPanel0.add(getQueryBtn());
|
|
ivjUIPanel0.add(getSelectallBtn());
|
|
ivjUIPanel0.add(getSelectallBtn());
|
|
ivjUIPanel0.add(getCancelallBtn());
|
|
ivjUIPanel0.add(getCancelallBtn());
|
|
} catch (Throwable ivjExc) {
|
|
} catch (Throwable ivjExc) {
|
|
@@ -326,10 +328,20 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
for(OrderInVO invo:orderinvos) {
|
|
for(OrderInVO invo:orderinvos) {
|
|
UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
|
|
UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
|
|
UFDouble bdef8 = invo.getBdef8()== null ? UFDouble.ZERO_DBL :new UFDouble(invo.getBdef8());//销售出库已执行主数量
|
|
UFDouble bdef8 = invo.getBdef8()== null ? UFDouble.ZERO_DBL :new UFDouble(invo.getBdef8());//销售出库已执行主数量
|
|
- if(num.sub(bdef8).compareTo(UFDouble.ZERO_DBL)==0) {
|
|
|
|
|
|
+
|
|
|
|
+ UFDouble nastnum=invo.getNastnum() == null ? UFDouble.ZERO_DBL : invo.getNastnum();//辅数量
|
|
|
|
+ UFDouble exenastnum = invo.getBdef9() == null ? UFDouble.ZERO_DBL : new UFDouble(invo.getBdef9());//已执行辅数量
|
|
|
|
+
|
|
|
|
+ if(num.sub(bdef8).compareTo(UFDouble.ZERO_DBL)==0 && num.compareTo(UFDouble.ZERO_DBL)>0) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- invo.setBdef5(num.sub(bdef8).toString());
|
|
|
|
|
|
+ invo.setBdef5(num.sub(bdef8).setScale(2, UFDouble.ROUND_HALF_UP).toString());
|
|
|
|
+
|
|
|
|
+ //没有辅数量
|
|
|
|
+ if(nastnum.compareTo(UFDouble.ZERO_DBL)!=0 ) {
|
|
|
|
+ invo.setBdef7(nastnum.sub(exenastnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());//本次执行辅数量
|
|
|
|
+ }
|
|
|
|
+
|
|
invos.add(invo);
|
|
invos.add(invo);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -342,13 +354,21 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
OrderInVO invo = (OrderInVO) vo;
|
|
OrderInVO invo = (OrderInVO) vo;
|
|
UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
|
|
UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
|
|
UFDouble bdef8 = invo.getBdef8() == null ?UFDouble.ZERO_DBL : new UFDouble(invo.getBdef8());
|
|
UFDouble bdef8 = invo.getBdef8() == null ?UFDouble.ZERO_DBL : new UFDouble(invo.getBdef8());
|
|
|
|
+ UFDouble nastnum=invo.getNastnum() == null ? UFDouble.ZERO_DBL : invo.getNastnum();//辅数量
|
|
|
|
+ UFDouble exenastnum = invo.getBdef9() == null ? UFDouble.ZERO_DBL : new UFDouble(invo.getBdef9());//已执行辅数量
|
|
// if(num.equals(execnum) && num.equals(new UFDouble(0))) {
|
|
// if(num.equals(execnum) && num.equals(new UFDouble(0))) {
|
|
// continue;
|
|
// continue;
|
|
// }
|
|
// }
|
|
- if(num.sub(bdef8).compareTo(UFDouble.ZERO_DBL)==0) {
|
|
|
|
|
|
+ if(num.sub(bdef8).compareTo(UFDouble.ZERO_DBL)==0 && num.compareTo(UFDouble.ZERO_DBL)>0) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- invo.setBdef5(num.sub(bdef8).toString());
|
|
|
|
|
|
+
|
|
|
|
+ //没有辅数量
|
|
|
|
+ if(nastnum.compareTo(UFDouble.ZERO_DBL)!=0 ) {
|
|
|
|
+ invo.setBdef7(nastnum.sub(exenastnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());//本次执行辅数量
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ invo.setBdef5(num.sub(bdef8).setScale(2, UFDouble.ROUND_HALF_UP).toString());
|
|
invos.add(invo);
|
|
invos.add(invo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -362,9 +382,41 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public void afterEdit(BillEditEvent var1) {
|
|
|
|
- // TODO Auto-generated method stub
|
|
|
|
-
|
|
|
|
|
|
+ public void afterEdit(BillEditEvent arg0) {
|
|
|
|
+ Object objbdef6=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "bdef6");//换算率
|
|
|
|
+ Object objnastnum=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "nastnum");//辅数量
|
|
|
|
+ Object objnum=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "num");//主数量
|
|
|
|
+
|
|
|
|
+ if(null!=objnastnum && "".equals(objnastnum.toString()) && (null==objbdef6 || "".equals(objbdef6.toString()))) {
|
|
|
|
+ MessageDialog.showErrorDlg(mainpanel, "错误", "请检查换算率不能为空!");
|
|
|
|
+ this.jlcardPanel.setBodyValueAt(false, arg0.getRow(), "bdef4");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ //本次执行主数量
|
|
|
|
+ if("bdef5".equals(arg0.getKey())) {
|
|
|
|
+ String value=arg0.getValue().toString();//填写的主数量
|
|
|
|
+
|
|
|
|
+ UFDouble ufbdef7=new UFDouble(value).div
|
|
|
|
+ (new UFDouble(objnum.toString()).div(new UFDouble(objnastnum.toString()))).setScale(2, UFDouble.ROUND_HALF_UP);
|
|
|
|
+
|
|
|
|
+ this.jlcardPanel.setBodyValueAt(ufbdef7, arg0.getRow(), "bdef7");//本次执行辅数量
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //本次执行辅数量
|
|
|
|
+ if("bdef7".equals(arg0.getKey())) {
|
|
|
|
+ String value=arg0.getValue().toString();//填写的辅数量
|
|
|
|
+
|
|
|
|
+ if(null!=objnastnum && !"".equals(objnastnum.toString())) {
|
|
|
|
+
|
|
|
|
+ UFDouble ufbdef5=new UFDouble(value).multiply
|
|
|
|
+ (new UFDouble(objnum.toString()).div(new UFDouble(objnastnum.toString()))).setScale(2, UFDouble.ROUND_HALF_UP);
|
|
|
|
+
|
|
|
|
+ this.jlcardPanel.setBodyValueAt(ufbdef5, arg0.getRow(), "bdef5");//本次执行辅数量
|
|
|
|
+ }else {
|
|
|
|
+ MessageDialog.showHintDlg(mainpanel, "提示", "此存货没有辅计量单位!");
|
|
|
|
+ this.jlcardPanel.setBodyValueAt(null, arg0.getRow(), "bdef7");//本次执行辅数量
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -410,9 +462,9 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
}
|
|
}
|
|
execsize = execsize + 1;
|
|
execsize = execsize + 1;
|
|
UFDouble execnum = new UFDouble(vector.get(1).toString());//本次执行数量
|
|
UFDouble execnum = new UFDouble(vector.get(1).toString());//本次执行数量
|
|
- UFDouble nnum = new UFDouble(vector.get(22).toString());//主数量
|
|
|
|
|
|
+ UFDouble nnum = new UFDouble(vector.get(23).toString());//主数量
|
|
UFDouble usednum = vector.get(51) == null?new UFDouble(0):new UFDouble(vector.get(51).toString());//已执行主数量
|
|
UFDouble usednum = vector.get(51) == null?new UFDouble(0):new UFDouble(vector.get(51).toString());//已执行主数量
|
|
- if(execnum.compareTo(nnum.sub(usednum)) > 0) {
|
|
|
|
|
|
+ if(execnum.compareTo(nnum.sub(usednum)) > 0 && nnum.compareTo(UFDouble.ZERO_DBL)>0 ) {
|
|
errmsg.append("第"+(i+1)+"行本次执行数量超过订单剩余数量!");
|
|
errmsg.append("第"+(i+1)+"行本次执行数量超过订单剩余数量!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -436,14 +488,35 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
SaleOrderVO [] saleaggvos=new SaleOrderVO [1];
|
|
SaleOrderVO [] saleaggvos=new SaleOrderVO [1];
|
|
SaleOrderVO saleaggvo=new SaleOrderVO();
|
|
SaleOrderVO saleaggvo=new SaleOrderVO();
|
|
SaleorderHVO saleheadvo =new SaleorderHVO();
|
|
SaleorderHVO saleheadvo =new SaleorderHVO();
|
|
|
|
+
|
|
|
|
+ //项目编码 pk_defdoc9
|
|
|
|
+// saleheadvo.setAttributeValue("pk_defdoc9", prjcode);
|
|
|
|
+// //项目名称pk_defdoc10
|
|
|
|
+// saleheadvo.setAttributeValue("pk_defdoc10", prjcode);
|
|
|
|
+// //加工单号pk_defdoc2
|
|
|
|
+// saleheadvo.setAttributeValue("pk_defdoc2", headvo.getDef1());
|
|
|
|
+// saleheadvo.setAttributeValue("pk_defdoc8", billtype);//业务类型
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ Map<String,String> mapcodename=getprojectmap(prjcode);
|
|
|
|
+ //项目编码
|
|
|
|
+ // saleheadvo.setAttributeValue("vuserdef9",mapcodename.get("jobcode") );
|
|
//项目编码 pk_defdoc9
|
|
//项目编码 pk_defdoc9
|
|
- saleheadvo.setAttributeValue("pk_defdoc9", prjcode);
|
|
|
|
|
|
+ // saleheadvo.setAttributeValue("pk_defdoc9", prjcode);
|
|
|
|
+ //项目名称
|
|
|
|
+ saleheadvo.setAttributeValue("vdef10", mapcodename.get("jobname"));
|
|
//项目名称pk_defdoc10
|
|
//项目名称pk_defdoc10
|
|
- saleheadvo.setAttributeValue("pk_defdoc10", prjcode);
|
|
|
|
- //加工单号pk_defdoc2
|
|
|
|
- saleheadvo.setAttributeValue("pk_defdoc2", headvo.getDef1());
|
|
|
|
|
|
+ saleheadvo.setAttributeValue("pk_defdoc10", prjcode);
|
|
|
|
+ //加工单号
|
|
|
|
+ saleheadvo.setAttributeValue("vdef1", headvo.getDef1());
|
|
|
|
+
|
|
|
|
+ //业务类型
|
|
|
|
+ saleheadvo.setAttributeValue("vdef7", billtype.trim());
|
|
|
|
+
|
|
|
|
+ saleheadvo.setAttributeValue("pk_defdoc7",getpkdefdoc(billtype.trim()));
|
|
|
|
+
|
|
|
|
+
|
|
saleheadvo.setVnote("来源生产总订单");//备注
|
|
saleheadvo.setVnote("来源生产总订单");//备注
|
|
- saleheadvo.setAttributeValue("pk_defdoc8", billtype);//业务类型
|
|
|
|
saleheadvo.setAttributeValue("bcooptopo", "N");//是否已协同生成采购订单
|
|
saleheadvo.setAttributeValue("bcooptopo", "N");//是否已协同生成采购订单
|
|
saleheadvo.setBfreecustflag(UFBoolean.FALSE);//是否散户
|
|
saleheadvo.setBfreecustflag(UFBoolean.FALSE);//是否散户
|
|
saleheadvo.setBinitflag(UFBoolean.FALSE);//期初标志
|
|
saleheadvo.setBinitflag(UFBoolean.FALSE);//期初标志
|
|
@@ -479,13 +552,14 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
saleaggvo.setParentVO(saleheadvo);
|
|
saleaggvo.setParentVO(saleheadvo);
|
|
SaleorderBVO[] salebodyvos=new SaleorderBVO[execsize];
|
|
SaleorderBVO[] salebodyvos=new SaleorderBVO[execsize];
|
|
Map<String, UFDouble> updatemap = new HashMap<>();
|
|
Map<String, UFDouble> updatemap = new HashMap<>();
|
|
|
|
+ Map<String, UFDouble> updatfzemap = new HashMap<>();
|
|
int k = 0;
|
|
int k = 0;
|
|
for(int j = 0; j < vectors.size(); j++) {
|
|
for(int j = 0; j < vectors.size(); j++) {
|
|
Vector<Object> vector = (Vector<Object>)vectors.get(j);
|
|
Vector<Object> vector = (Vector<Object>)vectors.get(j);
|
|
//自定义项4为勾选按钮 :勾选为Y 没有勾选是null
|
|
//自定义项4为勾选按钮 :勾选为Y 没有勾选是null
|
|
if(null!=vector.get(0) && "Y".equals(vector.get(0).toString())){
|
|
if(null!=vector.get(0) && "Y".equals(vector.get(0).toString())){
|
|
SaleorderBVO sbvo = new SaleorderBVO();
|
|
SaleorderBVO sbvo = new SaleorderBVO();
|
|
- String cmaterialcode = vector.get(8).toString();
|
|
|
|
|
|
+ String cmaterialcode = vector.get(9).toString();
|
|
String pk_invbasdoc = "";//存货pk管理档案主键
|
|
String pk_invbasdoc = "";//存货pk管理档案主键
|
|
if(cmaterialcode.startsWith("0001")) {
|
|
if(cmaterialcode.startsWith("0001")) {
|
|
pk_invbasdoc = cmaterialcode;
|
|
pk_invbasdoc = cmaterialcode;
|
|
@@ -522,26 +596,30 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
sbvo.setCprojectid(prjcode);//项目
|
|
sbvo.setCprojectid(prjcode);//项目
|
|
|
|
|
|
//corder_bid 销售订单附表ID creceipttype 来源单据类型
|
|
//corder_bid 销售订单附表ID creceipttype 来源单据类型
|
|
- sbvo.setCquoteunitid(GetBaseDAOUtil.getMeasidByName(vector.get(21).toString()));//报价计量单位
|
|
|
|
|
|
+ sbvo.setCquoteunitid(GetBaseDAOUtil.getMeasidByName(vector.get(22).toString()));//报价计量单位
|
|
sbvo.setCreceiptcorpid(kh); // 收货单位
|
|
sbvo.setCreceiptcorpid(kh); // 收货单位
|
|
- sbvo.setCunitid(GetBaseDAOUtil.getMeasidByName(vector.get(21).toString())); // 主计量单位
|
|
|
|
- sbvo.setCpackunitid(vector.get(28) == null ? null : GetBaseDAOUtil.getMeasidByNames(vector.get(28).toString())); // 辅单位
|
|
|
|
|
|
+ sbvo.setCunitid(GetBaseDAOUtil.getMeasidByName(vector.get(22).toString())); // 主计量单位
|
|
|
|
+ sbvo.setCpackunitid(vector.get(29) == null ? null : GetBaseDAOUtil.getMeasidByNames(vector.get(29).toString())); // 辅单位
|
|
sbvo.setDconsigndate(PubEnv.getLoginDate());//发货日期
|
|
sbvo.setDconsigndate(PubEnv.getLoginDate());//发货日期
|
|
sbvo.setDdeliverdate(PubEnv.getLoginDate()); //交货日期
|
|
sbvo.setDdeliverdate(PubEnv.getLoginDate()); //交货日期
|
|
UFDouble ninnum = vector.get(1) == null ? null : new UFDouble(vector.get(1).toString());
|
|
UFDouble ninnum = vector.get(1) == null ? null : new UFDouble(vector.get(1).toString());
|
|
sbvo.setNnumber(ninnum);//数量
|
|
sbvo.setNnumber(ninnum);//数量
|
|
- UFDouble Hsl = vector.get(49) == null ? null : new UFDouble(vector.get(49).toString());
|
|
|
|
|
|
+ UFDouble Hsl = vector.get(50) == null ? null : new UFDouble(vector.get(50).toString());
|
|
//没有换算率则辅数量为空
|
|
//没有换算率则辅数量为空
|
|
- UFDouble ninassistnum =UFDouble.ZERO_DBL;
|
|
|
|
- if(Hsl != null) {
|
|
|
|
- ninassistnum = new UFDouble(ninnum.div(Hsl).toString(),2);
|
|
|
|
- sbvo.setNpacknumber(new UFDouble(ninassistnum));//辅数量
|
|
|
|
- }
|
|
|
|
|
|
+ // UFDouble ninassistnum =UFDouble.ZERO_DBL;
|
|
|
|
+ UFDouble ninassistnum = vector.get(2) == null ? null : new UFDouble(vector.get(2).toString());//本次执行辅数量
|
|
|
|
+// if(Hsl != null) {
|
|
|
|
+// ninassistnum = new UFDouble(ninnum.div(Hsl).toString(),2);
|
|
|
|
+// sbvo.setNpacknumber(new UFDouble(ninassistnum));//辅数量
|
|
|
|
+// }
|
|
|
|
+ sbvo.setNpacknumber(ninassistnum);//辅数量
|
|
|
|
+
|
|
|
|
+
|
|
sbvo.setNquoteunitnum(ninnum);//报价单位数量
|
|
sbvo.setNquoteunitnum(ninnum);//报价单位数量
|
|
|
|
|
|
sbvo.setFbatchstatus(1); //批次状态
|
|
sbvo.setFbatchstatus(1); //批次状态
|
|
sbvo.setIncoconfclose("N");
|
|
sbvo.setIncoconfclose("N");
|
|
- sbvo.setCbatchid(vector.get(7)==null?"":vector.get(7).toString());//批次
|
|
|
|
|
|
+ sbvo.setCbatchid(vector.get(8)==null?"":vector.get(8).toString());//批次
|
|
sbvo.setNdiscountrate(new UFDouble("100"));//整单折扣
|
|
sbvo.setNdiscountrate(new UFDouble("100"));//整单折扣
|
|
sbvo.setNexchangeotobrate(UFDouble.ONE_DBL);//折本汇率
|
|
sbvo.setNexchangeotobrate(UFDouble.ONE_DBL);//折本汇率
|
|
sbvo.setNitemdiscountrate(new UFDouble("100"));//单品折扣率
|
|
sbvo.setNitemdiscountrate(new UFDouble("100"));//单品折扣率
|
|
@@ -584,29 +662,70 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
// sbvo.setVreceiveaddress(pk_corp); //收货地址
|
|
// sbvo.setVreceiveaddress(pk_corp); //收货地址
|
|
String bidpk=UUID.randomUUID().toString().substring(0, 20);
|
|
String bidpk=UUID.randomUUID().toString().substring(0, 20);
|
|
sbvo.setCorder_bid(bidpk);//主键
|
|
sbvo.setCorder_bid(bidpk);//主键
|
|
- sbvo.setVfree1(vector.get(12)==null?null:vector.get(12).toString());//颜色
|
|
|
|
- sbvo.setVfree2(vector.get(14)==null?null:vector.get(14).toString());//合金
|
|
|
|
- sbvo.setVfree3(vector.get(13)==null?null:vector.get(13).toString());//定尺
|
|
|
|
- sbvo.setVfree4(vector.get(15)==null?null:vector.get(15).toString());//标准
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc1", vector.get(37)==null?null:vector.get(37).toString());//楼号楼层
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc2", vector.get(38)==null?null:vector.get(38).toString());//樘数(数量)
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc3", vector.get(39)==null?null:vector.get(39).toString());//框统计
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc4", vector.get(40)==null?null:vector.get(40).toString());//扇统计
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc5", vector.get(41)==null?null:vector.get(41).toString());//半成品分类
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc6", vector.get(42)==null?null:vector.get(42).toString());//面积
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc7", vector.get(43)==null?null:vector.get(43).toString());//切割长度
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc8", vector.get(44)==null?null:vector.get(44).toString());//切割角度左下
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc9", vector.get(45)==null?null:vector.get(45).toString());//切割角度右上
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc10",vector.get(46)==null?null:vector.get(46).toString());//备注
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc11",vector.get(19)==null?null:vector.get(19).toString());//宽度
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc12",vector.get(20)==null?null:vector.get(20).toString());//高度
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc13",vector.get(47)==null?null:vector.get(47).toString());//系列
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc14",vector.get(48)==null?null:vector.get(48).toString());//玻璃编号
|
|
|
|
- sbvo.setAttributeValue("pk_defdoc20",vector.get(36)==null?null:vector.get(36).toString());//开票类型
|
|
|
|
|
|
+// sbvo.setVfree1(vector.get(12)==null?null:vector.get(12).toString());//颜色
|
|
|
|
+// sbvo.setVfree2(vector.get(14)==null?null:vector.get(14).toString());//合金
|
|
|
|
+// sbvo.setVfree3(vector.get(13)==null?null:vector.get(13).toString());//定尺
|
|
|
|
+// sbvo.setVfree4(vector.get(15)==null?null:vector.get(15).toString());//标准
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc1", vector.get(37)==null?null:vector.get(37).toString());//楼号楼层
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc2", vector.get(38)==null?null:vector.get(38).toString());//樘数(数量)
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc3", vector.get(39)==null?null:vector.get(39).toString());//框统计
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc4", vector.get(40)==null?null:vector.get(40).toString());//扇统计
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc5", vector.get(41)==null?null:vector.get(41).toString());//半成品分类
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc6", vector.get(42)==null?null:vector.get(42).toString());//面积
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc7", vector.get(43)==null?null:vector.get(43).toString());//切割长度
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc8", vector.get(44)==null?null:vector.get(44).toString());//切割角度左下
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc9", vector.get(45)==null?null:vector.get(45).toString());//切割角度右上
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc10",vector.get(46)==null?null:vector.get(46).toString());//备注
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc11",vector.get(19)==null?null:vector.get(19).toString());//宽度
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc12",vector.get(20)==null?null:vector.get(20).toString());//高度
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc13",vector.get(47)==null?null:vector.get(47).toString());//系列
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc14",vector.get(48)==null?null:vector.get(48).toString());//玻璃编号
|
|
|
|
+// sbvo.setAttributeValue("pk_defdoc20",vector.get(36)==null?null:vector.get(36).toString());//开票类型
|
|
|
|
+
|
|
|
|
+ sbvo.setVfree1(vector.get(13) == null ? null : vector.get(13).toString());//颜色
|
|
|
|
+ sbvo.setVfree2(vector.get(15) == null ? null : vector.get(15).toString());//合金
|
|
|
|
+ sbvo.setVfree3(vector.get(14) == null ? null : vector.get(14).toString());//定尺
|
|
|
|
+ sbvo.setVfree4(vector.get(16) == null ? null : vector.get(16).toString());//标准
|
|
|
|
+
|
|
|
|
+ sbvo.setAttributeValue("vdef1", vector.get(38)==null?null:vector.get(38).toString());//楼号楼层
|
|
|
|
+ sbvo.setAttributeValue("vdef2", vector.get(39)==null?null:vector.get(39).toString());//樘数(数量)
|
|
|
|
+ sbvo.setAttributeValue("vdef3", vector.get(40)==null?null:vector.get(40).toString());//框统计
|
|
|
|
+ sbvo.setAttributeValue("vdef4", vector.get(41)==null?null:vector.get(41).toString());//扇统计
|
|
|
|
+ sbvo.setAttributeValue("vdef5", vector.get(42)==null?null:vector.get(42).toString());//半成品分类
|
|
|
|
+ sbvo.setAttributeValue("vdef6", vector.get(43)==null?null:vector.get(43).toString());//面积
|
|
|
|
+ sbvo.setAttributeValue("vdef7", vector.get(44)==null?null:vector.get(44).toString());//切割长度
|
|
|
|
+ sbvo.setAttributeValue("vdef8", vector.get(45)==null?null:vector.get(45).toString());//切割角度左下
|
|
|
|
+ sbvo.setAttributeValue("vdef9", vector.get(46)==null?null:vector.get(46).toString());//切割角度右上
|
|
|
|
+ sbvo.setAttributeValue("vdef10",vector.get(47)==null?null:vector.get(47).toString());//备注
|
|
|
|
+ sbvo.setAttributeValue("vdef11",vector.get(20)==null?null:vector.get(20).toString());//宽度
|
|
|
|
+ sbvo.setAttributeValue("vdef12",vector.get(21)==null?null:vector.get(21).toString());//高度
|
|
|
|
+ sbvo.setAttributeValue("vdef13",vector.get(48)==null?null:vector.get(48).toString());//系列
|
|
|
|
+ sbvo.setAttributeValue("vdef14",vector.get(49)==null?null:vector.get(49).toString());//玻璃编号
|
|
|
|
+
|
|
|
|
+ sbvo.setAttributeValue("vdef15",vector.get(37)==null?null:vector.get(37).toString());//开票类型
|
|
|
|
+ sbvo.setAttributeValue("vdef17",vector.get(19)==null?null:vector.get(19).toString());//窗号
|
|
|
|
+ sbvo.setAttributeValue("vdef18",vector.get(17)==null?null:vector.get(17).toString());//米重
|
|
|
|
+ sbvo.setAttributeValue("vdef19",vector.get(18)==null?null:vector.get(18).toString());//装饰面周长
|
|
|
|
+ sbvo.setAttributeValue("vdef20",vector.get(6)==null?null:vector.get(6).toString());//专用区
|
|
|
|
+ sbvo.setAttributeValue("pk_defdoc20",getzyqpk("专用区",vector.get(6)==null?null:vector.get(6).toString()));//专用区
|
|
|
|
+
|
|
|
|
+ //来源单据主表ID
|
|
|
|
+ sbvo.setCsourcebillid(headvo.getPk_order());
|
|
|
|
+ //来源子表ID
|
|
|
|
+ sbvo.setCsourcebillbodyid(vector.get(35).toString());
|
|
|
|
+ //来源单据类型
|
|
|
|
+ sbvo.setCreceipttype("55A2");
|
|
|
|
+
|
|
//回写数量
|
|
//回写数量
|
|
UFDouble updatenum = new UFDouble(vector.get(51)==null?"0":vector.get(51).toString())
|
|
UFDouble updatenum = new UFDouble(vector.get(51)==null?"0":vector.get(51).toString())
|
|
.add(new UFDouble(vector.get(1)==null?"0":vector.get(1).toString()));
|
|
.add(new UFDouble(vector.get(1)==null?"0":vector.get(1).toString()));
|
|
- updatemap.put(vector.get(34).toString(), updatenum);
|
|
|
|
|
|
+ updatemap.put(vector.get(35).toString(), updatenum);
|
|
|
|
+
|
|
|
|
+ UFDouble updatefznum = new UFDouble(vector.get(52)==null?"0":
|
|
|
|
+ vector.get(52).toString()).add(new UFDouble(vector.get(2)==null?"0":vector.get(2).toString()));//已执行辅数量+本次执行辅数量
|
|
|
|
+
|
|
|
|
+ updatfzemap.put(vector.get(35).toString(), updatefznum);
|
|
|
|
+
|
|
salebodyvos[k]=sbvo;
|
|
salebodyvos[k]=sbvo;
|
|
k = k + 1;
|
|
k = k + 1;
|
|
}
|
|
}
|
|
@@ -631,6 +750,8 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
IplatFormEntry iIplatFormEntry = (IplatFormEntry)NCLocator.getInstance().lookup(IplatFormEntry.class.getName());
|
|
IplatFormEntry iIplatFormEntry = (IplatFormEntry)NCLocator.getInstance().lookup(IplatFormEntry.class.getName());
|
|
iIplatFormEntry.processAction("APPROVE", "30", saleheadvo.getDbilldate().toString(), null, inseaggvos, null, null);
|
|
iIplatFormEntry.processAction("APPROVE", "30", saleheadvo.getDbilldate().toString(), null, inseaggvos, null, null);
|
|
Boolean updateres = iorder.UpdateInExecNum(updatemap);
|
|
Boolean updateres = iorder.UpdateInExecNum(updatemap);
|
|
|
|
+ Boolean updateresfz = iorder.UpdateInfzExecNum(updatfzemap);
|
|
|
|
+
|
|
MessageDialog.showHintDlg(mainpanel, "成功", "销售出库单新增成功!");
|
|
MessageDialog.showHintDlg(mainpanel, "成功", "销售出库单新增成功!");
|
|
this.closeCancel();
|
|
this.closeCancel();
|
|
} catch (Exception e1) {
|
|
} catch (Exception e1) {
|
|
@@ -763,5 +884,52 @@ public class ToSaleOutDialog extends UIDialog implements ActionListener,BillEdit
|
|
return valueobj.toString();
|
|
return valueobj.toString();
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //项目管理档案-编码和名称
|
|
|
|
+ public Map<String,String> getprojectmap(String pk_jobmngfil ) throws Exception {
|
|
|
|
+ String sql = "select jobcode,jobname from bd_jobbasfil where "
|
|
|
|
+ + "pk_jobbasfil = (select pk_jobbasfil from bd_jobmngfil where pk_jobmngfil ='"+pk_jobmngfil+"' and dr = 0) "
|
|
|
|
+ + "and dr=0";
|
|
|
|
+ Map<String,String> map = (Map<String, String>) iuap.executeQuery(sql, new MapProcessor());
|
|
|
|
+ if (map == null || map.size()==0) {
|
|
|
|
+ throw new Exception("项目管理档案"+pk_jobmngfil+"未查到,请检查");
|
|
|
|
+ }
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //业务类型自定义档案查询
|
|
|
|
+ private String getpkdefdoc(String docname ) throws Exception {
|
|
|
|
+ String sql="select pk_defdoc from bd_defdoc where pk_defdoclist = "
|
|
|
|
+ + "(select pk_defdoclist from bd_defdef where defname = '业务类型' and dr=0 ) and dr=0 "
|
|
|
|
+ + "and docname='"+docname+"'";
|
|
|
|
+
|
|
|
|
+ Object pkdefdoc = iuap.executeQuery(sql, new ColumnProcessor());
|
|
|
|
+ if(pkdefdoc == null || "".equals(pkdefdoc)) {
|
|
|
|
+ throw new Exception("业务类型【"+docname+"】未查到,请检查");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return pkdefdoc.toString();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ private String getzyqpk(String doclistname,String docname) throws BusinessException {
|
|
|
|
+
|
|
|
|
+ if(null==docname || "".equals(docname)) {
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //取到自定义档案列表主键
|
|
|
|
+ String sql = "select pk_defdoclist from bd_defdoclist where doclistname = '"+doclistname+"'";
|
|
|
|
+ Object pk_defdoclist = iuap.executeQuery(sql, new ColumnProcessor());
|
|
|
|
+ if(pk_defdoclist == null) {
|
|
|
|
+ throw new BusinessException("以下档案在U8cloud系统中根据公司或者账簿信息找不到,请检查!详细信息:1、档案类型:自定义档案列表,档案名称:"+doclistname);
|
|
|
|
+ }
|
|
|
|
+ String sql1 = "select pk_defdoc from bd_defdoc where pk_defdoclist = '"+pk_defdoclist.toString()+"' and docname ='"+docname+"'";
|
|
|
|
+ String pk_defdoc = (String) iuap.executeQuery(sql1, new ColumnProcessor());
|
|
|
|
+
|
|
|
|
+ return pk_defdoc;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|