| | |
| | | } |
| | | |
| | | @RequestMapping("/adjustNew/auth") |
| | | @ManagerAuth(memo = "盘点") |
| | | @ManagerAuth(memo = "pda盘点") |
| | | public R adjustNew(@RequestBody MobileAdjustNewParam combParam){ |
| | | mobileService.adjustNew(combParam, getUserId()); |
| | | return R.ok("盘点成功"); |
| | |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.CheckDTO; |
| | | import com.zy.asrs.entity.param.MatnrDto; |
| | | import com.zy.asrs.entity.param.OrderCheckParam; |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.entity.result.KeyValueVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.CodeRes; |
| | |
| | | @Autowired |
| | | private LocCheckTrimService locCheckTrimService; |
| | | |
| | | @RequestMapping(value = "/orderCheck/examine") |
| | | @ManagerAuth(memo = "审核盘点单") |
| | | @Transactional |
| | | public R examine(@RequestBody ExamineParam param){ |
| | | orderCheckService.examine(param); |
| | | |
| | | return R.ok("审核完成"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/orderCheck/nav/list/auth") |
| | | @ManagerAuth |
| | | public R navList(@RequestParam(required = false) String orderNo){ |
| | |
| | | @ExcelProperty({"盘点单", "真实数量"}) |
| | | private Double realAnfme; |
| | | |
| | | @ApiModelProperty(value= "批次") |
| | | @TableField("batch") |
| | | private String batch; |
| | | |
| | | public String getOwner$(){ |
| | | LocOwnerService service = SpringUtils.getBean(LocOwnerService.class); |
| | | LocOwner locOwner = service.selectById(this.owner); |
| | |
| | | |
| | | @ApiModelProperty(value= "添加时间") |
| | | @TableField("real_anfme") |
| | | private Date realAnfme; |
| | | private Double realAnfme; |
| | | |
| | | @ApiModelProperty(value= "订单号") |
| | | @TableField("order_no") |
New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | @Data |
| | | public class ExamineParam { |
| | | |
| | | private String orderNo; |
| | | |
| | | private List<data> list; |
| | | |
| | | |
| | | @Data |
| | | public static class data{ |
| | | private String orderNo; |
| | | private String locNo; |
| | | private Double anfme; |
| | | private String matnr; |
| | | private String maktx; |
| | | private Double realAnfme; |
| | | } |
| | | |
| | | } |
| | |
| | | package com.zy.asrs.service; |
| | | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.ExamineParam; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | List<OrderCheck> selectToBeHistoryOrder(); |
| | | |
| | | void remove(String orderNo); |
| | | |
| | | R examine(ExamineParam param); |
| | | } |
| | |
| | | @Autowired |
| | | private LocCheckService locCheckService; |
| | | |
| | | @Autowired |
| | | private OrderCheckService orderCheckService; |
| | | |
| | | |
| | | |
| | | @Override |
| | |
| | | locCheck.setCreateTime(now); |
| | | locCheck.setUpdateTime(now); |
| | | locCheck.setOrderNo(combParam.getOrderNo()); |
| | | locCheck.setBatch(detl.getBatch()); |
| | | |
| | | if (!locCheckService.insert(locCheck)){ |
| | | return R.error("盘点明细插入失败"); |
| | |
| | | |
| | | |
| | | } |
| | | OrderCheck orderCheck = orderCheckService.selectOne(new EntityWrapper<OrderCheck>().eq("order_no", combParam.getOrderNo())); |
| | | orderCheck.setSettle(2L); |
| | | if (!orderCheckService.update(orderCheck,new EntityWrapper<OrderCheck>().eq("order_no", combParam.getOrderNo()))){ |
| | | return R.error("更新盘点单状态失败!"); |
| | | } |
| | | |
| | | |
| | | return R.ok("盘点成功"); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.core.common.SnowflakeIdWorker; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.ExamineParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakinParam; |
| | | import com.zy.asrs.entity.param.OpenOrderPakoutParam; |
| | | import com.zy.asrs.mapper.OrderCheckMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Slf4j |
| | |
| | | |
| | | @Autowired |
| | | private LocCheckService locCheckService; |
| | | |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | |
| | | @Autowired |
| | | private NodeService nodeService; |
| | | @Autowired |
| | | private OrderCheckService orderCheckService; |
| | | |
| | | @Override |
| | | public OrderCheck selectByNo(String orderNo) { |
| | |
| | | locCheckService.delete(new EntityWrapper<LocCheck>().eq("order_no", orderNo)); |
| | | } |
| | | |
| | | @Override |
| | | public R examine(ExamineParam param) { |
| | | for (ExamineParam.data list:param.getList()){ |
| | | EntityWrapper<ManLocDetl> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("matnr", list.getMatnr()) |
| | | .eq("loc_no", list.getLocNo()); |
| | | |
| | | ManLocDetl manLocDetl = manLocDetlService.selectOne(wrapper); |
| | | if (manLocDetl == null){ |
| | | Date now = new Date(); |
| | | |
| | | Node node = nodeService.selectOne(new EntityWrapper<Node>().eq("name", list.getLocNo())); |
| | | |
| | | ManLocDetl manLocDetl1 = new ManLocDetl(); |
| | | |
| | | manLocDetl1.setLocNo(list.getLocNo()); |
| | | manLocDetl1.setNodeId(node.getId()); |
| | | manLocDetl1.setAnfme(list.getRealAnfme()); |
| | | manLocDetl1.setMatnr(list.getMatnr()); |
| | | manLocDetl1.setMaktx(list.getMaktx()); |
| | | manLocDetl1.setStatus(1); |
| | | manLocDetl1.setCreateTime(now); |
| | | manLocDetl1.setModiTime(now); |
| | | manLocDetl1.setOrderNo(list.getOrderNo()); |
| | | manLocDetl1.setStockFreeze(1); |
| | | |
| | | if (!manLocDetlService.insert(manLocDetl1)){ |
| | | return R.error("插入数据失败"); |
| | | } |
| | | |
| | | }else { |
| | | if (list.getRealAnfme() == 0){ |
| | | if (!manLocDetlService.delete(wrapper)){ |
| | | return R.error("删除数据失败!"); |
| | | } |
| | | }else { |
| | | manLocDetl.setAnfme(list.getRealAnfme()); |
| | | if (!manLocDetlService.update(manLocDetl,wrapper)){ |
| | | return R.error("更新库存数量失败!"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | EntityWrapper<LocCheck> wrapper2 = new EntityWrapper<>(); |
| | | wrapper2.eq("order_no", list.getOrderNo()) |
| | | .eq("matnr", list.getMatnr()) |
| | | .eq("loc_no", list.getLocNo()); |
| | | LocCheck checkDetl = locCheckService.selectOne(wrapper2); |
| | | checkDetl.setType(2); |
| | | if (!locCheckService.update(checkDetl,wrapper2)){ |
| | | return R.error("更新盘点明细失败!"); |
| | | } |
| | | } |
| | | OrderCheck orderCheck = orderCheckService.selectOne(new EntityWrapper<OrderCheck>().eq("order_no", param.getOrderNo())); |
| | | orderCheck.setSettle(4L); |
| | | if (!orderCheckService.update(orderCheck,new EntityWrapper<OrderCheck>().eq("order_no", param.getOrderNo()))){ |
| | | return R.error("更新盘点单状态失败!"); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | {field: 'anfme', title: '数量'}, |
| | | {field: 'realAnfme', title: '真实数量',style: 'color: blue;font-weight: bold', edit: true}, |
| | | {field: 'diffAnfme', title: '差异数量', style: 'font-weight: bold'}, |
| | | {field: 'type$', title: '状态'}, |
| | | {align: 'center', title: '操作', toolbar: '#formSSXMTableBar3', minWidth: 80, width: 80, fixed: 'right'} |
| | | {field: 'type$', title: '状态'} |
| | | |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | {field: 'anfme', title: '库存数量'}, |
| | | {field: 'realAnfme', title: '真实数量'}, |
| | | {field: 'diffAnfme', title: '差异数量', style: 'font-weight: bold'}, |
| | | {field: 'type$', title: '状态'}, |
| | | {field: 'type$', title: '状态'} |
| | | |
| | | {align: 'center', title: '操作', toolbar: '#formSSXMTableBarr', minWidth: 80, width: 80, fixed: 'right'} |
| | | |
| | | ]], |
| | | done: function (res) { |
| | | $(layero).find('.layui-table-view').css('margin', '0'); |
| | |
| | | function examine(expTpe) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: (expTpe ? '修改' : '添加') + '盘点单', |
| | | title: '审核盘点单', |
| | | content: $('#editDialog2').html(), |
| | | area: '1300px', |
| | | success: function (layero, dIndex) { |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | var isExpAdd = !expTpe; |
| | | // 回显数据 |
| | | form.val('editForm', expTpe); |
| | | form.val('editForm2', expTpe); |
| | | if (expTpe) { |
| | | $('#orderNo').attr("disabled", "disabled"); |
| | | } |
| | | // 表单提交事件 |
| | | form.on('submit(orderEditSubmit)', function (data) { |
| | | // 组装数据 |
| | | if (xxDataList.length <= 0) { |
| | | layer.tips('请添加单据明细', '#matAddBtnComment', {tips: [1, '#ff4c4c']}); |
| | | return false; |
| | | } |
| | | if (data.field.orderNo == "" || data.field.orderNo == null) { |
| | | layer.tips('请输入盘点单编号', '#orderNo', {tips: [1, '#ff4c4c']}); |
| | | return false; |
| | | } |
| | | form.on('submit(examine)', function (data) { |
| | | let nList = admin.util.deepClone(xxDataList); |
| | | // for (let xi = 0; xi < nList.length; xi++) { |
| | | // if (nList[xi].anfme <= 0){ |
| | | // layer.msg('明细修改数量不合法', {icon: 2}); |
| | | // return false; |
| | | // } |
| | | // if (nList[xi].anfme < nList[xi].workQty){ |
| | | // layer.msg('数量不能小于已作业数量', {icon: 2}); |
| | | // return false; |
| | | // } |
| | | // } |
| | | layer.load(2); |
| | | console.log(data); |
| | | $.ajax({ |
| | | url: baseUrl + "/orderCheck/form/" + (isExpAdd ? "add" : "modify") + "/auth", |
| | | url: baseUrl + "/orderCheck/examine", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | orderId: Number(data.field.id), |
| | | docType: Number(data.field.docType), |
| | | orderNo: data.field.orderNo, |
| | | orderDetlList: nList |
| | | list: nList |
| | | }), |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | |
| | | {field: 'realAnfme', title: '真实数量'}, |
| | | {field: 'diffAnfme', title: '差异数量', style: 'font-weight: bold'}, |
| | | {field: 'type$', title: '状态'} |
| | | |
| | | |
| | | ]], |
| | | done: function (res) { |
| | |
| | | </div> |
| | | <!-- 表格操作列 --> |
| | | <script type="text/html" id="operate"> |
| | | |
| | | {{# if (d.settle == 0 || d.settle == 1 || d.settle ==2) { }} |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="examine">审核</a> |
| | | {{# } }} |
| | | |
| | | |
| | | {{# if (d.settle == 0 || d.settle == 1) { }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a> |
| | |
| | | </script> |
| | | |
| | | <script type="text/html" id="editDialog2"> |
| | | <form id="editForm2" lay-filter="editForm" class="layui-form model-form"> |
| | | <form id="editForm2" lay-filter="editForm2" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">盘点单号:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderNo" name="orderNo" placeholder="输入单据编号" type="text" class="layui-input" maxlength="20" lay-verType="tips" /> |
| | | <!-- lay-verify="required"--> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | <button class="layui-btn" lay-filter="orderEditSubmit" lay-submit>保存</button> |
| | | <button class="layui-btn" lay-filter="examine" lay-submit>完成审核</button> |
| | | </div> |
| | | </form> |
| | | </script> |