Prechádzať zdrojové kódy

条码生成支持输入条码

callm 3 rokov pred
rodič
commit
5a4c2ccdc3

+ 9 - 5
WebContent/app/controller/scm/reserve/ProdCreateBarcode.js

@@ -63,10 +63,12 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
 				  if(pr_code && number){
 					  Ext.getCmp("pr_partNumber").setValue('');
 					  var batchcode = Ext.getCmp('batchCode').value;
-					  if(batchcode != null && batchcode != ''){						  
-						  me.batchGenerateBarcode(pr_code,number,batchcode);
+					  var UseBarcode = Ext.getCmp('UseBarcode').value;
+					  var barcode = Ext.getCmp('barCode').value;
+					  if(batchcode != null && batchcode != ''){
+						  me.batchGenerateBarcode(barcode,pr_code,number,batchcode,UseBarcode);
 					  }else{
-						  me.batchGenerateBarcode(pr_code,number,'');
+						  me.batchGenerateBarcode(barcode,pr_code,number,'',UseBarcode);
 					  } 
 				  }  
     			}
@@ -109,15 +111,17 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
 			else
 				mask.hide();
   },
-    batchGenerateBarcode: function(pr_code,number,batchcode){  
+    batchGenerateBarcode: function(barcode,pr_code,number,batchcode,UseBarcode){
 		var me=this;
 		me.setLoading(true); 
 		Ext.Ajax.request({
 	    	url : basePath +'scm/reserve/batchGenerateBarcode.action',
 			params: {
+				barcode:barcode,
 				pr_code:pr_code,
 				number:number,
-				batchcode:batchcode
+				batchcode:batchcode,
+				UseBarcode:UseBarcode
 			},
 			method : 'post',
 			callback : function(options,success,response){

+ 1 - 1
WebContent/app/view/scm/reserve/ProdCreateBarcode.js

@@ -37,7 +37,7 @@ Ext.define('erp.view.scm.reserve.ProdCreateBarcode',{
                         }}, {xtype:'button' , text:'清空',columnWidth: 0.07,margin: '20 0 0 0',handler: function(view, rowIndex, colIndex) {
                         	Ext.getCmp('barCode').setValue("");
                         	Ext.getCmp('barCode').focus(false, 100);
-						}} ,
+						}} ,{xtype:'checkbox' ,     fieldLabel:'使用录入条码',columnWidth: 0.07,margin: '20 0 0 0',id:"UseBarcode"},
                         { xtype: 'dbfindtrigger',fieldLabel:  '<font color="red">物料编号</font>',id: 'pr_code',name: 'pr_code',
 			    	    	labelAlign : "right",allowBlank: false,labelWidth:80,columnWidth: 0.45,margin: '20 0 0 0'},
                         { xtype: "textfield", name: "pr_partNumber", id:'pr_partNumber',labelAlign : "right",fieldLabel: '<font color="red">数量</font>', allowBlank: false,labelWidth:80,columnWidth: 0.45,margin: '20 0 0 0'},

+ 2 - 2
src/com/uas/mes/scm/controller/GenerateBarcodeController.java

@@ -144,9 +144,9 @@ public class GenerateBarcodeController {
 	 */
 	@RequestMapping("/scm/reserve/batchGenerateBarcode.action")
 	@ResponseBody
-	public Map<String, Object> batchGenerateBarcode(String pr_code, String number,String batchcode) {
+	public Map<String, Object> batchGenerateBarcode(String barcode,String pr_code, String number,String batchcode,boolean UseBarcode) {
 		Map<String, Object> modelMap = new HashMap<String, Object>();
-		modelMap.put("data", generateBarcodeService.batchGenerateBarcode(pr_code,number,batchcode));
+		modelMap.put("data", generateBarcodeService.batchGenerateBarcode(barcode,pr_code,number,batchcode,UseBarcode));
 		modelMap.put("success", true);
 		return modelMap;
 	}

+ 1 - 1
src/com/uas/mes/scm/service/GenerateBarcodeService.java

@@ -25,7 +25,7 @@ public interface GenerateBarcodeService {
 	
 	public List<Map<String ,Object>> combiningAndBreaking(String ids, Double total_remain, String every_remain);
 
-	public List<Map<String ,Object>> batchGenerateBarcode(String pr_code,String number,String batchcode);
+	public List<Map<String ,Object>> batchGenerateBarcode(String barcode,String pr_code,String number,String batchcode,boolean UseBarcode);
 
 	public Map<String ,Object> getBarInfo(String bar_code);
 }

+ 43 - 2
src/com/uas/mes/scm/service/impl/GenerateBarcodeServiceImpl.java

@@ -758,7 +758,7 @@ public class GenerateBarcodeServiceImpl implements GenerateBarcodeService{ //生
 	}
 
 	@Override
-	public List<Map<String, Object>> batchGenerateBarcode(String pr_code, String number,String batchcode) {
+	public List<Map<String, Object>> batchGenerateBarcode(String barcode,String pr_code, String number,String batchcode,boolean UseBarcode) {
 		if(("").equals(pr_code) || pr_code == null){
 			BaseUtil.showError("物料编号不能为空");
 		}else if(("").equals(number) || number == null || ("0").equals(number)){
@@ -775,10 +775,51 @@ public class GenerateBarcodeServiceImpl implements GenerateBarcodeService{ //生
 		String[] num = number.split( "," );
 		for(int i = 0;i < num.length;i++){
 			everyNum = Double.valueOf(num[i]);
-			returnList.add(generateBarcode(pr_code,everyNum,pr_id,batchcode));
+			returnList.add(generateBarcode(pr_code,everyNum,pr_id,batchcode,UseBarcode,barcode));
 		}
 		return returnList;
 	}
+	private Map<String,Object> generateBarcode(String pr_code,Double remain,int pr_id,String batchcode,boolean UserBarcode,String barcode){
+		int bar_id = baseDao.getSeqId("BARCODE_SEQ");
+		String bar_code=barcode;
+		Map<String,Object> mp1 = new HashMap<String, Object>();
+		mp1.put("BAR_ID", bar_id);
+		mp1.put("BAR_KIND", "3");// 类型为分拆 :1,合并:2,原始:0,自己生成为3
+		mp1.put("BAR_BATCHCODE", batchcode);
+		mp1.put("BAR_BATCHQTY", remain);
+		mp1.put("BAR_PRODCODE",pr_code);
+		mp1.put("BAR_PRODID",pr_id);
+		mp1.put("BAR_REMAIN",remain );
+		mp1.put("BAR_STATUS", "1");
+		mp1.put("BAR_PLACE", 1);
+		mp1.put("BAR_INMAN", SystemSession.getUser().getEm_name());
+		mp1.put("BAR_RECORDDATE", DateUtil.format(null, "yyyy-MM-dd HH:mm:ss"));
+		Map<String,Object> mapl = new HashMap<String, Object>();
+		if(UserBarcode){
+			bar_code=barcode;
+			mapl.put("BAR_ID", bar_id);
+			mapl.put("BAR_REMAIN", remain);
+			if(baseDao.checkIf("barcode","bar_code='"+bar_code+"'")){
+				mp1.put("BAR_CODE", "条码重复");
+				mp1.put("bar_sourcecode","条码重复");
+				mapl.put("BAR_CODE", "条码重复");
+				baseDao.execute(SqlUtil.getInsertSqlByFormStore(mp1, "barcode", new String[] {}, new Object[] {}));
+			}else{
+				mp1.put("BAR_CODE", bar_code);
+				mapl.put("BAR_CODE", bar_code);
+				baseDao.execute(SqlUtil.getInsertSqlByFormStore(mp1, "barcode", new String[] {}, new Object[] {}));
+			}
+		}else{
+			bar_code = verifyApplyDao.barcodeMethod(pr_code, "",0);// 无供应商信息
+			mp1.put("bar_sourcecode",bar_code);
+			mp1.put("BAR_CODE", bar_code);
+			mapl.put("BAR_CODE", bar_code);
+			baseDao.execute(SqlUtil.getInsertSqlByFormStore(mp1, "barcode", new String[] {}, new Object[] {}));
+			mapl.put("BAR_ID", bar_id);
+			mapl.put("BAR_REMAIN", remain);
+		}
+		return mapl;
+	}
 	
 	private Map<String,Object> generateBarcode(String pr_code,Double remain,int pr_id,String batchcode){
 		int bar_id = baseDao.getSeqId("BARCODE_SEQ");