ajax传多个对象到后台

js jsonData 写法

TRawMaterialStorageDetail.delete = function () {
        //询问框
        layer.confirm('対象データが削除され、\n' +
            '在庫テーブルに反映されますが、\n' +
            'よろしいでしょうか?', {
            btn: ['いいえ','はい'], //按钮
            title: '<p style="background-color: #2aabd2"> </p>',
            btnAlign: 'c',
            skin: 'demo-class',
            title :" "
        }, function(){
            layer.closeAll();
        }, function(){
            var source_cd = $("#source_cd").val();
            var data_no = $("#data_no").val();
            var row=$("#TRawMaterialStorageDetailTable").bootstrapTable('getData');
            var rowArray = [];
            for(var i = 0;i<row.length;i++){
                rowArray.push({
                    "epc":row[i].epc
                })
            }

            var jsonData = { // json数据  此处键名称 需要跟 序列化对象Vo里的的属性名一致
                "sourceCd" : source_cd,
                "dataNo":data_no,
                "epcList":rowArray
            }

            $.ajax({
                type : "post",
                contentType : "application/json;charset=UTF-8",
                dataType: "json",
                data : JSON.stringify(jsonData),// 将json数据转化为字符串
                url : zcm.ctxPath+"/t-raw-material-storage/delete",
                success:function(result){
                    zcm.success("削除成功");
                    //重定向
                    setTimeout(function(){
                        window.location.replace(zcm.ctxPath +"/t-raw-material-storage")
                    }, 1300);
                },
                error :function (result) {
                    zcm.error("削除失败");
                }
            });
        });
};

 Controller 写法

    /**
     * 删除详情
     */
    @PostMapping(value = "/delete")
    @ResponseBody
    public Object delete(@RequestBody RawMaterialStorageVo rawMaterialStorageVo) throws Exception{

        itStockService.deleteMaterialStorageDetail(rawMaterialStorageVo);

        return this.SUCCESS_TIP;
    }

Vo

public class RawMaterialStorageVo  implements Serializable {

    private String dataNo;

    private String sourceCd;

    private List<TRawMaterialStorageAllocation> epcList;

    public String getDataNo() {
        return dataNo;
    }

    public void setDataNo(String dataNo) {
        this.dataNo = dataNo;
    }

    public String getSourceCd() {
        return sourceCd;
    }

    public void setSourceCd(String sourceCd) {
        this.sourceCd = sourceCd;
    }

    public List<TRawMaterialStorageAllocation> getEpcList() {
        return epcList;
    }

    public void setEpcList(List<TRawMaterialStorageAllocation> epcList) {
        this.epcList = epcList;
    }
}

service

@Transactional
    @Override
    public void deleteMaterialStorageDetail(RawMaterialStorageVo rawMaterialStorageVo) throws Exception {
        String dataNo = rawMaterialStorageVo.getDataNo();
        String sourceCd = rawMaterialStorageVo.getSourceCd();
        List<TRawMaterialStorageAllocation> epcList = rawMaterialStorageVo.getEpcList();
        if (epcList.size() > 0) {
            // ①更新在库表。
            for (int i = 0; i < epcList.size(); i++) {
                itStockService.updateSourceYardCdByEpc(epcList.get(i).getEpc(), sourceCd);
            }
            // ②将原材料放置场所移动分配表格(t_raw_material_storage_allocation)中与data_no绑定的相关的数据删除。
            itRawMaterialStorageAllocationService.deleteByDataNo(dataNo);
            // ③将原材料放置场所移动表格(t_raw_material_storage)中与data_no绑定的那条数据删除。
            itRawMaterialStorageService.deleteByDataNo(dataNo);
        } else {
            throw new ServiceException(BizExceptionEnum.APPLICATION_ERROR);
        }

    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值